From 021edcd84d6601249e008141b3027549f864155f Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期一, 11 十一月 2024 17:30:40 +0800
Subject: [PATCH] 24-11-11.01

---
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/ProductionModel.vue                      |   68 ++++++
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/GlobalUsing.cs                                   |    3 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs                 |   43 ++-
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/Extend/Add.vue                           |   76 ++++++
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs                     |   13 +
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Production/IProductionRepository.cs |   12 +
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/ResultTrayCellsStatus.cs                 |   30 ++
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Production/ProductionService.cs       |   10 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs          |  129 -----------
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/MOM/ProductionModel.cs                        |   79 +++++++
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/ProductionController.cs        |   17 +
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/SeedDataHostedService.cs                |    2 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer.csproj.user                    |    4 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs          |   40 ++-
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayCellUnbindDto.cs                     |    0 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayCellsStatusDto.cs                    |    0 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Production/ProductionRepository.cs  |   15 +
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/CellStateDto.cs                          |    0 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayUnbindDto.cs                         |    0 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResponeAgingInputDto.cs                            |   25 ++
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Production/IProductionService.cs      |    5 
 Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js                                               |    8 
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/ProductionModel.js                       |   77 +++++++
 23 files changed, 481 insertions(+), 175 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
index ced741e..3bd8816 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -196,26 +196,30 @@
             }
         }
 
+        #region 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
+
         /// <summary>
         /// 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
         /// </summary>
         /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
-        {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
-            if (task != null)
-            {
-                Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-                if (newTask != null)
-                {
-                    ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
-                    taskCommand.InteractiveSignal = command.InteractiveSignal;
-                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                }
-            }
-        }
+        //public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
+        //{
+        //    Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
+        //    if (task != null)
+        //    {
+        //        Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
+        //        if (newTask != null)
+        //        {
+        //            ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
+        //            taskCommand.InteractiveSignal = command.InteractiveSignal;
+        //            conveyorLine.SendCommand(taskCommand, childDeviceCode);
+        //        }
+        //    }
+        //}
+
+        #endregion
 
         /// <summary>
         /// 杈撻�佺嚎鍏ュ簱瀹屾垚
@@ -234,7 +238,7 @@
                 //conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
                 WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
 
-                Console.Out.WriteLine(content.Serialize());
+                //Console.Out.WriteLine(content.Serialize());
             }
         }
 
@@ -304,13 +308,11 @@
                     taskCommand.TargetAddress = 0;
                 }
 
-
                 conveyorLine.SendCommand(taskCommand, childDeviceCode);
                 ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
                 content = _taskService.UpdateTaskStatusToNext(task);
             }
         }
-
 
         /// <summary>
         /// 鐩戞祴绌烘墭鐩樺疄鐩樺嚭搴�
@@ -332,7 +334,6 @@
             }
             catch (Exception)
             {
-
             }
         }
 
@@ -345,6 +346,7 @@
             if (tasks.Count < index)
             {
                 #region 璋冪敤WMS鑾峰彇鍑哄簱浠诲姟
+
                 WMSTaskDTO taskDTO = new WMSTaskDTO();
                 object dynamic = new
                 {
@@ -362,6 +364,7 @@
                     return;
 
                 taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+
                 #endregion
 
                 CreateAndSendTask(taskDTO);
@@ -380,6 +383,7 @@
             }
             return content;
         }
+
         /// <summary>
         /// 杈撻�佺嚎浜や簰瀹屾垚
         /// </summary>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
index fea5ff2..e9d9278 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -48,9 +48,7 @@
                 CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
                 if (commonStackerCrane != null)
                 {
-                    //EqptRun(commonStackerCrane);
                     //EqptAlive(commonStackerCrane);
-                    //EqptStatus(commonStackerCrane);
                     //Console.Out.WriteLine(commonStackerCrane.DeviceName);
                     if (!commonStackerCrane.IsEventSubscribed)
                     {
@@ -301,54 +299,6 @@
             return stackerCraneTaskCommand;
         }
 
-        /// <summary>
-        /// 璁惧涓嶮OM绯荤粺瀵规帴锛岃澶囦笂绾�
-        /// </summary>
-        /// <param name="commonStackerCrane"></param>
-        public async void EqptRun(CommonStackerCrane commonStackerCrane)
-        {
-            if (!commonStackerCrane.StackerOnline)
-            {
-                RequestEqptRunDto request = new RequestEqptRunDto()
-                {
-                    EmployeeNo = "T00001",
-                    EquipmentCode = commonStackerCrane.DeviceCode,
-                    RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
-                    SessionId = Guid.NewGuid().ToString(),
-                    Software = commonStackerCrane.DeviceName,
-                    Password = "12345",
-                    EquipmentModel = "1"
-                };
-                var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptRun", request.ToJsonString());
-                if (respone != null)
-                {
-                    var result = JsonConvert.DeserializeObject<ResponseEqptRunDto>(respone);
-                    if (result != null && result.Success)
-                    {
-                        var process = _processRepository.QueryData(x => x.EquipmentName == commonStackerCrane.DeviceCode).FirstOrDefault();
-                        if (process == null)
-                        {
-                            ResponeRunDto runDto = JsonConvert.DeserializeObject<ResponeRunDto>(respone);
-                            process = new Dt_EquipmentProcess()
-                            {
-                                EquipmentName = commonStackerCrane.DeviceCode,
-                                EquipmentType = new string(commonStackerCrane.DeviceName.TakeWhile(c => !char.IsDigit(c)).ToArray()),
-                                WipOrderNo = runDto.WipOrderNo,
-                                ProductDesc = runDto.ProductDesc,
-                                ProcessValue = JsonConvert.SerializeObject(result)
-                            };
-                            var isResult = await _processRepository.AddDataAsync(process) > 0;
-                        }
-                        else
-                        {
-                            process.ProcessValue = JsonConvert.SerializeObject(result);
-                            var isResult = await _processRepository.UpdateDataAsync(process);
-                        }
-                        commonStackerCrane.StackerOnline = true;
-                    }
-                }
-            }
-        }
 
         /// <summary>
         /// 璁惧蹇冭烦
@@ -381,84 +331,5 @@
             }
         }
 
-        /// <summary>
-        /// 璁惧鐘舵��
-        /// </summary>
-        /// <param name="commonStackerCrane"></param>
-        public async void EqptStatus(CommonStackerCrane commonStackerCrane)
-        {
-            string code = string.Empty;
-            RequestAlertDto requestAlert = new RequestAlertDto()
-            {
-                EmployeeNo = "T00001",
-                EquipmentCode = commonStackerCrane.DeviceCode,
-                RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
-                SessionId = Guid.NewGuid().ToString(),
-                Software = commonStackerCrane.DeviceName,
-                AlertInfo = new List<AlertInfoDto>()
-            };
-            switch (commonStackerCrane.Status)
-            {
-                case DeviceStatus.Idle:
-                    code = "Waiting";
-                    break;
-
-                case DeviceStatus.Working:
-                    code = "Running";
-                    break;
-
-                case DeviceStatus.Fault:
-                    code = "Alerting";
-                    var alert = new AlertInfoDto()
-                    {
-                        AlertCode = "1001",
-                        AlertDescription = commonStackerCrane.StackerCraneStatusDes,
-                        AlertReset = "1"
-                    };
-                    requestAlert.AlertInfo.Add(alert);
-
-                    await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", requestAlert.ToJsonString());
-
-                    break;
-
-                case DeviceStatus.Unkonw:
-                    code = "Down";
-                    break;
-
-                case DeviceStatus.Offline:
-                    code = "Maintenance";
-                    break;
-
-                default:
-                    break;
-            }
-            if (code != "Alerting")
-            {
-                requestAlert.AlertInfo = new List<AlertInfoDto>();
-                var alert = new AlertInfoDto()
-                {
-                    AlertCode = "1001",
-                    AlertDescription = commonStackerCrane.StackerCraneStatusDes,
-                    AlertReset = "0"
-                };
-                var S= await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", requestAlert.ToJsonString());
-                WriteInfo("EqptAlive", S);
-            }
-            RequestEqptStatusDto requestEqptStatus = new RequestEqptStatusDto()
-            {
-                EmployeeNo = "T00001",
-                EquipmentCode = "ECH001-B",
-                RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
-                SessionId = Guid.NewGuid().ToString(),
-                Software = commonStackerCrane.DeviceName,
-                ChangeTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
-                Description = commonStackerCrane.StackerCraneStatusDes,
-                LocationID = "NA",
-                ReasonCode = "123",
-                StatusCode = code
-            };
-            var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptStatus", requestEqptStatus.ToJsonString());
-            WriteInfo("EqptStatus", respone);
-        }
     }
 }
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
index dd63472..b0fb6fe 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
@@ -216,6 +216,14 @@
     meta: {
       keepAlive: false
     }
+  },
+  {
+    path: '/ProductionModel',
+    name: 'ProductionModel',
+    component: () => import('@/views/widesea_wms/MOM/ProductionModel.vue'),
+    meta: {
+      keepAlive: false
+    }
   }
 ]
 export default tables
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/Extend/Add.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/Extend/Add.vue
new file mode 100644
index 0000000..230e978
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/Extend/Add.vue
@@ -0,0 +1,76 @@
+<template>
+    <div>
+        <vol-box v-model="showDetialBox" :lazy="true" :height="350" :width="600" :padding="15" title="鏂欐灞炴�х淮鎶�">
+            <el-form :inline="true" :model="TrayBarcodePropertys" label-width="auto" class="demo-form-inline">
+                <el-form-item label="鏂欐灞炴��:">
+                    <el-input v-model="TrayBarcodePropertys.TrayBarcodeProperty" placeholder="鏂欐灞炴��" />
+                </el-form-item>
+                <el-form-item label="鎵樼洏瀹归噺:">
+                    <el-input v-model="TrayBarcodePropertys.Capacity" placeholder="鎵樼洏瀹归噺" />
+                </el-form-item>
+                <el-button @click="addProductType" type="primary">娣诲姞浜у搧宸ュ簭</el-button>
+                <el-button @click="save" type="success">鎻愪氦鏁版嵁</el-button>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="宸ュ簭:" v-for="(input, index) in TrayBarcodePropertys.ProcessCodes"
+                            :key="index">
+                            <el-input v-model="input.ProcessCode" placeholder="宸ュ簭" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="浜у搧绫诲瀷:" v-for="(input, index) in TrayBarcodePropertys.ProductTypes"
+                            :key="index">
+                            <el-input v-model="input.ProductType" placeholder="浜у搧绫诲瀷" />
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+        </vol-box>
+    </div>
+</template>
+
+<script>
+import VolBox from "@/components/basic/VolBox.vue";
+import http from "@/../src/api/http.js";
+export default {
+    components: { VolBox },
+    data() {
+        return {
+            showDetialBox: false,
+            TrayBarcodePropertys: {
+                TrayBarcodeProperty: '',
+                Capacity: 0,
+                ProcessCodes: [{ ProcessCode: '', }],
+                ProductTypes: [{ ProductType: '', }]
+            }
+        }
+    },
+    methods: {
+        addProductType() {
+            this.TrayBarcodePropertys.ProductTypes.push({ ProductType: '' })
+            this.TrayBarcodePropertys.ProcessCodes.push({ ProcessCode: '' })
+        },
+        open() {
+            this.showDetialBox = true
+        },
+        save() {
+            console.log(this.TrayBarcodePropertys)
+            let data = ({...this.TrayBarcodePropertys, ProcessCodes:JSON.stringify(this.TrayBarcodePropertys.ProcessCodes) , ProductTypes:JSON.stringify(this.TrayBarcodePropertys.ProductTypes)});
+            
+            debugger;
+            http.post('api/Production/AddData', data).then(res => {
+                if (res.code == 200) {
+                    // ElMessage.success(res.msg)
+                    this.$message.success('娣诲姞鎴愬姛')
+                    this.$parent.load();
+                } else {
+                    // ElMessage.error(res.msg)
+                    this.$message.error(x.message)
+                }
+            })
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/ProductionModel.js b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/ProductionModel.js
new file mode 100644
index 0000000..85acb05
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/ProductionModel.js
@@ -0,0 +1,77 @@
+/*****************************************************************************************
+**  Author:jxx 2022
+**  QQ:283591387
+**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+*****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+import gridBody from "./Extend/Add.vue"; //鑷畾涔夋墿灞曟煡璇㈢晫闈腑琛ㄦ牸浣撶粍浠�
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: gridBody,
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {  //妗嗘灦鍒濆鍖栭厤缃墠锛�
+        //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+          this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+            name: '鎸夐挳', //鎸夐挳鍚嶇О
+            icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+            type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+            onClick: function () {
+              console.log("馃殌 ~ onInit ~ gridBody:", gridBody)
+              this.$refs.gridBody.open();
+            }
+          });
+
+        //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+        this.boxOptions.labelWidth = 150;
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+};
+export default extension;
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/ProductionModel.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/ProductionModel.vue
new file mode 100644
index 0000000..1a82e6e
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/MOM/ProductionModel.vue
@@ -0,0 +1,68 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wms/material/Dt_MaterielInfo.js姝ゅ缂栧啓
+ -->
+ <template>
+    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
+        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
+        :table="table" :extend="extend">
+    </view-grid>
+</template>
+<script>
+import extend from "./ProductionModel.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+    setup() {
+        const table = ref({
+            key: 'materielID',
+            footer: "Foots",
+            cnName: '鏂欐灞炴��',
+            name: 'ProductionModel',
+            url: "/Production/",
+            sortName: "MaterielID"
+        });
+        const editFormFields = ref({
+            "TrayBarcodeProperty": "",
+            "Capacity": "",
+
+        });
+        const editFormOptions = ref([
+            [
+                { "title": "鏂欐灞炴��", "field": "TrayBarcodeProperty", type: "text" },
+                { "title": "鎵樼洏瀹归噺", "field": "Capacity", type: "text" },
+            ]
+        ]);
+        const searchFormFields = ref({});
+        const searchFormOptions = ref([
+            [
+                { "title": "鏂欐灞炴��", "field": "TrayBarcodeProperty", type: "text" },
+                { "title": "鎵樼洏瀹归噺", "field": "Capacity", type: "text" },
+            ]
+        ]);
+        const columns = ref([{ field: 'id', title: 'ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
+        { field: 'trayBarcodeProperty', title: '鏂欐灞炴��', type: 'string', width: 110, align: 'left', sort: true },
+        { field: 'processCodes', title: '宸ュ簭闆嗗悎', type: 'string', width: 120, align: 'left' },
+        { field: 'productTypes', title: '鐗╂枡缂栫爜/宸ヨ壓鍨嬪彿闆嗗悎', type: 'string', width: 110, align: 'left' },
+        { field: 'capacity', title: '鎵樼洏瀹归噺', type: 'string', width: 110, align: 'left' }]);
+        const detail = ref({
+            cnName: "#detailCnName",
+            table: "#detailTable",
+            columns: [],
+            sortName: "",
+            key: ""
+        });
+        return {
+            table,
+            extend,
+            editFormFields,
+            editFormOptions,
+            searchFormFields,
+            searchFormOptions,
+            columns,
+            detail,
+        };
+    },
+});
+</script>
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/SeedDataHostedService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/SeedDataHostedService.cs
index 21bbef2..fe41350 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/SeedDataHostedService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/SeedDataHostedService.cs
@@ -49,7 +49,7 @@
                 {
                     // 浣跨敤 myScopedService 鎵ц浠诲姟
 
-                    //await DBSeed.SeedAsync(_dbContext, _webRootPath);
+                    await DBSeed.SeedAsync(_dbContext, _webRootPath);
 
                     //澶氱鎴� 鍚屾
                     //await DBSeed.TenantSeedAsync(_dbContext);
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellStateDto.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/CellStateDto.cs
similarity index 100%
rename from Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellStateDto.cs
rename to Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/CellStateDto.cs
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResultTrayCellsStatus.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/ResultTrayCellsStatus.cs
similarity index 76%
rename from Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResultTrayCellsStatus.cs
rename to Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/ResultTrayCellsStatus.cs
index b83fc36..48d00df 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResultTrayCellsStatus.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/ResultTrayCellsStatus.cs
@@ -1,5 +1,8 @@
 锘縩amespace WIDESEA_DTO.MOM
 {
+    /// <summary>
+    /// 鎵樼洏鐢佃姱鐘舵��
+    /// </summary>
     public class ResultTrayCellsStatus : BasicResult
     {
         /// <summary>
@@ -11,9 +14,22 @@
         /// 鐢佃姱鍒楄〃
         /// </summary>
         public List<SerialNoDto> SerialNos { get; set; } = new List<SerialNoDto>();
+
+        /// <summary>
+        /// 缁戝畾浠g爜
+        /// </summary>
         public string BindCode { get; set; }
 
-        public string TrayStatus { get; set; }
+        /// <summary>
+        /// 鐢熶骇浜х嚎
+        /// </summary>
+        public string ProductionLine { get; set; }
+
+        /// <summary>
+        /// 褰撳墠宸ヨ壓宸ュ簭浠g爜
+        /// </summary>
+        public string ProcessCode { get; set; }
+
         /// <summary>
         /// 鏂欐灞炴�у垪琛�
         /// </summary>
@@ -35,7 +51,7 @@
         /// </summary>
         public int PositionNo { get; set; }
 
-        public string BindCode { get; set; }
+        //public string BindCode { get; set; }
 
         /// <summary>
         /// 鐢佃姱鐘舵��
@@ -58,8 +74,10 @@
         /// </summary>
         public List<ProcessCodes> ProcessCodes { get; set; } = new List<ProcessCodes>();
 
+        /// <summary>
+        /// 鎵樼洏瀹归噺
+        /// </summary>
         public double Capacity { get; set; }
-
 
         /// <summary>
         /// 閫傜敤鐗╂枡缂栫爜/宸ヨ壓鍨嬪彿
@@ -69,7 +87,6 @@
 
     public class ProcessCodes
     {
-
         /// <summary>
         /// 宸ュ簭
         /// </summary>
@@ -78,8 +95,9 @@
 
     public class ProductTypes
     {
-
+        /// <summary>
+        /// 閫傜敤鐗╂枡缂栫爜/宸ヨ壓鍨嬪彿
+        /// </summary>
         public string ProductType { get; set; }
-
     }
 }
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/TrayCellUnbindDto.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayCellUnbindDto.cs
similarity index 100%
rename from Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/TrayCellUnbindDto.cs
rename to Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayCellUnbindDto.cs
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/TrayCellsStatusDto.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayCellsStatusDto.cs
similarity index 100%
rename from Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/TrayCellsStatusDto.cs
rename to Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayCellsStatusDto.cs
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/TrayUnbindDto.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayUnbindDto.cs
similarity index 100%
rename from Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/TrayUnbindDto.cs
rename to Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/CellState/TrayUnbindDto.cs
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResponeAgingInputDto.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResponeAgingInputDto.cs
index f209253..fa19cf6 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResponeAgingInputDto.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/ResponeAgingInputDto.cs
@@ -6,6 +6,9 @@
 
 namespace WIDESEA_DTO.MOM
 {
+    /// <summary>
+    /// 鍏ュ簱
+    /// </summary>
     public class ResponeAgingInputDto : BasicResult
     {
         /// <summary>
@@ -19,8 +22,30 @@
         public string BindCode { get; set; }
 
         /// <summary>
+        /// 鐢熶骇浜х嚎
+        /// </summary>
+        public string ProductionLine { get; set; }
+
+        /// <summary>
         /// 鍏宠仈宸ュ簭杩斿洖鏃堕棿锛岃褰曟敞娑叉垨闈欑疆鏃堕暱銆�
         /// </summary>
         public string LinedProcessFeedbackTime { get; set; }
+
+        /// <summary>
+        /// 鍙傛暟鐗堟湰淇℃伅
+        /// </summary>
+        public string ParamVersion { get; set; }
+
+        /// <summary>
+        /// 鏄惁闇�瑕佽鍙栧弬鏁�
+        /// </summary>
+        public bool ParamRefreshFlag { get; set; }
+
+        /// <summary>
+        /// 鍙傛暟淇℃伅鏁扮粍
+        /// </summary>
+        public List<ParameterInfoDto> ParameterInfo { get; set; } = new List<ParameterInfoDto>();
     }
+
+
 }
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs
index cdefd49..cf5a9ca 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs
@@ -41,6 +41,15 @@
         [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")]
         public string Remark { get; set; }
 
+        /// <summary>
+        /// 鍏宠仈宸ュ簭杩斿洖鏃堕棿锛堟敞娑瞈闈欑疆鏃堕暱锛�
+        /// </summary>
+        public string LinedProcessFeedbackTime { get; set; }
+
+        /// <summary>
+        /// 鍏宠仈宸ュ簭杩斿洖鏃堕棿锛堟敞娑瞈闈欑疆鏃堕暱锛�
+        /// </summary>
+        public string LinedProcessFeedbackTimes { get; set; }
 
         /// <summary>
         /// 鍖哄煙缂栫爜
@@ -59,7 +68,7 @@
         /// 璐т綅鏁版嵁
         /// </summary>
         [SugarColumn(ColumnName = "LocationInfo")]
-        [Navigate(NavigateType.OneToOne,nameof(LocationCode), nameof(DtLocationInfo.LocationCode))]
+        [Navigate(NavigateType.OneToOne, nameof(LocationCode), nameof(DtLocationInfo.LocationCode))]
         public DtLocationInfo? LocationInfo { get; set; }
     }
-}
+}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/MOM/ProductionModel.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/MOM/ProductionModel.cs
new file mode 100644
index 0000000..082f39f
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/MOM/ProductionModel.cs
@@ -0,0 +1,79 @@
+锘縰sing Newtonsoft.Json;
+using SqlSugar;
+using WIDESEA_Core.DB.Models;
+
+namespace WIDESEA_Model.Models
+{
+    /// <summary>
+    /// 琛ㄧず鐢熶骇杩囩▼涓殑鏂欐灞炴�у拰鐩稿叧宸ュ簭淇℃伅鐨勬ā鍨嬨��
+    /// </summary>
+    [SugarTable("ProductionModel", "鏂欐灞炴��")]
+    public class ProductionModel : BaseEntity
+    {
+        /// <summary>
+        /// 澶�  娉�:涓婚敭锛岃嚜鍔ㄥ闀�
+        /// </summary>
+        [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭锛岃嚜鍔ㄥ闀�")]
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 鏂欐灞炴�э紝鐢ㄤ簬鏍囪瘑鏂欐鐨勫敮涓�灞炴�с��
+        /// </summary>
+        [SugarColumn(ColumnName = "TrayBarcodeProperty", ColumnDescription = "鏂欐灞炴��", IsNullable = false)]
+        public string TrayBarcodeProperty { get; set; }
+
+        /// <summary>
+        /// 宸ュ簭闆嗗悎锛屽寘鍚墍鏈夌浉鍏崇殑宸ュ簭浠g爜銆�
+        /// </summary>
+        [SugarColumn(ColumnName = "ProcessCodes", ColumnDescription = "宸ュ簭闆嗗悎", IsNullable = false, Length = int.MaxValue)]
+        public string ProcessCodes { get; set; }
+
+        /// <summary>
+        /// 閫傜敤鐗╂枡缂栫爜/宸ヨ壓鍨嬪彿闆嗗悎锛屽寘鍚墍鏈夌浉鍏崇殑鐗╂枡缂栫爜鎴栧伐鑹哄瀷鍙枫��
+        /// </summary>
+        [SugarColumn(ColumnName = "ProductTypes", ColumnDescription = "閫傜敤鐗╂枡缂栫爜", IsNullable = false, Length = int.MaxValue)]
+        public string ProductTypes { get; set; }
+
+        /// <summary>
+        /// 鎵樼洏瀹归噺锛岃〃绀烘枡妗嗗彲浠ユ壙杞界殑鏈�澶х墿鍝佹暟閲忋��
+        /// </summary>
+        [SugarColumn(ColumnName = "Capacity", ColumnDescription = "鎵樼洏瀹归噺", IsNullable = false)]
+        public int Capacity { get; set; }
+
+        /// <summary>
+        /// 鑾峰彇鎴栬缃伐搴忛泦鍚堬紝鍙嶅簭鍒楀寲JSON瀛楃涓蹭负List<ProcessCodes>銆�
+        /// </summary>
+        [SugarColumn(IsIgnore = true)]
+        public List<ProcessCodesDTO> GetProcessCodes
+        {
+            get { return JsonConvert.DeserializeObject<List<ProcessCodesDTO>>(ProcessCodes); }
+            set { ProcessCodes = JsonConvert.SerializeObject(value); }
+        }
+
+        /// <summary>
+        /// 鑾峰彇鎴栬缃�傜敤鐗╂枡缂栫爜/宸ヨ壓鍨嬪彿闆嗗悎锛屽弽搴忓垪鍖朖SON瀛楃涓蹭负List<string>銆�
+        /// </summary>
+        [SugarColumn(IsIgnore = true)]
+        public List<ProductTypesDTO> GetProductTypes
+        {
+            get { return JsonConvert.DeserializeObject<List<ProductTypesDTO>>(ProductTypes); }
+            set { ProductTypes = JsonConvert.SerializeObject(value); }
+        }
+    }
+
+    public class ProcessCodesDTO
+    {
+        /// <summary>
+        /// 宸ュ簭
+        /// </summary>
+        public string ProcessCode { get; set; }
+    }
+
+    public class ProductTypesDTO
+    {
+        /// <summary>
+        /// 閫傜敤鐗╂枡缂栫爜/宸ヨ壓鍨嬪彿
+        /// </summary>
+        public string ProductType { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Production/IProductionRepository.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Production/IProductionRepository.cs
new file mode 100644
index 0000000..62463d0
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Production/IProductionRepository.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_StorageBasicRepository
+{
+    public interface IProductionRepository : IRepository<ProductionModel>
+    {
+    }
+}
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Production/ProductionRepository.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Production/ProductionRepository.cs
new file mode 100644
index 0000000..a58f43f
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Production/ProductionRepository.cs
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_StorageBasicRepository
+{
+    public class ProductionRepository : RepositoryBase<ProductionModel>, IProductionRepository
+    {
+        public ProductionRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
+        {
+        }
+    }
+}
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Production/IProductionService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Production/IProductionService.cs
new file mode 100644
index 0000000..edb2e8d
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Production/IProductionService.cs
@@ -0,0 +1,5 @@
+锘縩amespace WIDESEA_StorageBasicServices;
+
+public interface IProductionService : IService<ProductionModel>
+{
+}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Production/ProductionService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Production/ProductionService.cs
new file mode 100644
index 0000000..2724493
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Production/ProductionService.cs
@@ -0,0 +1,10 @@
+锘縰sing WIDESEA_StorageBasicRepository;
+
+namespace WIDESEA_StorageBasicServices;
+
+public class ProductionService : ServiceBase<ProductionModel, IProductionRepository>, IProductionService
+{
+    public ProductionService(IProductionRepository BaseDal) : base(BaseDal)
+    {
+    }
+}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index 5367dc9..2236c93 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -34,6 +34,7 @@
     private readonly IProcessApplyService _processApplyService; //宸ヨ壓璺嚎
     private readonly IDt_AreaInfoRepository _areaInfoRepository; //鍖哄煙
     private readonly IAgingInOrOutInputService _agingInOrOutInputService; //闈欑疆\闄堝寲
+    private readonly IProductionRepository _productionRepository; //鐢熶骇
 
     public Dt_TaskService(IDt_TaskRepository BaseDal,
                                 IUnitOfWorkManage unitOfWorkManage,
@@ -54,7 +55,8 @@
                                 IProcessApplyService processApplyService,
                                 IDt_AreaInfoRepository areaInfoRepository,
                                 IAgingInOrOutInputService agingInOrOutInputService,
-                                IStockInfoDetailRepository stockInfoDetailRepository) : base(BaseDal)
+                                IStockInfoDetailRepository stockInfoDetailRepository,
+                                IProductionRepository productionRepository) : base(BaseDal)
     {
         _unitOfWorkManage = unitOfWorkManage;
         _outOrderRepository = outOrderRepository;
@@ -75,6 +77,7 @@
         _areaInfoRepository = areaInfoRepository;
         _agingInOrOutInputService = agingInOrOutInputService;
         _stockInfoDetailRepository = stockInfoDetailRepository;
+        _productionRepository = productionRepository;
     }
 
     #region 澶栭儴鎺ュ彛鏂规硶
@@ -452,7 +455,16 @@
             var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());
             if (result.SerialNos.Count <= 0)
                 return content.Error(result.MOMMessage);
+
+            // TODO 鑾峰彇鏈湴鏂欐灞炴�т笌鏁寸洏鐢佃姱灞炴�ц幏鍙栫殑鍊艰繘琛屽姣旓紝濡傛灉涓�鑷村垯缁х画锛屽惁鍒欒繑鍥為敊璇俊鎭�
+            var productions = await _productionRepository.QueryDataAsync(x => result.TrayBarcodePropertys.Select(x => x.TrayBarcodeProperty).ToList().Contains(x.TrayBarcodeProperty));
+            if (productions.Count <= 0)
+                return content.Error("鏂欐灞炴�т笉瀛樺湪");
+
+            // 璋冪敤CreateBoxingInfo鏂规硶锛屽垱寤虹粍鐩樹俊鎭�
+
             var boxing = await CreateBoxingInfo(result, input.PalletCode);
+            if (boxing == null) return content.Error("缁勭洏澶辫触");
 
             // 璋冪敤GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹鸿矾绾�
             ProcessApplyDto process = await GetProcessApplyAsync(result);
@@ -460,11 +472,18 @@
             // 濡傛灉process涓簄ull锛屽垯杩斿洖content
             if (process == null) return content;
 
-            // 璋冪敤GetProcessResponseAsync鏂规硶锛岃幏鍙栧伐鑹哄搷搴�
-            var processResponse = await GetProcessResponseAsync(process, input.Position);
+            // 璋冪敤_processApplyService.GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹虹敵璇�
+            content = await _processApplyService.GetProcessApplyAsync(process);
 
+            // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖null
+            if (!content.Status) return content.Error("宸ヨ壓鐢宠澶辫触");
+
+            //// 璋冪敤GetProcessResponseAsync鏂规硶锛岃幏鍙栧伐鑹哄搷搴�
+            //var processResponse = await GetProcessResponseAsync(process, input.Position);
+
+            List<string> strings = input.Position == "1088" ? new List<string>() { "CHSC01" } : new List<string>() { "JZSC01" };
             // 璋冪敤CreateNewTask鏂规硶锛屽垱寤烘柊浠诲姟
-            content =  await CreateNewTask(input, processResponse);
+            content =  await CreateNewTask(input, strings);
             if (content.Status)
             {
                 var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -564,7 +583,7 @@
                 SerialNumber = serialNoObj.SerialNo,
                 OrderNo = serialNoObj.PositionNo.ToString(),
                 Status = serialNoObj.SerialNoStatus,
-                MaterielCode = serialNoObj.BindCode,
+                MaterielCode = result.BindCode,
                 Remark = result.TrayBarcodePropertys.ToJsonString(),
             }).ToList()
         };
@@ -1184,20 +1203,12 @@
     /// <param name="areaId">鍖哄煙ID</param>
     /// <param name="content">鍝嶅簲鍐呭</param>
     /// <returns></returns>
-    private async Task<WebResponseContent> CreateNewTask(RequestTaskDto input, List<Dt_EquipmentProcess> process = null, int flag = 0)
+    private async Task<WebResponseContent> CreateNewTask(RequestTaskDto input, List<string> process = null, int flag = 0)
     {
         WebResponseContent content = new WebResponseContent();
-        List<string> strings = new List<string>();
-        if (process != null)
-        {
-            strings = process.Select(x => x.EquipmentName).ToList();
-        }
-        else
-        {
-            strings = input.Position.Split(',').ToList();
-        }
+
         // 鑾峰彇鐩爣鍦板潃
-        string ToAddress = await GetRoadWayAsync(strings);
+        string ToAddress = await GetRoadWayAsync(process);
 
         // 鍒涘缓鏂颁换鍔″疄渚�
         var task = new Dt_Task
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/ProductionController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/ProductionController.cs
new file mode 100644
index 0000000..b6fb594
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/ProductionController.cs
@@ -0,0 +1,17 @@
+锘�
+namespace WIDESEA_WMSServer.Controllers
+{
+    [Route("api/[controller]")]
+    [ApiController]
+    public class ProductionController : ApiBaseController<IProductionService, ProductionModel>
+    {
+        public ProductionController(IProductionService service) : base(service)
+        {
+        }
+
+        public override ActionResult AddData([FromBody] ProductionModel options)
+        {
+            return base.AddData(options);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/GlobalUsing.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/GlobalUsing.cs
index aa2f49c..16392e6 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/GlobalUsing.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/GlobalUsing.cs
@@ -12,4 +12,5 @@
 global using WIDESEA_Model.Models.System;
 global using WIDESEA_Core.Authorization;
 global using WIDESEA_Core.Utilities;
-global using WIDESEA_Model;
\ No newline at end of file
+global using WIDESEA_Model;
+global using WIDESEA_StorageBasicServices;
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer.csproj.user b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer.csproj.user
index 8814900..c3bce0e 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer.csproj.user
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer.csproj.user
@@ -1,8 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
-    <Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
+    <Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
+    <Controller_SelectedScaffolderCategoryPath>root/Common/Api</Controller_SelectedScaffolderCategoryPath>
     <NameOfLastUsedPublishProfile>D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_WMSServer\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
   </PropertyGroup>
 </Project>
\ No newline at end of file

--
Gitblit v1.9.3