diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs
index b6734f33..2197dc16 100644
--- a/AMESCoreStudio.Web/Controllers/PCSController.cs
+++ b/AMESCoreStudio.Web/Controllers/PCSController.cs
@@ -50,7 +50,7 @@ namespace AMESCoreStudio.Web.Controllers
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public string CheckWipInfoInsert(WipViewModel model)
+        public string CheckWipInfoInsert(WipDataViewModel model)
         {
             string Msg = string.Empty;
 
@@ -601,7 +601,7 @@ namespace AMESCoreStudio.Web.Controllers
             var PartsBakeType = new List<SelectListItem>(){
                 new SelectListItem() {
                     Text = "125℃",
-                    Value = "123",
+                    Value = "125",
                 },
                 new SelectListItem
                 {
@@ -821,6 +821,10 @@ namespace AMESCoreStudio.Web.Controllers
         #endregion
 
         #region CheckboxList
+        /// <summary>
+        /// 列印方式
+        /// </summary>
+        /// <param name="SelectedValue"></param>
         private void GetCheckboxPrintMode(string SelectedValue = null)
         {
 
@@ -841,6 +845,10 @@ namespace AMESCoreStudio.Web.Controllers
             ViewBag.GetCheckboxPrintMode = q;
         }
 
+        /// <summary>
+        /// 認證Logo
+        /// </summary>
+        /// <param name="SelectedValue"></param>
         private void GetCheckboxApproveLogo(string SelectedValue = null)
         {
             List<string> values = new List<string>();
@@ -859,6 +867,10 @@ namespace AMESCoreStudio.Web.Controllers
             ViewBag.GetCheckboxApproveLogo = q;
         }
 
+        /// <summary>
+        /// 公司Logo
+        /// </summary>
+        /// <param name="SelectedValue"></param>
         private void GetCheckboxCompanyLogo(string SelectedValue = null)
         {
             List<string> values = new List<string>();
@@ -914,7 +926,7 @@ namespace AMESCoreStudio.Web.Controllers
 
 
         #region PCS001 工單資料維護
-        public async Task<IActionResult> PCS001(WipViewModel model = null)
+        public async Task<IActionResult> PCS001(WipDataViewModel model = null)
         {
             //await GetUnitList();
             await GetProductType();
@@ -948,7 +960,7 @@ namespace AMESCoreStudio.Web.Controllers
 
         //頁面提交,id=0 添加,id>0 修改
         [HttpPost]
-        public async Task<IActionResult> PCS001Async(WipViewModel model, IFormFile formFile)
+        public async Task<IActionResult> PCS001Async(WipDataViewModel model, IFormFile formFile)
         {
             #region 選單
             await GetProductType();
@@ -2303,7 +2315,7 @@ namespace AMESCoreStudio.Web.Controllers
             }
 
 
-         
+
 
             #region 判斷下一站為完工站
             var NextStopCloseStation = await _pcsApi.CheckNextStopCloseStation(model.WipNO, model.UnitNO, model.Station);
@@ -2554,7 +2566,7 @@ namespace AMESCoreStudio.Web.Controllers
                 // 確認完工數是否等於工單數
                 await _pcsApi.CheckWipNoBarCodeAllClost(model.WipNO, model.UnitNO, model.RuleStation);
             }
-         
+
             return Json(new Result() { success = Success, msg = Msg, data = Data });
         }
         #endregion
@@ -3101,9 +3113,22 @@ namespace AMESCoreStudio.Web.Controllers
         }
 
         #endregion
+        public async Task<IActionResult> PCS999()
+        {
+            return View();
+        }
 
+        //頁面提交,id=0 添加,id>0 修改
+        [HttpPost]
+        public async Task<IActionResult> PCS999Async(MaterialKpDtos model)
+        {
+            var aa = "string";
+            return View(model);
+        }
     }
 
+
+
     public static class ObjectExtension
     {
         public static T GetAttributeFrom<T>(this object instance, string propertyName) where T : Attribute
diff --git a/AMESCoreStudio.Web/ViewModels/WipViewModel.cs b/AMESCoreStudio.Web/ViewModels/PCS/WipViewModel.cs
similarity index 60%
rename from AMESCoreStudio.Web/ViewModels/WipViewModel.cs
rename to AMESCoreStudio.Web/ViewModels/PCS/WipViewModel.cs
index 04f6eec1..6696be7d 100644
--- a/AMESCoreStudio.Web/ViewModels/WipViewModel.cs
+++ b/AMESCoreStudio.Web/ViewModels/PCS/WipViewModel.cs
@@ -4,10 +4,11 @@ using System.Linq;
 using System.Threading.Tasks;
 using AMESCoreStudio.WebApi.Models.AMES;
 using AMESCoreStudio.WebApi.Models.BAS;
+using AMESCoreStudio.WebApi.DTO.AMES;
 
-namespace AMESCoreStudio.Web.ViewModels
+namespace AMESCoreStudio.Web.ViewModels.PCS
 {
-    public class WipViewModel
+    public class WipDataViewModel
     {
 
         /// <summary>
@@ -36,16 +37,32 @@ namespace AMESCoreStudio.Web.ViewModels
         /// </summary>
         public WipSystem wipSystem { get; set; }
 
-        public LineInfo lineInfo { get; set; }
+        public IEnumerable<WipBarcode> wipBarcodes { get; set; }
 
-        public FactoryUnit factoryUnit { get; set; }
+        public IEnumerable<RuleStation> ruleStations { get; set; }
 
+        public IEnumerable<MaterialSopDto> materialSops { get; set; }
+
+        public IEnumerable<MaterialKpDto> materialKps { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
         public WipSop wipSop { get; set; }
 
+        /// <summary>
+        /// 標籤
+        /// </summary>
         public WipLabel wipLabel { get; set; }
 
+        /// <summary>
+        /// MAC
+        /// </summary>
         public WipMAC wipMAC { get; set; }
 
+        /// <summary>
+        /// 條碼區間設定
+        /// </summary>
         public WipBarcodeOther wipBarcodeOther { get; set; }
 
 
diff --git a/AMESCoreStudio.Web/Views/PCS/PCB001.cshtml b/AMESCoreStudio.Web/Views/PCS/PCB001.cshtml
deleted file mode 100644
index 81be359d..00000000
--- a/AMESCoreStudio.Web/Views/PCS/PCB001.cshtml
+++ /dev/null
@@ -1,13 +0,0 @@
-@model AMESCoreStudio.WebApi.Models.AMES.ProductType
-@{
-    ViewData["Title"] = "系統資料管理";
-    Layout = "~/Views/Shared/_AMESLayout.cshtml";
-}
-
-<h1>PCB001</h1>
-<div class="form-group form-inline my-sm-1">
-    <label asp-for="ProductTypeName" class="control-label col-sm-3"></label>
-    <select asp-for="ProductTypeName" asp-items="@ViewBag.ProductTypesList" class="custom-select col-sm-9"></select>
-    <span asp-validation-for="ProductTypeName" class="text-danger offset-sm-3 my-sm-1"></span>
-</div>
-
diff --git a/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml
index 88d9b9fa..43f92039 100644
--- a/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml
+++ b/AMESCoreStudio.Web/Views/PCS/PCS001.cshtml
@@ -1,4 +1,4 @@
-@model AMESCoreStudio.Web.ViewModels.WipViewModel
+@model AMESCoreStudio.Web.ViewModels.PCS.WipDataViewModel
 
 
 @{ ViewData["Title"] = "PCS001C";
@@ -222,7 +222,7 @@
                     </div>
 
                     @* 生產流程sheet *@
-                    <div class="layui-tab-item">
+                    <div class="layui-tab-item" style="padding-left:30px">
                         <div class="layui-form-item">
                             <div class="layui-inline">
                                 <label asp-for="wipInfo.FlowRuleID" class="layui-form-label"></label>
@@ -742,7 +742,6 @@
                             <label class="layui-form-label">公司LOGO</label>
                             <div class="layui-input-block">
                                 <cl-radio asp-items="@ViewBag.GetCheckboxCompanyLogo" asp-for="wipLabel.CompanyLogo"></cl-radio>
-
                             </div>
                         </div>
                         <div class="layui-form-item">
@@ -1074,7 +1073,7 @@
                     }
                 }]
             ];
-            var tablesop = hg.table.datatable('wipsop', 'SOP文件查詢維護', '/PCS/PCS030Query?itemNo=' + item, {}, tableCols, false, 'full-100');
+            var tablesop = hg.table.datatable('wipsop', 'SOP文件查詢維護', '/PCS/PCS030Query?itemNo=' + item, {}, tableCols, '',false, 'full-100');
             hg.msghide("重新載入資料..");
             tablesop;
         });
diff --git a/AMESCoreStudio.Web/Views/PCS/PCS999.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS999.cshtml
new file mode 100644
index 00000000..e95d03f1
--- /dev/null
+++ b/AMESCoreStudio.Web/Views/PCS/PCS999.cshtml
@@ -0,0 +1,73 @@
+@model AMESCoreStudio.WebApi.DTO.AMES.MaterialKpDtos
+@{
+    ViewData["Title"] = "系統資料管理";
+    Layout = "~/Views/Shared/_AMESLayout.cshtml";
+}
+
+<div class="layui-card">
+    <div class="col-sm-12">
+        <form enctype="multipart/form-data" method="post" asp-action="PCS999" id="PCS999Form" class="layui-form">
+            <div class="layui-form-item">
+                <div style="text-align:center">
+                    <input type="submit" value="保存" class="layui-btn" />
+                </div>
+                <input type="checkbox" checked="" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="ON|OFF">
+                <input type="checkbox" title="写作" name="MaterialKpDtos[' + key + '].kpSeq" lay-skin="primary" checked="">
+            </div>
+            <div class="layui-form-item" style="padding-left:30px">
+                <a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-read" onclick="input();">刷新</a>
+                <table id="tblCustomers" class="layui-table" cellpadding="0" cellspacing="0">
+                    <tbody id="tblCustomersBody">
+                    </tbody>
+                </table>
+            </div>
+        </form>
+    </div>
+</div>
+
+@section Scripts{
+    @{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
+        await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
+    <script type="text/javascript">
+    layui.use(['form', 'laydate'], function () {
+        var form = layui.form;
+    });
+
+          function input() {
+        //var Inputs = GetAllEmpData();
+        //var data = $("#PCS999Form").serialize();
+        //$.each(Inputs, function (i, item) {
+        //    data += "&Inputs[" + i + "]=" + item;
+        //});
+        $.ajax({
+            url: "@Url.Action("MaterialKpQuery", "PCS")",
+            type: "POST",
+            async: false,
+            data: { 'itemNo': 'JH168-AT-X'},
+            success: function (result) {
+                var html = '';
+                $.each(result.data, function (key, item) {
+                    html += '<tr>';
+                    html += '<td>'+key+ ','+ item.materialKpID + '</td>';
+                    html += '<td><input type="hidden" name="MaterialKpDtos[' + key + '].kpName" value=' + item.itemName+'>' + item.itemName + '</td>';
+                    html += '<td>' + item.kpName + '</td>';
+                    html += '<td>' + item.kpNo + '</td>';
+                    html += '<td><input type="checkbox" name="MaterialKpDtos[' + key + '].Title" lay-skin="primary" checked=""></td>';
+                    html += '</tr>';
+                });
+                $("#tblCustomers").html(html);
+                //$('#tblCustomers').append(html);
+            }
+        });
+        xuanran();
+    };
+
+        function xuanran() {
+            alert("OK");
+            layui.use(['form', 'laydate'], function () {
+                var form = layui.form;
+                form.render();
+            });
+        }
+    </script>
+}
diff --git a/AMESCoreStudio.WebApi/DTO/AMES/MaterialKpDto.cs b/AMESCoreStudio.WebApi/DTO/AMES/MaterialKpDto.cs
index 21365780..dbb0ecaf 100644
--- a/AMESCoreStudio.WebApi/DTO/AMES/MaterialKpDto.cs
+++ b/AMESCoreStudio.WebApi/DTO/AMES/MaterialKpDto.cs
@@ -5,6 +5,11 @@ using System.Threading.Tasks;
 
 namespace AMESCoreStudio.WebApi.DTO.AMES
 {
+    public class MaterialKpDtos
+    {
+        public List<MaterialKpDto> materialKpDtos { get; set; }
+    }
+
     /// <summary>
     /// MaterialKpDtp Select Dto
     /// </summary>
@@ -19,13 +24,13 @@ namespace AMESCoreStudio.WebApi.DTO.AMES
         /// <summary>
         /// 料號Name
         /// </summary>
- 
+
         public string ItemName { get; set; }
 
         /// <summary>
         /// KP料號名稱
         /// </summary>
- 
+
         public string KpName { get; set; }
 
         /// <summary>
@@ -43,7 +48,7 @@ namespace AMESCoreStudio.WebApi.DTO.AMES
         /// <summary>
         /// 前置碼
         /// </summary>
- 
+
         public string Title { get; set; }
 
         /// <summary>