diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs
index 8f2d2c09..d0436487 100644
--- a/AMESCoreStudio.Web/Controllers/PCSController.cs
+++ b/AMESCoreStudio.Web/Controllers/PCSController.cs
@@ -1539,6 +1539,35 @@ namespace AMESCoreStudio.Web.Controllers
             return Json(new Result() { success = true, data = result.Count() });
 
         }
+
+        /// <summary>
+        /// 判斷治具總類
+        /// </summary>
+        /// <param name="outfitNo">治具編號</param>
+        /// <param name="partNo">設備名稱(No)</param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<JsonResult> CheckOutfitInfoPartNo(string outfitNo, string partNo)
+        {
+            string msg = string.Empty;
+            if (!string.IsNullOrWhiteSpace(outfitNo))
+            {
+                var q = await _pcsApi.GetOutfitInfoByOutfitNo(outfitNo);
+                if (q != null)
+                {
+                    var OutfitCommodityInfos = await _pcsApi.GetOutfitCommodityInfo();
+                    if (!OutfitCommodityInfos.Where(w => w.CommodityID == q.CommodityID && w.CommodityNo == partNo).Any())
+                        msg = "刷入的治具總類不一致,請確認";
+                }
+                else
+                {
+                    msg = $"找不到這筆【{outfitNo}】治具編號相關資料,請確認";
+                }
+
+            }
+            return Json(new { data = msg });
+        }
+
         #endregion
 
         ///// <summary>
@@ -3627,15 +3656,27 @@ namespace AMESCoreStudio.Web.Controllers
             await GetFlowRuleList();
 
             // 起訖序號沒填寫 或者 綁定序號沒填寫
-            if ((string.IsNullOrWhiteSpace(model.WipBarcode.StartNO) || string.IsNullOrWhiteSpace(model.WipBarcode.EndNO))
-                && string.IsNullOrWhiteSpace(model.BarcodeNo))
+            if (model.Type1 == "LIMIT")
             {
-                ModelState.AddModelError("error", "請確認新增的條碼是否有填寫?");
-                return View(model);
+                if ((string.IsNullOrWhiteSpace(model.WipBarcode.StartNO) || string.IsNullOrWhiteSpace(model.WipBarcode.EndNO))
+                    && string.IsNullOrWhiteSpace(model.BarcodeNo))
+                {
+                    ModelState.AddModelError("error", "請確認新增的條碼是否有填寫?");
+                    return View(model);
+                }
+            }
+            else if (model.Type1 == "SOLO")
+            {
+                if (string.IsNullOrWhiteSpace(model.WipBarcode.StartNO))
+                {
+                    ModelState.AddModelError("error", "請確認新增的條碼是否有填寫?");
+                    return View(model);
+                }
+                model.WipBarcode.EndNO = model.WipBarcode.StartNO;
             }
 
             if ((!string.IsNullOrWhiteSpace(model.WipBarcode.StartNO) || !string.IsNullOrWhiteSpace(model.WipBarcode.EndNO))
-             && !string.IsNullOrWhiteSpace(model.BarcodeNo))
+                && !string.IsNullOrWhiteSpace(model.BarcodeNo))
             {
                 ModelState.AddModelError("error", "請則一選擇要新增條碼的方式?");
                 return View(model);
diff --git a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
index c6b85537..c34e0a72 100644
--- a/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
+++ b/AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
@@ -1720,5 +1720,16 @@ namespace AMESCoreStudio.Web
         //YIRU End  ----------------------------------------------------------------------------------------
         #endregion
 
+        #region OutfitInfoes 設備資料檔
+
+        /// <summary>
+        /// By 治具編號 查詢
+        /// </summary>
+        /// <returns></returns>
+        [WebApiClient.Attributes.HttpGet("api/OutfitInfoes/ByOutfitNo/{id}")]
+        ITask<OutfitInfo> GetOutfitInfoByOutfitNo(string id);
+
+        #endregion
+
     }
 }
diff --git a/AMESCoreStudio.Web/ViewModels/PCS/PCS004CViewModel.cs b/AMESCoreStudio.Web/ViewModels/PCS/PCS004CViewModel.cs
index 7d05e58d..6794c6d9 100644
--- a/AMESCoreStudio.Web/ViewModels/PCS/PCS004CViewModel.cs
+++ b/AMESCoreStudio.Web/ViewModels/PCS/PCS004CViewModel.cs
@@ -26,6 +26,9 @@ namespace AMESCoreStudio.Web.ViewModels.PCS
         // 序號綁定 Type SN:內部序號 SSN:出貨序號
         public string Type { get; set; }
 
+        // 內部條碼綁定類型 Type1 LIMIT:設定區間 SOLO:單一條碼
+        public string Type1 { get; set; }
+
         // 綁定條碼
         public string BarcodeNo { get; set; }
     }
diff --git a/AMESCoreStudio.Web/Views/PCS/PCS004C.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS004C.cshtml
index c2aee0aa..75eb970a 100644
--- a/AMESCoreStudio.Web/Views/PCS/PCS004C.cshtml
+++ b/AMESCoreStudio.Web/Views/PCS/PCS004C.cshtml
@@ -137,23 +137,23 @@
                 <tbody>
                     @if (Model.WipBarcodes != null)
                     {
-                    @foreach (var index in Model.WipBarcodes)
-                    {
-                        <tr>
-                            <td>
-                                <input type="text" class="layui-input" asp-for="@index.StartNO" name="WipBarcodes[@i].StartNO" readonly="readonly" />
-
-                            </td>
-                            <td>
-                                <input type="text" class="layui-input" asp-for="@index.EndNO" name="WipBarcodes[@i].EndNO" readonly="readonly" />
-
-                            </td>
-                            <td>
-                                <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this, '@index.StartNO', '@index.EndNO');">刪除</a>
-                            </td>
-                        </tr>
-                        i++;
-                    }
+                        @foreach (var index in Model.WipBarcodes)
+                        {
+                            <tr>
+                                <td>
+                                    <input type="text" class="layui-input" asp-for="@index.StartNO" name="WipBarcodes[@i].StartNO" readonly="readonly" />
+
+                                </td>
+                                <td>
+                                    <input type="text" class="layui-input" asp-for="@index.EndNO" name="WipBarcodes[@i].EndNO" readonly="readonly" />
+
+                                </td>
+                                <td>
+                                    <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this, '@index.StartNO', '@index.EndNO');">刪除</a>
+                                </td>
+                            </tr>
+                            i++;
+                        }
                     }
                 </tbody>
             </table>
@@ -162,6 +162,10 @@
         <fieldset class="layui-elem-field layui-field-title">
             <legend>新增內部條碼</legend>
             <div class="layui-form-item">
+                <div class="layui-input-inline" style="width:220px">
+                    <input type="radio" lay-filter="Type1" asp-for="Type1" id="Type1" name="Type1" value="LIMIT" title="設定區間" checked>
+                    <input type="radio" lay-filter="Type1" asp-for="Type1" id="Type1" name="Type1" value="SOLO" title="單一條碼">
+                </div>
                 <div class="layui-inline">
                     <label asp-for="WipBarcode.StartNO" class="layui-form-label"></label>
                     <div class="layui-input-inline">
@@ -175,12 +179,14 @@
                     </div>
                 </div>
             </div>
+        </fieldset>
 
+        <fieldset class="layui-elem-field layui-field-title">
+            <legend>既有條碼綁定內部條碼</legend>
             <div class="layui-form-item">
-                <label class="layui-form-label">既有條碼綁定內部條碼</label>
                 <div class="layui-input-inline" style="width:220px">
-                    <input type="radio" name="Type" value="SN" title="內部條碼" checked>
-                    <input type="radio" name="Type" value="SSN" title="出貨條碼">
+                    <input type="radio" asp-for="Type" id="Type" name="Type" value="SN" title="內部條碼" checked>
+                    <input type="radio" asp-for="Type" id="Type" name="Type" value="SSN" title="出貨條碼">
                 </div>
                 <div class="layui-input-inline">
                     <input asp-for="BarcodeNo" class="layui-input" />
@@ -201,6 +207,11 @@
     <script type="text/javascript">
         layui.use(['form'], function () {
             var form = layui.form;
+            form.on('radio(Type1)', function (data) {
+                console.log('aaaa');
+                $("#WipBarcode_StartNO").val('');
+                $("#WipBarcode_EndNO").val('');
+            });
         });
 
         // Table 刪除
diff --git a/AMESCoreStudio.Web/Views/PCS/PCS021.cshtml b/AMESCoreStudio.Web/Views/PCS/PCS021.cshtml
index 54196778..6feaa5d3 100644
--- a/AMESCoreStudio.Web/Views/PCS/PCS021.cshtml
+++ b/AMESCoreStudio.Web/Views/PCS/PCS021.cshtml
@@ -307,6 +307,8 @@
                                             <tr>
                                                 <td>
                                                     <input type="text" class="layui-input" asp-for="@index.PartNoName" name="wipOutfits[@k].PartNoName" readonly="readonly" />
+                                                    <input type="hidden" asp-for="@index.PartNo" value="@index.PartNo" name="wipOutfits[@k].PartNo" />
+                                                    
                                                 </td>
                                                 <td>
                                                     <input type="text" class="layui-input" asp-for="@index.UnitNoName" name="wipOutfits[@k].UnitNoName" readonly="readonly" />
@@ -315,7 +317,7 @@
                                                     <input type="text" class="layui-input" asp-for="@index.StationName" name="wipOutfits[@k].StationName" readonly="readonly" />
                                                 </td>
                                                 <td>
-                                                    <input onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="@index.Inputs" name="wipOutfits[@k].Inputs" class="layui-input" />
+                                                    <input onkeypress="if( event.keyCode == 13 ) { checkOutfit(this); return false; }" onchange="checkOutfit(this);" asp-for="@index.Inputs" name="wipOutfits[@k].Inputs" class="layui-input" />
                                                 </td>
                                             </tr>
                                             k++;
@@ -603,7 +605,6 @@
         }
 
         function AdminInit() {
-
             var hgfull = function () {
                 var layfull = $('[lay-height]');
                 if (layfull.attr('lay-height')) {
@@ -659,5 +660,29 @@
                 background: '#db4444',
             })
         }
+
+        // 確認治具
+        function checkOutfit(val) {
+            console.log(val.value);
+            var partNo = $(val).closest('tr').find('input:hidden[id*=PartNo]').val();
+            if (val.value.length != 0) {
+                $.ajax(
+                    {
+                        url: "@Url.Action("CheckOutfitInfoPartNo", "PCS")",
+                        dataType: 'json',
+                        data: { "outfitNo": val.value, "partNo": partNo },
+                        type: 'post',
+                        success: function (result) {
+                            if (result.data.length != 0) {
+                                ShowInputError(result.data);
+                            }
+                        },
+                        error: function (result) {
+                            alert(result);
+                        }
+                    });
+            }
+        }
+
     </script>
 }