From 3322dfd299755416176cd946265577e176cae795 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周日, 11 5月 2025 20:26:51 +0800 Subject: [PATCH] 出入库功能 --- HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs | 2 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs | 1 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs | 28 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.Designer.cs | 1787 +++++++++++++++++++++++ HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs | 2 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs | 191 ++ HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs | 104 + HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts | 8 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs | 2 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs | 12 HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx | 88 HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx | 13 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs | 26 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx | 10 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.Designer.cs | 1781 +++++++++++++++++++++++ HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs | 55 HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts | 84 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs | 2 HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss | 2 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat | 2 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsBindInStockAppService.cs | 29 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs | 15 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts | 5 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs | 28 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs | 50 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs | 39 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs | 5 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs | 4 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs | 16 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.cs | 54 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.cs | 19 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs | 13 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs | 11 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs | 8 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx | 10 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs | 12 36 files changed, 4,400 insertions(+), 118 deletions(-) diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx index e92cb95..93719a6 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx @@ -142,16 +142,8 @@ { label: '鐗╂枡鎵规', prop: 'materialBatch', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, + el: 'input', width: '100%', - step: 1, - precision: 0, //disabled: disabled, placeholder: '璇疯緭鍏ョ墿鏂欐壒娆�', }, diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx index 5031cdd..2c514b4 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx @@ -136,16 +136,8 @@ { label: '鐗╂枡鎵规', prop: 'materialBatch', - el: (props: any, { attrs }: SetupContext) => { - return h(inputNumber, { - ...props, - clearable: true, - ...attrs, - }) - }, + el: 'input', width: '100%', - step: 1, - precision: 0, //disabled: disabled, placeholder: '璇疯緭鍏ョ墿鏂欐壒娆�', }, diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts index a8d8c4a..c717bf9 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts @@ -1,30 +1,54 @@ -import { Base } from '@/libs/Base/Base' -const request = Base.request - -/** - * 娣诲姞 - * @returns - */ -export const addWmsMaterialContainer = (data: any) => { - return request.post('/api/v1/HIAWms/wmsMaterialContainer', data) -} - -/** - * 鎵归噺鍒犻櫎 - * @returns - */ -export const deleteWmsMaterialContainers = (ids: string[]) => { - return request({ - data: ids, - url: '/api/v1/HIAWms/wmsMaterialContainer', - method: 'delete', - }) -} - -/** - * 鍏嬮殕 - * @returns - */ -export const cloneData = (data: any) => { - return request.post('/api/v1/HIAWms/wmsMaterialContainer/clone', data) -} +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsMaterialContainer = (data: any) => { + return request.post('/api/v1/HIAWms/wmsMaterialContainer', data) +} + +/** + * 鎵归噺鍒犻櫎 + * @returns + */ +export const deleteWmsMaterialContainers = (ids: string[]) => { + return request({ + data: ids, + url: '/api/v1/HIAWms/wmsMaterialContainer', + method: 'delete', + }) +} + +/** + * 鍏嬮殕 + * @returns + */ +export const cloneData = (data: any) => { + return request.post('/api/v1/HIAWms/wmsMaterialContainer/clone', data) +} + +/** + * 鐗╂枡鍨嬪彿鍒楄〃 + * @returns + */ +export const getMaterialModelList = (data: any) => { + return request.get(`/api/v1/hiawms/wmsenum/ModelList`) +} + +/** + * 搴撲綅鍙峰垪琛� + * @returns + */ +export const getPlaceNoForStockList = (data: any) => { + return request.get(`/api/v1/hiawms/wmsenum/placelist?placeType=${data}`) +} + +/** + * 鍏ュ簱 + * @returns + */ +export const instock = (data: any) => { + return request.post('/api/v1/HIAWms/wmsinsstock/bindinstock', data) +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss index 88fc51b..a777a42 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss @@ -151,7 +151,7 @@ .actionButton { flex: 1; // 鎸夐挳骞冲潎鍒嗛厤绌洪棿 - max-width: 150px; // 闄愬埗鎸夐挳鏈�澶у搴� + max-width: 200px; // 闄愬埗鎸夐挳鏈�澶у搴� } } } \ No newline at end of file diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx index 196ace4..1f7ca80 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx @@ -1,17 +1,39 @@ -import { defineComponent, ref } from 'vue' +import { defineComponent, onMounted, ref } from 'vue' import type { Ref } from 'vue' import styles from './WmsMaterialContainer.module.scss' -import { ElInput, ElForm, ElFormItem, ElButton } from 'element-plus' +import { + ElInput, + ElForm, + ElFormItem, + ElButton, + ElSelect, + ElOption, +} from 'element-plus' +import { + getPlaceNoForStockList, + getMaterialModelList, + instock, +} from '@/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer' export default defineComponent({ name: 'WmsMaterialContainer', setup() { // 鏌ヨ琛ㄥ崟鏁版嵁 const queryForm = ref({ - materialNo: '', + materialModel: '', placeNo: '', materialBatch: '', - quantity: '', + stockNumber: '', + }) + + // 鏁版嵁婧� + const modelOptions = ref<Array<{ value: string; label: string }>>([]) + const placeNoOptions = ref<Array<{ value: string; label: string }>>([]) + + onMounted(() => { + // 缁勪欢鎸傝浇鍚庤幏鍙栧瀷鍙峰垪琛ㄥ拰搴撲綅鍙峰垪琛� + getModelList() + getPlaceNoList() }) // 缁勭洏鎿嶄綔 @@ -23,53 +45,87 @@ // 缁勭洏鍏ュ簱鎿嶄綔 const handlePalletizeStorage = () => { console.log('缁勭洏鍏ュ簱鎿嶄綔', queryForm.value) + instock(queryForm.value) // 杩欓噷娣诲姞缁勭洏鍏ュ簱閫昏緫 + } + + const getModelList = async () => { + const models = await getMaterialModelList() + modelOptions.value = models.map((item: string) => ({ + value: item.materialModel, + label: item.materialModelDesc, + })) + } + + const getPlaceNoList = async () => { + const placeNos = await getPlaceNoForStockList(2) + console.log('搴撲綅鍙峰垪琛�:', placeNos) + placeNoOptions.value = placeNos.map((item: string) => ({ + value: item.placeNo, + label: item.placeNoDesc, + })) } return () => { return ( <div class={styles.wmsMaterialContainerContent}> <ElForm label-position="top" class={styles.h5Form}> - <ElFormItem label="鐗╂枡鐮�"> - <ElInput - v-model={queryForm.value.materialNo} - placeholder="璇疯緭鍏ョ墿鏂欑爜" + <ElFormItem label="鍨嬪彿"> + <ElSelect + v-model={queryForm.value.materialModel} + placeholder="璇烽�夋嫨鍨嬪彿" clearable class={styles.formInput} - /> + > + {modelOptions.value.map((item) => ( + <ElOption + key={item.value} + label={item.label} + value={item.value} + /> + ))} + </ElSelect> </ElFormItem> <ElFormItem label="搴撲綅鍙�"> - <ElInput + <ElSelect v-model={queryForm.value.placeNo} - placeholder="璇疯緭鍏ュ簱浣嶅彿" + placeholder="璇烽�夋嫨搴撲綅鍙�" clearable class={styles.formInput} - /> + > + {placeNoOptions.value.map((item) => ( + <ElOption + key={item.value} + label={item.label} + value={item.value} + /> + ))} + </ElSelect> </ElFormItem> <ElFormItem label="鎵规鍙�"> <ElInput v-model={queryForm.value.materialBatch} - placeholder="璇疯緭鍏ユ暟閲�" + placeholder="璇疯緭鍏ユ壒娆″彿" clearable class={styles.formInput} /> </ElFormItem> <ElFormItem label="鏁伴噺"> <ElInput - v-model={queryForm.value.quantity} + v-model={queryForm.value.stockNumber} placeholder="璇疯緭鍏ユ暟閲�" clearable class={styles.formInput} /> </ElFormItem> <div class={styles.buttonGroup}> - <ElButton + {/* <ElButton type="primary" onClick={handlePalletize} class={styles.actionButton} > 缁勭洏 - </ElButton> + </ElButton> */} <ElButton type="success" onClick={handlePalletizeStorage} diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts index 03b2ab3..035b581 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts @@ -33,6 +33,10 @@ title: '鐗╂枡鎵规', }, { + field: 'materialModel', + title: '鍨嬪彿', + }, + { field: 'areaName', title: '鎵�灞炲簱鍖�', }, @@ -43,6 +47,7 @@ { field: 'inStockTime', title: '鍏ュ簱鏃堕棿', + width: 180, }, { field: 'isLockDesc', diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts index 1022664..68da84f 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts @@ -64,10 +64,10 @@ field: 'taskLevel', title: '浠诲姟绛夌骇', }, - // { - // field: 'mutableParam1', - // title: '鍙彉鍙橀噺1', - // }, + { + field: 'mutableParam1', + title: '鍨嬪彿', + }, // { // field: 'mutableParam2', // title: '鍙彉鍙橀噺2', diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx index 9dab1a4..f4cf6aa 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx @@ -292,13 +292,20 @@ <IconButton icon="in">瀵煎叆</IconButton> </el-upload> */} - {/* <IconButton + <IconButton v-permission="wmsTask-output" icon="out" onClick={handleExport} > - 瀵煎嚭 - </IconButton> */} + 寮哄埗瀹屾垚 + </IconButton> + <IconButton + v-permission="wmsTask-output" + icon="out" + onClick={handleExport} + > + 鍙栨秷 + </IconButton> </div> <ElFormItem style={{ marginTop: '15px' }}> <ElFormItem label="鍏抽敭瀛�"> diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs new file mode 100644 index 0000000..9d51416 --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs @@ -0,0 +1,50 @@ +锘縰sing CMS.Plugin.HIAWms.Domain.Shared.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto +{ + /// <summary> + /// 鍙枡鍙傛暟 + /// </summary> + public class CallMaterialInput + { + /// <summary> + /// 鍗曟嵁绫诲瀷 + /// </summary> + public OrderTypeEnum OrderType { get; set; } + + /// <summary> + /// 鍗曟嵁鍙� + /// </summary> + public string OrderNo { get;set; } + + /// <summary> + /// 鍨嬪彿 + /// </summary> + public string MaterialModel { get; set; } + + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string MaterialName { get; set; } + + /// <summary> + /// 鐗╂枡缂栧彿 + /// </summary> + public string MaterialNo { get; set; } + + /// <summary> + /// 搴撲綅缂栧彿 + /// </summary> + public string PlaceNo { get; set; } + + /// <summary> + /// 鍙枡鏁伴噺 + /// </summary> + public int MaterialNumber { get; set; } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs index fe136c9..fdec869 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs @@ -47,7 +47,7 @@ /// <summary> /// 鐗╂枡鎵规 /// </summary> - public int? MaterialBatch { get; set; } + public string? MaterialBatch { get; set; } /// <summary> /// diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs index 9f5fc91..55378ec 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs @@ -56,7 +56,7 @@ /// 鐗╂枡鎵规 /// </summary> [ExcelColumn(Name = "鐗╂枡鎵规", Width = 25)] - public int? MaterialBatch { get; set; } + public string? MaterialBatch { get; set; } /// <summary> /// 鏄惁绂佺敤 diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs index 2f89948..48a476d 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs @@ -39,10 +39,15 @@ /// </summary> public string? MaterialModel { get; set; } - /// <summary> - /// 鎿嶄綔鏃堕棿 - /// </summary> - public DateTime? OperateTime { get; set; } + /// <summary> + /// 鐗╂枡鎵规 + /// </summary> + public string? MaterialBatch { get; set; } + + /// <summary> + /// 鎿嶄綔鏃堕棿 + /// </summary> + public DateTime? OperateTime { get; set; } /// <summary> /// 澶囨敞 diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsBindInStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsBindInStockAppService.cs new file mode 100644 index 0000000..795a8fc --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsBindInStockAppService.cs @@ -0,0 +1,29 @@ +锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.BindInstockDto; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CMS.Plugin.HIAWms.Application.Contracts.Services +{ + /// <summary> + /// 缁勭洏鍏ュ簱鎺ュ彛 + /// </summary> + public interface IWmsBindInStockAppService + { + /// <summary> + /// 缁勭洏 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + Task BindMaterialContaienrAsync(BindInstockInput input); + + /// <summary> + /// 缁勭洏鍏ュ簱 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + Task BindInStockAsync(BindInstockInput input); + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs index 83eba00..23708ad 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs @@ -1,4 +1,5 @@ -锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces; +锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces; using System; using System.Collections.Generic; using System.Linq; @@ -17,5 +18,14 @@ /// <param name="materialNo"></param> /// <returns></returns> Task<Dictionary<WmsPlaceDto, int>> FindAvailablePlacesAsync(string materialModel, int requiredNum, string materialNo = ""); + + /// <summary> + /// 鏌ユ壘搴撳瓨 + /// </summary> + /// <param name="materialModel"></param> + /// <param name="requiredNum"></param> + /// <param name="materialNo"></param> + /// <returns></returns> + Task<Dictionary<WmsMaterialStockDto, int>> FindStockAsync(string materialModel, int requiredNum, string materialNo = ""); } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs new file mode 100644 index 0000000..9e57659 --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs @@ -0,0 +1,12 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CMS.Plugin.HIAWms.Application.Contracts.Services +{ + public interface IWmsOutStockAppService + { + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs index 4195101..fd15a11 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs @@ -42,5 +42,19 @@ /// </summary> /// <param name="input"></param> /// <returns></returns> - Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input); + Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input); + + /// <summary> + /// 寮哄埗瀹屾垚浠诲姟 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + Task FinishTaskAsync(WmsTaskUpdateDto input); + + /// <summary> + /// 鍙栨秷浠诲姟 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + Task CancelTaskAysnc(WmsTaskUpdateDto input); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAssService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs similarity index 84% rename from HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAssService.cs rename to HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs index 097119d..7389cab 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAssService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs @@ -10,19 +10,21 @@ using CMS.Plugin.HIAWms.Domain.WmsMaterials; using CMS.Plugin.HIAWms.Domain.WmsPlaces; using CMS.Plugin.HIAWms.Domain.WmsTask; +using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Volo.Abp; +using Volo.Abp.Uow; namespace CMS.Plugin.HIAWms.Application.Implements { /// <summary> /// 缁勭洏鍏ュ簱 /// </summary> - public class WmsBindInStockAssService : CMSPluginAppService + public class WmsBindInStockAppService : CMSPluginAppService, IWmsBindInStockAppService { private readonly IWmsMaterialRepository _wmsMaterialRepository; private readonly IWmsContainerRepository _wmsContainerRepository; @@ -34,8 +36,9 @@ private readonly IWmsCommonAppService _wmsCommonAppService; private readonly IWmsTaskRepository _wmsTaskRepository; private readonly IWmsTaskAppService _wmsTaskAppService; + private readonly IServiceProvider _serviceProvider; - public WmsBindInStockAssService(IWmsMaterialRepository wmsMaterialRepository, + public WmsBindInStockAppService(IWmsMaterialRepository wmsMaterialRepository, IWmsContainerRepository wmsContainerRepository, IWmsPlaceRepository wmsPlaceRepository , @@ -45,7 +48,8 @@ IWmsMaterialStockAppService wmsMaterialStockAppService, IWmsCommonAppService wmsCommonAppService, IWmsTaskRepository wmsTaskRepository, - IWmsTaskAppService wmsTaskAppService) + IWmsTaskAppService wmsTaskAppService, + IServiceProvider serviceProvider) { _wmsMaterialRepository = wmsMaterialRepository; _wmsContainerRepository = wmsContainerRepository; @@ -57,10 +61,15 @@ _wmsCommonAppService = wmsCommonAppService; _wmsTaskRepository = wmsTaskRepository; _wmsTaskAppService = wmsTaskAppService; + _serviceProvider = serviceProvider; } public async Task BindMaterialContaienrAsync(BindInstockInput input) { + using var scope = _serviceProvider.CreateScope(); + var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); + using var uow = unitOfWorkManager.Begin(requiresNew: true); + if (string.IsNullOrEmpty(input.MaterialModel)) { throw new UserFriendlyException("璇烽�夋嫨搴撲綅缂栧彿"); } if (string.IsNullOrEmpty(input.MaterialBatch)) { throw new UserFriendlyException("璇疯緭鍏ユ壒娆″彿"); } if (input.StockNumber <= 0) { throw new UserFriendlyException("鍏ュ簱鏁伴噺蹇呴』澶т簬0"); } @@ -111,13 +120,13 @@ { containerNo = DateTime.Now.ToString("yyMMddHHmmss") + new Random(Guid.NewGuid().GetHashCode()).Next(100, 9999).ToString(); } - var container = new WmsContainer - { - ContainerNo = containerNo, - ContainerType = Domain.Shared.Enums.ContainerTypeEnum.XUNI, - ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.ZUPANG, - }; - await _wmsContainerRepository.InsertAsync(container); + //var container = new WmsContainer + //{ + // ContainerNo = containerNo, + // ContainerType = Domain.Shared.Enums.ContainerTypeEnum.XUNI, + // ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.ZUPANG, + //}; + //var result = await _wmsContainerRepository.InsertAsync(container); var materialStock = new WmsMaterialStockCreateDto { @@ -132,6 +141,9 @@ EmptyContainer = Domain.Shared.Enums.YesNoEnum.N, }; await _wmsMaterialStockAppService.CreateAsync(materialStock); + + await uow.SaveChangesAsync(); + await uow.CompleteAsync(); } @@ -144,6 +156,10 @@ public async Task BindInStockAsync(BindInstockInput input) { if (string.IsNullOrEmpty(input.PlaceNo)) { throw new UserFriendlyException("璇烽�夋嫨搴撲綅缂栧彿"); } + + using var scope = _serviceProvider.CreateScope(); + var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); + using var uow = unitOfWorkManager.Begin(requiresNew: true); input.ContainerNo = DateTime.Now.ToString("yyMMddHHmmss") + new Random(Guid.NewGuid().GetHashCode()).Next(100, 9999).ToString(); await BindMaterialContaienrAsync(input); @@ -179,6 +195,9 @@ } } await _wmsTaskRepository.InsertManyAsync(taskList); + + await uow.SaveChangesAsync(); + await uow.CompleteAsync(); } } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs index 63d57b9..5c8a5e6 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs @@ -1,4 +1,5 @@ 锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks; using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces; using CMS.Plugin.HIAWms.Application.Contracts.Services; using CMS.Plugin.HIAWms.Domain.WmsMaterials; @@ -108,7 +109,7 @@ /// <param name="requiredNum"></param> /// <param name="materialNo"></param> /// <returns></returns> - public async Task<Dictionary<string, int>> FindStockAsync(string materialModel, int requiredNum, string materialNo = "") + public async Task<Dictionary<WmsMaterialStockDto, int>> FindStockAsync(string materialModel, int requiredNum, string materialNo = "") { // 1. 鑾峰彇鎵�鏈夊簱瀛橈紙鎺掗櫎閿佸畾搴撳瓨锛� var stockList = (await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock())) @@ -116,11 +117,13 @@ .ToList(); // 2. 绛涢�夊尮閰嶇墿鏂� - var availableStocks = stockList + var availableStocklist = stockList .Where(x => x.MaterialModel == materialModel) .WhereIf(!string.IsNullOrEmpty(materialNo), x => x.MaterialNo == materialNo) .OrderBy(x => x.StockNumber) // 浼樺厛浠庡簱瀛樺皯鐨勫簱浣嶅嚭 .ToList(); + + var availableStocks = ObjectMapper.Map<List<WmsMaterialStock>, List<WmsMaterialStockDto>>(availableStocklist); // 3. 妫�鏌ユ�诲簱瀛樻槸鍚﹁冻澶� int totalAvailable = availableStocks.Sum(x => x.StockNumber); @@ -131,7 +134,7 @@ } // 4. 璁$畻鍚勫簱浣嶅嚭搴撴暟閲� - var allocation = new Dictionary<string, int>(); // <搴撲綅鍙�, 鍑哄簱鏁�> + var allocation = new Dictionary<WmsMaterialStockDto, int>(); // <搴撲綅鍙�, 鍑哄簱鏁�> int remaining = requiredNum; foreach (var stock in availableStocks) @@ -139,7 +142,7 @@ if (remaining <= 0) break; int deductAmount = Math.Min(stock.StockNumber, remaining); - allocation.Add(stock.PlaceNo, deductAmount); + allocation.Add(stock, deductAmount); remaining -= deductAmount; } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs index 87b4765..491abba 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs @@ -90,10 +90,10 @@ throw new UserFriendlyException("鐗╂枡淇℃伅涓嶅瓨鍦�"); } var container = await _wmscontainerRepository.FindByNameAsync(input.ContainerNo); - if (container == null) - { - throw new UserFriendlyException("鎵樼洏淇℃伅涓嶅瓨鍦�"); - } + //if (container == null) + //{ + // throw new UserFriendlyException("鎵樼洏淇℃伅涓嶅瓨鍦�"); + //} var wmsmaterialstock = ObjectMapper.Map<WmsMaterialStockCreateDto, WmsMaterialStock>(input); input.MapExtraPropertiesTo(wmsmaterialstock, MappingPropertyDefinitionChecks.None); @@ -101,7 +101,7 @@ wmsmaterialstock.MaterialName = material.MaterialName; wmsmaterialstock.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI; - wmsmaterialstock.ContainerType = container.ContainerType; + wmsmaterialstock.ContainerType = container == null ? Domain.Shared.Enums.ContainerTypeEnum.XUNI : container.ContainerType; wmsmaterialstock.StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.XUNIKUWEI; wmsmaterialstock.PlaceStatus = Domain.Shared.Enums.PlaceStatusEnum.DAIRU; if (!string.IsNullOrEmpty(input.PlaceNo)) @@ -158,10 +158,22 @@ await _wmsmaterialstockRepository.InsertManyAsync(stockList); + if (container == null) + { + container = new WmsContainer + { + ContainerNo = input.ContainerNo, + ContainerType = Domain.Shared.Enums.ContainerTypeEnum.XUNI, + ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI, + }; + var result = await _wmscontainerRepository.InsertAsync(container); + } + else + { + container.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI; - container.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI; - - await _wmscontainerRepository.UpdateAsync(container); + await _wmscontainerRepository.UpdateAsync(container); + } //if (input.Sort.HasValue && wmsmaterialstock.Sort != maxSort) //{ diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs new file mode 100644 index 0000000..1c95d67 --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs @@ -0,0 +1,104 @@ +锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto; +using CMS.Plugin.HIAWms.Application.Contracts.Services; +using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder; +using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks; +using CMS.Plugin.HIAWms.Domain.WmsTask; +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.Uow; + +namespace CMS.Plugin.HIAWms.Application.Implements +{ + /// <summary> + /// 鍑哄簱鏈嶅姟 + /// </summary> + public class WmsOutStockAppService : CMSPluginAppService, IWmsOutStockAppService + { + private readonly IWmsMaterialStockRepository _wmsMaterialStockRepository; + private readonly IWmsCommonAppService _wmsCommonAppService; + private readonly IWmsTaskRepository _wmsTaskRepository; + private readonly IWmsInOutStockOrderRepository _wmsInOutStockOrderRepository; + private readonly IServiceProvider _serviceProvider; + public WmsOutStockAppService(IWmsMaterialStockRepository wmsMaterialStockRepository, + IWmsCommonAppService wmsCommonAppService, IWmsTaskRepository wmsTaskRepository, + IWmsInOutStockOrderRepository wmsInOutStockOrderRepository, IServiceProvider serviceProvider + ) + { + _wmsMaterialStockRepository = wmsMaterialStockRepository; + _wmsCommonAppService = wmsCommonAppService; + _wmsTaskRepository = wmsTaskRepository; + _wmsInOutStockOrderRepository = wmsInOutStockOrderRepository; + _serviceProvider = serviceProvider; + } + + public async Task CallMaterial(CallMaterialInput input) + { + using var scope = _serviceProvider.CreateScope(); + var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); + using var uow = unitOfWorkManager.Begin(requiresNew: true); + + var order = await _wmsInOutStockOrderRepository.FindByNameAsync(input.OrderNo); + if(order == null) + { + throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�"); + } + if(input.MaterialNumber <=0) + { + throw new UserFriendlyException("鍙枡鏁伴噺蹇呴』澶т簬0"); + } + if(order.MaterialNumber< input.MaterialNumber) + { + throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺"); + } + order.OrderStatus = OrderStatusEnum.Executing; + order.DistributeNumber = input.MaterialNumber; + + await _wmsInOutStockOrderRepository.UpdateAsync(order); + + var stockresult = await _wmsCommonAppService.FindStockAsync(input.MaterialModel, input.MaterialNumber); + if(stockresult == null) + { + throw new UserFriendlyException("褰撳墠鏃犲簱瀛�"); + } + var taskList = new List<WmsTask>(); + foreach (var kvp in stockresult) + { + var stock = kvp.Key; // WmsPlace瀵硅薄 + var quantity = kvp.Value; // 鍒嗛厤鏁伴噺 + + for (int i = 0; i < quantity; i++) + { + var task = new WmsTask + { + TaskNo = $"CK_{DateTime.Now:yyyyMMddHHmmss}_{Guid.NewGuid().ToString("N").Substring(0, 6)}", + ContainerNo = stock.ContainerNo, + SourcePlace = stock.PlaceNo, + ToPlace = "201",// place.PlaceNo, + TaskType = TaskTypeEnum.CHUKU, + SonTaskType = input.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU, + TaskStatus = WmsTaskStatus.WEIZHIXING, + TaskLevel = 999, + Aisle = 1, + DodeviceId = 0, + TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart, + IsNextTask = (int)YesNoEnum.Y, + IsRead = true, + SourceOrderNo = input.OrderNo, + MutableParam1 = input.MaterialModel, + }; + taskList.Add(task); + } + } + await _wmsTaskRepository.InsertManyAsync(taskList); + + await uow.SaveChangesAsync(); + await uow.CompleteAsync(); + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs index 2366783..245278e 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs @@ -12,6 +12,14 @@ using Volo.Abp.ObjectMapping; using CMS.Plugin.HIAWms.Domain.WmsContainers; using CMS.Plugin.HIAWms.Domain.WmsPlaces; +using CMS.Plugin.HIAWms.Domain.Shared.Enums; +using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks; +using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder; +using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockOrderDetail; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; +using Volo.Abp.Uow; +using Microsoft.Extensions.DependencyInjection; namespace CMS.Plugin.HIAWms.Application.Implements; @@ -23,16 +31,40 @@ private readonly IWmsTaskRepository wmsTaskRepository; private readonly IWmsContainerRepository _wmsContainerRepository; private readonly IWmsPlaceRepository _wmsPlaceRepository; + private readonly IWmsMaterialStockRepository _wmsMaterialStockRepository; + private readonly IWmsInOutStockOrderRepository _wmsInOutStockOrderRepository; + private readonly IWmsInOutStockOrderDetailRepository _wmsInOutStockOrderDetailRepository; + private readonly IWmsContainerRepository _wmsContainerRepository1; + private readonly IWmsInOutStockOrderDetailAppService _wmsInOutStockOrderDetailAppService; + private readonly IWmsInOutStockRecordAppService _wmsInOutStockRecordAppService; + private readonly IServiceProvider _serviceProvider; /// <summary> /// Initializes a new instance of the <see cref="WmsTaskAppService"/> class. /// </summary> /// <param name="WmsTaskRepository">The task job repository.</param> - public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository, IWmsContainerRepository wmsContainerRepository, IWmsPlaceRepository wmsPlaceRepository) + public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository, + IWmsContainerRepository wmsContainerRepository, + IWmsPlaceRepository wmsPlaceRepository, + IWmsMaterialStockRepository wmsMaterialStockRepository, + IWmsInOutStockOrderRepository wmsInOutStockOrderRepository, + IWmsInOutStockOrderDetailRepository wmsInOutStockOrderDetailRepository +, + IWmsContainerRepository wmsContainerRepository1, + IWmsInOutStockOrderDetailAppService wmsInOutStockOrderDetailAppService, + IWmsInOutStockRecordAppService wmsInOutStockRecordAppService, + IServiceProvider serviceProvider = null) { wmsTaskRepository = _WmsTaskRepository; _wmsContainerRepository = wmsContainerRepository; _wmsPlaceRepository = wmsPlaceRepository; + _wmsMaterialStockRepository = wmsMaterialStockRepository; + _wmsInOutStockOrderRepository = wmsInOutStockOrderRepository; + _wmsInOutStockOrderDetailRepository = wmsInOutStockOrderDetailRepository; + _wmsContainerRepository1 = wmsContainerRepository1; + _wmsInOutStockOrderDetailAppService = wmsInOutStockOrderDetailAppService; + _wmsInOutStockRecordAppService = wmsInOutStockRecordAppService; + _serviceProvider = serviceProvider; } /// <summary> @@ -484,4 +516,161 @@ return Task.CompletedTask; } + + /// <summary> + /// 浠诲姟寮哄埗瀹屾垚 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + /// <exception cref="UserFriendlyException"></exception> + public async Task FinishTaskAsync(WmsTaskUpdateDto input) + { + + using var scope = _serviceProvider.CreateScope(); + var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); + using var uow = unitOfWorkManager.Begin(requiresNew: true); + + var task = await wmsTaskRepository.FindByNameAsync(input.TaskNo); + if (task == null) + { + throw new UserFriendlyException("浠诲姟涓嶅瓨鍦�"); + } + if (task.TaskStatus == WmsTaskStatus.WANCHENG || task.TaskStatus == WmsTaskStatus.QUXIAO) + { + throw new UserFriendlyException("鍙栨秷鎴栬�呭畬鎴愮殑浠诲姟涓嶅厑璁告搷浣�"); + } + task.TaskStatus = WmsTaskStatus.WANCHENG; + + // 鏇存柊搴撳瓨 + var stockList = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { MaterialModel = task.MutableParam1,PlaceNo = task.SourcePlace}); + if(stockList == null || stockList.Count<=0) + { + throw new UserFriendlyException("鍘熷簱浣嶄俊鎭笉瀛樺湪"); + } + var stock = stockList.FirstOrDefault(); + stock.PlaceNo = task.ToPlace; + stock.ContainerNo = "TP" + task.ToPlace; + + var container = await _wmsContainerRepository.FindByNameAsync(stock.ContainerNo); + if(container == null) + { + await _wmsContainerRepository.InsertAsync(new WmsContainer + { + ContainerNo = stock.ContainerNo, + ContainerStatus = ContainerStatusEnum.KUWEI, + ContainerType = ContainerTypeEnum.XUNI, + }); + } + + var oldContainer = await _wmsContainerRepository.FindByNameAsync(task.ContainerNo); + if(oldContainer != null) + { + await _wmsContainerRepository.DeleteAsync(oldContainer); + } + + if (!string.IsNullOrEmpty(task.SourceOrderNo)) + { + // 璺熸柊鍗曟嵁瀹屾垚鏁伴噺 + var orderNo = await _wmsInOutStockOrderRepository.FindByNameAsync(task.SourceOrderNo); + if(orderNo != null) + { + orderNo.CompleteNumber += 1; + orderNo.OrderStatus = OrderStatusEnum.Executing; + } + if (orderNo.MaterialNumber <= orderNo.CompleteNumber) + { + orderNo.OrderStatus = OrderStatusEnum.Finish; + } + + await _wmsInOutStockOrderRepository.UpdateAsync(orderNo); + // 璁板綍涓�鏉¤鎯� + var detail = new WmsInOutStockOrderDetailCreateDto + { + OrderNo = orderNo.OrderNo, + OrderType = orderNo.OrderType, + MaterialId = stock.MaterialId, + MaterialBatch = stock.MaterialBatch, + MaterialModel = stock.MaterialModel, + MaterialName = stock.MaterialName, + MaterialNo = stock.MaterialNo, + }; + await _wmsInOutStockOrderDetailAppService.CreateAsync(detail); + } + + // 鍑哄叆搴撹褰� + var record = new WmsInOutStockRecordCreateDto + { + TaskNo = task.TaskNo, + OrderNo = task.SourceOrderNo, + StockType = task.TaskType == TaskTypeEnum.CHUKU ? StockTypeEnum.OutBound : StockTypeEnum.InBound, + ContainerNo = task.ContainerNo, + MaterialId = stock.MaterialId, + MaterialModel= stock.MaterialModel, + MaterialName = stock.MaterialName, + MaterialNo = stock.MaterialNo, + MaterialBatch = stock.MaterialBatch, + SourcePlace = task.SourcePlace, + ToPlace = task.ToPlace, + OperateTime = DateTime.Now, + }; + await _wmsInOutStockRecordAppService.CreateAsync(record); + + await uow.SaveChangesAsync(); + await uow.CompleteAsync(); + } + + /// <summary> + /// 鍙栨秷浠诲姟 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + /// <exception cref="UserFriendlyException"></exception> + public async Task CancelTaskAysnc(WmsTaskUpdateDto input) + { + + using var scope = _serviceProvider.CreateScope(); + var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); + using var uow = unitOfWorkManager.Begin(requiresNew: true); + + var task = await wmsTaskRepository.FindByNameAsync(input.TaskNo); + if (task == null) + { + throw new UserFriendlyException("浠诲姟涓嶅瓨鍦�"); + } + if (task.TaskStatus == WmsTaskStatus.WANCHENG || task.TaskStatus == WmsTaskStatus.QUXIAO) + { + throw new UserFriendlyException("鍙栨秷鎴栬�呭畬鎴愮殑浠诲姟涓嶅厑璁告搷浣�"); + } + task.TaskStatus = WmsTaskStatus.QUXIAO; + + // 鏇存柊搴撳瓨 + var stockList = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { MaterialModel = task.MutableParam1, PlaceNo = task.SourcePlace }); + if (stockList == null || stockList.Count <= 0) + { + throw new UserFriendlyException("鍘熷簱浣嶄俊鎭笉瀛樺湪"); + } + var stock = stockList.FirstOrDefault(); + await _wmsMaterialStockRepository.DeleteAsync(stock); + + if (!string.IsNullOrEmpty(task.SourceOrderNo)) + { + // 璺熸柊鍗曟嵁瀹屾垚鏁伴噺 + var orderNo = await _wmsInOutStockOrderRepository.FindByNameAsync(task.SourceOrderNo); + if(orderNo != null) + { + orderNo.CompleteNumber -= 1; + orderNo.OrderStatus = OrderStatusEnum.NoStart; + } + if (orderNo.CompleteNumber>0) + { + orderNo.OrderStatus = OrderStatusEnum.Executing; + } + + await _wmsInOutStockOrderRepository.UpdateAsync(orderNo); + + } + + await uow.SaveChangesAsync(); + await uow.CompleteAsync(); + } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs index 5b0dbda..7cfc332 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs @@ -53,7 +53,7 @@ /// <summary> /// 鐗╂枡鎵规 /// </summary> - public int? MaterialBatch { get; set; } + public string? MaterialBatch { get; set; } /// <summary> /// 澶囨敞 diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs index ac5a066..1bae898 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs @@ -44,6 +44,11 @@ public string? MaterialModel { get; set; } /// <summary> + /// 鐗╂枡鎵规 + /// </summary> + public string? MaterialBatch { get; set; } + + /// <summary> /// 鎿嶄綔鏃堕棿 /// </summary> public DateTime? OperateTime { get; set; } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs index 7ae3c6a..181ada8 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs @@ -17,6 +17,14 @@ Task<WmsMaterialStock> FindByNameAsync(string name, CancellationToken cancellationToken = default); /// <summary> + /// 鏍规嵁鍨嬪彿鏌ユ壘搴撳瓨 + /// </summary> + /// <param name="materiaModel"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + Task<WmsMaterialStock> FindByModelAsync(string materiaModel, CancellationToken cancellationToken = default); + + /// <summary> /// Names the exist asynchronous. /// </summary> /// <param name="name">The name.</param> diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs index fa74eba..c8d28bf 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs @@ -82,6 +82,7 @@ .HasComment("鏈哄瀷"); b.Property(x => x.MaterialBatch) + .HasMaxLength (50) .HasComment("鐗╂枡鎵规"); b.Property(x => x.Remark) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs index ebcb94d..769d0f8 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs @@ -73,6 +73,10 @@ .IsRequired(false) .HasComment("鏈哄瀷"); + b.Property(x => x.MaterialBatch) + .HasMaxLength(64) + .HasComment("鐗╂枡鎵规"); + b.Property(x => x.OperateTime) .IsRequired(false) .HasComment("鎿嶄綔鏃堕棿"); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs index 38fa6c2..219d23d 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs @@ -98,7 +98,7 @@ { return await (await GetDbSetAsync()) .WhereIf(!string.IsNullOrEmpty(material.MaterialName), u => u.MaterialName.Contains(material.MaterialName)) - .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialName.Contains(material.MaterialNo)) + .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialNo.Contains(material.MaterialNo)) .WhereIf(material.MaterialType > 0, u => u.MaterialType == material.MaterialType) .WhereIf(material.PurchaseType > 0, u => u.PurchaseType == material.PurchaseType) .Where(x => !x.IsDeleted) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs index f7ad367..2aaf459 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs @@ -32,6 +32,21 @@ .FirstOrDefaultAsync(t => t.MaterialNo == materialNo, GetCancellationToken(cancellationToken)); } + /// <summary> + /// 查找型号 + /// </summary> + /// <param name="materiaModel"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public virtual async Task<WmsMaterialStock> FindByModelAsync(string materiaModel, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails() + .Where(u => !u.IsDeleted) + .OrderBy(t => t.Sort) + .FirstOrDefaultAsync(t => t.MaterialModel == materiaModel, GetCancellationToken(cancellationToken)); + } + /// <inheritdoc /> public async Task<bool> NameExistAsync(string materialNo, Guid? id = null) { diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.Designer.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.Designer.cs new file mode 100644 index 0000000..6b888bd --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.Designer.cs @@ -0,0 +1,1781 @@ +锘�// <auto-generated /> +using System; +using CMS.Plugin.HIAWms.MySQL; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; + +#nullable disable + +namespace CMS.Plugin.HIAWms.MySQL.Migrations +{ + [DbContext(typeof(CMSPluginDbContext))] + [Migration("20250511062110_InitialCreate12")] + partial class InitialCreate12 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) + .HasAnnotation("ProductVersion", "6.0.16") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsAreas.WmsArea", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("AreaDesc") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鎻忚堪"); + + b.Property<string>("AreaName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("搴撳尯鍚嶇О"); + + b.Property<string>("AreaNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("搴撳尯缂栧彿"); + + b.Property<int>("AreaStatus") + .HasColumnType("int") + .HasComment("搴撳尯鐘舵��"); + + b.Property<int>("AreaType") + .HasColumnType("int") + .HasComment("搴撳尯绫诲瀷"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("RedundantField1") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("StoreCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠撳簱浠g爜"); + + b.Property<string>("StoreName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("浠撳簱鍚嶇О"); + + b.HasKey("Id"); + + b.HasIndex("AreaName"); + + b.ToTable("scms_wmsareas", (string)null); + + b.HasComment("搴撳尯琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b => + { + b.Property<string>("PlaceNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("搴撲綅缂栫爜"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp") + .HasComment("骞跺彂鎴�"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime") + .HasComment("鍒涘缓鏃堕棿"); + + b.Property<Guid?>("CreatorId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("CreatorId") + .HasComment("鍒涘缓浜篒D"); + + b.Property<string>("CreatorName") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鍒涘缓浜�"); + + b.Property<string>("DeleteRemark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍒犻櫎澶囨敞"); + + b.Property<Guid?>("DeleterId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("DeleterId") + .HasComment("鍒犻櫎浜篒D"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime") + .HasComment("鍒犻櫎鏃堕棿"); + + b.Property<string>("ExtraField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁1"); + + b.Property<string>("ExtraField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁2"); + + b.Property<string>("ExtraField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁3"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties") + .HasComment("鎵╁睍灞炴��"); + + b.Property<Guid>("Id") + .HasColumnType("char(36)"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted") + .HasComment("鏄惁鍒犻櫎"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime") + .HasComment("淇敼鏃堕棿"); + + b.Property<Guid?>("LastModifierId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("LastModifierId") + .HasComment("淇敼浜篒D"); + + b.Property<string>("LastModifierName") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("淇敼浜�"); + + b.Property<string>("OperationRemark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎿嶄綔澶囨敞"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.HasKey("PlaceNo", "ContainerNo"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("PlaceNo"); + + b.ToTable("scms_wmscontainerplaces", (string)null); + + b.HasComment("瀹瑰櫒搴撲綅鍏崇郴琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainers.WmsContainer", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<int>("ContainerStatus") + .HasColumnType("int") + .HasComment("鎵樼洏鐘舵��"); + + b.Property<int>("ContainerType") + .HasColumnType("int") + .HasComment("鎵樼洏绫诲瀷"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int?>("ExceptionNumber") + .HasColumnType("int") + .HasComment("寮傚父鏁伴噺"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<decimal?>("LimitHeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愰珮"); + + b.Property<decimal?>("LimitLength") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愰暱"); + + b.Property<decimal?>("LimitWidth") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愬"); + + b.Property<int?>("MaterialNumber") + .HasColumnType("int") + .HasComment("鐗╂枡鏁伴噺"); + + b.Property<decimal?>("MaxWeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("杞介噸涓婇檺"); + + b.Property<string>("RedundantField1") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<decimal?>("SpecHeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("楂樺害"); + + b.Property<decimal?>("SpecLength") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闀垮害"); + + b.Property<decimal?>("SpecWidth") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("瀹藉害"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo") + .IsUnique(); + + b.HasIndex("ContainerStatus"); + + b.HasIndex("ContainerType"); + + b.ToTable("scms_wmscontainers", (string)null); + + b.HasComment("鎵樼洏淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder.WmsInOutStockOrder", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int>("CompleteNumber") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("瀹屾垚鏁伴噺"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("DistributeNumber") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("涓嬪彂鏁伴噺"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵规鍙�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍨嬪彿"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<int>("MaterialNumber") + .HasColumnType("int") + .HasComment("鍗曟嵁鏁伴噺"); + + b.Property<DateTime?>("OperateTime") + .HasColumnType("datetime(6)") + .HasComment("鎿嶄綔鏃堕棿"); + + b.Property<string>("OrderNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<int>("OrderStatus") + .HasColumnType("int") + .HasComment("鍗曟嵁鐘舵��"); + + b.Property<int>("OrderType") + .HasColumnType("int") + .HasComment("鍗曟嵁绫诲瀷"); + + b.Property<string>("PlanNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍏宠仈璁″垝缂栧彿"); + + b.Property<int>("Priority") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(1) + .HasComment("浼樺厛绾�"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int>("StockType") + .HasColumnType("int") + .HasComment("鎿嶄綔绫诲瀷锛堟灇涓惧�硷級"); + + b.HasKey("Id"); + + b.HasIndex("MaterialBatch"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OperateTime"); + + b.HasIndex("OrderNo") + .IsUnique(); + + b.HasIndex("PlanNo"); + + b.ToTable("scms_wmsinoutstockorder", (string)null); + + b.HasComment("鍑哄叆搴撳崟鎹〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail.WmsInOutStockOrderDetail", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<int?>("MaterialBatch") + .HasColumnType("int") + .HasComment("鐗╂枡鎵规"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鍞竴鐮�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<string>("OrderNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<int>("OrderType") + .HasColumnType("int") + .HasComment("鍗曟嵁绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OrderNo"); + + b.HasIndex("OrderNo", "OrderType"); + + b.ToTable("scms_wmsinoutstockorderdetail", (string)null); + + b.HasComment("鍑哄叆搴撳崟鎹槑缁嗚〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord.WmsInOutStockRecord", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<DateTime?>("OperateTime") + .HasColumnType("datetime(6)") + .HasComment("鎿嶄綔鏃堕棿"); + + b.Property<string>("OrderNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("SourcePlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("璧峰搴撲綅"); + + b.Property<int>("StockType") + .HasColumnType("int") + .HasComment("鎿嶄綔绫诲瀷"); + + b.Property<string>("TaskNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠诲姟鍙�"); + + b.Property<string>("ToPlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐩爣搴撲綅"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OperateTime"); + + b.HasIndex("OrderNo"); + + b.HasIndex("StockType"); + + b.HasIndex("TaskNo"); + + b.ToTable("scms_wmsinoutstockrecords", (string)null); + + b.HasComment("鍑哄叆搴撹褰曡〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialContainer.WmsMaterialContainer", b => + { + b.Property<string>("MaterialId") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<Guid>("Id") + .HasColumnType("char(36)"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.HasKey("MaterialId", "ContainerNo"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.ToTable("scms_wmsmaterialcontainer", (string)null); + + b.HasComment("鐗╂枡瀹瑰櫒鍏崇郴琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialInfos.WmsMaterialInfo", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int?>("CheckStatus") + .HasColumnType("int") + .HasComment("妫�楠岀姸鎬�(0:鏈楠�,1:妫�楠岄�氳繃,2:妫�楠屼笉閫氳繃)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡鎵瑰彿"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鍞竴鐮�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷/瑙勬牸"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠e彿"); + + b.Property<string>("RedundantField1") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁1"); + + b.Property<string>("RedundantField2") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁2"); + + b.Property<string>("RedundantField3") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁3"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int?>("StockNumber") + .HasColumnType("int") + .HasComment("搴撳瓨鏁伴噺"); + + b.Property<string>("SupplierCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("渚涘簲鍟嗙紪鍙�"); + + b.HasKey("Id"); + + b.HasIndex("CheckStatus"); + + b.HasIndex("MaterialBatch"); + + b.HasIndex("MaterialId") + .IsUnique(); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo") + .IsUnique(); + + b.HasIndex("SupplierCode"); + + b.ToTable("scms_wmsmaterialinfos", (string)null); + + b.HasComment("WMS鐗╂枡淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterials.WmsMaterial", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("Certification") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("璇佷功缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<string>("Factory") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐢熶骇宸ュ巶"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("IsMainBranch") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鏄惁涓轰富鏀"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<decimal>("Length") + .HasColumnType("decimal(18,2)") + .HasComment("闀垮害锛堝崟浣嶏細m锛�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鍨嬪彿"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�"); + + b.Property<string>("MaterialQuality") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鏉愯川锛堝锛�304涓嶉攬閽級"); + + b.Property<int>("MaterialType") + .HasColumnType("int") + .HasComment("鐗╂枡绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<decimal>("OuterDiameter") + .HasColumnType("decimal(18,2)") + .HasComment("澶栧緞锛堝崟浣嶏細mm锛�"); + + b.Property<string>("PrimaryUnit") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�"); + + b.Property<int>("PurchaseType") + .HasColumnType("int") + .HasComment("閲囪喘绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<string>("RedundantField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<string>("Standard") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�"); + + b.Property<decimal>("WallThickness") + .HasColumnType("decimal(18,2)") + .HasComment("澹佸帤锛堝崟浣嶏細mm锛�"); + + b.HasKey("Id"); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo") + .IsUnique(); + + b.HasIndex("MaterialType"); + + b.HasIndex("PurchaseType"); + + b.ToTable("scms_wmsmaterials", (string)null); + + b.HasComment("鐗╂枡鍩虹淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialStocks.WmsMaterialStock", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("AreaCode") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鍖哄煙缂栧彿"); + + b.Property<string>("AreaName") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("搴撳尯鍚嶇О"); + + b.Property<int?>("CheckStatus") + .HasColumnType("int") + .HasComment("妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<int>("ContainerStatus") + .HasColumnType("int") + .HasComment("瀹瑰櫒鐘舵��"); + + b.Property<int>("ContainerType") + .HasColumnType("int") + .HasComment("瀹瑰櫒绫诲瀷"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("EmptyContainer") + .HasColumnType("int") + .HasComment("鏄惁绌烘墭(2:鍚�,1:鏄�)"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<DateTime?>("InStockTime") + .HasColumnType("datetime(6)") + .HasComment("鍏ュ簱鏃堕棿"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("IsLock") + .HasColumnType("int") + .HasComment("鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鎵规"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("MaterialModel") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鏈哄瀷/瑙勬牸"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡缂栧彿"); + + b.Property<string>("PlaceNo") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("搴撲綅缂栧彿"); + + b.Property<int>("PlaceStatus") + .HasColumnType("int") + .HasComment("搴撲綅鐘舵��;"); + + b.Property<string>("RedundantField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int>("StockNumber") + .HasColumnType("int") + .HasComment("搴撳瓨鏁伴噺"); + + b.Property<int>("StorageTypeNo") + .HasColumnType("int") + .HasComment("搴撲綅绫诲瀷"); + + b.Property<string>("SupplierCode") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("渚涘簲鍟嗙紪鍙�"); + + b.HasKey("Id"); + + b.HasIndex("AreaCode"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("PlaceNo"); + + b.HasIndex("MaterialBatch", "SupplierCode"); + + b.ToTable("scms_wmsmaterialstocks", (string)null); + + b.HasComment("WMS鐗╂枡搴撳瓨琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsPlaces.WmsPlace", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int>("Aisle") + .HasColumnType("int") + .HasComment("宸烽亾"); + + b.Property<string>("AreaCode") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵�鍦ㄥ簱鍖�"); + + b.Property<int>("ColumnNo") + .HasColumnType("int") + .HasComment("鍒�"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("EmptyContainer") + .HasColumnType("int") + .HasComment("鏄惁绌烘墭"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("Islock") + .HasColumnType("int") + .HasComment("鏄惁閿佸畾"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<int>("LayerNo") + .HasColumnType("int") + .HasComment("灞�"); + + b.Property<int>("MaxStockNumber") + .HasColumnType("int") + .HasComment("鏈�澶у簱瀛橀噺"); + + b.Property<string>("PlaceNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("缂栧彿"); + + b.Property<int>("PlaceStatus") + .HasColumnType("int") + .HasComment("璐т綅鐘舵��"); + + b.Property<string>("RedundantField1") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("RowNo") + .HasColumnType("int") + .HasComment("鎺�"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<int>("StorageTypeNo") + .HasColumnType("int") + .HasComment("璐т綅绫诲瀷"); + + b.HasKey("Id"); + + b.HasIndex("AreaCode"); + + b.HasIndex("PlaceNo") + .IsUnique(); + + b.HasIndex("PlaceStatus"); + + b.HasIndex("StorageTypeNo"); + + b.ToTable("scms_wmsplaces", (string)null); + + b.HasComment("搴撲綅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsStores.WmsStore", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("RedundantField1") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("StoreCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠撳簱浠g爜"); + + b.Property<string>("StoreName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("浠撳簱鍚嶇О"); + + b.HasKey("Id"); + + b.HasIndex("StoreName"); + + b.ToTable("scms_wmsstores", (string)null); + + b.HasComment("浠撳簱淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsTask.WmsTask", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int?>("Aisle") + .HasColumnType("int") + .HasComment("宸烽亾"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int?>("DodeviceId") + .HasColumnType("int") + .HasComment("鍫嗗灈鏈篒D"); + + b.Property<int>("Dodevicetype") + .HasColumnType("int") + .HasComment("璁惧绫诲瀷"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int?>("IsNextTask") + .HasColumnType("int") + .HasComment("涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛"); + + b.Property<bool>("IsRead") + .HasColumnType("tinyint(1)") + .HasComment("WCS鏄惁鍙互璇诲彇"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MutableParam1") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺1"); + + b.Property<string>("MutableParam2") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺2"); + + b.Property<string>("MutableParam3") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺3"); + + b.Property<int?>("SonTaskType") + .HasColumnType("int") + .HasComment("瀛愪换鍔$被鍨�"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("SourceOrderNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏉ユ簮鍗曟嵁鍙�"); + + b.Property<string>("SourcePlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("璧峰搴撲綅"); + + b.Property<int>("TaskDodeviceStatus") + .HasColumnType("int") + .HasComment("璁惧浠诲姟鐘舵��"); + + b.Property<int>("TaskLevel") + .HasColumnType("int") + .HasComment("浠诲姟绛夌骇"); + + b.Property<string>("TaskNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠诲姟鍙�"); + + b.Property<int>("TaskStatus") + .HasColumnType("int") + .HasComment("浠诲姟鐘舵��"); + + b.Property<int>("TaskType") + .HasColumnType("int") + .HasComment("浠诲姟绫诲瀷"); + + b.Property<string>("ToPlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐩爣搴撲綅"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("DodeviceId"); + + b.HasIndex("IsRead"); + + b.HasIndex("Sort"); + + b.HasIndex("SourceOrderNo"); + + b.HasIndex("SourcePlace"); + + b.HasIndex("TaskNo") + .IsUnique(); + + b.HasIndex("TaskStatus"); + + b.HasIndex("TaskType"); + + b.HasIndex("ToPlace"); + + b.ToTable("scms_wmstasks", (string)null); + + b.HasComment("浠诲姟琛�"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.cs new file mode 100644 index 0000000..b4bd58f --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.cs @@ -0,0 +1,19 @@ +锘縰sing Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace CMS.Plugin.HIAWms.MySQL.Migrations +{ + public partial class InitialCreate12 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.Designer.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.Designer.cs new file mode 100644 index 0000000..3fede84 --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.Designer.cs @@ -0,0 +1,1787 @@ +锘�// <auto-generated /> +using System; +using CMS.Plugin.HIAWms.MySQL; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; + +#nullable disable + +namespace CMS.Plugin.HIAWms.MySQL.Migrations +{ + [DbContext(typeof(CMSPluginDbContext))] + [Migration("20250511113739_InitialCreate13")] + partial class InitialCreate13 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) + .HasAnnotation("ProductVersion", "6.0.16") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsAreas.WmsArea", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("AreaDesc") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鎻忚堪"); + + b.Property<string>("AreaName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("搴撳尯鍚嶇О"); + + b.Property<string>("AreaNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("搴撳尯缂栧彿"); + + b.Property<int>("AreaStatus") + .HasColumnType("int") + .HasComment("搴撳尯鐘舵��"); + + b.Property<int>("AreaType") + .HasColumnType("int") + .HasComment("搴撳尯绫诲瀷"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("RedundantField1") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("StoreCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠撳簱浠g爜"); + + b.Property<string>("StoreName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("浠撳簱鍚嶇О"); + + b.HasKey("Id"); + + b.HasIndex("AreaName"); + + b.ToTable("scms_wmsareas", (string)null); + + b.HasComment("搴撳尯琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b => + { + b.Property<string>("PlaceNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("搴撲綅缂栫爜"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp") + .HasComment("骞跺彂鎴�"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime") + .HasComment("鍒涘缓鏃堕棿"); + + b.Property<Guid?>("CreatorId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("CreatorId") + .HasComment("鍒涘缓浜篒D"); + + b.Property<string>("CreatorName") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鍒涘缓浜�"); + + b.Property<string>("DeleteRemark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍒犻櫎澶囨敞"); + + b.Property<Guid?>("DeleterId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("DeleterId") + .HasComment("鍒犻櫎浜篒D"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime") + .HasComment("鍒犻櫎鏃堕棿"); + + b.Property<string>("ExtraField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁1"); + + b.Property<string>("ExtraField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁2"); + + b.Property<string>("ExtraField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁3"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties") + .HasComment("鎵╁睍灞炴��"); + + b.Property<Guid>("Id") + .HasColumnType("char(36)"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted") + .HasComment("鏄惁鍒犻櫎"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime") + .HasComment("淇敼鏃堕棿"); + + b.Property<Guid?>("LastModifierId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("LastModifierId") + .HasComment("淇敼浜篒D"); + + b.Property<string>("LastModifierName") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("淇敼浜�"); + + b.Property<string>("OperationRemark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎿嶄綔澶囨敞"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.HasKey("PlaceNo", "ContainerNo"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("PlaceNo"); + + b.ToTable("scms_wmscontainerplaces", (string)null); + + b.HasComment("瀹瑰櫒搴撲綅鍏崇郴琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainers.WmsContainer", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<int>("ContainerStatus") + .HasColumnType("int") + .HasComment("鎵樼洏鐘舵��"); + + b.Property<int>("ContainerType") + .HasColumnType("int") + .HasComment("鎵樼洏绫诲瀷"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int?>("ExceptionNumber") + .HasColumnType("int") + .HasComment("寮傚父鏁伴噺"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<decimal?>("LimitHeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愰珮"); + + b.Property<decimal?>("LimitLength") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愰暱"); + + b.Property<decimal?>("LimitWidth") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愬"); + + b.Property<int?>("MaterialNumber") + .HasColumnType("int") + .HasComment("鐗╂枡鏁伴噺"); + + b.Property<decimal?>("MaxWeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("杞介噸涓婇檺"); + + b.Property<string>("RedundantField1") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<decimal?>("SpecHeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("楂樺害"); + + b.Property<decimal?>("SpecLength") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闀垮害"); + + b.Property<decimal?>("SpecWidth") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("瀹藉害"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo") + .IsUnique(); + + b.HasIndex("ContainerStatus"); + + b.HasIndex("ContainerType"); + + b.ToTable("scms_wmscontainers", (string)null); + + b.HasComment("鎵樼洏淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder.WmsInOutStockOrder", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int>("CompleteNumber") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("瀹屾垚鏁伴噺"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("DistributeNumber") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("涓嬪彂鏁伴噺"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵规鍙�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍨嬪彿"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<int>("MaterialNumber") + .HasColumnType("int") + .HasComment("鍗曟嵁鏁伴噺"); + + b.Property<DateTime?>("OperateTime") + .HasColumnType("datetime(6)") + .HasComment("鎿嶄綔鏃堕棿"); + + b.Property<string>("OrderNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<int>("OrderStatus") + .HasColumnType("int") + .HasComment("鍗曟嵁鐘舵��"); + + b.Property<int>("OrderType") + .HasColumnType("int") + .HasComment("鍗曟嵁绫诲瀷"); + + b.Property<string>("PlanNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍏宠仈璁″垝缂栧彿"); + + b.Property<int>("Priority") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(1) + .HasComment("浼樺厛绾�"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int>("StockType") + .HasColumnType("int") + .HasComment("鎿嶄綔绫诲瀷锛堟灇涓惧�硷級"); + + b.HasKey("Id"); + + b.HasIndex("MaterialBatch"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OperateTime"); + + b.HasIndex("OrderNo") + .IsUnique(); + + b.HasIndex("PlanNo"); + + b.ToTable("scms_wmsinoutstockorder", (string)null); + + b.HasComment("鍑哄叆搴撳崟鎹〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail.WmsInOutStockOrderDetail", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡鎵规"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鍞竴鐮�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<string>("OrderNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<int>("OrderType") + .HasColumnType("int") + .HasComment("鍗曟嵁绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OrderNo"); + + b.HasIndex("OrderNo", "OrderType"); + + b.ToTable("scms_wmsinoutstockorderdetail", (string)null); + + b.HasComment("鍑哄叆搴撳崟鎹槑缁嗚〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord.WmsInOutStockRecord", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鎵规"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<DateTime?>("OperateTime") + .HasColumnType("datetime(6)") + .HasComment("鎿嶄綔鏃堕棿"); + + b.Property<string>("OrderNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("SourcePlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("璧峰搴撲綅"); + + b.Property<int>("StockType") + .HasColumnType("int") + .HasComment("鎿嶄綔绫诲瀷"); + + b.Property<string>("TaskNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠诲姟鍙�"); + + b.Property<string>("ToPlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐩爣搴撲綅"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OperateTime"); + + b.HasIndex("OrderNo"); + + b.HasIndex("StockType"); + + b.HasIndex("TaskNo"); + + b.ToTable("scms_wmsinoutstockrecords", (string)null); + + b.HasComment("鍑哄叆搴撹褰曡〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialContainer.WmsMaterialContainer", b => + { + b.Property<string>("MaterialId") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<Guid>("Id") + .HasColumnType("char(36)"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.HasKey("MaterialId", "ContainerNo"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.ToTable("scms_wmsmaterialcontainer", (string)null); + + b.HasComment("鐗╂枡瀹瑰櫒鍏崇郴琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialInfos.WmsMaterialInfo", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int?>("CheckStatus") + .HasColumnType("int") + .HasComment("妫�楠岀姸鎬�(0:鏈楠�,1:妫�楠岄�氳繃,2:妫�楠屼笉閫氳繃)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡鎵瑰彿"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鍞竴鐮�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷/瑙勬牸"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠e彿"); + + b.Property<string>("RedundantField1") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁1"); + + b.Property<string>("RedundantField2") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁2"); + + b.Property<string>("RedundantField3") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁3"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int?>("StockNumber") + .HasColumnType("int") + .HasComment("搴撳瓨鏁伴噺"); + + b.Property<string>("SupplierCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("渚涘簲鍟嗙紪鍙�"); + + b.HasKey("Id"); + + b.HasIndex("CheckStatus"); + + b.HasIndex("MaterialBatch"); + + b.HasIndex("MaterialId") + .IsUnique(); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo") + .IsUnique(); + + b.HasIndex("SupplierCode"); + + b.ToTable("scms_wmsmaterialinfos", (string)null); + + b.HasComment("WMS鐗╂枡淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterials.WmsMaterial", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("Certification") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("璇佷功缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<string>("Factory") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐢熶骇宸ュ巶"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("IsMainBranch") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鏄惁涓轰富鏀"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<decimal>("Length") + .HasColumnType("decimal(18,2)") + .HasComment("闀垮害锛堝崟浣嶏細m锛�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鍨嬪彿"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�"); + + b.Property<string>("MaterialQuality") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鏉愯川锛堝锛�304涓嶉攬閽級"); + + b.Property<int>("MaterialType") + .HasColumnType("int") + .HasComment("鐗╂枡绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<decimal>("OuterDiameter") + .HasColumnType("decimal(18,2)") + .HasComment("澶栧緞锛堝崟浣嶏細mm锛�"); + + b.Property<string>("PrimaryUnit") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�"); + + b.Property<int>("PurchaseType") + .HasColumnType("int") + .HasComment("閲囪喘绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<string>("RedundantField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<string>("Standard") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�"); + + b.Property<decimal>("WallThickness") + .HasColumnType("decimal(18,2)") + .HasComment("澹佸帤锛堝崟浣嶏細mm锛�"); + + b.HasKey("Id"); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo") + .IsUnique(); + + b.HasIndex("MaterialType"); + + b.HasIndex("PurchaseType"); + + b.ToTable("scms_wmsmaterials", (string)null); + + b.HasComment("鐗╂枡鍩虹淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialStocks.WmsMaterialStock", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("AreaCode") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鍖哄煙缂栧彿"); + + b.Property<string>("AreaName") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("搴撳尯鍚嶇О"); + + b.Property<int?>("CheckStatus") + .HasColumnType("int") + .HasComment("妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<int>("ContainerStatus") + .HasColumnType("int") + .HasComment("瀹瑰櫒鐘舵��"); + + b.Property<int>("ContainerType") + .HasColumnType("int") + .HasComment("瀹瑰櫒绫诲瀷"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("EmptyContainer") + .HasColumnType("int") + .HasComment("鏄惁绌烘墭(2:鍚�,1:鏄�)"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<DateTime?>("InStockTime") + .HasColumnType("datetime(6)") + .HasComment("鍏ュ簱鏃堕棿"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("IsLock") + .HasColumnType("int") + .HasComment("鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鎵规"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("MaterialModel") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鏈哄瀷/瑙勬牸"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡缂栧彿"); + + b.Property<string>("PlaceNo") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("搴撲綅缂栧彿"); + + b.Property<int>("PlaceStatus") + .HasColumnType("int") + .HasComment("搴撲綅鐘舵��;"); + + b.Property<string>("RedundantField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int>("StockNumber") + .HasColumnType("int") + .HasComment("搴撳瓨鏁伴噺"); + + b.Property<int>("StorageTypeNo") + .HasColumnType("int") + .HasComment("搴撲綅绫诲瀷"); + + b.Property<string>("SupplierCode") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("渚涘簲鍟嗙紪鍙�"); + + b.HasKey("Id"); + + b.HasIndex("AreaCode"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("PlaceNo"); + + b.HasIndex("MaterialBatch", "SupplierCode"); + + b.ToTable("scms_wmsmaterialstocks", (string)null); + + b.HasComment("WMS鐗╂枡搴撳瓨琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsPlaces.WmsPlace", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int>("Aisle") + .HasColumnType("int") + .HasComment("宸烽亾"); + + b.Property<string>("AreaCode") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵�鍦ㄥ簱鍖�"); + + b.Property<int>("ColumnNo") + .HasColumnType("int") + .HasComment("鍒�"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("EmptyContainer") + .HasColumnType("int") + .HasComment("鏄惁绌烘墭"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("Islock") + .HasColumnType("int") + .HasComment("鏄惁閿佸畾"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<int>("LayerNo") + .HasColumnType("int") + .HasComment("灞�"); + + b.Property<int>("MaxStockNumber") + .HasColumnType("int") + .HasComment("鏈�澶у簱瀛橀噺"); + + b.Property<string>("PlaceNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("缂栧彿"); + + b.Property<int>("PlaceStatus") + .HasColumnType("int") + .HasComment("璐т綅鐘舵��"); + + b.Property<string>("RedundantField1") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("RowNo") + .HasColumnType("int") + .HasComment("鎺�"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<int>("StorageTypeNo") + .HasColumnType("int") + .HasComment("璐т綅绫诲瀷"); + + b.HasKey("Id"); + + b.HasIndex("AreaCode"); + + b.HasIndex("PlaceNo") + .IsUnique(); + + b.HasIndex("PlaceStatus"); + + b.HasIndex("StorageTypeNo"); + + b.ToTable("scms_wmsplaces", (string)null); + + b.HasComment("搴撲綅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsStores.WmsStore", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("RedundantField1") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("StoreCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠撳簱浠g爜"); + + b.Property<string>("StoreName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("浠撳簱鍚嶇О"); + + b.HasKey("Id"); + + b.HasIndex("StoreName"); + + b.ToTable("scms_wmsstores", (string)null); + + b.HasComment("浠撳簱淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsTask.WmsTask", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int?>("Aisle") + .HasColumnType("int") + .HasComment("宸烽亾"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int?>("DodeviceId") + .HasColumnType("int") + .HasComment("鍫嗗灈鏈篒D"); + + b.Property<int>("Dodevicetype") + .HasColumnType("int") + .HasComment("璁惧绫诲瀷"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int?>("IsNextTask") + .HasColumnType("int") + .HasComment("涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛"); + + b.Property<bool>("IsRead") + .HasColumnType("tinyint(1)") + .HasComment("WCS鏄惁鍙互璇诲彇"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MutableParam1") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺1"); + + b.Property<string>("MutableParam2") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺2"); + + b.Property<string>("MutableParam3") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺3"); + + b.Property<int?>("SonTaskType") + .HasColumnType("int") + .HasComment("瀛愪换鍔$被鍨�"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("SourceOrderNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏉ユ簮鍗曟嵁鍙�"); + + b.Property<string>("SourcePlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("璧峰搴撲綅"); + + b.Property<int>("TaskDodeviceStatus") + .HasColumnType("int") + .HasComment("璁惧浠诲姟鐘舵��"); + + b.Property<int>("TaskLevel") + .HasColumnType("int") + .HasComment("浠诲姟绛夌骇"); + + b.Property<string>("TaskNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠诲姟鍙�"); + + b.Property<int>("TaskStatus") + .HasColumnType("int") + .HasComment("浠诲姟鐘舵��"); + + b.Property<int>("TaskType") + .HasColumnType("int") + .HasComment("浠诲姟绫诲瀷"); + + b.Property<string>("ToPlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐩爣搴撲綅"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("DodeviceId"); + + b.HasIndex("IsRead"); + + b.HasIndex("Sort"); + + b.HasIndex("SourceOrderNo"); + + b.HasIndex("SourcePlace"); + + b.HasIndex("TaskNo") + .IsUnique(); + + b.HasIndex("TaskStatus"); + + b.HasIndex("TaskType"); + + b.HasIndex("ToPlace"); + + b.ToTable("scms_wmstasks", (string)null); + + b.HasComment("浠诲姟琛�"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.cs new file mode 100644 index 0000000..d34fed0 --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.cs @@ -0,0 +1,54 @@ +锘縰sing Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace CMS.Plugin.HIAWms.MySQL.Migrations +{ + public partial class InitialCreate13 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn<string>( + name: "MaterialBatch", + table: "scms_wmsinoutstockrecords", + type: "varchar(64)", + maxLength: 64, + nullable: true, + comment: "鐗╂枡鎵规") + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.AlterColumn<string>( + name: "MaterialBatch", + table: "scms_wmsinoutstockorderdetail", + type: "varchar(50)", + maxLength: 50, + nullable: true, + comment: "鐗╂枡鎵规", + oldClrType: typeof(int), + oldType: "int", + oldNullable: true, + oldComment: "鐗╂枡鎵规") + .Annotation("MySql:CharSet", "utf8mb4"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "MaterialBatch", + table: "scms_wmsinoutstockrecords"); + + migrationBuilder.AlterColumn<int>( + name: "MaterialBatch", + table: "scms_wmsinoutstockorderdetail", + type: "int", + nullable: true, + comment: "鐗╂枡鎵规", + oldClrType: typeof(string), + oldType: "varchar(50)", + oldMaxLength: 50, + oldNullable: true, + oldComment: "鐗╂枡鎵规") + .OldAnnotation("MySql:CharSet", "utf8mb4"); + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs index 52830b8..f501771 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs @@ -139,7 +139,7 @@ b.HasComment("搴撳尯琛�"); }); - modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlaces.WmsContainerPlace", b => + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b => { b.Property<string>("PlaceNo") .HasMaxLength(50) @@ -623,8 +623,9 @@ .HasColumnType("char(36)") .HasColumnName("LastModifierId"); - b.Property<int?>("MaterialBatch") - .HasColumnType("int") + b.Property<string>("MaterialBatch") + .HasMaxLength(50) + .HasColumnType("varchar(50)") .HasComment("鐗╂枡鎵规"); b.Property<string>("MaterialId") @@ -741,6 +742,11 @@ b.Property<Guid?>("LastModifierId") .HasColumnType("char(36)") .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鎵规"); b.Property<string>("MaterialId") .IsRequired() @@ -1106,12 +1112,6 @@ .HasColumnType("decimal(18,2)") .HasComment("闀垮害锛堝崟浣嶏細m锛�"); - b.Property<string>("MaterialNo") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("varchar(64)") - .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�"); - b.Property<string>("MaterialModel") .HasMaxLength(128) .HasColumnType("varchar(128)") @@ -1122,6 +1122,12 @@ .HasMaxLength(128) .HasColumnType("varchar(128)") .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�"); b.Property<string>("MaterialQuality") .HasMaxLength(64) @@ -1182,10 +1188,10 @@ b.HasKey("Id"); + b.HasIndex("MaterialName"); + b.HasIndex("MaterialNo") .IsUnique(); - - b.HasIndex("MaterialName"); b.HasIndex("MaterialType"); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat index 3bc21e6..575273d 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat @@ -1,5 +1,5 @@ cd ../ -dotnet ef migrations add InitialCreate11 -c CMSPluginDbContext -o Migrations +dotnet ef migrations add InitialCreate13 -c CMSPluginDbContext -o Migrations ::dotnet ef migrations add Update1 -c CMSPluginDbContext -o Migrations ::dotnet ef migrations add Update2 -c CMSPluginDbContext -o Migrations ::dotnet ef migrations add Update3 -c CMSPluginDbContext -o Migrations diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs new file mode 100644 index 0000000..1622011 --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs @@ -0,0 +1,55 @@ +锘縰sing CMS.Extensions.Abp.AspNetCore.Mvc.Filters; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.BindInstockDto; +using CMS.Plugin.HIAWms.Application.Contracts.Services; +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CMS.Plugin.HIAWms.Controller +{ + /// <summary> + /// 鍏ュ簱鏈嶅姟 + /// </summary> + [ApiController] + [TypeFilter(typeof(CMSLanguageFilter))] + [TypeFilter(typeof(CMSUowActionFilter))] + [TypeFilter(typeof(CMSAuditActionFilter))] + [TypeFilter(typeof(CMSExceptionFilter))] + [Route("api/v{version:apiVersion}/HIAWms/[controller]")] + public class WmsInsStockController + { + private readonly IWmsBindInStockAppService _wmsBindInStockAppService; + + public WmsInsStockController(IWmsBindInStockAppService wmsBindInStockAppService) + { + _wmsBindInStockAppService = wmsBindInStockAppService; + } + + /// <summary> + /// 缁勭洏 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [Route("BindContainer")] + public async Task BindMaterialContaienrAsync(BindInstockInput input) + { + await _wmsBindInStockAppService.BindMaterialContaienrAsync(input); + } + + /// <summary> + /// 缁勭洏鍏ュ簱 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [Route("BindInstock")] + public async Task BindInStockAsync(BindInstockInput input) + { + await _wmsBindInStockAppService.BindInStockAsync(input); + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs index 8b805a4..e67e658 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs @@ -183,6 +183,30 @@ await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets); memoryStream.Seek(0L, SeekOrigin.Begin); return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" }; - } + } + + /// <summary> + /// 寮哄埗瀹屾垚浠诲姟 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [Route("FinishTask")] + public async Task FinishTaskAsync(WmsTaskUpdateDto input) + { + await _wmsTaskAppService.FinishTaskAsync(input); + } + + /// <summary> + /// 鍙栨秷浠诲姟 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [Route("CancelTask")] + public async Task CancelTaskAsync(WmsTaskUpdateDto input) + { + await _wmsTaskAppService.CancelTaskAysnc(input); + } } } -- Gitblit v1.9.3