wangxinhui
2024-12-22 0a4224dbd27287ee2c79f832149e5222914d7ad4
更新代码
已添加13个文件
已修改34个文件
已删除4个文件
已重命名1个文件
1208 ■■■■ 文件已修改
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/865277cf-60e5-4f38-8da0-b4a4cb7af367.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f7067496-52ad-4a4a-bf3f-ed83b0bf130d.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/customerInfo.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/userInfo.js 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/router/viewGird.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/basic/customerInfo.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/basic/supplierInfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/basic/userInfo.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/check/checkOrder.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/check/checkOrderResult.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrderDetail_Hty.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder_Hty.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrderDetail.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrderDetail.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrderDetail_Hty.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder_Hty.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail_Hty.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo_Hty.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/242b356b-f3ea-4921-9f54-18dbf58b0a98.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/44ca8512-2c9c-4084-8306-4da22284d9a3.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/659246e0-feaf-49b5-8c49-7456594f6dd5.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/72845575-fd42-4ccb-9a0b-52ec01d5a35a.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b54b1d7f-8484-400a-be3b-be358bd12331.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bfff5ce4-43fc-42d6-bbfb-5b2b395f1cc1.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d00682bf-4fae-4c92-b69f-33edfead3a59.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/APIEnum/APIEnum.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/AGVService/InvokeAGVService.cs 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/IAGVService/IInvokeAGVService.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/AgvSecureApplyModel.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/AgvSecureReplyModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/AgvUpdateModel.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGV/AgvController.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/wwwroot/WIDESEA_DB.DBSeed.Json/Sys_Menu.tsv 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/865277cf-60e5-4f38-8da0-b4a4cb7af367.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f7067496-52ad-4a4a-bf3f-ed83b0bf130d.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/extension/basic/customerInfo.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
/*****************************************************************************************
**  Author:jxx 2022
**  QQ:283591387
**完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
**常用示例见:http://v2.volcore.xyz/document/vueDev
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
     //下面这些方法可以保留也可以删除
    onInit() {  //框架初始化配置前,
        //示例:在按钮的最前面添加一个按钮
        //   this.buttons.unshift({  //也可以用push或者splice方法来修改buttons数组
        //     name: '按钮', //按钮名称
        //     icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
        //     type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
        //     onClick: function () {
        //       this.$Message.success('点击了按钮');
        //     }
        //   });
        //示例:设置修改新建、编辑弹出框字段标签的长度
        // this.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/extension/basic/userInfo.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
/*****************************************************************************************
**  Author:jxx 2022
**  QQ:283591387
**完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
**常用示例见:http://v2.volcore.xyz/document/vueDev
**后台操作见:http://v2.volcore.xyz/document/netCoreDev
*****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
     //下面这些方法可以保留也可以删除
    onInit() {  //框架初始化配置前,
        //示例:在按钮的最前面添加一个按钮
        //   this.buttons.unshift({  //也可以用push或者splice方法来修改buttons数组
        //     name: '按钮', //按钮名称
        //     icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
        //     type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
        //     onClick: function () {
        //       this.$Message.success('点击了按钮');
        //     }
        //   });
        //示例:设置修改新建、编辑弹出框字段标签的长度
        // this.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/router/viewGird.js
@@ -106,8 +106,8 @@
    name: 'stockView',
    component: () => import('@/views/stock/stockView.vue')
  },{
    path: '/StockQuantityChangeRecord',
    name: 'StockQuantityChangeRecord',
    path: '/stockQuantityChangeRecord',
    name: 'stockQuantityChangeRecord',
    component: () => import('@/views/record/stockQuantityChangeRecord.vue')
  },{
    path: '/locationStatusChangeRecord',
@@ -177,6 +177,16 @@
    name: 'stockInfoDetail_Hty',
    component: () => import('@/views/stock/stockInfoDetail_Hty.vue')
  }
  ,{
    path: '/customerInfo',
    name: 'customerInfo',
    component: () => import('@/views/basic/customerInfo.vue')
  }
  ,{
    path: '/userInfo',
    name: 'userInfo',
    component: () => import('@/views/basic/userInfo.vue')
  }
]
export default viewgird
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/basic/customerInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wcs/order/Dt_CustomerInfo.js此处编写
 -->
<template>
    <view-grid ref="grid"
               :columns="columns"
               :detail="detail"
               :editFormFields="editFormFields"
               :editFormOptions="editFormOptions"
               :searchFormFields="searchFormFields"
               :searchFormOptions="searchFormOptions"
               :table="table"
               :extend="extend">
    </view-grid>
</template>
<script>
    import extend from "@/extension/basic/customerInfo.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'id',
                footer: "Foots",
                cnName: '客户信息',
                name: 'customerInfo',
                url: "/CustomerInfo/",
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'code',title:'客户编码',type:'string',width:110,align:'left',sort:true},
                       {field:'name',title:'客户名称',type:'string',width:110,align:'left'},
                       {field:'nickName',title:'客户全称',type:'string',width:120,align:'left'},
                       {field:'state',title:'状态',type:'bool',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/basic/supplierInfo.vue
@@ -22,7 +22,7 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '供应商信息',
                name: 'supplierInfo',
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/basic/userInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wcs/order/Dt_UserInfo.js此处编写
 -->
<template>
    <view-grid ref="grid"
               :columns="columns"
               :detail="detail"
               :editFormFields="editFormFields"
               :editFormOptions="editFormOptions"
               :searchFormFields="searchFormFields"
               :searchFormOptions="searchFormOptions"
               :table="table"
               :extend="extend">
    </view-grid>
</template>
<script>
    import extend from "@/extension/basic/userInfo.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'id',
                footer: "Foots",
                cnName: '员工信息',
                name: 'userInfo',
                url: "/UserInfo/",
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'code',title:'员工号',type:'string',width:110,align:'left',sort:true},
                       {field:'deptNo',title:'部门编码',type:'string',width:110,align:'left'},
                       {field:'deptName',title:'部门名称',type:'string',width:110,align:'left'},
                       {field:'name',title:'员工名称',type:'string',width:110,align:'left'},
                       {field:'state',title:'状态',type:'int',width:110,require:true,align:'left'},
                       {field:'invOrgId',title:'库存组织',type:'string',width:110,align:'left'},
                       {field:'type',title:'类型',type:'int',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/check/checkOrder.vue
@@ -22,36 +22,36 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'CheckOrderId',
                key: 'checkOrderId',
                footer: "Foots",
                cnName: '检验单',
                name: 'checkOrder',
                url: "/CheckOrder/",
                sortName: "CheckOrderId"
                sortName: "checkOrderId"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'CheckOrderId',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'CheckOrderNo',title:'检验单号',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'ReceiveOrderNo',title:'收货单号',type:'string',width:110,require:true,align:'left'},
                       {field:'CheckOrderStatus',title:'质检单状态',type:'int',width:110,require:true,align:'left'},
                       {field:'AuditStatus',title:'审批状态',type:'int',width:110,require:true,align:'left'},
                       {field:'ReceiveDetailRowNo',title:'收货单明细行号',type:'int',width:110,require:true,align:'left'},
                       {field:'MaterielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'QualifiedQuantity',title:'合格数量',type:'float',width:110,align:'left'},
                       {field:'DefectedQuantity',title:'特采数量',type:'float',width:110,align:'left'},
                       {field:'ReturnQuantity',title:'退货数量',type:'float',width:110,align:'left'},
                       {field:'ScrappedQuantity',title:'报废数量',type:'float',width:110,align:'left'},
                       {field:'ReceivedQuantity',title:'检验总数',type:'float',width:110,require:true,align:'left'},
                       {field:'Result',title:'检验结果',type:'string',width:110,align:'left'},
                       {field:'DefectedNote',title:'特采说明',type:'string',width:110,align:'left'},
                       {field:'CheckUserName',title:'检验人',type:'string',width:110,align:'left'},
                       {field:'Creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'checkOrderId',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'checkOrderNo',title:'检验单号',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'receiveOrderNo',title:'收货单号',type:'string',width:110,require:true,align:'left'},
                       {field:'checkOrderStatus',title:'质检单状态',type:'int',width:110,require:true,align:'left'},
                       {field:'auditStatus',title:'审批状态',type:'int',width:110,require:true,align:'left'},
                       {field:'receiveDetailRowNo',title:'收货单明细行号',type:'int',width:110,require:true,align:'left'},
                       {field:'materielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'qualifiedQuantity',title:'合格数量',type:'float',width:110,align:'left'},
                       {field:'defectedQuantity',title:'特采数量',type:'float',width:110,align:'left'},
                       {field:'returnQuantity',title:'退货数量',type:'float',width:110,align:'left'},
                       {field:'scrappedQuantity',title:'报废数量',type:'float',width:110,align:'left'},
                       {field:'receivedQuantity',title:'检验总数',type:'float',width:110,require:true,align:'left'},
                       {field:'result',title:'检验结果',type:'string',width:110,align:'left'},
                       {field:'defectedNote',title:'特采说明',type:'string',width:110,align:'left'},
                       {field:'checkUserName',title:'检验人',type:'string',width:110,align:'left'},
                       {field:'creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/check/checkOrderResult.vue
@@ -22,27 +22,27 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '检验结果',
                name: 'checkOrderResult',
                url: "/CheckOrderResult/",
                sortName: "Id"
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'Id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'CheckOrderId',title:'检验单主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'DefectCode',title:'缺陷代码',type:'string',width:110,require:true,align:'left'},
                       {field:'Result',title:'检验结果',type:'string',width:110,require:true,align:'left'},
                       {field:'Quantity',title:'数量',type:'float',width:110,require:true,align:'left'},
                       {field:'Note',title:'备注',type:'string',width:220,align:'left'},
                       {field:'Creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'checkOrderId',title:'检验单主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'defectCode',title:'缺陷代码',type:'string',width:110,require:true,align:'left'},
                       {field:'result',title:'检验结果',type:'string',width:110,require:true,align:'left'},
                       {field:'quantity',title:'数量',type:'float',width:110,require:true,align:'left'},
                       {field:'note',title:'备注',type:'string',width:220,align:'left'},
                       {field:'creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue
@@ -24,7 +24,7 @@
      cnName: "入库单",
      name: "inboundOrder",
      url: "/InboundOrder/",
      sortName: "CreateDate",
      sortName: "id",
    });
    const editFormFields = ref({
      orderType: "",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrderDetail_Hty.vue
@@ -22,33 +22,33 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '历史入库单明细历史',
                name: 'inboundOrderDetail_Hty',
                url: "/inboundOrderDetail_Hty/",
                sortName: "Id"
                url: "/InboundOrderDetail_Hty/",
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'Id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'OrderId',title:'入库单主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'MaterielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'MaterielName',title:'物料名称',type:'string',width:180,require:true,align:'left'},
                       {field:'BatchNo',title:'批次号',type:'string',width:110,require:true,align:'left'},
                       {field:'OrderQuantity',title:'单据数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'ReceiptQuantity',title:'组盘数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'OverInQuantity',title:'上架数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'OrderDetailStatus',title:'订单明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'Remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'SourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'OperateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'Creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'orderId',title:'入库单主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'materielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'materielName',title:'物料名称',type:'string',width:180,require:true,align:'left'},
                       {field:'batchNo',title:'批次号',type:'string',width:110,require:true,align:'left'},
                       {field:'orderQuantity',title:'单据数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'receiptQuantity',title:'组盘数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'overInQuantity',title:'上架数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'orderDetailStatus',title:'订单明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'sourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'operateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder_Hty.vue
@@ -22,30 +22,30 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '历史入库单',
                name: 'inboundOrder_Hty',
                url: "/InboundOrder_Hty/",
                sortName: "Id"
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'Id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'OrderNo',title:'单据编号',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'UpperOrderNo',title:'上游单据编号',type:'string',width:110,align:'left'},
                       {field:'OrderType',title:'单据类型',type:'int',width:110,require:true,align:'left'},
                       {field:'OrderStatus',title:'单据状态',type:'int',width:110,require:true,align:'left'},
                       {field:'CreateType',title:'创建方式',type:'int',width:110,require:true,align:'left'},
                       {field:'Remark',title:'备注',type:'string',width:180,align:'left'},
                       {field:'SourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'OperateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'Creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'orderNo',title:'单据编号',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'upperOrderNo',title:'上游单据编号',type:'string',width:110,align:'left'},
                       {field:'orderType',title:'单据类型',type:'int',width:110,require:true,align:'left'},
                       {field:'orderStatus',title:'单据状态',type:'int',width:110,require:true,align:'left'},
                       {field:'createType',title:'创建方式',type:'int',width:110,require:true,align:'left'},
                       {field:'remark',title:'备注',type:'string',width:180,align:'left'},
                       {field:'sourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'operateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrder.vue
@@ -24,7 +24,7 @@
      cnName: "入库单",
      name: "purchaseOrder",
      url: "/PurchaseOrder/",
      sortName: "CreateDate",
      sortName: "id",
    });
    const editFormFields = ref({
      // orderType: "",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrderDetail.vue
@@ -22,29 +22,29 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '采购单明细',
                name: 'purchaseOrderDetail',
                url: "/PurchaseOrderDetail/",
                sortName: "Id"
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'Id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'PurchaseOrderId',title:'头表主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'RowNo',title:'行号',type:'int',width:110,require:true,align:'left'},
                       {field:'MaterielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'PurchaseDetailStatus',title:'采购单明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'WarehouseId',title:'WarehouseId',type:'int',width:110,require:true,align:'left'},
                       {field:'PurchaseDetailQuantity',title:'PurchaseDetailQuantity',type:'float',width:110,require:true,align:'left'},
                       {field:'Unit',title:'Unit',type:'string',width:110,require:true,align:'left'},
                       {field:'Creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'purchaseOrderId',title:'头表主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'rowNo',title:'行号',type:'int',width:110,require:true,align:'left'},
                       {field:'materielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'purchaseDetailStatus',title:'采购单明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'warehouseId',title:'WarehouseId',type:'int',width:110,require:true,align:'left'},
                       {field:'purchaseDetailQuantity',title:'PurchaseDetailQuantity',type:'float',width:110,require:true,align:'left'},
                       {field:'unit',title:'Unit',type:'string',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'codifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrder.vue
@@ -24,7 +24,7 @@
      cnName: "收货单",
      name: "receiveOrder",
      url: "/ReceiveOrder/",
      sortName: "CreateDate",
      sortName: "receiveOrderId",
    });
    const searchFormFields = ref({
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrderDetail.vue
@@ -22,12 +22,12 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '收货单明细',
                name: 'order/Dt_ReceiveOrderDetail',
                url: "/Dt_ReceiveOrderDetail/",
                sortName: "Id"
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue
@@ -24,7 +24,7 @@
      cnName: "出库单",
      name: "outboundOrder",
      url: "/OutboundOrder/",
      sortName: "CreateDate",
      sortName: "id",
    });
    const editFormFields = ref({
      orderType: "",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrderDetail_Hty.vue
@@ -22,33 +22,33 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '历史出库单明细',
                name: 'outboundOrderDetail_Hty',
                url: "/OutboundOrderDetail_Hty/",
                sortName: "Id"
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'Id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'OrderId',title:'出库单主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'MaterielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'MaterielName',title:'物料名称',type:'string',width:180,align:'left'},
                       {field:'BatchNo',title:'批次号',type:'string',width:110,require:true,align:'left'},
                       {field:'OrderQuantity',title:'单据数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'LockQuantity',title:'锁定数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'OverOutQuantity',title:'已出数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'OrderDetailStatus',title:'订单明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'Remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'SourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'OperateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'Creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'orderId',title:'出库单主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'materielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'materielName',title:'物料名称',type:'string',width:180,align:'left'},
                       {field:'batchNo',title:'批次号',type:'string',width:110,require:true,align:'left'},
                       {field:'orderQuantity',title:'单据数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'lockQuantity',title:'锁定数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'overOutQuantity',title:'已出数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'orderDetailStatus',title:'订单明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'sourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'operateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder_Hty.vue
@@ -22,30 +22,30 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '历史出库单',
                name: 'outboundOrder_Hty',
                url: "/OutboundOrder_Hty/",
                sortName: "Id"
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'Id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'OrderNo',title:'单据编号',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'UpperOrderNo',title:'上游单据编号',type:'string',width:110,align:'left'},
                       {field:'OrderType',title:'单据类型',type:'int',width:110,require:true,align:'left'},
                       {field:'OrderStatus',title:'单据状态',type:'int',width:110,require:true,align:'left'},
                       {field:'CreateType',title:'创建方式',type:'int',width:110,require:true,align:'left'},
                       {field:'Remark',title:'备注',type:'string',width:180,align:'left'},
                       {field:'SourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'OperateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'Creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'orderNo',title:'单据编号',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'upperOrderNo',title:'上游单据编号',type:'string',width:110,align:'left'},
                       {field:'orderType',title:'单据类型',type:'int',width:110,require:true,align:'left'},
                       {field:'orderStatus',title:'单据状态',type:'int',width:110,require:true,align:'left'},
                       {field:'createType',title:'创建方式',type:'int',width:110,require:true,align:'left'},
                       {field:'remark',title:'备注',type:'string',width:180,align:'left'},
                       {field:'sourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'operateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue
@@ -24,7 +24,7 @@
        cnName: "货位状态变动记录",
        name: "locationStatusChangeRecord",
        url: "/LocationStatusChangeRecord/",
        sortName: "CreateDate",
        sortName: "id",
      });
      const editFormFields = ref({
        deviceCode: "",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue
@@ -24,7 +24,7 @@
        cnName: "库存变动信息记录",
        name: "stockQuantityChangeRecord",
        url: "/StockQuantityChangeRecord/",
        sortName: "CreateDate",
        sortName: "id",
      });
      const editFormFields = ref({
        
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue
@@ -24,7 +24,7 @@
        cnName: "库存信息",
        name: "stockInfo",
        url: "/StockInfo/",
        sortName: "CreateDate",
        sortName: "id",
      });
      const editFormFields = ref({
        deviceCode: "",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail_Hty.vue
@@ -22,34 +22,34 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '历史库存信息明细',
                name: 'order/Dt_StockInfoDetail_Hty',
                url: "/Dt_StockInfoDetail_Hty/",
                sortName: "Id"
                name: 'stockInfoDetail_Hty',
                url: "/StockInfoDetail_Hty/",
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'Id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'StockId',title:'库存信息主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'MaterielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'MaterielName',title:'物料名称',type:'string',width:180,require:true,align:'left'},
                       {field:'OrderNo',title:'单据编号',type:'string',width:110,require:true,align:'left'},
                       {field:'BatchNo',title:'批次号',type:'string',width:110,require:true,align:'left'},
                       {field:'SerialNumber',title:'序列号',type:'string',width:120,require:true,align:'left'},
                       {field:'StockQuantity',title:'库存数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'OutboundQuantity',title:'出库数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'Status',title:'库存明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'Remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'SourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'OperateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'Creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'stockId',title:'库存信息主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'materielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'materielName',title:'物料名称',type:'string',width:180,require:true,align:'left'},
                       {field:'orderNo',title:'单据编号',type:'string',width:110,require:true,align:'left'},
                       {field:'batchNo',title:'批次号',type:'string',width:110,require:true,align:'left'},
                       {field:'serialNumber',title:'序列号',type:'string',width:120,require:true,align:'left'},
                       {field:'stockQuantity',title:'库存数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'outboundQuantity',title:'出库数量',type:'decimal',width:110,require:true,align:'left'},
                       {field:'status',title:'库存明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'sourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'operateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo_Hty.vue
@@ -22,29 +22,29 @@
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                key: 'id',
                footer: "Foots",
                cnName: '历史库存信息',
                name: '历史库存信息/Dt_StockInfo_Hty',
                url: "/Dt_StockInfo_Hty/",
                sortName: "Id"
                name: 'stockInfo_Hty',
                url: "/StockInfo_Hty/",
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'Id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'PalletCode',title:'托盘编号',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'LocationCode',title:'货位编号',type:'string',width:110,align:'left'},
                       {field:'IsFull',title:'是否满盘',type:'bool',width:110,require:true,align:'left'},
                       {field:'StockStatus',title:'库存状态',type:'int',width:110,require:true,align:'left'},
                       {field:'Remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'SourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'OperateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'Creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'CreateDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'Modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'ModifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'palletCode',title:'托盘编号',type:'string',width:110,require:true,align:'left',sort:true},
                       {field:'locationCode',title:'货位编号',type:'string',width:110,align:'left'},
                       {field:'isFull',title:'是否满盘',type:'bool',width:110,require:true,align:'left'},
                       {field:'stockStatus',title:'库存状态',type:'int',width:110,require:true,align:'left'},
                       {field:'remark',title:'备注',type:'string',width:220,align:'left'},
                       {field:'sourceId',title:'源主键',type:'int',width:110,require:true,align:'left'},
                       {field:'operateType',title:'备注',type:'string',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建人',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue
@@ -24,7 +24,7 @@
      cnName: "库存视图",
      name: "stockView",
      url: "/stockView/",
      sortName: "CreateDate",
      sortName: "stockId",
    });
    const editFormFields = ref({
      palletCode: "",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue
@@ -22,9 +22,9 @@
      key: "taskId",
      footer: "Foots",
      cnName: "任务历史信息",
      name: "task",
      name: "task_hty",
      url: "/Task_Hty/",
      sortName: "CreateDate",
      sortName: "taskId",
    });
    const editFormFields = ref({});
    const editFormOptions = ref([]);
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/242b356b-f3ea-4921-9f54-18dbf58b0a98.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/44ca8512-2c9c-4084-8306-4da22284d9a3.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/659246e0-feaf-49b5-8c49-7456594f6dd5.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/72845575-fd42-4ccb-9a0b-52ec01d5a35a.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b54b1d7f-8484-400a-be3b-be358bd12331.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/bfff5ce4-43fc-42d6-bbfb-5b2b395f1cc1.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d00682bf-4fae-4c92-b69f-33edfead3a59.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_Common/APIEnum/APIEnum.cs
@@ -12,6 +12,6 @@
        [Description("AGV发送任务接口")]
        AgvSendTask,
        [Description("AGV安全信号回复")]
        AGVSecureReply
        AgvSecureReply
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs
@@ -8,7 +8,16 @@
namespace WIDESEA_Common.StockEnum
{
    /// <summary>
    /// åº“存状态: 1,组盘暂存  2,组盘撤销  3,入库确认 4,入库撤销   5,已入库  6,已出库
    /// åº“存状态: <br/>
    /// 1,组盘暂存<br/>
    /// 2,组盘撤销<br/>
    /// 3,入库确认<br/>
    /// 4,入库撤销<br/>
    /// 5,已入库<br/>
    /// 6,入库完成<br/>
    /// 7,出库锁定<br/>
    /// 8,出库完成<br/>
    /// 9,移库锁定<br/>
    /// </summary>
    public enum StockStatusEmun
    {
@@ -38,5 +47,7 @@
        [Description("移库锁定")]
        ç§»åº“锁定 = 9,
        [Description("入库完成未建出库单")]
        å…¥åº“完成未建出库单 = 10
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
@@ -28,7 +28,12 @@
        /// è´¨æ£€å…¥åº“
        /// </summary>
        [Description("质检入库")]
        InQuality = 203
        InQuality = 203,
        /// <summary>
        /// æµ‹è¯•架入库
        /// </summary>
        [Description("测试架入库")]
        TestInbound = 204,
    }
    public enum TaskOutboundTypeEnum
@@ -53,6 +58,11 @@
        /// </summary>
        [Description("质检出库")]
        OutQuality = 103,
        /// <summary>
        /// æµ‹è¯•架出库
        /// </summary>
        [Description("测试架出库")]
        OutTestStand = 104,
    }
    public enum TaskRelocationTypeEnum
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs
@@ -50,7 +50,10 @@
            StrMsg = message == null ? "执行失败" : message;
            return this;
        }
        public Content Content { get; set; }
        public ContentMes Content { get; set; }
    }
    public class ContentMes: Content
    {
        public string Contacts { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs
@@ -14,9 +14,9 @@
    public class TestToolOutModel
    {
        /// <summary>
        /// æµ‹æž¶ç¼–码
        /// æµ‹æž¶æ‰˜ç›˜ç¼–码
        /// </summary>
        [PropertyValidate("测架编码", NotNullAndEmpty = true)]
        [PropertyValidate("测架托盘编码", NotNullAndEmpty = true)]
        public string ToolCode { get; set; }
        /// <summary>
        /// ç›®æ ‡åœ°å€ç 
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_External/AGVService/InvokeAGVService.cs
@@ -19,11 +19,11 @@
            get { return App.GetService<IInvokeAGVService>(); }
        }
        /// <summary>
        /// å‘送AGV任务
        /// å‘送AGV任务
        /// </summary>
        /// <param name="taskModel"></param>
        /// <returns></returns>
        public WebResponseContent SendAgvTask(AgvTaskModel taskModel)
        public WebResponseContent AgvSendTask(AgvTaskModel taskModel)
        {
            WebResponseContent content = new WebResponseContent();
            try
@@ -46,13 +46,26 @@
            }
            return content;
        }
        public WebResponseContent AGVSecureReply(AgvSecureModel secureModel)
        /// <summary>
        /// å®‰å…¨ä¿¡å·ç”³è¯· AGV-WMS-WCS
        /// </summary>
        public AgvResponseContent AgvSecureApply(AgvSecureApplyModel secureApplyModel)
        {
            return new AgvResponseContent();
        }
        /// <summary>
        /// å®‰å…¨ä¿¡å·å›žå¤ WMS-AGV
        /// </summary>
        /// <param name="secureModel"></param>
        /// <returns></returns>
        public WebResponseContent AgvSecureReply(AgvSecureReplyModel secureReplyModel)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                string apiAddress = AppSettings.Get(APIEnum.AGVSecureReply.ToString());
                string response = HttpHelper.Post(apiAddress, secureModel.Serialize());
                string apiAddress = AppSettings.Get(APIEnum.AgvSecureReply.ToString());
                string response = HttpHelper.Post(apiAddress, secureReplyModel.Serialize());
                AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>();
                if (agvContent.Code == "200")
                {
@@ -69,5 +82,15 @@
            }
            return content;
        }
        /// <summary>
        /// AGV任务状态刷新
        /// </summary>
        /// <param name="agvUpdateModel"></param>
        /// <returns></returns>
        public AgvResponseContent AgvUpdateTask(AgvUpdateModel agvUpdateModel)
        {
            return new AgvResponseContent();
        }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_External/IAGVService/IInvokeAGVService.cs
@@ -4,6 +4,7 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_DTO.AGV;
using WIDESEA_External.Model;
namespace WIDESEA_External.AGVService
@@ -15,11 +16,13 @@
        /// </summary>
        /// <param name="taskModel"></param>
        /// <returns></returns>
        WebResponseContent SendAgvTask(AgvTaskModel taskModel);
        WebResponseContent AgvSendTask(AgvTaskModel taskModel);
        AgvResponseContent AgvSecureApply(AgvSecureApplyModel secureApplyModel);
        /// <summary>
        /// AGV安全信号回复
        /// </summary>
        /// <returns></returns>
        WebResponseContent AGVSecureReply(AgvSecureModel secureModel);
        WebResponseContent AgvSecureReply(AgvSecureReplyModel secureReplyModel);
        AgvResponseContent AgvUpdateTask(AgvUpdateModel agvUpdateModel);
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/AgvSecureApplyModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_External.Model
{
    public class AgvSecureApplyModel
    {
        /// <summary>
        /// è¯·æ±‚编号 æ¯ä¸ªè¯·æ±‚都要一个唯一编号,同一个请求重复提交使用同一编号
        /// </summary>
        public string ReqCode { get; set; }
        /// <summary>
        /// ç›®æ ‡ä½
        /// </summary>
        public string WbCode { get; set; }
        /// <summary>
        /// ä»»åŠ¡å•å·
        /// </summary>
        public string TaskCode { get; set; }
        /// <summary>
        /// æ‰¹æ¬¡
        /// </summary>
        public string MaterialLot { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/AgvSecureReplyModel.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/AgvSecureModel.cs ÐÞ¸Ä
@@ -6,7 +6,7 @@
namespace WIDESEA_External.Model
{
    public class AgvSecureModel
    public class AgvSecureReplyModel
    {
        /// <summary>
        /// è¯·æ±‚编号 æ¯ä¸ªè¯·æ±‚都要一个唯一编号,同一个请求重复提交,使用同一编号
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/AgvUpdateModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_External.Model
{
    public class AgvUpdateModel
    {
        /// <summary>
        /// è¯·æ±‚编号 æ¯ä¸ªè¯·æ±‚都要一个唯一编号,同一个请求重复提交使用同一编号
        /// </summary>
        public string ReqCode { get; set; }
        /// <summary>
        /// è¯·æ±‚æ—¶é—´ æ ¼å¼:yyyy-MM-dd HH:mm:ss
        /// </summary>
        public string ReqTime { get; set; }
        /// <summary>
        /// ä½ç½®X坐标 ä»»åŠ¡å®Œæˆæ—¶æœ‰å€¼
        /// </summary>
        public int CooX { get; set; }
        /// <summary>
        /// ä½ç½®Y坐标 ä»»åŠ¡å®Œæˆæ—¶æœ‰å€¼
        /// </summary>
        public int CooY { get; set; }
        /// <summary>
        /// å½“前位置编号<br/>
        /// ä»»åŠ¡å¼€å§‹ï¼šè¯¥ä½ç½®ä¸ºä»»åŠ¡èµ·ç‚¹<br/>
        /// èµ°å‡ºå‚¨ä½ï¼šè¯¥ä½ç½®ä¸ºä»»åŠ¡èµ·ç‚¹<br/>
        /// ä»»åŠ¡å•å–æ¶ˆï¼šè¯¥ä½ç½®ä¸ºå·¥ä½œä½ç¼–å·<br/>
        /// ä»»åŠ¡ç»“æŸï¼šè¯¥ä½ç½®ä¸ºä»»åŠ¡ç»ˆç‚¹<br/>
        /// å–放申请:取放料箱的点<br/>
        /// </summary>
        public string CurrentPositionCode { get; set; }
        /// <summary>
        /// è‡ªå®šä¹‰å­—段
        /// </summary>
        public string Data { get; set; }
        /// <summary>
        /// åœ°å›¾ç¼–号
        /// </summary>
        public string MapCode { get; set; }
        /// <summary>
        /// åœ°ç ç¼–号 ä»»åŠ¡å®Œæˆæ—¶æœ‰å€¼
        /// </summary>
        public string MapDataCode { get; set; }
        /// <summary>
        /// ä»“位编码 å‰è½¦ä¸ŽCTU任务时有值
        /// </summary>
        public string StgBinCode { get; set; }
        /// <summary>
        /// æ–¹æ³•名<br/>
        /// start : ä»»åС开始<br/>
        ///  outbin : èµ°å‡ºå‚¨ä½<br/>
        ///  end : ä»»åŠ¡ç»“æŸ<br/>
        ///  cancel : ä»»åŠ¡å•å–æ¶ˆ<br/>
        ///  apply:CTU料箱取放申请<br/>
        /// </summary>
        public string Method { get; set; }
        /// <summary>
        /// è½½å…·ç¼–号
        /// </summary>
        public string PodCode { get; set; }
        /// <summary>
        /// è½½å…·æ–¹å‘
        /// </summary>
        public string PodDir { get; set; }
        /// <summary>
        /// ç‰©æ–™æ‰¹æ¬¡å·
        /// </summary>
        public string MaterialLot { get; set; }
        /// <summary>
        /// ç‰©æ–™ç±»åž‹
        /// </summary>
        public string MaterialType { get; set; }
        /// <summary>
        /// AGV编号
        /// </summary>
        public string RobotCode { get; set; }
        /// <summary>
        /// ä»»åŠ¡å•å·
        /// </summary>
        public string TaskCode { get; set; }
        /// <summary>
        /// å·¥ä½œå°ç¼–号 ä»»åŠ¡å®Œæˆæ—¶æœ‰å€¼,与生成任务单接口中的wbCode一致
        /// </summary>
        public string WbCode { get; set; }
        /// <summary>
        /// å®¹å™¨ç¼–号
        /// </summary>
        public string CtnrCode { get; set; }
        /// <summary>
        /// å®¹å™¨ç±»åž‹
        /// </summary>
        public string CtnrType { get; set; }
        /// <summary>
        /// å··é“编号
        /// </summary>
        public string RoadWayCode { get; set; }
        /// <summary>
        /// å··é“内顺序号<br/>
        /// å··é“尾是0依次到巷道头依次递增1
        /// </summary>
        public string Seq { get; set; }
        /// <summary>
        /// è®¾å¤‡ç¼–号
        /// </summary>
        public string EqpCode { get; set; }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs
@@ -8,7 +8,9 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.StockEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
@@ -19,6 +21,7 @@
using WIDESEA_IBasicService;
using WIDESEA_IOutboundRepository;
using WIDESEA_IOutboundService;
using WIDESEA_IStockRepository;
using WIDESEA_IStockService;
using WIDESEA_Model.Models;
@@ -27,18 +30,22 @@
    public class OutboundOrderService : ServiceBase<Dt_OutboundOrder, IOutboundOrderRepository>, IOutboundOrderService
    {
        private readonly IMapper _mapper;
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly IBasicService _basicService;
        private readonly IOutboundOrderDetailRepository _outboundOrderDetailRepository;
        private readonly IStockInfoService _stockInfoService;
        private readonly IStockInfoRepository _stockInfoRepository;
        public IOutboundOrderRepository Repository => BaseDal;
        public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper, IBasicService basicService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IStockInfoService stockInfoService) : base(BaseDal)
        public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper,IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IStockInfoService stockInfoService,
          IStockInfoRepository stockInfoRepository) : base(BaseDal)
        {
            _mapper = mapper;
            _unitOfWorkManage=unitOfWorkManage;
            _basicService = basicService;
            _outboundOrderDetailRepository = outboundOrderDetailRepository;
            _stockInfoService = stockInfoService;
            _stockInfoRepository= stockInfoRepository;
        }
        public WebResponseContent ReceiveOutOrder(ErpOutOrderDTO model)
@@ -73,6 +80,7 @@
                        }
                        else
                        {
                            Dt_StockInfo? stockInfo = null;
                            Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail()
                            {
                                RowNo = Convert.ToInt32(model.RowNo),
@@ -83,8 +91,20 @@
                                OrderQuantity = model.Qty,
                                OrderId = oldOutboundOrder.Id
                            };
                            //ERP上传测试仓领料单更新对应库存状态
                            if (warehouse.WarehouseId == 1)
                            {
                                //获取出库单库存
                                stockInfo = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).Where(x => x.Details.Any(x => x.MaterielCode == model.MCode && x.BatchNo == model.MLot && x.InboundOrderRowNo == Convert.ToInt32(model.RowNo))).First();
                                stockInfo.StockStatus = StockStatusEmun.入库完成.ObjToInt();
                            }
                            _unitOfWorkManage.BeginTran();
                            if (stockInfo != null)
                            {
                                _stockInfoRepository.UpdateData(stockInfo);
                            }
                            _outboundOrderDetailRepository.AddData(outboundOrderDetail);
                            _unitOfWorkManage.CommitTran();
                        }
                    }
                    else
@@ -108,8 +128,21 @@
                            WarehouseId = warehouse.WarehouseId,
                            Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail }
                        };
                        Dt_StockInfo? stockInfo = null;
                        //ERP上传测试仓领料单更新对应库存状态
                        if (warehouse.WarehouseId==1)
                        {
                            //获取出库单库存
                            stockInfo = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).Where(x => x.Details.Any(x => x.MaterielCode == model.MCode && x.BatchNo == model.MLot && x.InboundOrderRowNo == Convert.ToInt32(model.RowNo))).First();
                            stockInfo.StockStatus=StockStatusEmun.入库完成.ObjToInt();
                        }
                        _unitOfWorkManage.BeginTran();
                        if (stockInfo!=null)
                        {
                            _stockInfoRepository.UpdateData(stockInfo);
                        }
                        Db.InsertNav(outboundOrder).Include(x => x.Details).ExecuteCommand();
                        _unitOfWorkManage.CommitTran();
                    }
                }
                else if (model.Way == 2)
@@ -151,6 +184,7 @@
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs
@@ -3,6 +3,11 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Common.OtherEnum;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_DTO;
@@ -13,12 +18,8 @@
namespace WIDESEA_TaskInfoService
{
    public partial class TaskService : ServiceBase<Dt_Task, ITaskRepository>, ITaskService
    public partial class TaskService
    {
        public static ITaskService Instance
        {
            get { return App.GetService<ITaskService>(); }
        }
        /// <summary>
        /// æµ‹è¯•架出仓
        /// </summary>
@@ -26,7 +27,63 @@
        /// <returns></returns>
        public MesResponseContent TestToolOut(TestToolOutModel model)
        {
            return new MesResponseContent();
            MesResponseContent responseContent = new MesResponseContent();
            try
            {
                //获取库存记录 warehouseID暂定先用固定值 TEST
                Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == 1 &&
                  x.PalletCode == model.ToolCode &&
                  x.StockStatus==(int)StockStatusEmun.入库完成)
                .Includes(x => x.Details).First();
                if (stockInfo==null)
                {
                    return responseContent.Error($"测试架托盘:{model.ToolCode}无库存记录");
                }
                Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode &&
                  x.WarehouseId == stockInfo.WarehouseId &&
                  x.LocationStatus == (int)LocationStatusEnum.InStock &&
                  (x.EnableStatus == (int)EnableStatusEnum.Normal || x.EnableStatus == (int)EnableStatusEnum.OnlyOut));
                if (locationInfo==null)
                {
                    return responseContent.Error($"货位:{stockInfo.LocationCode}出库条件不满足");
                }
                //生成测试架出库任务 é”å®šåº“å­˜ æ›´æ”¹è´§ä½çŠ¶æ€
                Dt_Task taskOut = new()
                {
                    CurrentAddress = stockInfo.LocationCode,
                    Grade = 0,
                    PalletCode = stockInfo.PalletCode,
                    NextAddress = "",
                    Roadway = locationInfo.RoadwayNo,
                    SourceAddress = stockInfo.LocationCode,
                    TargetAddress = "",
                    TaskStatus = (int)TaskOutStatusEnum.OutNew,
                    TaskType = (int)TaskOutboundTypeEnum.OutTestStand,
                    TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                    PalletType = stockInfo.PalletType,
                    WarehouseId = stockInfo.WarehouseId,
                };
                stockInfo.StockStatus = (int)StockStatusEmun.出库锁定;
                LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus;
                locationInfo.LocationStatus = (int)LocationStatusEnum.Lock;
                _unitOfWorkManage.BeginTran();
                //更新库存状态
                _stockRepository.StockInfoRepository.UpdateData(stockInfo);
                //更新货位状态
                _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, (PalletTypeEnum)stockInfo.PalletType, LocationStatusEnum.Lock, stockInfo.WarehouseId);
                //新建任务
                BaseDal.AddData(taskOut);
                //加入货位变动记录
                _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, locationStatus, LocationChangeType.OutboundAssignLocation, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", taskOut.TaskNum);
                _unitOfWorkManage.CommitTran();
                responseContent.OK();
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                responseContent.Error(ex.Message);
            }
            return responseContent;
        }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -260,7 +260,15 @@
                LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
                locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
                stockInfo.StockStatus = StockStatusEmun.入库完成.ObjToInt();
                //测试架入库库存状态
                if (task.TaskType == TaskInboundTypeEnum.TestInbound.ObjToInt())
                {
                    stockInfo.StockStatus = StockStatusEmun.入库完成未建出库单.ObjToInt();
                }
                else
                {
                    stockInfo.StockStatus = StockStatusEmun.入库完成.ObjToInt();
                }
                stockInfo.LocationCode = locationInfo.LocationCode;
                _unitOfWorkManage.BeginTran();
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/AGV/AgvController.cs
@@ -9,6 +9,7 @@
using WIDESEA_Core.Attributes;
using WIDESEA_Core.Helper;
using WIDESEA_DTO;
using WIDESEA_DTO.AGV;
using WIDESEA_DTO.Basic;
using WIDESEA_DTO.ERP;
using WIDESEA_External.AGVService;
@@ -24,22 +25,43 @@
namespace WIDESEA_WMSServer.Controllers.ERP
{
    /// <summary>
    /// ç‰¹åˆ›AGV接口
    /// </summary>
    [Route("api/Agv")]
    [ApiController]
    public class AgvController : ControllerBase
    {
        public AgvController()
        {
        }
        /// <summary>
        /// å‘送AGV任务
        /// </summary>
        /// <param name="taskModel"></param>
        /// <returns></returns>
        [HttpPost,Route("SendAgvTask"),AllowAnonymous]
        public WebResponseContent SendAgvTask([FromBody] AgvTaskModel taskModel)
        [HttpPost,Route("AgvSendTask"),AllowAnonymous]
        public WebResponseContent AgvSendTask([FromBody] AgvTaskModel taskModel)
        {
            return InvokeAGVService.Intance.SendAgvTask(taskModel);
            return InvokeAGVService.Intance.AgvSendTask(taskModel);
        }
        /// <summary>
        /// AGV安全信号申请
        /// </summary>
        /// <param name="secureApplyModel"></param>
        /// <returns></returns>
        [HttpPost,Route("AgvSecureApply"),AllowAnonymous]
        public AgvResponseContent AgvSecureApply(AgvSecureApplyModel secureApplyModel)
        {
            return InvokeAGVService.Intance.AgvSecureApply(secureApplyModel);
        }
        /// <summary>
        /// AGV任务状态刷新
        /// </summary>
        /// <param name="agvUpdateModel"></param>
        /// <returns></returns>
        [HttpPost, Route("AgvUpdateTask"), AllowAnonymous]
        public AgvResponseContent AgvUpdateTask(AgvUpdateModel agvUpdateModel)
        {
            return InvokeAGVService.Intance.AgvUpdateTask(agvUpdateModel);
        }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs
@@ -39,10 +39,10 @@
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        //[HttpPost, Route("TestToolOut"), AllowAnonymous, MethodParamsValidate]
        //public MesResponseContent TestToolOut([FromBody] Root<TestToolOutModel> model)
        //{
        //    return _taskService.TestToolOut(model.Content);
        //}
        [HttpPost, Route("TestToolOut"), AllowAnonymous, MethodParamsValidate]
        public MesResponseContent TestToolOut([FromBody] Root<TestToolOutModel> model)
        {
            return _taskService.TestToolOut(model.Content);
        }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/wwwroot/WIDESEA_DB.DBSeed.Json/Sys_Menu.tsv
@@ -12,7 +12,7 @@
    "OrderNo": 4000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-05-09T15:50:07.567"
  },
@@ -29,7 +29,7 @@
    "OrderNo": 2000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-05-09T15:50:14.03"
  },
@@ -46,7 +46,7 @@
    "OrderNo": 1000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-05-09T15:50:20.727"
  },
@@ -63,7 +63,7 @@
    "OrderNo": 900,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-05-09T15:50:23.177"
  },
@@ -80,7 +80,7 @@
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-05-09T15:50:38.703"
  },
@@ -97,7 +97,7 @@
    "OrderNo": 10,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-05-09T15:50:42.007"
  },
@@ -114,7 +114,7 @@
    "OrderNo": 10,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": "2024-09-04T11:06:31.127"
  },
@@ -131,7 +131,7 @@
    "OrderNo": 500,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-05-09T15:50:30.557"
  },
@@ -148,7 +148,7 @@
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-05-09T15:50:34.273"
  },
@@ -165,7 +165,7 @@
    "OrderNo": 9000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-04T10:44:31.457"
  },
@@ -182,7 +182,7 @@
    "OrderNo": 500,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-20T09:15:35.93"
  },
@@ -199,7 +199,7 @@
    "OrderNo": 10000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-04T10:44:15.293"
  },
@@ -216,7 +216,7 @@
    "OrderNo": 8000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-04T10:50:35.37"
  },
@@ -233,7 +233,7 @@
    "OrderNo": 7000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-04T10:53:10.417"
  },
@@ -250,26 +250,9 @@
    "OrderNo": 10000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-24T14:36:38.443"
  },
  {
    "MenuId": 22,
    "MenuName": "区域信息",
    "Auth": "[{\"text\":\"查询\",\"value\":\"Search\"},{\"text\":\"新建\",\"value\":\"Add\"},{\"text\":\"删除\",\"value\":\"Delete\"},{\"text\":\"编辑\",\"value\":\"Update\"},{\"text\":\"导入\",\"value\":\"Import\"},{\"text\":\"导出\",\"value\":\"Export\"},{\"text\":\"启用\",\"value\":\"Enable\"},{\"text\":\"禁用\",\"value\":\"Disable\"}]",
    "Icon": "",
    "Description": null,
    "Enable": 1,
    "TableName": "Dt_AreaInfo",
    "ParentId": 17,
    "Url": "areaInfo",
    "OrderNo": 9000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "Modifier": "admin",
    "ModifyDate": "2024-09-24T14:36:41.967"
  },
  {
    "MenuId": 23,
@@ -284,7 +267,7 @@
    "OrderNo": 8000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-24T14:36:47.427"
  },
@@ -301,7 +284,7 @@
    "OrderNo": 7000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": "2024-09-04T11:06:31.127"
  },
@@ -318,7 +301,7 @@
    "OrderNo": 10000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-04T10:50:25.91"
  },
@@ -335,7 +318,7 @@
    "OrderNo": 9000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-24T11:12:44.15"
  },
@@ -352,7 +335,7 @@
    "OrderNo": 8000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": "2024-09-04T11:06:31.127"
  },
@@ -369,7 +352,7 @@
    "OrderNo": 7000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-24T11:12:46.923"
  },
@@ -386,7 +369,7 @@
    "OrderNo": 10000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": "2024-09-04T11:06:31.127"
  },
@@ -399,30 +382,13 @@
    "Enable": 1,
    "TableName": "Dt_StockInfoDetail",
    "ParentId": 20,
    "Url": "stockInfoDetail",
    "Url": "/stockInfoDetail",
    "OrderNo": 9000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": "2024-09-04T11:06:31.127"
  },
  {
    "MenuId": 31,
    "MenuName": "巷道信息",
    "Auth": "[{\"text\":\"查询\",\"value\":\"Search\"},{\"text\":\"编辑\",\"value\":\"Update\"},{\"text\":\"导出\",\"value\":\"Export\"},{\"text\":\"启用\",\"value\":\"Enable\"},{\"text\":\"禁用\",\"value\":\"Disable\"}]",
    "Icon": "",
    "Description": null,
    "Enable": 1,
    "TableName": "Dt_RoadwayInfo",
    "ParentId": 17,
    "Url": "/roadwayInfo",
    "OrderNo": 8500,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "Modifier": "admin",
    "ModifyDate": "2024-09-24T14:36:44.583"
  },
  {
    "MenuId": 32,
@@ -437,7 +403,7 @@
    "OrderNo": 9000,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": null
  },
@@ -450,11 +416,11 @@
    "Enable": 1,
    "TableName": "/",
    "ParentId": 0,
    "Url": "/pages/materielGroup/inboundOrder",
    "Url": "/inboundOrder",
    "OrderNo": 0,
    "MenuType": 1,
    "Creater": "admin",
    "CreateDate": "2024-12-16T21:46:23.463",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-09-30T16:34:47.333"
  },
@@ -471,7 +437,7 @@
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-16T22:24:16.24",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": null
  },
@@ -485,12 +451,12 @@
    "TableName": "/",
    "ParentId": 0,
    "Url": "",
    "OrderNo": 0,
    "OrderNo": 9700,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T09:22:42.127",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-12-17T09:23:02.71"
    "ModifyDate": "2024-12-18T18:46:55.123"
  },
  {
    "MenuId": 44,
@@ -505,7 +471,7 @@
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T09:24:29.307",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": null
  },
@@ -522,7 +488,7 @@
    "OrderNo": 6500,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T14:35:51.493",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-12-17T14:45:19.42"
  },
@@ -539,7 +505,7 @@
    "OrderNo": 6400,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T14:39:08.17",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-12-17T14:45:26.113"
  },
@@ -556,7 +522,7 @@
    "OrderNo": 6300,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T14:39:58.107",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-12-17T14:45:31.007"
  },
@@ -573,7 +539,7 @@
    "OrderNo": 6200,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T14:43:45.92",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-12-17T14:45:35.687"
  },
@@ -590,7 +556,7 @@
    "OrderNo": 9900,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T15:30:27.37",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-12-17T15:34:23.89"
  },
@@ -607,7 +573,7 @@
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T15:35:22.713",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": "admin",
    "ModifyDate": "2024-12-17T16:31:57.193"
  },
@@ -624,7 +590,7 @@
    "OrderNo": 9800,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T15:42:19.543",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": null
  },
@@ -641,7 +607,7 @@
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T16:30:07.67",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": null
  },
@@ -658,7 +624,92 @@
    "OrderNo": 2,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-17T16:32:25.123",
    "CreateDate": "2024-12-18T17:25:49.06",
    "Modifier": null,
    "ModifyDate": null
  },
  {
    "MenuId": 54,
    "MenuName": "客户信息",
    "Auth": "[{\"text\":\"查询\",\"value\":\"Search\"},{\"text\":\"新建\",\"value\":\"Add\"},{\"text\":\"删除\",\"value\":\"Delete\"},{\"text\":\"编辑\",\"value\":\"Update\"},{\"text\":\"导入\",\"value\":\"Import\"},{\"text\":\"导出\",\"value\":\"Export\"}]",
    "Icon": "",
    "Description": null,
    "Enable": 1,
    "TableName": "Dt_CustomerInfo",
    "ParentId": 17,
    "Url": "/customerInfo",
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-18T17:56:51.487",
    "Modifier": null,
    "ModifyDate": null
  },
  {
    "MenuId": 55,
    "MenuName": "员工信息",
    "Auth": "[{\"text\":\"查询\",\"value\":\"Search\"},{\"text\":\"新建\",\"value\":\"Add\"},{\"text\":\"删除\",\"value\":\"Delete\"},{\"text\":\"编辑\",\"value\":\"Update\"},{\"text\":\"导入\",\"value\":\"Import\"},{\"text\":\"导出\",\"value\":\"Export\"}]",
    "Icon": "",
    "Description": null,
    "Enable": 1,
    "TableName": "Dt_UserInfo",
    "ParentId": 17,
    "Url": "/userInfo",
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-18T18:19:34.37",
    "Modifier": null,
    "ModifyDate": null
  },
  {
    "MenuId": 56,
    "MenuName": "历史任务信息",
    "Auth": "[{\"text\":\"查询\",\"value\":\"Search\"},{\"text\":\"导出\",\"value\":\"Export\"}]",
    "Icon": "",
    "Description": null,
    "Enable": 1,
    "TableName": "Dt_Task_Hty",
    "ParentId": 12,
    "Url": "/task_hty",
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-18T18:35:41.773",
    "Modifier": null,
    "ModifyDate": null
  },
  {
    "MenuId": 57,
    "MenuName": "货位变动记录",
    "Auth": "[{\"text\":\"查询\",\"value\":\"Search\"},{\"text\":\"导出\",\"value\":\"Export\"}]",
    "Icon": "",
    "Description": null,
    "Enable": 1,
    "TableName": "Dt_LocationStatusChangeRecord",
    "ParentId": 8,
    "Url": "/locationStatusChangeRecord",
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-18T18:38:41.89",
    "Modifier": null,
    "ModifyDate": null
  },
  {
    "MenuId": 58,
    "MenuName": "库存变动记录",
    "Auth": "[{\"text\":\"查询\",\"value\":\"Search\"},{\"text\":\"导出\",\"value\":\"Export\"}]",
    "Icon": "",
    "Description": null,
    "Enable": 1,
    "TableName": "Dt_StockQuantityChangeRecord",
    "ParentId": 8,
    "Url": "/stockQuantityChangeRecord",
    "OrderNo": 0,
    "MenuType": 0,
    "Creater": "admin",
    "CreateDate": "2024-12-18T18:46:22.51",
    "Modifier": null,
    "ModifyDate": null
  }