From 84b36c79f37d9d3abad3bba4ff7ea99b2cc17942 Mon Sep 17 00:00:00 2001 From: 肖洋 <cathay_xy@163.com> Date: 星期三, 18 十二月 2024 23:19:51 +0800 Subject: [PATCH] 合并 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs | 35 ++ .gitignore | 1 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task_HtyController.cs | 26 ++ Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/BasicInfo/Dt_StationManagerController.cs | 22 + Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/BasicInfo/IDt_needBarcodeRepository.cs | 32 ++ Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_needBarcode.vue | 90 +++++++ Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs | 4 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_StationManager.vue | 88 +++++++ /dev/null | 30 -- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/BasicInfo/Dt_needBarcodeService.cs | 14 + Code Management/WCS/WIDESEAWCS_Client/src/views/basicinfo/Dt_needBarcode.vue | 90 +++++++ Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/BasicInfo/dt_needBarcodeController.cs | 22 + Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/dt_needBarcode.cs | 62 +++++ Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/BasicInfo/Dt_needBarcodeRepository.cs | 28 ++ Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js | 19 + Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 121 +++++++-- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/dt_needBarcode.cs | 14 - Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/Dt_StationManager.cs | 4 Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js | 17 + 19 files changed, 639 insertions(+), 80 deletions(-) diff --git a/.gitignore b/.gitignore index 0fbced6..1df5db4 100644 --- a/.gitignore +++ b/.gitignore @@ -1562,3 +1562,4 @@ *.BuildWithSkipAnalyzers /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json +/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js b/Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js index e32800b..374e2bd 100644 --- a/Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js +++ b/Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js @@ -61,6 +61,23 @@ path: '/router', name: 'router', component: () => import('@/views/basicinfo/router.vue') - }] + }, + // { + // path: '/Dt_StationManager', + // name: 'Dt_StationManager', + // component: () => import('@/views/widesea_wms/basicinfo/Dt_StationManager.vue'), + // meta: { + // keepAlive: false + // } + // }, + { + path: '/Dt_needBarcode', + name: 'Dt_needBarcode', + component: () => import('@/views/basicinfo/Dt_needBarcode.vue'), + meta: { + keepAlive: false + } + }, +] export default viewgird diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/basicinfo/Dt_needBarcode.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/basicinfo/Dt_needBarcode.vue new file mode 100644 index 0000000..5359a18 --- /dev/null +++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/basicinfo/Dt_needBarcode.vue @@ -0,0 +1,90 @@ +<!-- +*Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *涓氬姟璇峰湪@/extension/widesea_wms/basicinfo/Dt_AreaInfo.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 "@/extension/basicinfo/Dt_needBarcode.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: 'areaID', + footer: "Foots", + cnName: '鍦ㄩ�旀暟鎹�', + name: 'basicinfo/dt_needBarcode', + url: "/dt_needBarcode/", + sortName: "AreaCode" + }); + const editFormFields = ref({ + // "toArea": "", + // "fromArea": "", + // "barcodeType": "", + "productLine": "", + "inLineNum": "", + "cacheNum":"" + }); + const editFormOptions = ref([ + // [ + // { "title": "鐩爣搴撳尯", "field": "toArea", type: "text" }, + // { "title": "鏉ユ簮搴撳尯", "field": "fromArea", type: "text" }, + // { "title": "鎵樼洏绫诲瀷", "field": "barcodeType", type: "text" }, + // ], + [ + { "title": "鎵�灞炰骇绾�", "field": "productLine", type: "text" }, + { "title": "鍦ㄩ�旀暟閲�", "field": "inLineNum", type: "text" }, + { "title": "鍙紦瀛樻暟閲�", "field": "cacheNum", type: "text" }, + ] + ]); + const searchFormFields = ref({}); + const searchFormOptions = ref([ + // [ + // { "title": "鐩爣搴撳尯", "field": "toArea", type: "text" }, + // { "title": "鏉ユ簮搴撳尯", "field": "fromArea", type: "text" }, + // { "title": "鎵樼洏绫诲瀷", "field": "barcodeType", type: "text" }, + // ], + [ + { "title": "鎵�灞炰骇绾�", "field": "productLine", type: "text" }, + { "title": "鍦ㄩ�旀暟閲�", "field": "inLineNum", type: "text" }, + { "title": "鍙紦瀛樻暟閲�", "field": "cacheNum", type: "text" }, + ] + ]); + const columns = ref([{ field: 'ID', title: '涓婚敭', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' }, + //{ field: 'toArea', title: '鐩爣搴撳尯', type: 'string', sort: true, width: 110, require: true, align: 'left', sort: true }, + //{ field: 'fromArea', title: '鏉ユ簮搴撳尯', type: 'string', sort: true, width: 110, align: 'left' }, + //{ field: 'barcodeType', title: '鎵樼洏绫诲瀷', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'productLine', title: '鎵�灞炰骇绾�', type: 'string', sort: true, width: 110, align: 'left',}, + { field: 'inLineNum', title: '鍦ㄩ�旀暟閲�', type: 'int', sort: true, width: 110, align: 'left' }, + { field: 'cacheNum', title: '鍙紦瀛樻暟閲�', type: 'int', sort: true, width: 100, align: 'left' }, + { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, + { field: 'modifier', title: '淇敼浜�', type: 'string', sort: true, width: 100, align: 'left' }, + { field: 'modifyDate', title: '淇敼鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, + ]); + 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/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs index cd3d5b4..5e77a0d 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs @@ -111,5 +111,9 @@ public string stationStatus { get; set; } + /// <summary> + /// 浜х嚎 + /// </summary> + public string productLine { get; set; } } } diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/dt_needBarcode.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/dt_needBarcode.cs index 6de828c..f226258 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/dt_needBarcode.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/dt_needBarcode.cs @@ -8,6 +8,8 @@ namespace WIDESEAWCS_Model.Models { + [SugarTable(nameof(dt_needBarcode), "鍦ㄩ�旀暟鎹�")] + public class dt_needBarcode : BaseEntity { [Key] @@ -56,17 +58,5 @@ /// </summary> [NotMapped] public int haveOutNum { get; set; } = 0; - - /// <summary> - /// 鍙叆鏁伴噺 - /// </summary> - [NotMapped] - public int canInNum { get; set; } = 0; - - /// <summary> - /// 宸插垱寤哄嚭搴撲换鍔� - /// </summary> - [NotMapped] - public List<Dt_Task> haveOutList { get; set; } } } diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs index 5a08e4b..35e4b19 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs @@ -193,9 +193,9 @@ public void RequestOutbound(CommonConveyorLine_BZ conveyorLine, ConveyorLineTaskCommand_After command, Dt_StationManager station) { //鏌ヨ瀵瑰簲浜х嚎鐨勫湪閫旀暟鎹� - dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.stationRemark); + dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.productLine); - //needBarcode.haveOutNum + needBarcode.inLineNum = _taskRepository.QueryData(x => x.TargetAddress == station.stationChildCode).Count(); //鑻ュ湪閫旀暟閲忓皬浜庣洰鏍囦綅缃殑缂撳瓨鏁伴噺 鍒欏鎵惧搴斿父娓╁簱瀛樹腑甯告俯3宸ュ簭鐨勫彲鍑哄簱鏁版嵁 骞跺缓绔嬪嚭搴撲换鍔� if (needBarcode.inLineNum <= needBarcode.cacheNum) @@ -221,18 +221,43 @@ dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.toArea == station.stationChildCode); if (needBarcode == null) throw new Exception($"鏈厤缃浉鍏硔station.stationChildCode}鐨勪骇绾垮湪閫旀暟鎹�"); - if (task != null) + if (task != null) //濡備换鍔′笉涓虹┖ 鍒欎负閫佸寘瑁呮枡 { conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, task.NextAddress, station.stationChildCode); _taskRepository.DeleteData(task); + + needBarcode.inLineNum--; + _needBarcodeRepository.UpdateData(needBarcode); } else { + var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue; + var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue; + if (wmsBase == null || ipAddress == null) + { + throw new InvalidOperationException("MOM IP 鏈厤缃�"); + } + TrayCellsStatusDto trayCells = new TrayCellsStatusDto() + { + Software = "WMS", + TrayBarcode = command.ConveyorLineBarcode, + EquipmentCode = station.stationEquipMOM, + SessionId = Guid.NewGuid().ToString(), + EmployeeNo = "MITest", + //SceneType = "1", + RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ") + }; + + var MOMIpAddress = wmsBase + ipAddress; + + var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result; + ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result); + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, station.stationNGChildCode, station.stationChildCode); } - needBarcode.inLineNum--; - _needBarcodeRepository.UpdateData(needBarcode); + } } } diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js index c6dde69..8b4f264 100644 --- a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js +++ b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js @@ -234,6 +234,21 @@ meta: { keepAlive: false } - } + }, + { + path: '/Dt_StationManager', + name: 'Dt_StationManager', + component: () => import('@/views/widesea_wms/basicinfo/Dt_StationManager.vue'), + meta: { + keepAlive: false + } + },{ + path: '/Dt_needBarcode', + name: 'Dt_needBarcode', + component: () => import('@/views/widesea_wms/basicinfo/Dt_needBarcode.vue'), + meta: { + keepAlive: false + } + }, ] export default tables diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_StationManager.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_StationManager.vue new file mode 100644 index 0000000..adc64e9 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_StationManager.vue @@ -0,0 +1,88 @@ +<!-- +*Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *涓氬姟璇峰湪@/extension/widesea_wms/basicinfo/Dt_AreaInfo.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 "@/extension/widesea_wms/basicinfo/Dt_StationManager.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: 'areaID', + footer: "Foots", + cnName: '绔欏彴淇℃伅', + name: 'basicinfo/Dt_StationManager', + url: "/Dt_StationManager/", + sortName: "AreaCode" + }); + const editFormFields = ref({ + + }); + const editFormOptions = ref([ + + ]); + const searchFormFields = ref({}); + const searchFormOptions = ref([ + [ + { "title": "绔欏彴绫诲瀷", "field": "stationType", type: "text" }, + { "title": "鎵�灞濸LC", "field": "stationPLC", type: "text" }, + { "title": "宸烽亾鍙�", "field": "roadway", type: "text" }, + + ], + [ + { "title": "璁惧鍖哄煙", "field": "stationArea", type: "text" }, + { "title": "MOM璁惧缂栧彿", "field": "stationEquipMOM", type: "text" }, + { "title": "NG瀛愯澶囩紪鍙�", "field": "stationNGChildCode", type: "text" }, + + ], + [ + { "title": "NG瀛愯澶囧潗鏍�", "field": "remark", type: "text" }, + { "title": "绾夸綋缂栧彿", "field": "stationChildCode", type: "text" }, + { "title": "浜х嚎", "field": "productLine", type: "text" }, + + ] + ]); + const columns = ref([{ field: 'stationID', title: '涓婚敭', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' }, + { field: 'stationType', title: '绔欏彴绫诲瀷', type: 'int', sort: true, width: 110, require: true, align: 'left', sort: true }, + { field: 'stationPLC', title: '鎵�灞濸LC', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'roadway', title: '宸烽亾鍙�', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'stationChildCode', title: '绾夸綋缂栧彿(瀛愯澶囩紪鍙�)', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'stationArea', title: '璁惧鍖哄煙', type: 'int', sort: true, width: 100, align: 'left' }, + { field: 'stationEquipMOM', title: 'MOM璁惧缂栧彿', type: 'string', sort: true, width: 150, align: 'left' }, + { field: 'stationNGChildCode', title: 'NG瀛愯澶囩紪鍙�', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'productLine', title: '浜х嚎', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'remark', title: 'NG瀛愯澶囧潗鏍�', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'stationRemark', title: '澶囨敞', type: 'int', sort: true, width: 110, align: 'left', }, + { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, + { field: 'modifier', title: '淇敼浜�', type: 'string', sort: true, width: 100, align: 'left' }, + { field: 'modifyDate', title: '淇敼鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, + ]); + 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_WMSClient/src/views/widesea_wms/basicinfo/Dt_needBarcode.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_needBarcode.vue new file mode 100644 index 0000000..24b6e62 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_needBarcode.vue @@ -0,0 +1,90 @@ +<!-- +*Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *涓氬姟璇峰湪@/extension/widesea_wms/basicinfo/Dt_AreaInfo.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 "@/extension/widesea_wms/basicinfo/Dt_needBarcode.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: 'areaID', + footer: "Foots", + cnName: '鍦ㄩ�旀暟鎹�', + name: 'basicinfo/dt_needBarcode', + url: "/dt_needBarcode/", + sortName: "AreaCode" + }); + const editFormFields = ref({ + // "toArea": "", + // "fromArea": "", + // "barcodeType": "", + "productLine": "", + "inLineNum": "", + "cacheNum":"" + }); + const editFormOptions = ref([ + // [ + // { "title": "鐩爣搴撳尯", "field": "toArea", type: "text" }, + // { "title": "鏉ユ簮搴撳尯", "field": "fromArea", type: "text" }, + // { "title": "鎵樼洏绫诲瀷", "field": "barcodeType", type: "text" }, + // ], + [ + { "title": "鎵�灞炰骇绾�", "field": "productLine", type: "text" }, + { "title": "鍦ㄩ�旀暟閲�", "field": "inLineNum", type: "text" }, + { "title": "鍙紦瀛樻暟閲�", "field": "cacheNum", type: "text" }, + ] + ]); + const searchFormFields = ref({}); + const searchFormOptions = ref([ + // [ + // { "title": "鐩爣搴撳尯", "field": "toArea", type: "text" }, + // { "title": "鏉ユ簮搴撳尯", "field": "fromArea", type: "text" }, + // { "title": "鎵樼洏绫诲瀷", "field": "barcodeType", type: "text" }, + // ], + [ + { "title": "鎵�灞炰骇绾�", "field": "productLine", type: "text" }, + { "title": "鍦ㄩ�旀暟閲�", "field": "inLineNum", type: "text" }, + { "title": "鍙紦瀛樻暟閲�", "field": "cacheNum", type: "text" }, + ] + ]); + const columns = ref([{ field: 'ID', title: '涓婚敭', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' }, + //{ field: 'toArea', title: '鐩爣搴撳尯', type: 'string', sort: true, width: 110, require: true, align: 'left', sort: true }, + //{ field: 'fromArea', title: '鏉ユ簮搴撳尯', type: 'string', sort: true, width: 110, align: 'left' }, + //{ field: 'barcodeType', title: '鎵樼洏绫诲瀷', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'productLine', title: '鎵�灞炰骇绾�', type: 'string', sort: true, width: 110, align: 'left',}, + { field: 'inLineNum', title: '鍦ㄩ�旀暟閲�', type: 'int', sort: true, width: 110, align: 'left' }, + { field: 'cacheNum', title: '鍙紦瀛樻暟閲�', type: 'int', sort: true, width: 100, align: 'left' }, + { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, + { field: 'modifier', title: '淇敼浜�', type: 'string', sort: true, width: 100, align: 'left' }, + { field: 'modifyDate', title: '淇敼鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, + ]); + 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_IStorageBasicRepository/BasicInfo/IDt_needBarcodeRepository.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/BasicInfo/IDt_needBarcodeRepository.cs new file mode 100644 index 0000000..f703426 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/BasicInfo/IDt_needBarcodeRepository.cs @@ -0,0 +1,32 @@ +锘�#region << 鐗� 鏈� 娉� 閲� >> +/*---------------------------------------------------------------- + * 鍛藉悕绌洪棿锛歐IDESEAWCS_ITaskInfoRepository + * 鍒涘缓鑰咃細鑳$搴� + * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36 + * 鐗堟湰锛歏1.0.0 + * 鎻忚堪锛� + * + * ---------------------------------------------------------------- + * 淇敼浜猴細 + * 淇敼鏃堕棿锛� + * 鐗堟湰锛歏1.0.1 + * 淇敼璇存槑锛� + * + *----------------------------------------------------------------*/ +#endregion << 鐗� 鏈� 娉� 閲� >> + + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_BasicInfoRepository +{ + public interface IDt_needBarcodeRepository : IRepository<dt_needBarcode> + { + + } +} diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/Dt_StationManager.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/Dt_StationManager.cs index 16774dd..5c7c210 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/Dt_StationManager.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/Dt_StationManager.cs @@ -109,5 +109,9 @@ public string stationNGLocation { get; set; } public string remark { get; set; } + /// <summary> + /// 浜х嚎 + /// </summary> + public string productLine { get; set; } } } diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/dt_needBarcode.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/dt_needBarcode.cs new file mode 100644 index 0000000..1c892e5 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/dt_needBarcode.cs @@ -0,0 +1,62 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Text; +using WIDESEA_Core.DB.Models; +using WIDESEA_Model.Models; + +namespace WIDESEAWCS_Model.Models +{ + [SugarTable("dt_needBarcode")] + public class dt_needBarcode : BaseEntity + { + [Key] + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int id { get; set; } + + /// <summary> + /// 鐩爣搴撳尯 + /// </summary> + [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鐩爣搴撳尯")] + public string toArea { get; set; } + + /// <summary> + /// 鏉ユ簮搴撳尯 + /// </summary> + [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "鏉ユ簮搴撳尯")] + public string fromArea { get; set; } + + /// <summary> + /// 鎵樼洏绫诲瀷 + /// </summary> + [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "鎵樼洏绫诲瀷")] + public string barcodeType { get; set; } + + /// <summary> + /// 浜х嚎 + /// </summary> + [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "鎵�灞炰骇绾�")] + public string productLine { get; set; } + + /// <summary> + /// 鍦ㄩ�旀暟閲� + /// </summary> + [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "鍦ㄩ�旀暟閲�")] + public int inLineNum { get; set; } + + /// <summary> + /// 鐩爣缂撳瓨鏁伴噺 + /// </summary> + [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "鍙紦瀛樻暟閲�")] + public int cacheNum { get; set; } = 0; + + + /// <summary> + /// 宸插垱寤哄嚭搴撲换鍔℃暟閲� + /// </summary> + //[NotMapped] + //public int haveOutNum { get; set; } = 0; + } +} diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/BasicInfo/Dt_needBarcodeRepository.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/BasicInfo/Dt_needBarcodeRepository.cs new file mode 100644 index 0000000..af6b2d3 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/BasicInfo/Dt_needBarcodeRepository.cs @@ -0,0 +1,28 @@ +锘�#region << 鐗� 鏈� 娉� 閲� >> +/*---------------------------------------------------------------- + * 鍛藉悕绌洪棿锛歐IDESEAWCS_TaskInfoRepository + * 鍒涘缓鑰咃細鑳$搴� + * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36 + * 鐗堟湰锛歏1.0.0 + * 鎻忚堪锛� + * + * ---------------------------------------------------------------- + * 淇敼浜猴細 + * 淇敼鏃堕棿锛� + * 鐗堟湰锛歏1.0.1 + * 淇敼璇存槑锛� + * + *----------------------------------------------------------------*/ +#endregion << 鐗� 鏈� 娉� 閲� >> + +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_BasicInfoRepository +{ + public class Dt_needBarcodeRepository : RepositoryBase<dt_needBarcode>, IDt_needBarcodeRepository + { + public Dt_needBarcodeRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/BasicInfo/Dt_needBarcodeService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/BasicInfo/Dt_needBarcodeService.cs new file mode 100644 index 0000000..36a7f72 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/BasicInfo/Dt_needBarcodeService.cs @@ -0,0 +1,14 @@ +锘縰sing WIDESEA_IServices; +using WIDESEAWCS_BasicInfoRepository; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_BasicInfoService +{ + public partial class dt_needBarcodeService : ServiceBase<dt_needBarcode, IDt_needBarcodeRepository>, Idt_needBarcodeService + { + public dt_needBarcodeService(IDt_needBarcodeRepository BaseDal) : base(BaseDal) + { + + } + } +} \ No newline at end of file diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs index 08c60dc..268d844 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs @@ -1,4 +1,5 @@ -锘縰sing Masuit.Tools; +锘縰sing log4net.Core; +using Masuit.Tools; using WIDESEA_Core.Const; using WIDESEA_DTO.MOM; using WIDESEA_DTO.WMS; @@ -365,6 +366,7 @@ #region 搴撲綅鍒嗛厤 + #region 鑾峰彇璐т綅 /// <summary> /// /// </summary> @@ -373,8 +375,6 @@ /// <returns></returns> private async Task<DtLocationInfo> RequestLocation(RequestTaskDto requestTask, bool isCheckRequest = false) { - #region 鑾峰彇璐т綅 - try { List<DtLocationInfo> locations; @@ -400,8 +400,9 @@ return null; } - #endregion 鑾峰彇璐т綅 } + #endregion 鑾峰彇璐т綅 + #endregion 搴撲綅鍒嗛厤 @@ -493,19 +494,63 @@ { try { + if (stationManager.stationType == 15) throw new Exception(""); + // 鍒涘缓涓�涓猅rayCellsStatusDto瀵硅薄锛屽苟璧嬪�� TrayCellsStatusDto trayCells = new TrayCellsStatusDto() { Software = "WMS", TrayBarcode = input.PalletCode, //EquipmentCode = "EQ_CWJZ01" - EquipmentCode = input.EquiCodeMOM + EquipmentCode = input.EquiCodeMOM, + SceneType = "1", }; // 璋冪敤GetTrayCellStatusAsync鏂规硶锛岃幏鍙栨暣鐩樼數鑺� WebResponseContent content = await GetTrayCellStatusAsync(trayCells); // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖content - if (!content.Status) throw new Exception(content.Message); + if (!content.Status) //鍏堢敤瀹炴姝e父鑾峰彇鏁寸洏鐢佃姱鏁版嵁锛� 濡傚紓甯� 鍦ㄦ浣跨敤绌烘绫诲瀷鍐嶆鑾峰彇 鍐嶆湁寮傚父鍒欐姏鍑� + { + + TrayCellsStatusDto trayCells_Empty = new TrayCellsStatusDto() + { + Software = "WMS", + TrayBarcode = input.PalletCode, + //EquipmentCode = "EQ_CWJZ01" + EquipmentCode = input.EquiCodeMOM, + SceneType = "4" + }; + content = await GetTrayCellStatusAsync(trayCells); + + if (!content.Status) throw new Exception(content.Message); + + if (content.Status) //褰撳仛绌烘鍏ュ簱 + { + DtLocationInfo EmptylocationInfo = await RequestLocation(input); + + if (EmptylocationInfo == null) throw new Exception("搴撲綅宸叉弧"); + + var Epmtytask = new Dt_Task + { + CurrentAddress = input.Position, + Grade = 3, //浼樺厛澶勭悊寮傚父鎺掑嚭鍙g殑浠诲姟 闃叉姝e父闇�鎺掑嚭寮傚父鍙g殑浠诲姟鍫电嚎 + Roadway = input.Roadways, + TargetAddress = EmptylocationInfo.LocationCode, + Dispatchertime = DateTime.Now, + MaterialNo = "", + NextAddress = input.Roadways, + OrderNo = null, + PalletCode = input.PalletCode, + SourceAddress = stationManager.stationLocation, + TaskState = (int)TaskInStatusEnum.Line_InFinish, + TaskType = (int)TaskInboundTypeEnum.Inbound, + TaskNum = await BaseDal.GetTaskNo(), + Creater = "Systeam" + }; + + return Epmtytask; + } + } // 娣诲姞缁勭洏淇℃伅 // 灏哻ontent.Data杞崲涓篟esultTrayCellsStatus瀵硅薄 @@ -513,24 +558,25 @@ if (result.SerialNos.Count <= 0) { ConsoleHelper.WriteErrorLine(result.MOMMessage); - var taskNG = new Dt_Task - { - CurrentAddress = input.Position, - Grade = 1, - Roadway = input.Roadways, - TargetAddress = stationManager.stationNGLocation, - Dispatchertime = DateTime.Now, - MaterialNo = "", - NextAddress = stationManager.stationNGChildCode, - OrderNo = null, - PalletCode = input.PalletCode, - SourceAddress = stationManager.stationLocation, - TaskState = (int)TaskInStatusEnum.Line_InFinish, - TaskType = (int)TaskOutboundTypeEnum.InToOut, - TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam" - }; - return taskNG; + throw new Exception("鏃犵數鑺暟鎹�"); + //var taskNG = new Dt_Task + //{ + // CurrentAddress = input.Position, + // Grade = 1, + // Roadway = input.Roadways, + // TargetAddress = stationManager.stationNGLocation, + // Dispatchertime = DateTime.Now, + // MaterialNo = "", + // NextAddress = stationManager.stationNGChildCode, + // OrderNo = null, + // PalletCode = input.PalletCode, + // SourceAddress = stationManager.stationLocation, + // TaskState = (int)TaskInStatusEnum.Line_InFinish, + // TaskType = (int)TaskOutboundTypeEnum.InToOut, + // TaskNum = await BaseDal.GetTaskNo(), + // Creater = "Systeam" + //}; + //return taskNG; } //Console.WriteLine(result); @@ -559,20 +605,33 @@ ////var processResponse = await GetProcessResponseAsync(process, input.Position); var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing); + DtLocationInfo locationInfo = null; + if (stationManager.Roadway.Contains("FR")) + { + locationInfo = await RequestLocation(input, true); + } + else + { + locationInfo = await RequestLocation(input); + } + //DtLocationInfo locationInfo = await RequestLocation(input); + + if (locationInfo == null) throw new Exception("搴撲綅宸叉弧"); + var task = new Dt_Task { CurrentAddress = input.Position, - Grade = 1, + Grade = 3, //浼樺厛澶勭悊寮傚父鎺掑嚭鍙g殑浠诲姟 闃叉姝e父闇�鎺掑嚭寮傚父鍙g殑浠诲姟鍫电嚎 Roadway = input.Roadways, - TargetAddress = stationManager.stationLocation, + TargetAddress = locationInfo.LocationCode, Dispatchertime = DateTime.Now, MaterialNo = "", NextAddress = input.Roadways, OrderNo = null, - //PalletCode = stockinfo.PalletCode, - //SourceAddress = stockinfo.LocationCode, - TaskState = (int)TaskOutStatusEnum.OutNew, - TaskType = (int)TaskOutboundTypeEnum.OutTray, + PalletCode = input.PalletCode, + SourceAddress = stationManager.stationLocation, + TaskState = (int)TaskInStatusEnum.Line_InFinish, + TaskType = (int)TaskInboundTypeEnum.Inbound, TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam" }; @@ -767,7 +826,7 @@ { Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position); - DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(X => X.IsFull && X.AreaCode == "CWSC3" && X.ProductionLine == "ZJ-7"); + DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(X => X.IsFull && X.AreaCode == "CWSC3" && X.ProductionLine == station.productLine); if (stockInfo == null) throw new Exception("搴撳唴鏃犳弧瓒虫潯浠剁殑搴撳瓨鍙嚭搴�"); Dt_StationManager OutStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == "1016" && x.stationType == 10); diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/BasicInfo/Dt_StationManagerController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/BasicInfo/Dt_StationManagerController.cs new file mode 100644 index 0000000..167b7c9 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/BasicInfo/Dt_StationManagerController.cs @@ -0,0 +1,22 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using WIDESEA_BusinessServices; +using WIDESEA_Core.BaseController; +using WIDESEA_IBusinessServices; +using WIDESEA_Model.Models; +using WIDESEAWCS_BasicInfoService; +using WIDESEAWCS_Model.Models; + +namespace WIDESEA_WMSServer.Controllers +{ + [Route("api/Dt_StationManager")] + [ApiController] + public class Dt_StationManagerController : ApiBaseController<IDt_StationManagerService, Dt_StationManager> + { + private readonly IHttpContextAccessor _httpContextAccessor; + public Dt_StationManagerController(IDt_StationManagerService service, IHttpContextAccessor httpContextAccessor) : base(service) + { + _httpContextAccessor = httpContextAccessor; + } + + } +} diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/BasicInfo/dt_needBarcodeController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/BasicInfo/dt_needBarcodeController.cs new file mode 100644 index 0000000..63f5557 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/BasicInfo/dt_needBarcodeController.cs @@ -0,0 +1,22 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using WIDESEA_BusinessServices; +using WIDESEA_Core.BaseController; +using WIDESEA_IBusinessServices; +using WIDESEA_Model.Models; +using WIDESEAWCS_BasicInfoService; +using WIDESEAWCS_Model.Models; + +namespace WIDESEA_WMSServer.Controllers +{ + [Route("api/dt_needBarcode")] + [ApiController] + public class dt_needBarcodeController : ApiBaseController<Idt_needBarcodeService, dt_needBarcode> + { + private readonly IHttpContextAccessor _httpContextAccessor; + public dt_needBarcodeController(Idt_needBarcodeService service, IHttpContextAccessor httpContextAccessor) : base(service) + { + _httpContextAccessor = httpContextAccessor; + } + + } +} diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task_HtyController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task_HtyController.cs new file mode 100644 index 0000000..f09779a --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task_HtyController.cs @@ -0,0 +1,26 @@ +锘縰sing WIDESEA_DTO; +using static WIDESEA_DTO.RequestTaskDto; + +namespace WIDESEA_WMSServer.Controllers; + +/// <summary> +/// 浠诲姟鎿嶄綔鎺ュ彛 +/// </summary> +[Route("api/[controller]")] +[ApiController] +public class Task_HtyController : ApiBaseController<IDt_Task_HtyService, Dt_Task_Hty> +{ + private readonly IHttpContextAccessor _httpContextAccessor; + private readonly IDt_Task_HtyService _task_HtyService; + private readonly ILocationInfoService _locationService; + + public Task_HtyController(IDt_Task_HtyService task_HtyService, + IHttpContextAccessor httpContextAccessor, + ILocationInfoService locationService) : base(task_HtyService) + { + _httpContextAccessor = httpContextAccessor; + _task_HtyService = task_HtyService; + _locationService = locationService; + } + +} \ No newline at end of file diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json deleted file mode 100644 index 0220b35..0000000 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*", - "urls": "http://*:5000", - "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue - //杩炴帴瀛楃涓� - //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=", - //"ConnectionString": "Data Source=192.168.5.251;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", - "ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WMS2F08;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", - //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WMSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", - - //璺ㄥ煙 - "Cors": { - "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О - "EnableAllIPs": true, //褰撲负true鏃讹紝寮�鏀炬墍鏈塈P鍧囧彲璁块棶銆� - // 鏀寔澶氫釜鍩熷悕绔彛锛屾敞鎰忕鍙e彿鍚庝笉瑕佸甫/鏂滄潌锛氭瘮濡俵ocalhost:8000/锛屾槸閿欑殑 - // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑 - "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081" - }, - "ApiName": "WIDESEA", - "ExpMinutes": 120, - - // 闇�瑕佺Щ搴撶殑琛� - "TransfertRows": "1,4,5,8" -} -- Gitblit v1.9.3