From 2caca175273d89e3218d5f65b3a1a47ead3b5e73 Mon Sep 17 00:00:00 2001 From: ldj_willow Date: Tue, 18 Oct 2022 11:24:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/config/application-dev.yml | 2 +- .../{master => }/eum/MaterOptTypeEnum.java | 2 +- .../manage/AbstructMaterialType.java | 2 +- .../service/dto/BusinesstypematerialDto.java | 69 --- .../service/dto/EndrealsemimaterialDto.java | 45 -- .../service/dto/MaterialParametersDto.java | 86 ---- .../service/dto/SemirealrawmaterialDto.java | 45 -- .../wql/QMD_PB_BUSINESSTYPEMATERIAL.wql | 61 --- .../rest/ClassstandardController.java | 6 +- .../rest/CustomerbaseController.java | 6 +- .../rest/MaterialbaseController.java | 8 +- .../rest/StoragevehicleinfoController.java | 8 +- .../rest/SupplierbaseController.java | 6 +- .../{master => }/rest/UnitController.java | 6 +- .../service/ClassstandardService.java | 4 +- .../service/CustomerbaseService.java | 4 +- .../service/MaterialbaseService.java | 4 +- .../service/StoragevehicleinfoService.java | 12 +- .../service/SupplierbaseService.java | 4 +- .../{master => }/service/UnitService.java | 4 +- .../service/dto/ClassstandardDto.java | 2 +- .../service/dto/CustomerbaseDto.java | 2 +- .../service/dto/MaterialbaseDto.java | 2 +- .../service/dto/SupplierbaseDto.java | 2 +- .../{master => }/service/dto/UnitDto.java | 2 +- .../dto/VehicleDto.java} | 8 +- .../impl/ClassstandardServiceImpl.java | 6 +- .../service/impl/CustomerbaseServiceImpl.java | 10 +- .../service/impl/MaterialbaseServiceImpl.java | 10 +- .../impl/StoragevehicleinfoServiceImpl.java | 56 +-- .../service/impl/SupplierbaseServiceImpl.java | 10 +- .../service/impl/UnitServiceImpl.java | 6 +- .../nl/wms/basedata/st/IvtChangeTypeEnum.java | 31 -- .../wms/basedata/st/StoreIvtServiceImpl.java | 297 ------------ .../basedata/st/rest/SectattrController.java | 84 ---- .../basedata/st/rest/StorattrController.java | 84 ---- .../st/rest/StructattrController.java | 76 --- .../basedata/st/rest/StructivtController.java | 93 ---- .../st/rest/StructrelamaterialController.java | 85 ---- .../basedata/st/service/SectattrService.java | 74 --- .../basedata/st/service/StorattrService.java | 74 --- .../st/service/StructattrService.java | 72 --- .../basedata/st/service/StructivtService.java | 72 --- .../st/service/StructrelamaterialService.java | 69 --- .../st/service/dto/MaterialsafeivtDto.java | 39 -- .../basedata/st/service/dto/SectattrDto.java | 115 ----- .../basedata/st/service/dto/StorattrDto.java | 106 ---- .../st/service/dto/StructattrDto.java | 145 ------ .../basedata/st/service/dto/StructivtDto.java | 64 --- .../st/service/dto/StructrelamaterialDto.java | 30 -- .../st/service/impl/SectattrServiceImpl.java | 251 ---------- .../st/service/impl/StorattrServiceImpl.java | 219 --------- .../service/impl/StructattrServiceImpl.java | 248 ---------- .../st/service/impl/StructivtServiceImpl.java | 151 ------ .../impl/StructrelamaterialServiceImpl.java | 179 ------- .../java/org/nl/wms/basedata/st/wql/QLK01.wql | 226 --------- .../basedata/st/wql/QST_IVT_MATERIALSET.wql | 78 --- .../nl/wms/basedata/st/wql/QST_SECT_ATTR.wql | 90 ---- .../nl/wms/basedata/st/wql/QST_STOR_ATTR.wql | 104 ---- .../wms/basedata/st/wql/QST_STRUCTIVT001.wql | 83 ---- .../wms/basedata/st/wql/QST_STRUCT_ATTR.wql | 79 --- .../java/org/nl/wms/basedata/st/wql/stivt.xls | Bin 222720 -> 0 bytes .../{master => }/wql/QMD_ME_MATERIAL.wql | 0 .../wql/QMD_ME_material_param01.wql | 0 .../{master => }/wql/QMD_PB_CLASSBASE.wql | 0 .../wql/QMD_PB_STORAGEVEHICLEEXT.wql | 14 +- .../wql/QMD_PB_STORAGEVEHICLEINFO.wql | 14 +- .../wql/QMD_PB_STORAGEVEHICLEPOINT.wql | 2 +- .../wql/QMD_STORAGEVEHICLECLEANING.wql | 6 +- .../wql/QMT_MATERIALPARAMETERS_001.wql | 0 .../nl/wms/basedata/{master => }/wql/mdcs.xls | Bin .../nl/wms/basedata/{master => }/wql/mdme.xls | Bin .../nl/wms/basedata/{master => }/wql/mdpb.xls | Bin 154624 -> 154624 bytes .../acs/service/impl/AcsToWmsServiceImpl.java | 2 - .../service/impl/EmptyAndQtyServiceImpl.java | 7 +- .../pdm/service/impl/DeviceServiceImpl.java | 2 - .../impl/ProduceshiftorderServiceImpl.java | 6 +- .../src/main/java/org/nl/wms/pdm/wql/pdm.xls | Bin 166912 -> 166912 bytes .../nl/wms/sch/tasks/CallMaterialTask.java | 43 -- .../nl/wms/sch/tasks/SendEmpVehicleTask.java | 6 +- .../nl/wms/sch/tasks/SendMaterialTask.java | 41 +- .../src/main/java/org/nl/wms/sch/wql/sch.xls | Bin 191488 -> 191488 bytes .../service/impl/RegionioInServiceImpl.java | 4 +- .../service/impl/RegionioOutServiceImpl.java | 4 +- .../basedata/{master => }/classstandard.js | 0 .../wms/basedata/{master => }/customerbase.js | 0 .../basedata/master/businesstypematerial.js | 34 -- .../wms/basedata/master/materialparameters.js | 50 -- .../wms/basedata/{master => }/materialbase.js | 0 .../basedata/{master => }/mdPbMeasureunit.js | 0 .../src/api/wms/basedata/pdm/workProcedure.js | 33 -- .../src/api/wms/basedata/st/sectattr.js | 43 -- .../src/api/wms/basedata/st/storattr.js | 43 -- .../src/api/wms/basedata/st/structattr.js | 35 -- .../src/api/wms/basedata/st/structivt.js | 49 -- .../wms/basedata/{master => }/supplierbase.js | 0 .../storagevehicleinfo.js => vehicle.js} | 0 .../src/views/monitor/online/index.vue | 2 +- .../src/views/system/dict/dictDetail.vue | 2 +- .../wms/basedata/{master => }/class/index.vue | 2 +- .../basedata/{master => }/customer/index.vue | 4 +- .../basedata/{master => }/material/index.vue | 10 +- .../basedata/{master => }/measure/index.vue | 2 +- .../src/views/wms/basedata/st/ivt/index.vue | 137 ------ .../src/views/wms/basedata/st/sect/index.vue | 324 ------------- .../src/views/wms/basedata/st/stor/index.vue | 400 --------------- .../views/wms/basedata/st/struct/index.vue | 457 ------------------ .../wms/basedata/{master => }/supp/index.vue | 4 +- .../storagevehicleinfo => vehicle}/index.vue | 61 +-- .../src/views/wms/pdm/produce/ViewDialog.vue | 10 +- .../src/views/wms/pdm/produce/index.vue | 34 +- .../src/views/wms/pub/MaterDialog.vue | 4 +- .../src/views/wms/sch/point/index.vue | 8 +- .../src/views/wms/st/inbill/index.vue | 10 +- .../src/views/wms/st/outbill/index.vue | 10 +- 115 files changed, 193 insertions(+), 5544 deletions(-) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/eum/MaterOptTypeEnum.java (97%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/manage/AbstructMaterialType.java (77%) delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/BusinesstypematerialDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/EndrealsemimaterialDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialParametersDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SemirealrawmaterialDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_BUSINESSTYPEMATERIAL.wql rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/rest/ClassstandardController.java (96%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/rest/CustomerbaseController.java (92%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/rest/MaterialbaseController.java (94%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/rest/StoragevehicleinfoController.java (92%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/rest/SupplierbaseController.java (91%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/rest/UnitController.java (93%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/ClassstandardService.java (95%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/CustomerbaseService.java (91%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/MaterialbaseService.java (94%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/StoragevehicleinfoService.java (79%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/SupplierbaseService.java (91%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/UnitService.java (92%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/dto/ClassstandardDto.java (96%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/dto/CustomerbaseDto.java (97%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/dto/MaterialbaseDto.java (97%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/dto/SupplierbaseDto.java (97%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/dto/UnitDto.java (93%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master/service/dto/StoragevehicleinfoDto.java => service/dto/VehicleDto.java} (84%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/impl/ClassstandardServiceImpl.java (99%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/impl/CustomerbaseServiceImpl.java (95%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/impl/MaterialbaseServiceImpl.java (96%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/impl/StoragevehicleinfoServiceImpl.java (74%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/impl/SupplierbaseServiceImpl.java (95%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/service/impl/UnitServiceImpl.java (97%) delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/IvtChangeTypeEnum.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/StoreIvtServiceImpl.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/SectattrController.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StorattrController.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructattrController.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructivtController.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructrelamaterialController.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/SectattrService.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StorattrService.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructattrService.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructivtService.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructrelamaterialService.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/MaterialsafeivtDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/SectattrDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StorattrDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructattrDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructivtDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructrelamaterialDto.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/SectattrServiceImpl.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StorattrServiceImpl.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructrelamaterialServiceImpl.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QLK01.wql delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_IVT_MATERIALSET.wql delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_SECT_ATTR.wql delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STOR_ATTR.wql delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCT_ATTR.wql delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/QMD_ME_MATERIAL.wql (100%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/QMD_ME_material_param01.wql (100%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/QMD_PB_CLASSBASE.wql (100%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/QMD_PB_STORAGEVEHICLEEXT.wql (86%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/QMD_PB_STORAGEVEHICLEINFO.wql (82%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/QMD_PB_STORAGEVEHICLEPOINT.wql (98%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/QMD_STORAGEVEHICLECLEANING.wql (93%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/QMT_MATERIALPARAMETERS_001.wql (100%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/mdcs.xls (100%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/mdme.xls (100%) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/{master => }/wql/mdpb.xls (91%) rename lms/nladmin-ui/src/api/wms/basedata/{master => }/classstandard.js (100%) rename lms/nladmin-ui/src/api/wms/basedata/{master => }/customerbase.js (100%) delete mode 100644 lms/nladmin-ui/src/api/wms/basedata/master/businesstypematerial.js delete mode 100644 lms/nladmin-ui/src/api/wms/basedata/master/materialparameters.js rename lms/nladmin-ui/src/api/wms/basedata/{master => }/materialbase.js (100%) rename lms/nladmin-ui/src/api/wms/basedata/{master => }/mdPbMeasureunit.js (100%) delete mode 100644 lms/nladmin-ui/src/api/wms/basedata/pdm/workProcedure.js delete mode 100644 lms/nladmin-ui/src/api/wms/basedata/st/sectattr.js delete mode 100644 lms/nladmin-ui/src/api/wms/basedata/st/storattr.js delete mode 100644 lms/nladmin-ui/src/api/wms/basedata/st/structattr.js delete mode 100644 lms/nladmin-ui/src/api/wms/basedata/st/structivt.js rename lms/nladmin-ui/src/api/wms/basedata/{master => }/supplierbase.js (100%) rename lms/nladmin-ui/src/api/wms/basedata/{master/storagevehicleinfo.js => vehicle.js} (100%) rename lms/nladmin-ui/src/views/wms/basedata/{master => }/class/index.vue (99%) rename lms/nladmin-ui/src/views/wms/basedata/{master => }/customer/index.vue (98%) rename lms/nladmin-ui/src/views/wms/basedata/{master => }/material/index.vue (97%) rename lms/nladmin-ui/src/views/wms/basedata/{master => }/measure/index.vue (98%) delete mode 100644 lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue delete mode 100644 lms/nladmin-ui/src/views/wms/basedata/st/sect/index.vue delete mode 100644 lms/nladmin-ui/src/views/wms/basedata/st/stor/index.vue delete mode 100644 lms/nladmin-ui/src/views/wms/basedata/st/struct/index.vue rename lms/nladmin-ui/src/views/wms/basedata/{master => }/supp/index.vue (98%) rename lms/nladmin-ui/src/views/wms/basedata/{master/storagevehicleinfo => vehicle}/index.vue (84%) diff --git a/acs/nladmin-system/src/main/resources/config/application-dev.yml b/acs/nladmin-system/src/main/resources/config/application-dev.yml index 79fb23c..7e9974e 100644 --- a/acs/nladmin-system/src/main/resources/config/application-dev.yml +++ b/acs/nladmin-system/src/main/resources/config/application-dev.yml @@ -1,5 +1,5 @@ server: - port: 8010 + port: 8011 #配置数据源 spring: datasource: diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/eum/MaterOptTypeEnum.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/eum/MaterOptTypeEnum.java similarity index 97% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/eum/MaterOptTypeEnum.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/eum/MaterOptTypeEnum.java index 69d6426..ec31add 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/eum/MaterOptTypeEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/eum/MaterOptTypeEnum.java @@ -1,4 +1,4 @@ -package org.nl.wms.basedata.master.eum; +package org.nl.wms.basedata.eum; import com.alibaba.fastjson.JSONObject; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/manage/AbstructMaterialType.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/manage/AbstructMaterialType.java similarity index 77% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/manage/AbstructMaterialType.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/manage/AbstructMaterialType.java index 83f07f1..488fda5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/manage/AbstructMaterialType.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/manage/AbstructMaterialType.java @@ -1,4 +1,4 @@ -package org.nl.wms.basedata.master.manage; +package org.nl.wms.basedata.manage; import java.util.HashSet; import java.util.Set; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/BusinesstypematerialDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/BusinesstypematerialDto.java deleted file mode 100644 index 1d25b2e..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/BusinesstypematerialDto.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.nl.wms.basedata.master.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; - -/** -* @description / -* @author Liuxy -* @date 2022-01-19 -**/ -@Data -public class BusinesstypematerialDto implements Serializable { - - /** 业务明细标识 */ - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long business_id; - - /** 业务类型编码 */ - private String business_type_code; - - /** 业务类型名称 */ - private String business_type_name; - - /** 单据类型编码 */ - private String inv_type_code; - - /** 单据类型名称 */ - private String inv_type_name; - - /** 物料分类标识 */ - private String material_type_id; - - /** 物料分类编码 */ - private String material_type_code; - - /** 说明 */ - private String remark; - - /** 是否启用 */ - private String is_used; - - /** 创建人 */ - private Long create_id; - - /** 创建人姓名 */ - private String create_name; - - /** 创建时间 */ - private String create_time; - - /** 修改人 */ - private Long update_optid; - - /** 修改人姓名 */ - private String update_optname; - - /** 修改时间 */ - private String update_time; - - /** 是否删除 */ - private String is_delete; - - /** 外部标识 */ - private String ext_id; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/EndrealsemimaterialDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/EndrealsemimaterialDto.java deleted file mode 100644 index 221b611..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/EndrealsemimaterialDto.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.nl.wms.basedata.master.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; - -/** -* @description / -* @author geng by -* @date 2022-05-31 -**/ -@Data -public class EndrealsemimaterialDto implements Serializable { - - /** 关系标识 */ - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long relation_id; - - /** 成品标识 */ - private Long end_material_id; - - /** 半成品标识 */ - private Long semi_material_id; - - /** 创建人 */ - private Long create_id; - - /** 创建人姓名 */ - private String create_name; - - /** 创建时间 */ - private String create_time; - - /** 修改人 */ - private Long update_optid; - - /** 修改人姓名 */ - private String update_optname; - - /** 修改时间 */ - private String update_time; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialParametersDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialParametersDto.java deleted file mode 100644 index 6ebacb2..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialParametersDto.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.nl.wms.basedata.master.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* @description / -* @author zhouz -* @date 2021-12-07 -**/ -@Data - -public class MaterialParametersDto implements Serializable { - - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long material_id; - - /** 物料编码 */ - private String material_code; - - /** 物料名称 */ - private String material_name; - - private String material_spec; - - private String material_model; - - private String english_name; - - private Long base_unit_id; - - private String approve_fileno; - - private String print_no; - - /** 物料分类 */ - private Long material_type_id; - - - private Long len_unit_id; - - private BigDecimal length; - - private BigDecimal width; - - private BigDecimal height; - - /** 计量单位 */ - private Long weight_unit_id; - - private BigDecimal gross_weight; - - private BigDecimal net_weight; - - private Long cubage_unit_id; - - private BigDecimal cubage; - - private Long create_id; - - private String create_name; - - private String create_time; - - private Long update_optid; - - private String update_optname; - - private String update_time; - - private String is_used_time; - - /** 是否启用 */ - private String is_used; - - private String is_delete; - - private String ext_id; - - private String material_height_type; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SemirealrawmaterialDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SemirealrawmaterialDto.java deleted file mode 100644 index 316588d..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SemirealrawmaterialDto.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.nl.wms.basedata.master.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; - -/** -* @description / -* @author geng by -* @date 2022-05-31 -**/ -@Data -public class SemirealrawmaterialDto implements Serializable { - - /** 关系标识 */ - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long relation_id; - - /** 半成品标识 */ - private Long semi_material_id; - - /** 原材料标识 */ - private Long raw_material_id; - - /** 创建人 */ - private Long create_id; - - /** 创建人姓名 */ - private String create_name; - - /** 创建时间 */ - private String create_time; - - /** 修改人 */ - private Long update_optid; - - /** 修改人姓名 */ - private String update_optname; - - /** 修改时间 */ - private String update_time; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_BUSINESSTYPEMATERIAL.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_BUSINESSTYPEMATERIAL.wql deleted file mode 100644 index e89ac05..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_BUSINESSTYPEMATERIAL.wql +++ /dev/null @@ -1,61 +0,0 @@ -[交易说明] - 交易名: 业务单据类型物料对应分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.inv_type_code TYPEAS s_string - - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - b.* - FROM - md_pb_businesstypematerial b - WHERE - b.is_delete = '0' - - OPTION 输入.inv_type_code <> "" - (b.inv_type_code like 输入.inv_type_code or - b.inv_type_name like 输入.inv_type_code ) - ENDOPTION - - ENDSELECT - ENDPAGEQUERY - ENDIF - - - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/ClassstandardController.java similarity index 96% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/ClassstandardController.java index 4d71a0c..1d67e1d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/ClassstandardController.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.rest; +package org.nl.wms.basedata.rest; import cn.hutool.core.map.MapUtil; @@ -11,8 +11,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.logging.annotation.Log; import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.wms.basedata.master.service.ClassstandardService; -import org.nl.wms.basedata.master.service.dto.ClassstandardDto; +import org.nl.wms.basedata.service.ClassstandardService; +import org.nl.wms.basedata.service.dto.ClassstandardDto; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/CustomerbaseController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/CustomerbaseController.java similarity index 92% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/CustomerbaseController.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/CustomerbaseController.java index 56da490..217ac6b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/CustomerbaseController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/CustomerbaseController.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.rest; +package org.nl.wms.basedata.rest; import io.swagger.annotations.Api; @@ -7,8 +7,8 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.master.service.CustomerbaseService; -import org.nl.wms.basedata.master.service.dto.CustomerbaseDto; +import org.nl.wms.basedata.service.CustomerbaseService; +import org.nl.wms.basedata.service.dto.CustomerbaseDto; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/MaterialbaseController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/MaterialbaseController.java similarity index 94% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/MaterialbaseController.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/MaterialbaseController.java index 78627d0..742a3a9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/MaterialbaseController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/MaterialbaseController.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.rest; +package org.nl.wms.basedata.rest; import cn.hutool.core.map.MapUtil; @@ -8,9 +8,9 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.master.eum.MaterOptTypeEnum; -import org.nl.wms.basedata.master.service.MaterialbaseService; -import org.nl.wms.basedata.master.service.dto.MaterialbaseDto; +import org.nl.wms.basedata.eum.MaterOptTypeEnum; +import org.nl.wms.basedata.service.MaterialbaseService; +import org.nl.wms.basedata.service.dto.MaterialbaseDto; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/StoragevehicleinfoController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/StoragevehicleinfoController.java similarity index 92% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/StoragevehicleinfoController.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/StoragevehicleinfoController.java index fdc1d2a..eca68cd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/StoragevehicleinfoController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/StoragevehicleinfoController.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.rest; +package org.nl.wms.basedata.rest; import com.alibaba.fastjson.JSONObject; @@ -8,8 +8,8 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.master.service.StoragevehicleinfoService; -import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto; +import org.nl.wms.basedata.service.StoragevehicleinfoService; +import org.nl.wms.basedata.service.dto.VehicleDto; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -51,7 +51,7 @@ public class StoragevehicleinfoController { @Log("修改载具") @ApiOperation("修改载具") //@SaCheckPermission("mdPbStoragevehicleinfo:edit") - public ResponseEntity update(@Validated @RequestBody StoragevehicleinfoDto dto){ + public ResponseEntity update(@Validated @RequestBody VehicleDto dto){ storagevehicleinfoService.update(dto); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/SupplierbaseController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/SupplierbaseController.java similarity index 91% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/SupplierbaseController.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/SupplierbaseController.java index 09619ba..b6831df 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/SupplierbaseController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/SupplierbaseController.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.rest; +package org.nl.wms.basedata.rest; import io.swagger.annotations.Api; @@ -7,8 +7,8 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.master.service.SupplierbaseService; -import org.nl.wms.basedata.master.service.dto.SupplierbaseDto; +import org.nl.wms.basedata.service.SupplierbaseService; +import org.nl.wms.basedata.service.dto.SupplierbaseDto; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/UnitController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/UnitController.java similarity index 93% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/UnitController.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/UnitController.java index c1f988d..7f8beac 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/UnitController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/rest/UnitController.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.rest; +package org.nl.wms.basedata.rest; import io.swagger.annotations.Api; @@ -7,8 +7,8 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.master.service.UnitService; -import org.nl.wms.basedata.master.service.dto.UnitDto; +import org.nl.wms.basedata.service.UnitService; +import org.nl.wms.basedata.service.dto.UnitDto; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/ClassstandardService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/ClassstandardService.java similarity index 95% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/ClassstandardService.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/ClassstandardService.java index 2772ff7..0c6c699 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/ClassstandardService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/ClassstandardService.java @@ -1,9 +1,9 @@ -package org.nl.wms.basedata.master.service; +package org.nl.wms.basedata.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.master.service.dto.ClassstandardDto; +import org.nl.wms.basedata.service.dto.ClassstandardDto; import org.springframework.data.domain.Pageable; import java.util.List; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/CustomerbaseService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/CustomerbaseService.java similarity index 91% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/CustomerbaseService.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/CustomerbaseService.java index 67bf4c2..8e2420b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/CustomerbaseService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/CustomerbaseService.java @@ -1,7 +1,7 @@ -package org.nl.wms.basedata.master.service; +package org.nl.wms.basedata.service; -import org.nl.wms.basedata.master.service.dto.CustomerbaseDto; +import org.nl.wms.basedata.service.dto.CustomerbaseDto; import org.springframework.data.domain.Pageable; import java.util.List; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/MaterialbaseService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/MaterialbaseService.java similarity index 94% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/MaterialbaseService.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/MaterialbaseService.java index 2f01466..e3dd259 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/MaterialbaseService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/MaterialbaseService.java @@ -1,9 +1,9 @@ -package org.nl.wms.basedata.master.service; +package org.nl.wms.basedata.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.master.service.dto.MaterialbaseDto; +import org.nl.wms.basedata.service.dto.MaterialbaseDto; import org.springframework.data.domain.Pageable; import java.util.List; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/StoragevehicleinfoService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/StoragevehicleinfoService.java similarity index 79% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/StoragevehicleinfoService.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/StoragevehicleinfoService.java index 61ace9d..c8ac1dd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/StoragevehicleinfoService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/StoragevehicleinfoService.java @@ -1,9 +1,9 @@ -package org.nl.wms.basedata.master.service; +package org.nl.wms.basedata.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto; +import org.nl.wms.basedata.service.dto.VehicleDto; import org.springframework.data.domain.Pageable; import java.util.List; @@ -29,21 +29,21 @@ public interface StoragevehicleinfoService { * @param whereJson 条件参数 * @return List */ - List queryAll(Map whereJson); + List queryAll(Map whereJson); /** * 根据ID查询 * @param storagevehicle_id ID * @return MdPbStoragevehicleinfo */ - StoragevehicleinfoDto findById(Long storagevehicle_id); + VehicleDto findById(Long storagevehicle_id); /** * 根据编码查询 * @param code code * @return MdPbStoragevehicleinfo */ - StoragevehicleinfoDto findByCode(String code); + VehicleDto findByCode(String code); /** @@ -56,7 +56,7 @@ public interface StoragevehicleinfoService { * 编辑 * @param dto / */ - void update(StoragevehicleinfoDto dto); + void update(VehicleDto dto); /** * 多选删除 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/SupplierbaseService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/SupplierbaseService.java similarity index 91% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/SupplierbaseService.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/SupplierbaseService.java index 4160412..623345e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/SupplierbaseService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/SupplierbaseService.java @@ -1,7 +1,7 @@ -package org.nl.wms.basedata.master.service; +package org.nl.wms.basedata.service; -import org.nl.wms.basedata.master.service.dto.SupplierbaseDto; +import org.nl.wms.basedata.service.dto.SupplierbaseDto; import org.springframework.data.domain.Pageable; import java.util.List; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/UnitService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/UnitService.java similarity index 92% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/UnitService.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/UnitService.java index a326fc5..b916e41 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/UnitService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/UnitService.java @@ -1,8 +1,8 @@ -package org.nl.wms.basedata.master.service; +package org.nl.wms.basedata.service; import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.master.service.dto.UnitDto; +import org.nl.wms.basedata.service.dto.UnitDto; import org.springframework.data.domain.Pageable; import java.util.List; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/ClassstandardDto.java similarity index 96% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/ClassstandardDto.java index 2ddb629..ca98538 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/ClassstandardDto.java @@ -1,4 +1,4 @@ -package org.nl.wms.basedata.master.service.dto; +package org.nl.wms.basedata.service.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/CustomerbaseDto.java similarity index 97% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/CustomerbaseDto.java index ae5374b..e52e337 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/CustomerbaseDto.java @@ -1,4 +1,4 @@ -package org.nl.wms.basedata.master.service.dto; +package org.nl.wms.basedata.service.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/MaterialbaseDto.java similarity index 97% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialbaseDto.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/MaterialbaseDto.java index ce35192..b8b4ac8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialbaseDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/MaterialbaseDto.java @@ -1,4 +1,4 @@ -package org.nl.wms.basedata.master.service.dto; +package org.nl.wms.basedata.service.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SupplierbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/SupplierbaseDto.java similarity index 97% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SupplierbaseDto.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/SupplierbaseDto.java index 57fb0b2..2ac434d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SupplierbaseDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/SupplierbaseDto.java @@ -1,4 +1,4 @@ -package org.nl.wms.basedata.master.service.dto; +package org.nl.wms.basedata.service.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/UnitDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/UnitDto.java similarity index 93% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/UnitDto.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/UnitDto.java index 7168b6e..15d89f4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/UnitDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/UnitDto.java @@ -1,4 +1,4 @@ -package org.nl.wms.basedata.master.service.dto; +package org.nl.wms.basedata.service.dto; import lombok.Data; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/VehicleDto.java similarity index 84% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/VehicleDto.java index 171d914..a856a22 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/VehicleDto.java @@ -1,4 +1,4 @@ -package org.nl.wms.basedata.master.service.dto; +package org.nl.wms.basedata.service.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -13,15 +13,15 @@ import java.math.BigDecimal; * @date 2021-12-09 **/ @Data -public class StoragevehicleinfoDto implements Serializable { +public class VehicleDto implements Serializable { /** 防止精度丢失 */ @JsonSerialize(using= ToStringSerializer.class) private Long storagevehicle_id; - private String storagevehicle_code; + private String vehicle_code; - private String storagevehicle_name; + private String vehicle_name; private String one_code; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/ClassstandardServiceImpl.java similarity index 99% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/ClassstandardServiceImpl.java index 35d304f..5caa5cf 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/ClassstandardServiceImpl.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.service.impl; +package org.nl.wms.basedata.service.impl; import cn.hutool.core.date.DateUtil; @@ -20,8 +20,8 @@ import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.ClassstandardService; -import org.nl.wms.basedata.master.service.dto.ClassstandardDto; +import org.nl.wms.basedata.service.ClassstandardService; +import org.nl.wms.basedata.service.dto.ClassstandardDto; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/CustomerbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/CustomerbaseServiceImpl.java similarity index 95% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/CustomerbaseServiceImpl.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/CustomerbaseServiceImpl.java index 4a72e54..c564af7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/CustomerbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/CustomerbaseServiceImpl.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.service.impl; +package org.nl.wms.basedata.service.impl; import cn.hutool.core.date.DateUtil; @@ -16,10 +16,10 @@ import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.ClassstandardService; -import org.nl.wms.basedata.master.service.CustomerbaseService; -import org.nl.wms.basedata.master.service.dto.ClassstandardDto; -import org.nl.wms.basedata.master.service.dto.CustomerbaseDto; +import org.nl.wms.basedata.service.ClassstandardService; +import org.nl.wms.basedata.service.CustomerbaseService; +import org.nl.wms.basedata.service.dto.ClassstandardDto; +import org.nl.wms.basedata.service.dto.CustomerbaseDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java similarity index 96% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java index 5b7e83f..8b69b3f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.service.impl; +package org.nl.wms.basedata.service.impl; import cn.hutool.core.date.DateUtil; @@ -17,10 +17,10 @@ import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.eum.MaterOptTypeEnum; -import org.nl.wms.basedata.master.service.ClassstandardService; -import org.nl.wms.basedata.master.service.MaterialbaseService; -import org.nl.wms.basedata.master.service.dto.MaterialbaseDto; +import org.nl.wms.basedata.eum.MaterOptTypeEnum; +import org.nl.wms.basedata.service.ClassstandardService; +import org.nl.wms.basedata.service.MaterialbaseService; +import org.nl.wms.basedata.service.dto.MaterialbaseDto; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/StoragevehicleinfoServiceImpl.java similarity index 74% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/StoragevehicleinfoServiceImpl.java index 1600e10..389b69b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/StoragevehicleinfoServiceImpl.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.service.impl; +package org.nl.wms.basedata.service.impl; import cn.hutool.core.date.DateUtil; @@ -19,8 +19,8 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.StoragevehicleinfoService; -import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto; +import org.nl.wms.basedata.service.StoragevehicleinfoService; +import org.nl.wms.basedata.service.dto.VehicleDto; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -43,56 +43,48 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService public Map queryAll(Map whereJson, Pageable page) { WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); - String storagevehicle_code_begin = (String) whereJson.get("storagevehicle_code_begin"); - String storagevehicle_code_end = (String) whereJson.get("storagevehicle_code_end"); + String ehicle_code_begin = (String) whereJson.get("ehicle_code_begin"); + String ehicle_code_end = (String) whereJson.get("ehicle_code_end"); String storagevehicle_type = (String) whereJson.get("storagevehicle_type"); HashMap map = new HashMap(); - map.put("storagevehicle_code_begin", storagevehicle_code_begin); - map.put("storagevehicle_code_end", storagevehicle_code_end); + map.put("ehicle_code_begin", ehicle_code_begin); + map.put("ehicle_code_end", ehicle_code_end); map.put("storagevehicle_type", storagevehicle_type); map.put("flag", "1"); - JSONObject json = WQL.getWO("QMD_PB_STORAGEVEHICLEINFO").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "s.storagevehicle_code ASC"); + JSONObject json = WQL.getWO("QMD_PB_STORAGEVEHICLEINFO").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "s.ehicle_code ASC"); JSONArray content = json.getJSONArray("content"); for (int i = 0; i < content.size(); i++) { JSONObject jsonObject = content.getJSONObject(i); - JSONObject jsonTask = taskTab.query("vehicle_code = '" + jsonObject.getString("storagevehicle_code") + "' and task_status <> '99' and is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonTask)) { - jsonObject.put("start_point_code", jsonTask.getString("start_point_code")); - jsonObject.put("next_point_code", jsonTask.getString("next_point_code")); - jsonObject.put("is_task", "1"); - jsonObject.put("point_code", ""); - } else { - jsonObject.put("is_task", "0"); - } + JSONObject jsonTask = taskTab.query("vehicle_code = '" + jsonObject.getString("ehicle_code") + "' and task_status <> '99' and is_delete = '0'").uniqueResult(0); } return json; } @Override - public List queryAll(Map whereJson) { + public List queryAll(Map whereJson) { WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); JSONArray arr = wo.query().getResultJSONArray(0); - List list = arr.toJavaList(StoragevehicleinfoDto.class); + List list = arr.toJavaList(VehicleDto.class); return list; } @Override - public StoragevehicleinfoDto findById(Long storagevehicle_id) { + public VehicleDto findById(Long storagevehicle_id) { WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); JSONObject json = wo.query("storagevehicle_id =" + storagevehicle_id + "").uniqueResult(0); - final StoragevehicleinfoDto obj = json.toJavaObject(StoragevehicleinfoDto.class); + final VehicleDto obj = json.toJavaObject(VehicleDto.class); return obj; } @Override - public StoragevehicleinfoDto findByCode(String code) { + public VehicleDto findByCode(String code) { WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); - JSONObject json = wo.query("storagevehicle_code ='" + code + "'").uniqueResult(0); + JSONObject json = wo.query("ehicle_code ='" + code + "'").uniqueResult(0); if (ObjectUtil.isEmpty(json)){ throw new BadRequestException("请输入正确的载具号!"); } - final StoragevehicleinfoDto obj = json.toJavaObject(StoragevehicleinfoDto.class); + final VehicleDto obj = json.toJavaObject(VehicleDto.class); return obj; } @@ -100,7 +92,7 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService @Transactional(rollbackFor = Exception.class) public JSONArray create(Map map) { WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); - JSONObject jsonObject = wo.query("storagevehicle_code = '" + map.get("storagevehicle_code") + "' and is_delete = '0'").uniqueResult(0); + JSONObject jsonObject = wo.query("ehicle_code = '" + map.get("ehicle_code") + "' and is_delete = '0'").uniqueResult(0); if (!ObjectUtil.isEmpty(jsonObject)) { throw new BadRequestException("此载具已存在"); } @@ -121,11 +113,11 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService JSONArray resultCodeArr = new JSONArray(); int num = MapUtil.getInt(map, "num"); for (int i = 0; i < num; i++) { - StoragevehicleinfoDto dto = new StoragevehicleinfoDto(); + VehicleDto dto = new VehicleDto(); dto.setStoragevehicle_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setStoragevehicle_code(CodeUtil.getNewCode(code)); + dto.setVehicle_code(CodeUtil.getNewCode(code)); dto.setCreate_id(currentUserId); - dto.setStoragevehicle_name(dto.getStoragevehicle_code()); + dto.setVehicle_name(dto.getVehicle_code()); dto.setCreate_name(nickName); dto.setUpdate_optid(currentUserId); dto.setUpdate_optname(nickName); @@ -134,20 +126,20 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService dto.setStoragevehicle_type((String) map.get("storagevehicle_type")); JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); wo.insert(json); - resultCodeArr.add(dto.getStoragevehicle_code()); + resultCodeArr.add(dto.getVehicle_code()); } return resultCodeArr; } @Override @Transactional(rollbackFor = Exception.class) - public void update(StoragevehicleinfoDto dto) { + public void update(VehicleDto dto) { WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); - JSONObject jsonObject = wo.query("storagevehicle_code = '" + dto.getStoragevehicle_code() + "' and is_delete = '0'").uniqueResult(0); + JSONObject jsonObject = wo.query("ehicle_code = '" + dto.getVehicle_code() + "' and is_delete = '0'").uniqueResult(0); if (!ObjectUtil.isEmpty(jsonObject)) { throw new BadRequestException("此载具已存在"); } - StoragevehicleinfoDto entity = this.findById(dto.getStoragevehicle_id()); + VehicleDto entity = this.findById(dto.getStoragevehicle_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); Long currentUserId = SecurityUtils.getCurrentUserId(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SupplierbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/SupplierbaseServiceImpl.java similarity index 95% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SupplierbaseServiceImpl.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/SupplierbaseServiceImpl.java index 6d5e365..44deb3b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SupplierbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/SupplierbaseServiceImpl.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.service.impl; +package org.nl.wms.basedata.service.impl; import cn.hutool.core.date.DateUtil; @@ -16,10 +16,10 @@ import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.ClassstandardService; -import org.nl.wms.basedata.master.service.SupplierbaseService; -import org.nl.wms.basedata.master.service.dto.ClassstandardDto; -import org.nl.wms.basedata.master.service.dto.SupplierbaseDto; +import org.nl.wms.basedata.service.ClassstandardService; +import org.nl.wms.basedata.service.SupplierbaseService; +import org.nl.wms.basedata.service.dto.ClassstandardDto; +import org.nl.wms.basedata.service.dto.SupplierbaseDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/UnitServiceImpl.java similarity index 97% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/UnitServiceImpl.java index c396e9c..e7df20f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/UnitServiceImpl.java @@ -1,5 +1,5 @@ -package org.nl.wms.basedata.master.service.impl; +package org.nl.wms.basedata.service.impl; import cn.hutool.core.date.DateUtil; @@ -16,8 +16,8 @@ import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.UnitService; -import org.nl.wms.basedata.master.service.dto.UnitDto; +import org.nl.wms.basedata.service.UnitService; +import org.nl.wms.basedata.service.dto.UnitDto; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/IvtChangeTypeEnum.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/IvtChangeTypeEnum.java deleted file mode 100644 index 402eb99..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/IvtChangeTypeEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.nl.wms.basedata.st; - -/** - * // 11-扣减可用; 12-增加可用; - * // 21-减库存; 22-加库存; 23-同时加; 24-同时减 - */ -public enum IvtChangeTypeEnum { - SUB_CAN_USE("扣减可用数", 11), - ADD_CAN_USE("增加用数", 12), - - SUB_IVT("扣减库存", 21), - ADD_IVT("增加库存", 22), - ADD_IVT_AND_CAN_USE("同时加库存和可用", 23), - SUB_IVT_AND_CAN_USE("同时减库存和可用", 24); - - private final String name; - private final int index; - - IvtChangeTypeEnum(String name, int index) { - this.name = name; - this.index = index; - } - - public String getName() { - return name; - } - - public int getIndex() { - return index; - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/StoreIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/StoreIvtServiceImpl.java deleted file mode 100644 index 45cf89d..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/StoreIvtServiceImpl.java +++ /dev/null @@ -1,297 +0,0 @@ -package org.nl.wms.basedata.st; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.wql.core.bean.WQLObject; - -import java.math.BigDecimal; - -/** - * Title: Test.java Description: 一、入库 单据审核,可用数、库存数加上。 取消审核,可用数、库存数减掉 二、出库 - * 单据分配,可用数减掉 取消分配,可用数加回 单据审核,库存数减掉 取消审核,库存数加回 - * - * @author ldjun - * @created 2020年7月23日 下午2:23:04 - */ -public class StoreIvtServiceImpl { - /** - * @discription 添加仓储变动记录 - * @author ldjun - * @created 2020年5月12日 下午12:54:42 - */ - public void addIvtFlow(JSONObject disObj, IvtChangeTypeEnum changeType) { - String struct_id = disObj.getString("struct_id"); - JSONObject pointObj = WQLObject.getWQLObject("sch_base_point").query("point_id ='" + struct_id + "'").uniqueResult(0); - String vehicle_code = disObj.getString("vehicle_code"); - if (StrUtil.isEmpty(struct_id)) { - throw new BadRequestException("仓位标识不能为空!"); - } - String change_qty = disObj.getString("change_qty"); - if (StrUtil.isEmpty(change_qty)) { - change_qty = "0"; - } - if (StrUtil.equals("0", change_qty)) { - throw new BadRequestException("变动量不能都为0!"); - } - JSONObject param = new JSONObject(); - param.put("change_id", IdUtil.getSnowflake(1, 1).nextId()); - param.put("struct_id", struct_id); - param.put("struct_code",pointObj.getString("point_code")); - param.put("struct_name",pointObj.getString("point_name")); - param.put("material_id", disObj.getString("material_id")); - param.put("pcsn", disObj.getString("pcsn")); - //先默认写死,只有一个仓库 - param.put("stor_id", "1528627995269533696"); - param.put("change_type_scode",changeType.getIndex()); - - param.put("inv_id", disObj.getString("bill_id")); - param.put("bill_code", disObj.getString("bill_code")); - param.put("bill_type_scode", disObj.getString("bill_type_scode")); - param.put("qty_unit_id", disObj.getString("qty_unit_id")); - param.put("change_time", DateUtil.now()); - param.put("change_qty", change_qty); - param.put("change_person_id", SecurityUtils.getCurrentUserId()); - param.put("change_person_name", SecurityUtils.getCurrentNickName()); - - - param.put("change_type", changeType.getIndex()); - param.put("region_id", disObj.getString("region_id")); - param.put("is_full", disObj.getString("is_full")); - - - // 仓位库存变动记录表【ST_IVT_StructIvtFlow】 - WQLObject ivtFlowTab = WQLObject.getWQLObject("ST_IVT_StructIvtFlow"); - ivtFlowTab.insert(param); - // 根据变动记录改变仓位库存 - param.put("vehicle_code", vehicle_code); - param.put("stewing_time", disObj.getString("stewing_time")); - param.put("producetask_id", disObj.getString("producetask_id")); - this.changeInventory(param, changeType); - } - - /** - * @param param - * @discription 扣减可用数 - * @author ldjun - * @created 2020年5月12日 上午8:52:44 - */ - private void changeInventory(JSONObject param, IvtChangeTypeEnum changeType) { - WQLObject stackIvtTab = WQLObject.getWQLObject("ST_IVT_StructIvt"); - String struct_id = param.getString("struct_id"); - String vehicle_code = param.getString("vehicle_code"); - String stewing_time = param.getString("stewing_time"); - String producetask_id = param.getString("producetask_id"); - String struct_name = param.getString("struct_name"); - String struct_code = param.getString("struct_code"); - if (StrUtil.isEmpty(struct_id)) { - throw new BadRequestException("仓位标识不能为空!"); - } - - String material_id = param.getString("material_id"); - // 拼接查询条件参数 - String whereArgs = "struct_id = '" + struct_id + "' and material_id = '" + material_id + "'"; - JSONObject stackIvtObj = stackIvtTab.query(whereArgs).uniqueResult(0); - - // 需变动的数量 - String change_qty = param.getString("change_qty"); - - // 变动类型 - // 11-扣减可用; 12-增加可用; 13-刷新可用 - // 21-减库存; 22-加库存; 23-同时加; 24-同时减 - // 31-加待入; 32-减待入 33减库存可用数可以为0 34同时减(库存和数量) 考虑负数 35 加库存 考虑负数 - if (stackIvtObj == null) {// 说明该货位上还没有该物料,直接插入记录即可 - JSONObject json = new JSONObject(); - json.put("stockrecord_id", IdUtil.getSnowflake(1, 1).nextId()); - json.put("struct_id", param.getString("struct_id")); - json.put("struct_name", param.getString("struct_name")); - json.put("material_id", param.getString("material_id")); - - json.put("pcsn", param.getString("pcsn")); - json.put("qty_unit_id", param.getString("qty_unit_id")); - json.put("instorage_time", DateUtil.now()); - - json.put("canuse_qty", "0"); - json.put("frozen_qty", "0"); - json.put("ivt_qty", "0"); - json.put("warehousing_qty", "0"); - json.put("qc_qty", "0"); - - // 11-扣减可用; 12-增加可用; - // 21-减库存; 22-加库存; 23-同时加(可用和库存); 24-同时减(可用和库存) - // 31-加待入; 32-减待入 - switch (changeType.getIndex()) { - case 11: // 扣减可用重量和数量 - break; - - case 12: - break; - case 13: - break; - case 21: - break; - case 22: - json.put("ivt_qty", change_qty); - break; - case 23: - json.put("ivt_qty", change_qty); - json.put("canuse_qty", change_qty); - break; - case 24:// 同时减 - // 语句 - break; - case 31:// 加待入 - // 语句 - break; - case 32:// 减待入 - // 语句 - break; - default: // 可选 - throw new BadRequestException("变动类型不正确!"); - } - json.put("vehicle_code", vehicle_code); - json.put("stewing_time", stewing_time); - json.put("producetask_id", producetask_id); - json.put("struct_code", struct_code); - json.put("struct_name", struct_name); - json.put("barcode", param.getString("barcode")); - json.put("region_id", param.getString("region_id")); - String is_full = param.getString("is_full"); - if (StrUtil.isEmpty(is_full)) { - is_full = "1"; - } - json.put("is_full", is_full); - - stackIvtTab.insert(json); - } - // 对应的货位上有物料,需判断数量重量相关字段是否符合实际逻辑,符合时更新相应记录 - if (stackIvtObj != null) { - // 变动前可用数量 - String before_canuse_qty = stackIvtObj.getString("canuse_qty"); - // 变动前冻结数量 - String before_frozen_qty = stackIvtObj.getString("frozen_qty"); - // 变动前库存数量 - String before_ivt_qty = stackIvtObj.getString("ivt_qty"); - // 变动前待入数量 - String before_warehousing_qty = stackIvtObj.getString("warehousing_qty"); - // 变动前待检数量 - String before_qc_qty = stackIvtObj.getString("qc_qty"); - - // 变动后可用数量 - BigDecimal after_canuse_qty = new BigDecimal(0); - // 变动后冻结数量 - BigDecimal after_frozen_qty = new BigDecimal(0); - // 变动后库存数量 - BigDecimal after_ivt_qty = new BigDecimal(0); - // 变动后待入数量 - BigDecimal after_warehousing_qty = new BigDecimal(0); - // 变动后待检数量 - BigDecimal after_qc_qty = new BigDecimal(0); - - // 判断是否减为0 - boolean is_sub0 = false; - switch (changeType.getIndex()) { - case 11: // 扣减可用重量和数量 - // 变动后可用数量 - after_canuse_qty = NumberUtil.sub(before_canuse_qty, change_qty); - if (after_canuse_qty.doubleValue() < 0) { - throw new BadRequestException("可用数量不足,无法操作!"); - } - stackIvtObj.put("canuse_qty", after_canuse_qty); - break; - case 12:// 12-增加可用重量和数量; - // 变动后可用数量 - after_canuse_qty = NumberUtil.add(before_canuse_qty, change_qty); - stackIvtObj.put("canuse_qty", after_canuse_qty); - break; - case 13:// 刷新可用数量和重量 - // 语句 - break; - case 21:// 减库存 - // 变动后库存数量 - after_ivt_qty = NumberUtil.sub(before_ivt_qty, change_qty); - if (after_ivt_qty.doubleValue() < 0) { - throw new BadRequestException("可用数量不足,无法操作!"); - } - if (after_ivt_qty.doubleValue() <= 0) { - is_sub0 = true; - } - stackIvtObj.put("ivt_qty", after_ivt_qty); - break; - case 33:// 减库存 - after_ivt_qty = NumberUtil.sub(before_ivt_qty, change_qty); - if (after_ivt_qty.doubleValue() < 0) { - throw new BadRequestException("库存数量不足,无法操作!"); - } - if (after_ivt_qty.doubleValue() <= 0) { - is_sub0 = true; - } - stackIvtObj.put("ivt_qty", after_ivt_qty); - break; - case 22:// 加库存重量和数量 - // 变动后库存数量 - after_ivt_qty = NumberUtil.add(before_ivt_qty, change_qty); - stackIvtObj.put("ivt_qty", after_ivt_qty); - break; - case 23:// 同时加(可用和库存) - // 变动后可用数量 - after_canuse_qty = NumberUtil.add(before_canuse_qty, change_qty); - stackIvtObj.put("canuse_qty", after_canuse_qty); - - // 变动后库存数量 - after_ivt_qty = NumberUtil.add(before_ivt_qty, change_qty); - stackIvtObj.put("ivt_qty", after_ivt_qty); - // 语句 - break; - case 24:// 同时减(库存和数量) - // 变动后可用数量 - after_canuse_qty = NumberUtil.sub(before_canuse_qty, change_qty); - if (after_canuse_qty.doubleValue() < 0) { - throw new BadRequestException("可用数量不足,无法操作!"); - } - stackIvtObj.put("canuse_qty", after_canuse_qty); - - // 变动后库存数量 - after_ivt_qty = NumberUtil.sub(before_ivt_qty, change_qty); - if (after_ivt_qty.doubleValue() < 0) { - throw new BadRequestException("可用数量不足,无法操作!"); - } - if (after_ivt_qty.doubleValue() <= 0) { - is_sub0 = true; - } - stackIvtObj.put("ivt_qty", after_ivt_qty); - // 语句 - - break; - case 31:// 加待入 - // 语句 - break; - case 32:// 减待入 - // 语句 - break; - default: // 可选 - throw new BadRequestException("变动类型不正确!"); - } - - - // 库存减为0,删除该记录 - if (is_sub0) { - // 出完货以后更新载具号为空 - JSONObject structObj = new JSONObject(); - structObj.put("storagevehicle_code", ""); - structObj.put("struct_id", stackIvtObj.getString("struct_id")); - stackIvtTab.delete(whereArgs); - - } else {//更新 - stackIvtObj.put("vehicle_code", vehicle_code); - stackIvtTab.update(stackIvtObj, whereArgs); - } - - } - - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/SectattrController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/SectattrController.java deleted file mode 100644 index e55d4a3..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/SectattrController.java +++ /dev/null @@ -1,84 +0,0 @@ - -package org.nl.wms.basedata.st.rest; - - -import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.st.service.SectattrService; -import org.nl.wms.basedata.st.service.dto.SectattrDto; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** -* @author zhouz -* @date 2021-12-09 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "库区管理") -@RequestMapping("/api/sectattr") -@Slf4j -public class SectattrController { - - private final SectattrService sectattrService; - - @GetMapping - @Log("查询库区") - @ApiOperation("查询库区") - //@SaCheckPermission("sectattr:list") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(sectattrService.queryAll(whereJson,page),HttpStatus.OK); - } - - @PostMapping - @Log("新增库区") - @ApiOperation("新增库区") - //@SaCheckPermission("sectattr:add") - public ResponseEntity create(@Validated @RequestBody SectattrDto dto){ - sectattrService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改库区") - @ApiOperation("修改库区") - //@SaCheckPermission("sectattr:edit") - public ResponseEntity update(@Validated @RequestBody SectattrDto dto){ - sectattrService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除库区") - @ApiOperation("删除库区") - //@SaCheckPermission("sectattr:del") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - sectattrService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @GetMapping("/getSect") - @Log("查询库区下拉框") - @ApiOperation("查询库区下拉框") - //@SaCheckPermission("materialtype:list") - public ResponseEntity querySect(@RequestParam Map whereJson) { - return new ResponseEntity<>(sectattrService.getSect(whereJson), HttpStatus.OK); - } - - @PutMapping("/changeActive") - @Log("修改库区状态") - @ApiOperation("修改库区状态") - public ResponseEntity update(@RequestBody JSONObject json) { - sectattrService.changeActive(json); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StorattrController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StorattrController.java deleted file mode 100644 index ae825d3..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StorattrController.java +++ /dev/null @@ -1,84 +0,0 @@ - -package org.nl.wms.basedata.st.rest; - - -import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.st.service.StorattrService; -import org.nl.wms.basedata.st.service.dto.StorattrDto; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** -* @author zhouz -* @date 2021-12-08 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "仓库管理") -@RequestMapping("/api/Storattr") -@Slf4j -public class StorattrController { - - private final StorattrService storattrService; - - @GetMapping - @Log("查询仓库") - @ApiOperation("查询仓库") - //@SaCheckPermission("Storattr:list") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(storattrService.queryAll(whereJson,page),HttpStatus.OK); - } - - @PostMapping - @Log("新增仓库") - @ApiOperation("新增仓库") - //@SaCheckPermission("Storattr:addgetStor") - public ResponseEntity create(@Validated @RequestBody StorattrDto dto){ - storattrService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改仓库") - @ApiOperation("修改仓库") - //@SaCheckPermission("Storattr:edit") - public ResponseEntity update(@Validated @RequestBody StorattrDto dto){ - storattrService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除仓库") - @ApiOperation("删除仓库") - //@SaCheckPermission("Storattr:del") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - storattrService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @GetMapping("/getStor") - @Log("查询仓库下拉框") - @ApiOperation("查询仓库下拉框") - //@SaCheckPermission("materialtype:list") - public ResponseEntity queryStor(@RequestParam Map whereJson) { - return new ResponseEntity<>(storattrService.getStor(whereJson), HttpStatus.OK); - } - - @PutMapping("/changeActive") - @Log("修改仓库管理状态") - @ApiOperation("修改仓库管理状态") - public ResponseEntity update(@RequestBody JSONObject json) { - storattrService.changeActive(json); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructattrController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructattrController.java deleted file mode 100644 index 0b481f9..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructattrController.java +++ /dev/null @@ -1,76 +0,0 @@ - -package org.nl.wms.basedata.st.rest; - - -import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.st.service.StructattrService; -import org.nl.wms.basedata.st.service.dto.StructattrDto; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** -* @author zhouz -* @date 2021-12-09 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "仓位管理") -@RequestMapping("/api/structattr") -@Slf4j -public class StructattrController { - - private final StructattrService structattrService; - - @GetMapping - @Log("查询仓位") - @ApiOperation("查询仓位") - //@SaCheckPermission("structattr:list") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(structattrService.queryAll(whereJson,page),HttpStatus.OK); - } - - @PostMapping - @Log("新增仓位") - @ApiOperation("新增仓位") - //@SaCheckPermission("structattr:add") - public ResponseEntity create(@Validated @RequestBody StructattrDto dto){ - structattrService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改仓位") - @ApiOperation("修改仓位") - //@SaCheckPermission("structattr:edit") - public ResponseEntity update(@Validated @RequestBody StructattrDto dto){ - structattrService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除仓位") - @ApiOperation("删除仓位") - //@SaCheckPermission("structattr:del") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - structattrService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PutMapping("/changeActive") - @Log("修改仓位状态") - @ApiOperation("修改仓位状态") - public ResponseEntity update(@RequestBody JSONObject json) { - structattrService.changeActive(json); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructivtController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructivtController.java deleted file mode 100644 index f518354..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructivtController.java +++ /dev/null @@ -1,93 +0,0 @@ - -package org.nl.wms.basedata.st.rest; - - -import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.st.service.StructivtService; -import org.nl.wms.basedata.st.service.dto.StructivtDto; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** -* @author geng by -* @date 2022-06-02 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "库存管理管理") -@RequestMapping("/api/structivt") -@Slf4j -public class StructivtController { - - private final StructivtService structivtService; - - @GetMapping - @Log("查询库存管理") - @ApiOperation("查询库存管理") - //@SaCheckPermission("structivt:list") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(structivtService.queryAll(whereJson,page),HttpStatus.OK); - } - - @PostMapping - @Log("新增库存管理") - @ApiOperation("新增库存管理") - //@SaCheckPermission("structivt:add") - public ResponseEntity create(@Validated @RequestBody StructivtDto dto){ - structivtService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改库存管理") - @ApiOperation("修改库存管理") - //@SaCheckPermission("structivt:edit") - public ResponseEntity update(@Validated @RequestBody StructivtDto dto){ - structivtService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除库存管理") - @ApiOperation("删除库存管理") - //@SaCheckPermission("structivt:del") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - structivtService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @GetMapping("/getStruct") - @Log("查询仓位下拉") - @ApiOperation("查询仓位下拉") - //@SaCheckPermission("structivt:list") - public ResponseEntity getStruct(){ - return new ResponseEntity<>(structivtService.getStruct(),HttpStatus.OK); - } - - @PostMapping("/getStructById") - @Log("根据仓位id查询仓位信息") - @ApiOperation("根据仓位id查询仓位信息") - //@SaCheckPermission("structivt:list") - public ResponseEntity getStructById(@RequestBody JSONObject param){ - return new ResponseEntity<>(structivtService.getStructById(param),HttpStatus.OK); - } - - @GetMapping("/getUnits") - @Log("查询计量单位下拉") - @ApiOperation("查询计量单位下拉") - //@SaCheckPermission("structivt:list") - public ResponseEntity getUnits(){ - return new ResponseEntity<>(structivtService.getUnits(),HttpStatus.OK); - } - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructrelamaterialController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructrelamaterialController.java deleted file mode 100644 index 3767052..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructrelamaterialController.java +++ /dev/null @@ -1,85 +0,0 @@ - -package org.nl.wms.basedata.st.rest; - - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.st.service.StructrelamaterialService; -import org.nl.wms.basedata.st.service.dto.StructrelamaterialDto; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** -* @author zhouz -* @date 2021-12-09 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "物料存放设置管理") -@RequestMapping("/api/structrelamaterial") -@Slf4j -public class StructrelamaterialController { - - private final StructrelamaterialService structrelamaterialService; - - @GetMapping - @Log("查询物料存放设置") - @ApiOperation("查询物料存放设置") - //@SaCheckPermission("structrelamaterial:list") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(structrelamaterialService.queryAll(whereJson,page),HttpStatus.OK); - } - - @PostMapping - @Log("新增物料存放设置") - @ApiOperation("新增物料存放设置") - //@SaCheckPermission("structrelamaterial:add") - public ResponseEntity create(@Validated @RequestBody StructrelamaterialDto dto){ - structrelamaterialService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改物料存放设置") - @ApiOperation("修改物料存放设置") - //@SaCheckPermission("structrelamaterial:edit") - public ResponseEntity update(@Validated @RequestBody StructrelamaterialDto dto){ - structrelamaterialService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除物料存放设置") - @ApiOperation("删除物料存放设置") - //@SaCheckPermission("structrelamaterial:del") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - structrelamaterialService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PostMapping("/insertSet") - @Log("插入物料存放设置") - @ApiOperation("插入物料存放设置") - //@SaCheckPermission("structrelamaterial:edit") - public ResponseEntity insertSet(@RequestBody Map whereJson){ - structrelamaterialService.insertSet(whereJson); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PostMapping("/delSet") - @Log("删除物料存放设置") - @ApiOperation("删除物料存放设置") - //@SaCheckPermission("structrelamaterial:edit") - public ResponseEntity delSet(@RequestBody Map whereJson){ - structrelamaterialService.delSet(whereJson); - return new ResponseEntity<>(HttpStatus.OK); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/SectattrService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/SectattrService.java deleted file mode 100644 index 7e6bd97..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/SectattrService.java +++ /dev/null @@ -1,74 +0,0 @@ - -package org.nl.wms.basedata.st.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.st.service.dto.SectattrDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** -* @description 服务接口 -* @author zhouz -* @date 2021-12-09 -**/ -public interface SectattrService { - - /** - * 查询数据分页 - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * @param sect_id ID - * @return Sectattr - */ - SectattrDto findById(Long sect_id); - - /** - * 根据编码查询 - * @param code code - * @return Sectattr - */ - SectattrDto findByCode(String code); - - - /** - * 创建 - * @param dto / - */ - void create(SectattrDto dto); - - /** - * 编辑 - * @param dto / - */ - void update(SectattrDto dto); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Long[] ids); - - JSONObject getSect(Map whereJson); - - /** - * 改变启用状态 - * @param json - */ - void changeActive(JSONObject json); - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StorattrService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StorattrService.java deleted file mode 100644 index b095b5c..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StorattrService.java +++ /dev/null @@ -1,74 +0,0 @@ - -package org.nl.wms.basedata.st.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.st.service.dto.StorattrDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** -* @description 服务接口 -* @author zhouz -* @date 2021-12-08 -**/ -public interface StorattrService { - - /** - * 查询数据分页 - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * @param stor_id ID - * @return Storattr - */ - StorattrDto findById(Long stor_id); - - /** - * 根据编码查询 - * @param code code - * @return Storattr - */ - StorattrDto findByCode(String code); - - - /** - * 创建 - * @param dto / - */ - void create(StorattrDto dto); - - /** - * 编辑 - * @param dto / - */ - void update(StorattrDto dto); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Long[] ids); - - JSONObject getStor(Map whereJson); - - /** - * 改变启用状态 - * @param json - */ - void changeActive(JSONObject json); - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructattrService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructattrService.java deleted file mode 100644 index b316562..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructattrService.java +++ /dev/null @@ -1,72 +0,0 @@ - -package org.nl.wms.basedata.st.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.st.service.dto.StructattrDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** -* @description 服务接口 -* @author zhouz -* @date 2021-12-09 -**/ -public interface StructattrService { - - /** - * 查询数据分页 - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * @param struct_id ID - * @return Structattr - */ - StructattrDto findById(Long struct_id); - - /** - * 根据编码查询 - * @param code code - * @return Structattr - */ - StructattrDto findByCode(String code); - - - /** - * 创建 - * @param dto / - */ - void create(StructattrDto dto); - - /** - * 编辑 - * @param dto / - */ - void update(StructattrDto dto); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Long[] ids); - - /** - * 改变启用状态 - * @param json - */ - void changeActive(JSONObject json); - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructivtService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructivtService.java deleted file mode 100644 index 70a5989..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructivtService.java +++ /dev/null @@ -1,72 +0,0 @@ - -package org.nl.wms.basedata.st.service; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.st.service.dto.StructivtDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** -* @description 服务接口 -* @author geng by -* @date 2022-06-02 -**/ -public interface StructivtService { - - /** - * 查询数据分页 - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * @param stockrecord_id ID - * @return Structivt - */ - StructivtDto findById(Long stockrecord_id); - - /** - * 根据编码查询 - * @param code code - * @return Structivt - */ - StructivtDto findByCode(String code); - - - /** - * 创建 - * @param dto / - */ - void create(StructivtDto dto); - - /** - * 编辑 - * @param dto / - */ - void update(StructivtDto dto); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Long[] ids); - - JSONArray getStruct(); - - JSONObject getStructById(JSONObject param); - - JSONArray getUnits(); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructrelamaterialService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructrelamaterialService.java deleted file mode 100644 index ca3b70d..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructrelamaterialService.java +++ /dev/null @@ -1,69 +0,0 @@ - -package org.nl.wms.basedata.st.service; - -import org.nl.wms.basedata.st.service.dto.StructrelamaterialDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** -* @description 服务接口 -* @author zhouz -* @date 2021-12-09 -**/ -public interface StructrelamaterialService { - - /** - * 查询数据分页 - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * @param material_type_id ID - * @return Structrelamaterial - */ - StructrelamaterialDto findById(Long material_type_id); - - /** - * 根据编码查询 - * @param code code - * @return Structrelamaterial - */ - StructrelamaterialDto findByCode(String code); - - - /** - * 创建 - * @param dto / - */ - void create(StructrelamaterialDto dto); - - /** - * 编辑 - * @param dto / - */ - void update(StructrelamaterialDto dto); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Long[] ids); - - void insertSet(Map whereJson); - - void delSet(Map whereJson); - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/MaterialsafeivtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/MaterialsafeivtDto.java deleted file mode 100644 index 861caff..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/MaterialsafeivtDto.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.nl.wms.basedata.st.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* @description / -* @author zhouz -* @date 2021-12-10 -**/ -@Data -public class MaterialsafeivtDto implements Serializable { - - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long stor_id; - - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long material_id; - - private BigDecimal safe_ivt_down; - - private BigDecimal safe_ivt_up; - - private Long qty_unit_id; - - private String qty_unit_name; - - private Long set_id; - - private String set_name; - - private String set_time; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/SectattrDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/SectattrDto.java deleted file mode 100644 index be57048..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/SectattrDto.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.nl.wms.basedata.st.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* @description / -* @author zhouz -* @date 2021-12-09 -**/ -@Data -public class SectattrDto implements Serializable { - - /** 库区标识 */ - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long sect_id; - - /** 库区编码 */ - private String sect_code; - - /** 库区名称 */ - private String sect_name; - - /** 库区简称 */ - private String simple_name; - - /** 库区类型 */ - private String sect_type_attr; - - /** 仓库标识 */ - private Long stor_id; - - /** 仓库名称 */ - private String stor_name; - - /** 仓库类型 */ - private String stor_type; - - /** 容量 */ - private BigDecimal capacity; - - /** 宽度 */ - private BigDecimal width; - - /** 高度 */ - private BigDecimal height; - - /** 深度 */ - private BigDecimal zdepth; - - /** 起始X坐标 */ - private BigDecimal xqty; - - /** 起始Y坐标 */ - private BigDecimal yqty; - - /** 起始Z坐标 */ - private BigDecimal zqty; - - /** 负责人 */ - private String sect_manager_name; - - /** 负责人电话 */ - private String mobile_no; - - /** 备注 */ - private String remark; - - /** 创建人 */ - private Long create_id; - - /** 创建人姓名 */ - private String create_name; - - /** 创建时间 */ - private String create_time; - - /** 修改人 */ - private Long update_optid; - - /** 修改人姓名 */ - private String update_optname; - - /** 修改时间 */ - private String update_time; - - /** 是否删除 */ - private String is_delete; - - /** 背景色 */ - private String back_ground_color; - - /** 前景色 */ - private String front_ground_color; - - /** 背景图片 */ - private String back_ground_pic; - - /** 字体显示方向 */ - private String font_direction_scode; - - /** 所在楼层 */ - private BigDecimal floor_no; - - /** 是否启用 */ - private String is_used; - - /** 外部标识 */ - private String ext_id; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StorattrDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StorattrDto.java deleted file mode 100644 index fb16efe..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StorattrDto.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.nl.wms.basedata.st.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* @description / -* @author zhouz -* @date 2021-12-08 -**/ -@Data -public class StorattrDto implements Serializable { - - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long stor_id; - - /** 仓库编码 */ - private String stor_code; - - /** 仓库名称 */ - private String stor_name; - - /** 简称 */ - private String simple_name; - - /** 容量 */ - private BigDecimal stor_capacity; - - /** 总面积(㎡) */ - private BigDecimal total_area; - - /** 仓库性质 */ - private String stor_type_scode; - - private String is_virtualstore; - - private String is_semi_finished; - - private String is_materialstore; - - private String is_productstore; - - private String is_reversed; - - private String is_mvout_auto_cfm; - - private String is_mvin_auto_cfm; - - private String area; - - /** 地址 */ - private String storea_ddress; - - /** 负责人 */ - private String principal; - - /** 联系电话 */ - private String office_phone; - - private String mobile_no; - - /** 备注 */ - private String remark; - - private BigDecimal order_index; - - private String whstate_scode; - - /** 是否启用 */ - private String is_used; - - private String base_class_id; - - private Long create_id; - - private String create_name; - - private String create_time; - - private Long update_optid; - - private String update_optname; - - private String update_time; - - private Long sysownerid; - - private Long sysdeptid; - - private Long syscompanyid; - - private String is_delete; - - private String ext_id; - - private String depart_name; - - private String company_name; - - private String is_attachment; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructattrDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructattrDto.java deleted file mode 100644 index 6b4fb95..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructattrDto.java +++ /dev/null @@ -1,145 +0,0 @@ -package org.nl.wms.basedata.st.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* @description / -* @author zhouz -* @date 2021-12-09 -**/ -@Data -public class StructattrDto implements Serializable { - - /** 仓位标识 */ - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long struct_id; - - /** 仓位编码 */ - private String struct_code; - - /** 仓位名称 */ - private String struct_name; - - /** 仓位简称 */ - private String simple_name; - - /** 库区标识 */ - private Long sect_id; - - /** 库区编码 */ - private String sect_code; - - /** 库区名称 */ - private String sect_name; - - /** 仓库标识 */ - private Long stor_id; - - /** 仓库编码 */ - private String stor_code; - - /** 仓库名称 */ - private String stor_name; - - /** 仓库类型 */ - private String stor_type; - - /** 容量 */ - private BigDecimal capacity; - - /** 宽度 */ - private BigDecimal width; - - /** 高度 */ - private BigDecimal height; - - /** 深度 */ - private BigDecimal zdepth; - - /** 承受重量 */ - private BigDecimal weight; - - /** 起始X坐标 */ - private BigDecimal xqty; - - /** 起始Y坐标 */ - private BigDecimal yqty; - - /** 起始Z坐标 */ - private BigDecimal zqty; - - /** 是否临时仓位 */ - private String is_tempstruct; - - /** 创建人 */ - private Long create_id; - - /** 创建人姓名 */ - private String create_name; - - /** 创建时间 */ - private String create_time; - - /** 修改人 */ - private Long update_optid; - - /** 修改人姓名 */ - private String update_optname; - - /** 修改时间 */ - private String update_time; - - /** 是否删除 */ - private String is_delete; - - /** 背景色 */ - private String back_ground_color; - - /** 前景色 */ - private String front_ground_color; - - /** 背景图片 */ - private String back_ground_pic; - - /** 字体显示方向 */ - private String font_direction_scode; - - /** 是否启用 */ - private String is_used; - - /** 是否判断高度 */ - private String is_zdepth; - - /** 存储载具标识 */ - private Long storagevehicle_id; - - /** 存储载具号 */ - private String storagevehicle_code; - - /** 存储载具类型 */ - private String storagevehicle_type; - - /** 是否空载具 */ - private String is_emptyvehicle; - - /** 载具数量 */ - private BigDecimal storagevehicle_qty; - - /** 锁定类型 */ - private String lock_type; - - /** 物料高度类型 */ - private String material_height_type; - - /** 外部标识 */ - private String ext_id; - - /** 备注 */ - private String remark; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructivtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructivtDto.java deleted file mode 100644 index cc9fdef..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructivtDto.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.nl.wms.basedata.st.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* @description / -* @author geng by -* @date 2022-06-02 -**/ -@Data -public class StructivtDto implements Serializable { - - /** 库存记录标识 */ - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long stockrecord_id; - - /** 仓位标识 */ - private Long struct_id; - - /** 仓位编码 */ - private String struct_code; - - /** 仓位名称 */ - private String struct_name; - - /** 工序标识 */ - private Long workprocedure_id; - - /** 物料标识 */ - private Long material_id; - - /** 品质类型 */ - private String quality_scode; - - /** 批次 */ - private String pcsn; - - /** 可用数 */ - private BigDecimal canuse_qty; - - /** 冻结数 */ - private BigDecimal frozen_qty; - - /** 库存数 */ - private BigDecimal ivt_qty; - - /** 待入数 */ - private BigDecimal warehousing_qty; - - /** 计量单位标识 */ - private Long qty_unit_id; - - /** 入库时间 */ - private String instorage_time; - - /** 销售单标识 */ - private Long sale_id; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructrelamaterialDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructrelamaterialDto.java deleted file mode 100644 index 42e1027..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructrelamaterialDto.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.nl.wms.basedata.st.service.dto; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.io.Serializable; - -/** -* @description / -* @author zhouz -* @date 2021-12-09 -**/ -@Data -public class StructrelamaterialDto implements Serializable { - - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long sect_id; - - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long material_type_id; - - private Long set_id; - - private String set_name; - - private String set_time; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/SectattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/SectattrServiceImpl.java deleted file mode 100644 index c13a641..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/SectattrServiceImpl.java +++ /dev/null @@ -1,251 +0,0 @@ - -package org.nl.wms.basedata.st.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.st.service.SectattrService; -import org.nl.wms.basedata.st.service.StorattrService; -import org.nl.wms.basedata.st.service.dto.SectattrDto; -import org.nl.wms.basedata.st.service.dto.StorattrDto; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author zhouz - * @description 服务实现 - * @date 2021-12-09 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class SectattrServiceImpl implements SectattrService { - - @Autowired - private StorattrService storattrService; - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String search = (String) whereJson.get("search"); - HashMap map = new HashMap<>(); - if (!StrUtil.isEmpty(search)) { - map.put("search", "%" + search + "%"); - } - map.put("flag", "1"); - map.put("stor_id", (String) whereJson.get("stor_id")); - JSONObject jo = WQL.getWO("QST_SECT_ATTR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc"); - return jo; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_sectattr"); - JSONArray arr = wo.query().getResultJSONArray(0); - List list = arr.toJavaList(SectattrDto.class); - return list; - } - - @Override - public SectattrDto findById(Long sect_id) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_sectattr"); - JSONObject json = wo.query("sect_id =" + sect_id + "").uniqueResult(0); - if (ObjectUtil.isEmpty(json)) return null; - final SectattrDto obj = json.toJavaObject(SectattrDto.class); - return obj; - } - - @Override - public SectattrDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_sectattr"); - JSONObject json = wo.query("sect_code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(json)) return null; - final SectattrDto obj = json.toJavaObject(SectattrDto.class); - return obj; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(SectattrDto dto) { - String sect_code = dto.getSect_code(); - SectattrDto sectattrDto = this.findByCode(sect_code); - if (sectattrDto != null && sectattrDto.getIs_delete().equals("0")) { - throw new BadRequestException("存在相同的库区编号"); - } - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - dto.setSect_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - dto.setCreate_time(now); - StorattrDto storattrDto = storattrService.findById(dto.getStor_id()); - dto.setStor_name(storattrDto.getStor_name()); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_sectattr"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SectattrDto dto) { - SectattrDto entity = this.findById(dto.getSect_id()); - if (entity == null) { - throw new BadRequestException("被删除或无权限,操作失败!"); - } - - String sect_code = dto.getSect_code(); - SectattrDto sectattrDto = this.findByCode(sect_code); - if (sectattrDto != null && !dto.getSect_id().equals(sectattrDto.getSect_id()) && sectattrDto.getIs_delete().equals("0")) { - throw new BadRequestException("存在相同的库区编号"); - } - - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - String now = DateUtil.now(); - dto.setUpdate_time(now); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - StorattrDto storattrDto = storattrService.findById(dto.getStor_id()); - dto.setStor_name(storattrDto.getStor_name()); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_sectattr"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_sectattr"); - for (Long sect_id : ids) { - JSONObject param = new JSONObject(); - param.put("sect_id", String.valueOf(sect_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - @Override - public JSONObject getSect(Map whereJson) { - JSONArray new_ja = new JSONArray(); - HashMap stor_map = new HashMap<>(); - stor_map.put("flag", "2"); - String is_materialstore = (String) whereJson.get("is_materialstore"); - String is_virtualstore = (String) whereJson.get("is_virtualstore"); - String is_semi_finished = (String) whereJson.get("is_semi_finished"); - String is_productstore = (String) whereJson.get("is_productstore"); - String is_attachment = (String) whereJson.get("is_attachment"); - String is_reversed = (String) whereJson.get("is_reversed"); - if (!StrUtil.isEmpty(is_materialstore)) { - stor_map.put("is_materialstore", is_materialstore); - } - if (!StrUtil.isEmpty(is_virtualstore)) { - stor_map.put("is_virtualstore", is_virtualstore); - } - if (!StrUtil.isEmpty(is_semi_finished)) { - stor_map.put("is_semi_finished", is_semi_finished); - } - if (!StrUtil.isEmpty(is_productstore)) { - stor_map.put("is_productstore", is_productstore); - } - if (!StrUtil.isEmpty(is_attachment)) { - stor_map.put("is_attachment", is_attachment); - } - if (!StrUtil.isEmpty(is_reversed)) { - stor_map.put("is_reversed", is_reversed); - } - JSONArray stor_ja = WQL.getWO("QST_STOR_ATTR").addParamMap(stor_map).process().getResultJSONArray(0); - for (int i = 0; i < stor_ja.size(); i++) { - JSONObject stor_jo = stor_ja.getJSONObject(i); - JSONObject stor_cas = new JSONObject(); - stor_cas.put("value", stor_jo.getString("stor_id")); - stor_cas.put("label", stor_jo.getString("stor_name")); - HashMap map = new HashMap<>(); - map.put("flag", "2"); - map.put("stor_id", stor_jo.getString("stor_id")); - map.put("sect_type_attr", (String) whereJson.get("sect_type_attr")); - JSONArray ja = WQL.getWO("QST_SECT_ATTR").addParamMap(map).process().getResultJSONArray(0); - if (ja.size() > 0) { - JSONArray sect_ja = new JSONArray(); - for (int j = 0; j < ja.size(); j++) { - JSONObject sect_jo = ja.getJSONObject(j); - JSONObject sect_cas = new JSONObject(); - sect_cas.put("value", sect_jo.getString("sect_id")); - sect_cas.put("label", sect_jo.getString("sect_name")); - sect_ja.add(sect_cas); - } - stor_cas.put("children", sect_ja); - } - new_ja.add(stor_cas); - } - JSONObject jo = new JSONObject(); - jo.put("content", new_ja); - return jo; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void changeActive(JSONObject json) { - - String stor_id = json.getString("stor_id"); - JSONObject st_ivt_bsRealStorAttr = WQLObject.getWQLObject("ST_IVT_BSRealStorAttr").query(" stor_id = '" + stor_id + "' and is_used = '1'").uniqueResult(0); - if (ObjectUtil.isEmpty(st_ivt_bsRealStorAttr)){ - throw new BadRequestException("该库区所属的仓库已禁用,请先启用该仓库!"); - } - - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - String is_used = "1"; - if (StrUtil.equals("1", json.getString("is_used"))) { - is_used = "0"; - } - json.put("is_used", is_used); - json.put("update_optid", currentUserId); - json.put("update_optname", nickName); - json.put("update_time", now); - WQLObject.getWQLObject("st_ivt_sectattr").update(json); - - String sect_id = json.getString("sect_id"); - json = new JSONObject(); - json.put("sect_id",sect_id); - json.put("is_used", is_used); - json.put("update_optid", currentUserId); - json.put("update_optname", nickName); - json.put("update_time", now); - WQLObject.getWQLObject("st_ivt_structattr").update(json," sect_id = '" + sect_id + "'"); - } - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StorattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StorattrServiceImpl.java deleted file mode 100644 index b27d281..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StorattrServiceImpl.java +++ /dev/null @@ -1,219 +0,0 @@ - -package org.nl.wms.basedata.st.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.st.service.StorattrService; -import org.nl.wms.basedata.st.service.dto.StorattrDto; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author zhouz - * @description 服务实现 - * @date 2021-12-08 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class StorattrServiceImpl implements StorattrService { - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String search = (String) whereJson.get("search"); - HashMap map = new HashMap<>(); - if (!StrUtil.isEmpty(search)) { - map.put("search", "%" + search + "%"); - } - map.put("flag", "1"); - JSONObject jo = WQL.getWO("QST_STOR_ATTR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc"); - return jo; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_bsrealstorattr"); - JSONArray arr = wo.query().getResultJSONArray(0); - List list = arr.toJavaList(StorattrDto.class); - return list; - } - - @Override - public StorattrDto findById(Long stor_id) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_bsrealstorattr"); - JSONObject json = wo.query("stor_id =" + stor_id + "").uniqueResult(0); - if (ObjectUtil.isEmpty(json)) return null; - final StorattrDto obj = json.toJavaObject(StorattrDto.class); - return obj; - } - - @Override - public StorattrDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_bsrealstorattr"); - JSONObject json = wo.query("stor_code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(json)) return null; - final StorattrDto obj = json.toJavaObject(StorattrDto.class); - return obj; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(StorattrDto dto) { - String stor_code = dto.getStor_code(); - StorattrDto storattrDto = this.findByCode(stor_code); - if (storattrDto != null && storattrDto.getIs_delete().equals("0")) { - throw new BadRequestException("存在相同的仓库编号"); - } - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - dto.setStor_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - dto.setCreate_time(now); - - //TODO - dto.setSyscompanyid(18L); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_bsrealstorattr"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(StorattrDto dto) { - StorattrDto entity = this.findById(dto.getStor_id()); - if (entity == null) { - throw new BadRequestException("被删除或无权限,操作失败!"); - } - - String stor_code = dto.getStor_code(); - StorattrDto storattrDto = this.findByCode(stor_code); - if (storattrDto != null && !dto.getStor_id().equals(storattrDto.getStor_id()) && storattrDto.getIs_delete().equals("0")) { - throw new BadRequestException("存在相同的供应商编号"); - } - - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - String now = DateUtil.now(); - dto.setUpdate_time(now); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setSyscompanyid(dto.getSysdeptid()); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_bsrealstorattr"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_bsrealstorattr"); - for (Long stor_id : ids) { - JSONObject param = new JSONObject(); - param.put("stor_id", String.valueOf(stor_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - @Override - public JSONObject getStor(Map whereJson) { - String is_materialstore = (String) whereJson.get("is_materialstore"); - String is_virtualstore = (String) whereJson.get("is_virtualstore"); - String is_semi_finished = (String) whereJson.get("is_semi_finished"); - String is_productstore = (String) whereJson.get("is_productstore"); - String is_attachment = (String) whereJson.get("is_attachment"); - String is_reversed = (String) whereJson.get("is_reversed"); - HashMap map = new HashMap<>(); - map.put("flag", "2"); - if (!StrUtil.isEmpty(is_materialstore)) { - map.put("is_materialstore", is_materialstore); - } - if (!StrUtil.isEmpty(is_virtualstore)) { - map.put("is_virtualstore", is_virtualstore); - } - if (!StrUtil.isEmpty(is_semi_finished)) { - map.put("is_semi_finished", is_semi_finished); - } - if (!StrUtil.isEmpty(is_productstore)) { - map.put("is_productstore", is_productstore); - } - if (!StrUtil.isEmpty(is_attachment)) { - map.put("is_attachment", is_attachment); - } - if (!StrUtil.isEmpty(is_reversed)) { - map.put("is_reversed", is_reversed); - } - JSONArray ja = WQL.getWO("QST_STOR_ATTR").addParamMap(map).process().getResultJSONArray(0); - JSONObject jo = new JSONObject(); - jo.put("content", ja); - return jo; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void changeActive(JSONObject json) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - String is_used = "1"; - if (StrUtil.equals("1", json.getString("is_used"))) { - is_used = "0"; - } - json.put("is_used", is_used); - json.put("update_optid", currentUserId); - json.put("update_optname", nickName); - json.put("update_time", now); - WQLObject.getWQLObject("ST_IVT_BSRealStorAttr").update(json); - - //同时修改该stor_id仓库下仓位和库区的启用状态 - String stor_id = json.getString("stor_id"); - json = new JSONObject(); - json.put("is_used", is_used); - json.put("update_optid", currentUserId); - json.put("update_optname", nickName); - json.put("update_time", now); - WQLObject.getWQLObject("st_ivt_structattr").update(json, "stor_id = '" + stor_id + "'"); - - json = new JSONObject(); - json.put("is_used", is_used); - json.put("update_optid", currentUserId); - json.put("update_optname", nickName); - json.put("update_time", now); - WQLObject.getWQLObject("st_ivt_sectattr").update(json, "stor_id = '" + stor_id + "'"); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java deleted file mode 100644 index 6c55e91..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java +++ /dev/null @@ -1,248 +0,0 @@ - -package org.nl.wms.basedata.st.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.st.service.SectattrService; -import org.nl.wms.basedata.st.service.StorattrService; -import org.nl.wms.basedata.st.service.StructattrService; -import org.nl.wms.basedata.st.service.dto.SectattrDto; -import org.nl.wms.basedata.st.service.dto.StorattrDto; -import org.nl.wms.basedata.st.service.dto.StructattrDto; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author zhouz - * @description 服务实现 - * @date 2021-12-09 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class StructattrServiceImpl implements StructattrService { - - @Autowired - private SectattrService sectattrService; - @Autowired - private StorattrService storattrService; - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String search = (String) whereJson.get("search"); - HashMap map = new HashMap<>(); - if (StrUtil.isNotEmpty(search)) { - map.put("search", "%" + search + "%"); - } - map.put("flag", "1"); - map.put("stor_id", (String) whereJson.get("stor_id")); - map.put("sect_id", (String) whereJson.get("sect_id")); - map.put("lock_type", (String) whereJson.get("lock_type")); - JSONObject jo = WQL.getWO("QST_STRUCT_ATTR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "struct_code asc"); - return jo; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structattr"); - JSONArray arr = wo.query().getResultJSONArray(0); - List list = arr.toJavaList(StructattrDto.class); - return list; - } - - @Override - public StructattrDto findById(Long struct_id) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structattr"); - JSONObject json = wo.query("struct_id =" + struct_id + "").uniqueResult(0); - if (ObjectUtil.isEmpty(json)) return null; - final StructattrDto obj = json.toJavaObject(StructattrDto.class); - return obj; - } - - @Override - public StructattrDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structattr"); - JSONObject json = wo.query("struct_code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(json)) return null; - final StructattrDto obj = json.toJavaObject(StructattrDto.class); - return obj; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(StructattrDto dto) { - String struct_code = dto.getStruct_code(); - StructattrDto structattrDto = this.findByCode(struct_code); - if (structattrDto != null && structattrDto.getIs_delete().equals("0")) { - throw new BadRequestException("存在相同的库区编号"); - } - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - dto.setStruct_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - dto.setCreate_time(now); - SectattrDto sectattrDto = sectattrService.findById(dto.getSect_id()); - StorattrDto storattrDto = storattrService.findById(sectattrDto.getStor_id()); - dto.setSect_code(sectattrDto.getSect_code()); - dto.setSect_name(sectattrDto.getSect_name()); - dto.setStor_id(storattrDto.getStor_id()); - dto.setStor_code(storattrDto.getStor_code()); - dto.setStor_name(storattrDto.getStor_name()); - - String storagevehicle_code = dto.getStoragevehicle_code(); - if (ObjectUtil.isNotEmpty(storagevehicle_code)) { - WQLObject vehicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); - JSONObject obj = vehicleTab.query("storagevehicle_code = '" + storagevehicle_code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(obj)) throw new BadRequestException("未发现载具号为【" + storagevehicle_code + "】的载具信息"); - - dto.setStoragevehicle_id(obj.getLong - ("storagevehicle_id")); - dto.setStoragevehicle_type(obj.getString("storagevehicle_type")); - } - - - WQLObject wo = WQLObject.getWQLObject("st_ivt_structattr"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - - //根据仓位更新点位载具和锁定信息 - // 点位基础表【SCH_BASE_Point】 -/* JSONObject param = new JSONObject(); - param.put("is_used", dto.getIs_used()); - param.put("vehicle_code", dto.getStoragevehicle_code()); - param.put("lock_type", dto.getLock_type()); - WQLObject.getWQLObject("SCH_BASE_Point").update(param, "point_code = '" + dto.getStruct_code() + "'");*/ - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(StructattrDto dto) { - StructattrDto entity = this.findById(dto.getStruct_id()); - if (entity == null) { - throw new BadRequestException("被删除或无权限,操作失败!"); - } - - String struct_code = dto.getStruct_code(); - StructattrDto structattrDto = this.findByCode(struct_code); - if (structattrDto != null && !dto.getStruct_id().equals(structattrDto.getStruct_id()) && structattrDto.getIs_delete().equals("0")) { - throw new BadRequestException("存在相同的库区编号"); - } - - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - String now = DateUtil.now(); - dto.setUpdate_time(now); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - SectattrDto sectattrDto = sectattrService.findById(dto.getSect_id()); - StorattrDto storattrDto = storattrService.findById(sectattrDto.getStor_id()); - dto.setSect_code(sectattrDto.getSect_code()); - dto.setSect_name(sectattrDto.getSect_name()); - dto.setStor_id(storattrDto.getStor_id()); - dto.setStor_code(storattrDto.getStor_code()); - dto.setStor_name(storattrDto.getStor_name()); - - String storagevehicle_code = dto.getStoragevehicle_code(); - if (ObjectUtil.isNotEmpty(storagevehicle_code)) { - WQLObject vehicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); - JSONObject obj = vehicleTab.query("storagevehicle_code = '" + storagevehicle_code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(obj)) throw new BadRequestException("未发现载具号为【" + storagevehicle_code + "】的载具信息"); - - dto.setStoragevehicle_id(obj.getLong - ("storagevehicle_id")); - dto.setStoragevehicle_type(obj.getString("storagevehicle_type")); - } - - - WQLObject wo = WQLObject.getWQLObject("st_ivt_structattr"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - -/* //根据仓位更新点位载具和锁定信息 - // 点位基础表【SCH_BASE_Point】 - JSONObject param = new JSONObject(); - param.put("is_used", dto.getIs_used()); - param.put("vehicle_code", dto.getStoragevehicle_code()); - param.put("lock_type", dto.getLock_type()); - WQLObject.getWQLObject("SCH_BASE_Point").update(param, "point_code = '" + dto.getStruct_code() + "'");*/ - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_structattr"); - for (Long struct_id : ids) { - JSONObject param = new JSONObject(); - param.put("struct_id", String.valueOf(struct_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void changeActive(JSONObject json) { - - String sect_id = json.getString("sect_id"); - JSONObject st_ivt_bsRealStorAttr = WQLObject.getWQLObject("ST_IVT_SectAttr").query(" sect_id = '" + sect_id + "' and is_used = '1'").uniqueResult(0); - if (ObjectUtil.isEmpty(st_ivt_bsRealStorAttr)){ - throw new BadRequestException("该仓位所属的库区已禁用,请先启用该库区!"); - } - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String struct_id = json.getString("struct_id"); - String now = DateUtil.now(); - - String is_used = "1"; - if (StrUtil.equals("1", json.getString("is_used"))) { - is_used = "0"; - } - json.put("is_used", is_used); - json.put("update_optid", currentUserId); - json.put("update_optname", nickName); - json.put("update_time", now); - WQLObject.getWQLObject("st_ivt_structattr").update(json); - - json = new JSONObject(); - json.put("is_used", is_used); - json.put("update_optid", currentUserId); - json.put("update_optname", nickName); - json.put("update_time", now); - WQLObject.getWQLObject("sch_base_point").update(json, " point_id = '" + struct_id + "'"); - } - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java deleted file mode 100644 index c0877b9..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java +++ /dev/null @@ -1,151 +0,0 @@ - -package org.nl.wms.basedata.st.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - - -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.ClassstandardService; -import org.nl.wms.basedata.st.service.StructivtService; -import org.nl.wms.basedata.st.service.dto.StructivtDto; - -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Map; - -/** -* @description 服务实现 -* @author geng by -* @date 2022-06-02 -**/ -@Service -@RequiredArgsConstructor -@Slf4j -public class StructivtServiceImpl implements StructivtService { - private final ClassstandardService classstandardService; - - @Override - public Map queryAll(Map whereJson, Pageable page){ - String material = MapUtil.getStr(whereJson, "material"); - String struct = MapUtil.getStr(whereJson, "struct"); - String region_id = MapUtil.getStr(whereJson, "region_id"); - JSONObject map = new JSONObject(); - map.put("flag", "1"); - map.put("region_id", region_id); - if (StrUtil.isNotEmpty(material)) { - map.put("material", "%" + material + "%"); - } - if (StrUtil.isNotEmpty(struct)) { - map.put("struct", "%" + struct + "%"); - } - JSONObject jsonObject = WQL.getWO("QST_STRUCTIVT001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ivt.instorage_time desc"); - return jsonObject; - } - - @Override - public List queryAll(Map whereJson){ - WQLObject wo = WQLObject.getWQLObject("st_ivt_structivt"); - JSONArray arr = wo.query().getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(StructivtDto.class); - return null; - } - - @Override - public StructivtDto findById(Long stockrecord_id) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structivt"); - JSONObject json = wo.query("stockrecord_id = '" + stockrecord_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)){ - return json.toJavaObject( StructivtDto.class); - } - return null; - } - - @Override - public StructivtDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structivt"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)){ - return json.toJavaObject( StructivtDto.class); - } - return null; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(StructivtDto dto) { - String now = DateUtil.now(); - dto.setStockrecord_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setInstorage_time(now); - WQLObject wo = WQLObject.getWQLObject("st_ivt_structivt"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(StructivtDto dto) { - StructivtDto entity = this.findById(dto.getStockrecord_id()); - if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - WQLObject wo = WQLObject.getWQLObject("st_ivt_structivt"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_structivt"); - for (Long stockrecord_id: ids) { - JSONObject param = new JSONObject(); - param.put("stockrecord_id", String.valueOf(stockrecord_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - @Override - public JSONArray getStruct() { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structattr"); - final JSONArray resultJSONArray = wo.query("is_delete = '0'").getResultJSONArray(0); - return resultJSONArray; - } - - @Override - public JSONObject getStructById(JSONObject param) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structattr"); - final JSONObject jsonObject = wo.query("is_delete = '0' and struct_id = '" + param.getString("struct_id") + "'").uniqueResult(0); - return jsonObject; - } - - @Override - public JSONArray getUnits() { - WQLObject wo = WQLObject.getWQLObject("md_pb_measureunit"); - final JSONArray resultJSONArray = wo.query("is_delete = '0'").getResultJSONArray(0); - return resultJSONArray; - } - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructrelamaterialServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructrelamaterialServiceImpl.java deleted file mode 100644 index dbe3f2f..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructrelamaterialServiceImpl.java +++ /dev/null @@ -1,179 +0,0 @@ - -package org.nl.wms.basedata.st.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - - -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.ClassstandardService; -import org.nl.wms.basedata.st.service.StructrelamaterialService; -import org.nl.wms.basedata.st.service.dto.StructrelamaterialDto; - -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author zhouz - * @description 服务实现 - * @date 2021-12-09 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class StructrelamaterialServiceImpl implements StructrelamaterialService { - private final ClassstandardService classstandardService; - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String search = (String) whereJson.get("search"); - HashMap map = new HashMap<>(); - if (!StrUtil.isEmpty(search)) { - map.put("search", "%" + search + "%"); - } - map.put("flag", "1"); - map.put("stor_id", (String) whereJson.get("stor_id")); - map.put("sect_id", (String) whereJson.get("sect_id")); - String material_type_id = (String) whereJson.get("material_type_id"); - String class_idStr = (String) whereJson.get("class_idStr"); - //处理物料当前节点的所有子节点 - if (!StrUtil.isEmpty(material_type_id)) { - map.put("material_type_id", material_type_id); - String classIds = classstandardService.getChildIdStr(material_type_id); - map.put("classIds", classIds); - } else if (ObjectUtil.isNotEmpty(class_idStr)) { - String classIds = classstandardService.getAllChildIdStr(class_idStr); - map.put("classIds", classIds); - } - JSONObject jo = WQL.getWO("QST_IVT_MATERIALSET").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "set_time desc"); - return jo; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial"); - JSONArray arr = wo.query().getResultJSONArray(0); - List list = arr.toJavaList(StructrelamaterialDto.class); - return list; - } - - @Override - public StructrelamaterialDto findById(Long material_type_id) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial"); - JSONObject json = wo.query("material_type_id =" + material_type_id + "").uniqueResult(0); - final StructrelamaterialDto obj = json.toJavaObject(StructrelamaterialDto.class); - return obj; - } - - @Override - public StructrelamaterialDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); - final StructrelamaterialDto obj = json.toJavaObject(StructrelamaterialDto.class); - return obj; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(StructrelamaterialDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - dto.setMaterial_type_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setSet_name(nickName); - dto.setSet_time(now); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(StructrelamaterialDto dto) { - StructrelamaterialDto entity = this.findById(dto.getMaterial_type_id()); - if (entity == null) { - throw new BadRequestException("被删除或无权限,操作失败!"); - } - - WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial"); - for (Long material_type_id : ids) { - JSONObject param = new JSONObject(); - param.put("material_type_id", String.valueOf(material_type_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - @Override - public void insertSet(Map whereJson) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - WQLObject mater = WQLObject.getWQLObject("ST_IVT_StructRelaMaterial"); - String sect_id = (String) whereJson.get("sect_id"); - ArrayList class_rows = (ArrayList) whereJson.get("class_rows"); - for (int i = 0; i < class_rows.size(); i++) { - HashMap class_row = class_rows.get(i); - JSONObject material_set = mater.query("sect_id = '" + sect_id + "' AND material_type_id = '" + class_row.get("class_id") + "'") - .uniqueResult(0); - if (material_set != null) { - HashMap update_map = new HashMap<>(); - update_map.put("set_id", currentUserId + ""); - update_map.put("set_name", nickName); - update_map.put("set_time", now); - mater.update(update_map, "sect_id = '" + sect_id + "' AND material_type_id = '" + class_row.get("class_id") + "'"); - } else { - JSONObject jo = new JSONObject(); - jo.put("sect_id", sect_id); - jo.put("material_type_id", class_row.get("class_id")); - jo.put("set_id", currentUserId + ""); - jo.put("set_name", nickName); - jo.put("set_time", now); - mater.insert(jo); - } - } - } - - @Override - public void delSet(Map whereJson) { - String sect_id = (String) whereJson.get("sect_id"); - String material_type_id = (String) whereJson.get("material_type_id"); - WQLObject.getWQLObject("ST_IVT_StructRelaMaterial").delete("sect_id = '" + sect_id + "' AND material_type_id = '" + material_type_id + "'"); - } - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QLK01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QLK01.wql deleted file mode 100644 index 2ba88da..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QLK01.wql +++ /dev/null @@ -1,226 +0,0 @@ -[交易说明] - 交易名: 将海亮的物料导入mysql - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.material_code TYPEAS s_string - 输入.processroute_uuid TYPEAS s_string - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - QUERY - SELECT - * - FROM - MD_PB_BaseData_ClassInfo classinfot - LEFT JOIN MD_PB_BaseData_ClassStandard standard ON classinfot.class_uuid = standard.class_uuid - LEFT JOIN MD_ME_MaterialBase material ON material.material_uuid = classinfot.base_data_uuid - left join MD_ME_MaterialExt ext on ext.material_uuid = material.material_uuid - - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "2" - QUERY - SELECT - * - FROM - MD_PB_BaseData_ClassStandard class - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "3" - QUERY - SELECT - * - FROM - ST_IVT_BSREALSTORATTR - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "4" - QUERY - SELECT - * - FROM - ST_IVT_SECTATTR - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "5" - QUERY - SELECT - * - FROM - ST_IVT_STRUCTATTR - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "6" - QUERY - SELECT - * - FROM - ST_IVT_StorageVehicleInfo - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "7" - QUERY - SELECT - * - FROM - wdk_sysparam - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "8" - QUERY - SELECT - * - FROM - IF_CacheLine_Position - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "9" - QUERY - SELECT - * - FROM - st_cacheline_position - ENDSELECT - ENDQUERY - ENDIF - -IF 输入.flag = "10" - QUERY - SELECT - mb.*, - class.class_code, - class.class_name - FROM - md_me_materialbase mb - LEFT JOIN MD_PB_ClassStandard class ON class.class_id = mb.material_type_id - WHERE - mb.is_delete = '0' - AND 1 = 1 - AND class.class_id IN ( '1528555445302726656', '1528555443906023424', '1528555445080428544' ) - ENDSELECT - ENDQUERY -ENDIF - -IF 输入.flag = "11" - QUERY - SELECT - mb.*, - class.class_code, - class.class_name - FROM - md_me_materialbase mb - LEFT JOIN MD_PB_ClassStandard class ON class.class_id = mb.material_type_id - WHERE - mb.is_delete = '0' - AND 1 = 1 - AND class.class_id IN ( '1528555444031852544', '1528555444778438656', '1528555444291899392' ) - ENDSELECT - ENDQUERY -ENDIF - - -IF 输入.flag = "12" - QUERY - SELECT - * - FROM - PDM_BI_WorkshopMaterialCorr - ENDSELECT - ENDQUERY -ENDIF - -IF 输入.flag = "13" - QUERY - SELECT - * - FROM - PDM_BI_SemiMaterialCorr - ENDSELECT - ENDQUERY -ENDIF - -IF 输入.flag = "14" - QUERY - SELECT - * - FROM - PDM_BI_WorkshopMaterialCorr corr - LEFT JOIN PF_PB_SysDicInfo sys ON sys.sysdic_code = corr.materialprocess_series - AND sys.sysdic_type = 'IF_WCS_DEVICESERIES' - ENDSELECT - ENDQUERY -ENDIF - - - -IF 输入.flag = "15" - QUERY - SELECT - * - FROM - PDM_BI_ProduceProcessRoute route - ENDSELECT - ENDQUERY -ENDIF - -IF 输入.flag = "16" - QUERY - SELECT - * - FROM - PDM_BI_ProduceProcessRoute route - LEFT JOIN PDM_BI_ProduceProcessRouteDtl dtl ON route.processroute_uuid = dtl.processroute_uuid - route.processroute_uuid = 输入.processroute_uuid - order by workprocedure_number - ENDSELECT - ENDQUERY -ENDIF \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_IVT_MATERIALSET.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_IVT_MATERIALSET.wql deleted file mode 100644 index 3eff3c7..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_IVT_MATERIALSET.wql +++ /dev/null @@ -1,78 +0,0 @@ -[交易说明] - 交易名: 基础点位分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.search TYPEAS s_string - 输入.stor_id TYPEAS s_string - 输入.sect_id TYPEAS s_string - 输入.classIds TYPEAS f_string - - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - se.sect_code, - se.sect_name, - class.class_code, - class.class_name, - sm.* - FROM - st_ivt_structrelamaterial sm - INNER JOIN st_ivt_sectattr se ON se.sect_id = sm.sect_id - INNER JOIN md_pb_classstandard class ON class.class_id = sm.material_type_id - OPTION 输入.search <> "" - ( - class.class_code like 输入.search - OR - class.class_name like 输入.search - ) - ENDOPTION - OPTION 输入.stor_id <> "" - se.stor_id = 输入.stor_id - ENDOPTION - OPTION 输入.sect_id <> "" - se.sect_id = 输入.sect_id - ENDOPTION - OPTION 输入.classIds <> "" - class.class_id in 输入.classIds - ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF - - - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_SECT_ATTR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_SECT_ATTR.wql deleted file mode 100644 index cae0762..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_SECT_ATTR.wql +++ /dev/null @@ -1,90 +0,0 @@ -[交易说明] - 交易名: 基础点位分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.search TYPEAS s_string - 输入.stor_id TYPEAS s_string - 输入.sect_type_attr TYPEAS s_string - - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - sect.*, - stor.stor_name - FROM - ST_IVT_SectAttr sect - left join ST_IVT_BSRealStorAttr stor on sect.stor_id = stor.stor_id - WHERE - sect.is_delete = '0' - OPTION 输入.search <> "" - ( - sect.sect_code like 输入.search - OR - sect.sect_name like 输入.search - ) - ENDOPTION - OPTION 输入.stor_id <> "" - sect.stor_id = 输入.stor_id - ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF - - IF 输入.flag = "2" - QUERY - SELECT - sect.sect_id, - sect.sect_name - FROM - st_ivt_sectattr sect - WHERE - sect.is_delete = '0' - AND - sect.is_used = '1' - OPTION 输入.stor_id <> "" - sect.stor_id = 输入.stor_id - ENDOPTION - OPTION 输入.sect_type_attr <> "" - sect.sect_type_attr = 输入.sect_type_attr - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF - - - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STOR_ATTR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STOR_ATTR.wql deleted file mode 100644 index 088b2ef..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STOR_ATTR.wql +++ /dev/null @@ -1,104 +0,0 @@ -[交易说明] - 交易名: 基础点位分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.search TYPEAS s_string - 输入.is_materialstore TYPEAS s_string - 输入.is_virtualstore TYPEAS s_string - 输入.is_semi_finished TYPEAS s_string - 输入.is_productstore TYPEAS s_string - 输入.is_attachment TYPEAS s_string - 输入.is_reversed TYPEAS s_string - - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - stor.*, - detail.label - FROM - st_ivt_bsrealstorattr stor - LEFT JOIN sys_dict_detail detail ON detail.value = stor.stor_type_scode AND detail.dict_id = '30' - WHERE - stor.is_delete = '0' - OPTION 输入.search <> "" - ( - stor.stor_code like 输入.search - OR - stor.stor_name like 输入.search - ) - ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF - - IF 输入.flag = "2" - QUERY - SELECT - stor.stor_id, - stor.stor_code, - stor.stor_name - FROM - st_ivt_bsrealstorattr stor - WHERE - stor.is_delete = '0' - AND - stor.is_used = '1' - OPTION 输入.is_virtualstore <> "" - stor.is_virtualstore = 输入.is_virtualstore - ENDOPTION - OPTION 输入.is_semi_finished <> "" - stor.is_semi_finished = 输入.is_semi_finished - ENDOPTION - OPTION 输入.is_materialstore <> "" - stor.is_materialstore = 输入.is_materialstore - ENDOPTION - OPTION 输入.is_productstore <> "" - stor.is_productstore = 输入.is_productstore - ENDOPTION - OPTION 输入.is_attachment <> "" - stor.is_attachment = 输入.is_attachment - ENDOPTION - OPTION 输入.is_reversed <> "" - stor.is_reversed = 输入.is_reversed - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF - - - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql deleted file mode 100644 index e23ba05..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql +++ /dev/null @@ -1,83 +0,0 @@ -[交易说明] - 交易名: 基础点位分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.struct TYPEAS s_string - 输入.material TYPEAS s_string - 输入.region_id TYPEAS f_string - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - ivt.*, - point.point_code, - point.point_name, - mater.material_code, - mater.material_name, - unit.unit_name, - region.region_name - FROM - ST_IVT_StructIvt ivt - LEFT JOIN sch_base_point point ON ivt.struct_id = point.point_id - LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id - LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id - LEFT JOIN SCH_BASE_Region region ON region.region_id = ivt.region_id - WHERE - 1 = 1 - - OPTION 输入.struct <> "" - ( - ivt.struct_code like 输入.struct or - ivt.struct_name like 输入.struct - ) - ENDOPTION - OPTION 输入.material <> "" - ( - mater.material_code like 输入.material or - mater.material_name like 输入.material - ) - ENDOPTION - - OPTION 输入.region_id <> "" - ivt.region_id = 输入.region_id - ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF - - - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCT_ATTR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCT_ATTR.wql deleted file mode 100644 index 2f75599..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCT_ATTR.wql +++ /dev/null @@ -1,79 +0,0 @@ -[交易说明] - 交易名: 基础点位分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.search TYPEAS s_string - 输入.stor_id TYPEAS s_string - 输入.sect_id TYPEAS s_string - 输入.lock_type TYPEAS s_string - 输入.storagevehicle_type TYPEAS s_string - 输入.is_used TYPEAS s_string - 输入.is_delete TYPEAS s_string - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - struct.* - FROM - st_ivt_structattr struct - WHERE - struct.is_delete = '0' - OPTION 输入.search <> "" - ( - struct.struct_code like 输入.search - OR - struct.struct_name like 输入.search - ) - ENDOPTION - OPTION 输入.stor_id <> "" - struct.stor_id = 输入.stor_id - ENDOPTION - OPTION 输入.sect_id <> "" - struct.sect_id = 输入.sect_id - ENDOPTION - OPTION 输入.lock_type <> "" - struct.lock_type = 输入.lock_type - ENDOPTION - OPTION 输入.lock_type = "00" - (struct.storagevehicle_code is null or struct.storagevehicle_code = '') - ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF - - - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls deleted file mode 100644 index c224a5590894771035af01998bf9207f79c7c0f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222720 zcmeFa2YeJo_&>at#sv}}bV56Nzz|aC9Rf&8LJB1Wa->{}q>)B|P^2hGuL2^9O0l3= z5l{gYktU!Bc0t67f(;auyx(VLcW-xgFL3DZ|M|b~`#X4Ucb|FYnP;AP=9y>8UQV6} zIJf!v!1I#u=_7ecH!FN49}V6M_ZH>3rX=Oy-UD#6qM|}U=g|#_W&wcy-_QT$8u$nD zRYQ|`0;qkx0o3MI09Jr6pelgc*b8mykNfI?8UUDp6ac6Ns12wCs0*kEs1IlWXb1=d zGy*gRGyyaPGy~WG%>gX{Edi|ntpRNSZ2>`mc7XPPy8yv}4uB9qM?feb3=j^80CWO$ z26O>*1#|;+2lN2+1oQ&*2J`{+1@r^-2Mhp20tNyG0R{u^1`GiV1q=fW2aEtj0ipph zfRTV$KpY?*kN_A37!4Q$7z;=Qi~}SA#sek*k^y$WL_i846_5r<2RHy3fJ{IZARBNG zU=ko7u*QP6z?Isq0N2TYLO>Cq7*GNz1xx{y0j2_`0j2}W0W$zI0kZ(J0de4(kDNBt zJP+4GmIDd5`KbqsQB2$ed2CktmZbgco2gQ&d!X7+x#vEzT*?3T=YP(BWXVNZKWZF& z#-Q{<)Gn3DLA7-6QwttQDW9&lliLqOF`q$^_zXg;4T7eM(fTR)ruJ~>Q%CZ!kZpSc zZnu2WP$6|5eC)860kA?ltSJswH4M^3LMA)DM={IdbgsTzz}YrHBK0%sduE@|N6VSs z75!^ze62Mli;q-egU5%|LMLd%A`S>&A$68KTPiMVVeoB6Jb*AGHe3fVAD&1_R!yBFzIb}Lk zZl!+0RpqPXQ?5#W<*MN2tIK=>om#$|_*?OJm9F6br?1pH)INVJ)*?T%OC@-o&c0dB zznNnJAJ`IS174cy@=^<=HvC@ z{YR1%ec%~1;N>F= z>)+0LI^{CwBibqVo0MOXhpx_Nefpi0!{soS->D~ky0d&keJtmgeB3X|x2(S^c*21% zvjW{!whL`NseG5uayu&NydIE8XGZmhT*gNeo3lrq^4QE9RH!<$B(- zU9|de%BRuO9hR@^MU+o@z7=16JzV!|ncpqy0dBX|Ph7N@Qy;GCC6}+3b52(t9$eH{ zk=wvmtiPCFeCFlJalF!BlsH;>c3xeTtKiMACjC~BQ}w5^JmRyVo(dhiiv02HqMqjR zIos)0>8|AXxA_0*auxpnR!&#>75=WSuJZj`ysPp=eC6f9h?pIj#0w11k~Q&!`dn$h zuhgF__OD!d`Obc*;1xR-u8Mt&*9w77c~?)jZQm;{SgBZ_+>{*1U4q>fxP9RrL4*7E2R%#{o?m`@@<7Z zV-pD;`qHaf0=Tg9y95KNNpLlZ1YijN`uXa5oYT^D>_0^TYa z%O$*-JeA>H@u_OcAKh%$YotV7ecy#NX63#Mote?QlK+Y+eS4{aMdjm#%_mDFwh404 zVbUZUOdthY7Dc#=!aZrf0oub%8mouOMJK)M)-t0H(Y7v1s$ofhB)M=NBttZ=Q*fmX zm0TuS7&g8>bJh#G^S1QIW=A$sbC|qYs9iV7s8z~khWBzoAM65u1zUQ4tTipVdK12t z3H~LNYc-L_m9lfTYQY|($uQ~wkB(1cX>;TmccDshW5nG_zvv0saF#WXxKJW(~{yG=@YaBO{FTd zr=}2uglhBSsi{{>sHUl&Lg2#4x?=kp8`O3iShcsY;_bGc@}n$|6VakW3--{@Zfoil zg57WIf7@-^eC=)8OzmyD9DT7zj@@o;VGzQ}Ue2n+fkEHC&O*Cjs~wx_YM~0PTCNiz zYefkw}X z5uRg*5hUr43J|NG{WikGbpu~hl73ebD#z2HXGZS|Ph8FD|G$j4P@||HuFqC@W_qCR zOdqdiO#eoF2N(GEF7P2P@QqyHJG#IJyTCVbfv@HQ?@At5{3942I_jd=Pg56oE{~C( z%VWg1a=|Ce1-=u*H^oGq^_M?cYvGHxBOT>2vuE^Xjz7&#!eB*))6-D|M$hq>op3xI zQ;_jC+~Ne0fEW5>8--rAA8sdY6+Eu|!}+LorJ!a0|I>I30;rcwEmf(PyZHZUIscbG zw-cKF{!SBh!QO&^()UO1f9MFBY_}bzcj^&Z-#HL@L3%Y@L;tEt4Ut< zSiieV#b;#fYqqbM7!HCse^hel91MpN`-$dbM8M-!=x`OwUGt)ravn;;XvAcXxqz*Y9;^e0V=aJg_k! zpkB3lXqP~S_lEqxc-SZemOqL<2@iVw=O2!zV~9F>4~~y;fv0jUo<=@I&&E@wT$vBi zGyb^pk0MVP$9w7VRq*(WM=hL#tQFAD*3YKc1IGsdA7Fxq*_h&SaMKhI`AzXuuE?L{ z1iqIZ&-L8Ggr4NbsA1qkc#JY-G9MpbO?#mi3-p{ndY=JL@}OKno=!|}nsR0RbG)Wr zI=n`2DxUZQuke@gT>p??kcZD)b9B(X_-`Vtb%ju1F%jqF!s2RP{J~ZPMM^5^s#|DdDS)K`Z$+9&6Og>i#CLcf#w(2?z5JdAR3ypa#-hx<3Zet5YW zzoe6s>f4gDqZ6@)F+`sC`^t$?@+%h>H@Zs}8&PUshT0GG! z`cd$rpXYe$FU>uzPI`G<;CPMSQ2SRH=z;Gg^H=4R`5W+p{&nH(yw)K3;H#hfPZ+r%H>4=HN`{Erg+rL z6c3~+9(p$5$*v#|O-$H_%ftI4h)vrCV&&@1*S>rE|J&_CBR^l8A${KxC{rnb8( zzrT&vles->>&x++UMoMxb3LQI1U{-f2E15bEq}f)~r> zc&hIT@^1=%FK!PUA7p|L!@ukL6H zrU!wZ^Eb+))~lOrKRSD(c^19Bi+ELsNB=U#(|pj3-bU}~n(%=>4fNEG!1vPA)6pf} zyj8a6E=s#AaiAkh!BR(k$sEJzHBwZZB{FM&R%dHDJWqRFsO7$|sQ@uny z)eH2&BA)8SzPxhdXLpYxJTP&FG2>yZDIoGq?PdPp7M<#gIPfhU5pX=~+%#F?O%4B(Df5`Eg z{-yDgy7{BrzNCNGcxG3Iby16UeyXt(#z*OoIy{r#gpX!jMW)x(OSTg}p8C6}FUK=G zG~v(eS%>HKg?^NF*Xh9(J@87sym-8!@-fA0>A62Q(sMlZQw#kNfWk+V#}uz=U!9({ z<#wa+Hect@>nr0{6+I(WgPe7`*gl8@KqR|%GI}{55q&xDj#m2Mm*=w@kTzJKlt>L z{gP^*Bqzh``lCv(mdp8bytZCSe<407SD>eP>k1lo6g!mtxr&ENXCECN4faF)DIU<%(|Bs3A4d_| zi~AY!8_N2gQ-0mLs78L~hZR0Dp7V!(gmv<8R<6zIf8=&l=~ewJ>jPM4qxD$DZhaIy z$qzY|a&>%|esp%l`D^^DN*{(3E1LeO;)%bp-8(b+jdsQHn(;_8zmVe%E{`UjVft6= z%k|9pkpA`d%;h(h%keD!G2w5tPns_(&>^wHSAnLf#$b#acYAC9NE(b(U0cB1N& z^o)9`?a1rP`ctrHN{dY|}n(fn({hO`haXv=9ae6e0svmAws1f*dAUu!%<#`h# z3gE3yyOsTwD>+rXz@O|#_NzKSQ@NZ*`RNTFSM}A+3uJp%<>{vHcZkqT>*Y#6bwJPi zJ2k#DF2aF21&=%W@OX*tWO};AhvQ)(9Ix~X8IKu?DIOjGcuhZ&>3O*tf8}ys#?LqM z`HRLsd-3y)PCm+dmx!0=xdwW9o-5;>{1rah`4p9_@DcF}AC5Q9%eXuoudxT+e3SWq zKJI%t*YTMC%L3T$pk&0$cFyUY{PprX@p}24c)k2Q9$@Vv%fruQY4EZ<2D~hf0dG<- z#^0n~46mzK57-ai&yxGK91m#l@;K5a6!r`;Yc z?|rvNTbq?^PTNb6m%ItR!f2G&i{Ts@R6VLJx)TE4NY z`nM?S*a#YPowAB$k)v}}mPm{K?UGj10c^ce9UdE@*P&Pzok+c1xoGp!Ns9-KeTi~m ztk=k;rR8lK9#OfzXou2OSz;YBhD3=YiPMgDnS_eh0%JoH&!0pP_n$cRBEm!oV zBa+VkD9ROtR4$hX?lww36$&lMMYxJX?^QVMtAo&&+Nt@)zF!^hB6%1c0D?nJMJ#wy z3N+H*qa5e?b7mT#qG(!r%<;? z+szFby1PNkhpF3>p{E;sX?5;)b=KPr+CFa3_H~1{UnR6+2Oj`hX9t&3Btr*(=d!kg zi%u@GlCsJKXD}GF-fUna$8mjzv#ctzGnqAOmg-E%K@lC{Z1Ts~1Xopq13CN5ur3zL zz8iQSbxV4e{9+qNBfqnaNe4>3 zv^rG=3`HhaI#t@;T&H3i$DnN9#-!7}eM{A{RoRcNS7le^(b|_Hj~1u2G2y_LeH3}L zIAgoTg4XFbD5Ihaqu%3?T3G-Q8*>@W|;17hH`f^%y2iu%v)s; z+jkZ+SXf_GY!wJ{M40^d7i@Jl5Ob@>+7QN z*Qm^u0mI2$Z2YyA(25qfp3%yMic)SwB9~IEy$dNHR!bH$7@J{JCA6X-k1#=4p;~)T zy1&t7KYFVSqRuumX|&9NaM93@xk3AQCA4BKp8&1-z~n;RTPk5LR&Z-2w4xx}m>_1J z#)Tl;8FRA?#&&D>C`!zhLt1 zf5GIt|ANW)cfv%pydS_swLDQ_Ki)|RVt2a)CYAPYF~d*pX82j3fq8`r2}>S)rew78 z%gDgpoF)Y8KF% zm*pZ#_NaupD2S&Uv|g3aigx7fuFyV}Fc({|ic99)gm|xTww_q&s&153?G|ORQur4$ zSFtR=O3D&x{VSmryFqo({_Ac~!_CTxLInI5Le%<~Le#z!Aw+wv<5CD0j+BwRY`j1Kkut ztVE-KnZL1{`Nb~T1o`!jT2X@0Q8#5}8I+?mm~j-LzYpO~3yH$nDiKbkZSDqb3pZ$6 zx7h}a;VDq$|tc6NidiyO4v+@S4V39aZl zdVuy{yN;eI`(x%a;iVvd_ai0!`+`CW~}BJBf=*3e8ChmETeOWfeQRHYS7!pL`-N_*>lH2UrT z+pXIQH)vP7LA%Ng+SQfNipEEO8r>ZyF7|-6$nW+@A~JdKzhJWNPMC=5SpP58vEjcE z;vqMM5G%3qU*>=KU*_NBW_~eLdqmAI_G1^J+M~#DyCeB#H)tQLgjQ7gncYFg+jx5GRmR+fuiDKLwJXcc77)k9J)m`aa23Vh>r#AKLb24>?xa+43vC~( zrd)z3(*9eCB%0y@#?4%5BJ($I#ayiKTgc$HmPHBQW)d1)J&S2Y2@l>%LQ$FTFy=0r z>)ksMU-anTFpgy-a zRu(qv^|i#>Sz4l=sv&E`-}M1_OBM@$Fp%~c>EnTWI>LYU?AeNjcunCo57!wn{`g6r z{V1DMK^Z;!;|3qfxZJV|KlNV|@0nP_rBJE0WRp4o`b{aEW5e$^th9Cku&nIM;?=aG zD*oP*BzTgRMjXRsXrKpy#H@d`0z+ZpNfH!`7Ht0Uu+pMR?m^<3Ay2x>a9h;Y*)x;TsQ zb!7bW{l|tP>QND$OxoROAtmX4-uwbpWM#I7&CGbp5yc@bnSVrP#qErP7Y z*ee?o+b*|dAvUlzqg2_V0CG^|Lzw(kq*X_be+)W*qxOhhcR zmdb$4f@}%xPlO*pzbJ$MtmlM{8a(Q&U7kN zJNC53lLytWJ=KrXkxttixOmB2%m(xT{QWE+XLcLHi+sl~#bEk@nib&F}bvZitoPM%#D&&n#tDU6j1K$xJ4Mnsjj7^g5} z(^=1^@)jdD<}KDm&!+MgBQ|C&=8r$2u6BlQm8!OzNrMOAS3p&rbi1W$Ifa={y6f3g zu3BPa-Whu6*;KAtVq>n_o_aQwtCrZ9tG1U@wdAc_TP^>g2d%GKPF!higBB#N{A2NKh{1_c zj4Jn%2F~^}4rkt8$kBF*C7C$Tpf_lC6;Rpqe7&nc2%<`YyTrK3Xnm!@B*^AP4^Cfc zP1a}ds0X%`LbGl~e){bLA9@2AV=TR=Z^56X&^}ppPrkaRRUS2@yTQq_KkH)VsQAd( zURf)x1wx_qA*C~&etLjrd{o?)EnAoxt3Yy!iWM>FXAXQ+G5C`r27gk-;7=sR5EA3U z!Xqo%PQ2d{oM{MuJUXK&XS&i9O08++7)pIGW6`h#&OqM>Egsbn%P6VZ>=dVv1j9%I zGAKn6Jp@HGfCSETCFCFps0|dY)9+6Butpy~+Y^m0gjC+15F;`^D#j;n^;+KKUebu! zKA>!+FVEWtJQYg4iA0f!cr5P_z0yh{39;cHi={D4gi^HTPCsR#n9D}|)CHM)G_hE< z?0T%x%IbmzrD&~;Hx#!kx_4R`f6_KD{RFF)l8TGr#W_&iJ$i{f>agM*D9&kF75D)Q zMPmAa3&pbBH*ha$FuA^_FRPQ?==Dutb4hyfhg+2ZCb;N-Dv9v9#RU000ur$AWtTF-^e}=|l_hoe$1$ zen-z97R&h52j^pr)%RC=_OjgXNXzE(;Y5bj<&%MH2<(U!92 z_YkhSw4^rSJS|xZTFj_xC#v9Poa%$VaN)R`My&)Q9M!;P2#0JQRM6*}vpRJY2~k@>ib4tCIg#c#+Q4^R4h=x>Bx!uk4CJ z&SiZmA321|@>5y=CY@}A@{`SL`Ov-cj9XO>Mc!NGBb%W7w68{2+DKFQ(Y2Xmx$+T+ zT1Zu{oW#|`Yh|1EtA9OJt;N%k_j^?&ow!*cJp;UwN0MGl?$zq8vSU=#kc8MeeJ(Fq`gry3gI86oA24=Kz@U>yI{kF_um@IK z=k;4LWJu#R?(vT6tXymipL*i&0S86G?5$DnnK#|?=LX;E$K<-OM)UjLBa zOJxtAe`xx9yT7gY{Mxf^TRdpl(lGRR`-wk2Q)~B6i!Sx*Q8wc3RnwQ(=x0Cw(emD7 zmhM~dZvU9CPi=kuqu;_4kNr7ED)f1NsdVT@mFp8XY>hcsaB<9@;sKY3w*IQs^L5wM ztG&&yBA{cN5hMMpg^m9#e??-Cqt)Y&=3g2yVnn~KGwS~xaQC>!a#uz+UJ!mEtJjcA zD<_TVj*|J(Y#igu4b@Zzywa%Mlg?2(_|`uxdNLyxtOE4**x)89t4+5LLs zHRsEh1#kQPsQufrejU42G@^;ew^={RfVpG8YIZrKw#YG_jA?u7|M zJO0+`+L(h+4E}0+X#23!t5qX1$V={<`|Z2ld9Tne)z9pPaw=Tlo)9jI&jL zd-gpx%Q25$T{lkm7}@a9nRmzf<$jSrckSdJv#0G}Yn)ZbeD_<^ylt_~}7{7N*_N-s@M0?CfKf3073*Yr{AdmKsm;bh~$yXwAO%qhz4 zL#_^wXI#E%894XDHE*5X+`VjRgNVA%w2$#FT-W%MyY@|Jbt5af?7suXRLt`6HY zv59}bbv=H+aqgQ7>sxes|3_-ulK8bdHt^yn?D$RqoShd^L0I+`|*csEj`CxACvdtBmDy3Ta_^Vr$xJy`h3x( z$=5TtKDT4hwD;COQTo)rihm-1{G(^-8=sxceCkHgPIe&IsReXtC8LEzX&Vu^F)fx`?U1h+;?W@N;B@B)$6A< zn=)VDbGLm{<{NK)oqgiB)n4y;?if=mtx^4u&&NMxZ_>Wx!MH=~!@BiCAgBr62Aq5YbpAWrX$z#t%>*KqK_uQUhCkxR}>5 zyda7h<4Cm)bd)-B@(XOkvx{vR`GvOr1qC_TX(`3o`FU8pU7Z|Ma-;mqnG~c+_EYhL zvtG%>+=m`19>a8ug1=SCSqnaxIWH5BLkewDaHdVV79WUUTnY;b4GFbM2peruT9!@n zPq0Z>rUq7MP&?CY()w5(s@W2o)N+XqwK>Tqb<1L?sq1Xg&!sl0=R})ys+6H#L5VhL z9{aW?Gt}=HHfbkHy$EQQ8HlwY%hYv0m%csIPqK``3~q$PC4Xbl=0!?S`<}%@v27ss zg@_;h!=G0O<&~RPx*=(3^yT=A(eFhEPycju`{*LX=MMaXZ?qpxd^o20q@9jUWBn=$ z94A)zM~__V@a7zY4+!m4wD|N{Xwm zEqX6nq4Lff72hG+clnukzlu4D8#C`-9vZhf$2ZfO;IW+N@T<7CC?J6vib~lNJvQNF z+V$9ol52}RLY)#tK%x_qr0DjHv(kXx@pmOGOTHFw2_-506Ru3NS$nok+W~%o18}){14X6j~;JyetgMR_&uHuU|!J zY=>yS3MGwl^@yG}&066fJ!!13M&q3zSyAlLXoYfKsn{mGWu{FFtWdc4Rb(ybG4W@`B19| zEct6FqxC%gEX7(9xK5ikVu98Ux}ZGL^x~usCsj`%+u2=kBQ`j* zWF0SWUTI?+Nqik${HH}1Cw0u%YsUR#%zzXOuXvwkEZ9pl2#{^{@{4J!5{f9 zpSljW#A~;sh8+|9ju~wdfFT;PHN-|k`o|BkNKzvF+{oehii*NhG;Rjd)4+is88c|m za9pCI1`e#IxP&ifN@`D|-e{8y4uQLbG<5wGsZd%ph8k#IDRoaOK4=ViOX_%69n;rM z8hbtu;!%&ng}RfkWXY9^@Q>!~*T)2BQjdb4%?Ga(DUB@-DCjDZB^@gV;VK==JXOey zdIy!%Sx$WfF=UZFH9tQG9zHEAr7$S0oxkLZHH@?kNkrpU5sCv+ZP3b8i4Ic73~wyK zg1E?@mY=K;4HW} z8N*PKohWki^NO=$l}s!J`&*Ha^Gak4ejuY#9Ir?x_|iO>Pxote-z z@Lf|WIX$J=fpJgf7#7M{(sFBk$rsDaYW<1jMTZ&FaK<_e9^VS4e#lxA5CEtRr~_bC zEY8k#I7RQKiVlTgb6+jzs>3Jl{i#YhVbFFDv}1RC(^j=o0>bMeJBdzQt4UI6N+D~u z@Xqa^E%_-t2#?M6nsMqR3_EsQCmq0=_VvWVXg9T!RAc;AN0&HiDJr~?qPLQg>~ze8 zSg8@=?R>S(PF`$YY0v18HQt!L^V&}>a6o8P&UQ|rAtr=|DK3o;7{4@{+Uxk#d8K6D z^=4g*$2164%}z_pPuFtjtmDwRT@9@OeiamE@Sar`TRS?agt$>15Lgu1^Gb64BrMCw z(%6E+L)(!xYmtyDv>nyBnuby#M0aww7zv&=^;$fuCrRn78qw?8BeWfMuC-aarji$+ zdXh7>lp$}Cof@^MI3>40!zn_~36FKPoW>^gaa?u$z9u5oT9JUwiYRFimiH2*{YbA7@Ym-0X^KC(^qj;!(f$cTr%$9QXOX?AsJJjYFH=)?XMNdtgzNZe%9x}! z)5D{g6UgPPof-`b4TT3$p2LIa*{KQkh(K=bdSAE}QXqM_>E&>$MfU7;w1bC|RVJ+h zL#l$G8*wIZp1!PwsOi)U;V6m;l|w>l5;_Yq(Q_@RBawudwT7$05)%kv{3`BuWZ-HE zrDHckr!&Q*q^B1;ii+TKwJo?bI&@6GF)~S7er~QKueiD@jg91|R#(JhVrzB72@Doh zCGoo))@T{oIcPK`J8ZRcXPsv0SyM@Rgg4Z>6tay`@$IAUcU;AIL*M=hcS)C*%(IhL zX(^f&G$kWDy`jDrQOi*7{<+nr4MiB_S3!51k`~3#lO^=IqB(Quj`+YCz;>AFpf~fD zowX($r3S+n&q)ldm>;`4i77IdlR0aJej+G|AsR7hSo3s<*772m0u#+@WUUyu_G&Z* zg;X<0lw&BXlUNo*z#6$B%wM9E#A@UyEX*xJXAs)F;hM{f&d20az>o)vg=4C;DsE8*=a$YgG0%e;W5=w$etiLnC2BbG985) z!tOdkdLpY~>Y;{GN@BTX=DOVBnqs;Khqr?vJ3HWA2{p!ZNl}+PdydQiZKTK<)){$N z*OWzN2=bfNU_t?kC={G6jh1N{-Ge(p*Ia%ohMuVqU2}9IFUr~8UxY?WLnwtd z&nt$B6g$f3l9rR73MirboqyMEQo56(N9c z#o~l1EL^o#P*8p`^Q%R^6|JJDmpg-ZiZLvqe zgC=M5O0yRHvz#VX9UYc5Egzbe5+7coo(Iv|VjQu7iEqz*GoB(5K5?UOnlw@!Xv>NC z4vLMpQ#^iS)~Q7oCrpX;tFW`Fd%S(z$V-JsrxES)JU#_!2h)!L^aVr#q5+Em&>*p+ z0bRbO@eQ|%vaqDU`LHG^Mb&e#|K^aWU<(-dP|M^2ovT42|Dk1H=cQy`jmGWDv}MWi zEeTV5*4QL)IaO8KoGn>5b2=_r3;YvM^9~qk{1b4>!dXZ8foB0F88S3S z3mg<5!W&IVpJXqZT7>Wtv^4+X)`mVLrxc_VrsT?LWH~5IPD{&jq?hD43gtx4#al7Y zm06}>B`iM^DYOW7(Q($EwE*3iSY{Sxrvsn0pjQ?Jepw6Po)o-2BioUqq}Gq4bnJ;a zQ}YXRQ)u0+ee@n=?3L9utA-tqWHY?-SEkC3zswI|qi-O>UKl*LzIaKo2i zGBL+3?a5ZjdS?+uU&Z-_7#C$Ebp#rX z2}u#MjONo?j;2^mM$evpWh%wN*|`Nd4i>b^3A>Z9I;OBmDM(4nE}n{Jr8=N0Jtw9< zczG&Xpg6xcCC8pp=t#l%NQt9xBBrseD0#P|sJw|yX4ZCM&=RPZ$yAKliM@y z3@a&4Tc{aYgst)-${E0~&Tj-HC{~2T1`~Gz&$i z=$70rZxxokLgDLn#qN#e_Yt^1F@IIEtj}@xeVMu{83JV&*-Ntvi%U`vx#Sl*ED#7J zfzg}eXdc}Nkv!A?u=tv(2NG5#V>cB!iX6GwFrU2aB3Px&@sarT4kaCigIGgmDW~)N zyu^aS{PdEvVpgJ@TqW@;niJ{mrnNc*vuDV(M(7##6oakkpoc>6Ya*->#-#7 z5BF}5%PV_gQ2-;#EzK_}wx^U7=iAdVaWT!do1zGud4%C~I4^Qopi7dJKsR+I8dHE<%j>ZcexhaLTnA9hu$JA--mL;S9 z`Gx5Yn0j8iqYQ+!cu5{23-h;P*{0z9+&8B&IJCwma0wbyN}JS8HYCgVu}Nf75z?HD z@gr#jfLP3t!U3ZLqFGANBru;av{`oHdIv2I`NT~xhj^(eMGkvfPD&BYwmQNiO2g3@ zQHbR2u-pOo9suhuf|U=%l`P$kRht}!D}q>r$wM!ob*yys09t(_dg>+Fz*LneIu9zr z(R6eOv_qq~>&dJg($HkkOLlrAT2SjTD$+h`l)ZmsWX!1Ogb?|PRI~-p@Sv_)ddlVI+a9T3m6OGm`DWD}2dwxN2b~<(> z)$&IUii?kl9vVG3CS)WGIiDhWNWk-v1aQ*Mys{9KDhnZ}kr2ps5u>N~Y?>Cq7h!P8 zpOS~Zm)=HE^C+m&jzdqQ@J((a4hoGy=r9y87>OUerAttVWLPA_fJRiGTR6@c= zP0f%^HB<(8s$tJNae3tK$TSDR6UD&l1{vxXCKV;GO7kNUO{s{3VwWPNSZdg^oUD$<}rAXB9WJmJ~T4HX&sxLpHVmml&L9c6gK9UuqI%ke=aJY*O@k_~xumXCTXv%W&aFucDKT3JsmW@t6;jEa#R0#=5IUNz&W z80xcuTCjX%EP#0nVQ6xrxxn;Z@|-Nc55 zp@E#HEv$Cr1^p2sHL3{1wPOaVs=7&;wpH8?2iY-C;ueaeu}RxU&R8}jmJ~!rhmH+{ zD|KXLry;UY2H~iI_K^eZ)a#KrnkNp;%gBdGDh#g0*Cy{QFd&uIK;P&k*=!&tp{Grw z@_10`$So+IDi?<3As+8>0_w0m*wP|JCiPOMO>4U(DhAC>xoMlPmPv8wIe00NCfAlV z8cn`QLk+D9Ac$%bDUV8clDXcC4Zv7*?7*;xx}hLYp6gXL&;rSPf{ zs{u6Ch(icQp;Z*1825z;uV}3x0CNItPX-SjjuRb-V`N7jpAa`nF<5Tg+3B)gs5~+Q z1k}o8fR9Dl>CG7nSV7bvdz3s;7=Q>dL?z5lhtqjuQQoXQ(X>?TpiYJc=NJl*&}RuN zcO}A8Xe47PE<&SGtw{n5#Tv#KwyC{0FFLV;rfD((n%Z8Hmo1O$S_103h+tI$DiT$s zqrW>Bjj~gI8fuGS7Vu*T&bdE0kPx(l+MlvwYK4g-cW>A{cHaPE5xe!rnSh~auSB$5 zJlq=}u()#zmFC;`XB}YfEljc|^pfwxv09Qp=Rg9+lBuc9F^@o(Do88JqqR6Fn0#A- z12=nPKbT32R7i${pXSK3qq?+yh%~Bb0k)Xro8HVL7C7#bcqUNHw>!{})at7DUGyrqnlE-ZloTHHxPP)Ivk7bVCgk{Q5K zv-3)wQplT$Oa}5?uo@DM&>crf6j0M6ttKIE=aQzR=Fq@QxDY7>fh34XQDjN*r*b`= zs|RwjGB@FBAoEAFP`*9U=zemp0?kZ=r%^}3n66JJ`<8RdCLyPzJ!u6OMSd`oOya}} zW-!>HD#|~V6S2VMV8>6!HOssU%c98YKq!W+4Tu|+Fe<($7UU{Z?odpZOPSYZSw^u5 z2Gp9JPm0x$rlB=7mIu*^`HqS^{Co9BF5Q zdKZS>_o6?W3(vYDZx)4pboi@Ys?sT=;yOuDG0>UXF^|x30rx$ku_IQ6pmZAUk@)$` z);kWZ=&*z|WeMFDP3unlK7ZLG$?F}otgn4`(o#TwdfCMZ>m8IHgtn%(Us!GlJ+!QO z-iSilG@rkuS?0p>cF@hm3ClFpme8wfJ0&hG=bR~ug_heK%V&D!wXI$t7Ly z*q^m{16hbAlvdBAkWtQj{7#XWKXEP4 zy|u!caB78Tv2TSXl%(Y8BqhJ2Z<4YQleQ^n(Sx|k%}$*V7MhwpjU5G%{TUeqrSJt7 zB`|=MIr?MPsZ8$p@`rgUxg2;sN9OXp-E73BPL*F$h=npX?DGUAh~^2pJYfqN zkNxh%yVJ7BD1<cBAclR`v6n8is%(^vbnh z5XmNQ{SoKTWL%k+D^s|UXqs)&%}V$*?%kP}rzuYn60Of{NxKkF7$~tz+^G0H(U2%R zuKf9}GNCg;MLtw?U z{C2D5wtvNdReV zoekIK0IXl(xS@m}%aJhklJEmI5_*Y*pO}&G3osIXy@lrw#3J3#)1L)n? zP5^rIlwKL_3g`x)A6n=EpgQ)#wKt#-pf8{wpg&*$AQCVTFbFUha5rEGU?^Z1fbx&P zH3|?7hyjcQ!~)^~@qh%tD8OjI7{FKnesDk<2cZ1pah(822G{`;0V#k~KpG$&-~eO* zG67kDY`{GL%AbR4E+7w(4=4ak1{4B{0L6e3Kq+7fpbRh-FbzQY%W<6nmh!|9v^d)jd?UpBezUBaK8ZX3hphG zz^Iige_fHD-20FzLjY#}WcnlleJps@f;q{8yIu!;V3X(>} z)4)NK$r|uJ%B&~7I0qqR3v~%AdbE9LOgv)Mp?RfIMa3cN16xWU4s?Xh2Y$&hnJo{q z4{MuvTRBkv{uf7Ey^64K-Z}(i$`eC z7#<4jntLW5b2EyHDehD18K4Hh6aw;^LQ;i{V&s}^k&_3|>I{q)MC9mu6t#XWTfk=7^sShvNKr&AtMjez8Jke77y*QS?|{N!~!{bpORmQ141l%N3paT5m?cly}@FWY1n^CHmpuhA~y;T4XZ_;q676*)1smhM>={17UB^S(wagb_7*%s zt4C8HUlex_w6sAJ zKrtDAN0pKjMZCb7R3?&WI8)ukWFO9%UQ97dR0SuMQzsPj!zihRc!%}k%;-RXNaw4R zBfpyOs9~H zeNMY+(I2j#wlD%hMM?V7>Js%L+SDiO31)q$16E+zn#>x$t=mERsC0LMg*`=p_Qq7K z$gn4RjmNP7KWoLFI^*e`)W1_dD&@~z@N7?eERR3Y>n*f`#Gkt3i53HbG4BY+JfR2X z8(|h^4el>@MIwmrkAVGd!^#9{NLfm!pBJHpC3>&s(KuS4$BUD(w8|e?LCZSige;*{ zIXW>#bm7tooDU4|8=RT&<|Yj#>% zJ#V5{_(w>730H9}G_WFQ$^I;B#ZCt;Q`yswl#YtGRy>xceX^%fE;@NnZw*nt6IfQ` z`MwqMaY`pAdm7KzSe-lWmY~x+Fl(jX5puBM zR+LG0X^Iz7c8o+a5AHb!4;K?`N`mYCPI@g(%!c#WG}g%5{pKE!Q<#n!`s}m{Bo=@e zixpsJuR)2ajSW)k4i%V5+(OJEoY0{m-for=Kcq^MtV|PykO$4e{3)h&ywzalYPgom zs~;zpCo2svhnD2#-C>ceDg(xgtgA}+i^NpRoRq0JJVWj2jb#OqOzuE*N)!78SaqnP ziB4+BE#{b9f-`k&(+BTqh*Yvx)OT^jbXhB|y0;RSnME13WdZcDS|vdO-`8;=fvYfz zPE*WSc6^1I1ajrr>Yv-?CQAPFnky!N>Y4ePp(C-xrJNs)XJ@7E+GH1* zPe=RtSt8m+5~;d!R=0Koy`;WXEJj}tgJtbO2pY&I#G#*=ooWq}=&a!UCDfnkJQbZ6 zoWDer1givGP8_bqbj_c(-ty9A(X-R6l6DAuL?n*?7|*AM z;%)h$%(0k|1WBPKW0Km*{%Zb`wuv0iCpZUIuXjA?;Qr~rYN97Ry=$-J{(J)Era3{V z#3_O#1xK5Pv18XecsUA|whk$3{wLcKO7Ze~$Kc$yiKSWe6fRxMwI=ZU2d@dzZ^^i5;nm383&O-36)aV`9m?)#lK z%Y$aUQdW}Y1e?f29$3{k9mI6Kn$6$_sLln_!mcPOUI)z-Y#B~mE1LBXvtidXr|?~sYPwdrO` z)ux-pJO13ZX@eLCSGnI1%c#R?)W+v$#!VNv>T{KoccnRF<;B8(W>SmX+ zBVBZ?N0dnohtpE>@Wu}bF8^ij_&)I9SoaAMnB6N}3YQ|QQ~L+8eZmpf&(==BaN+N@KWv1p+w zLav)!gfatkO`+J2mO>t_wIaAkRu<4)B-6ne(t$R)x@>%T^5QMqbr^ekO2c+Q{mt0!#=`#txW0;OUF^X{Vl!kGt~+qu@&vZEYGHeS3-)-iTzx;T zFXQ?tuD*4!&At^|*0^rO^$4y>+pt|&7h7JqR;h}RnZ*cjVvxYGH7rq4llxIT#M zL0mI;Vgzc6?KWI}nqejTd8FZ5fh(#Z)qN4i2`t!R!}Skbhrfhvcn|35WgHXm#P%ev z^mCc>UcuHS+T{YSf8aW17kHsvuHfo{c6szwY&GKAU^k8=pnVqLx&hY%d!Z+^$Hv#N zHHr3^_Byso(GF2>piQ9vCvn}2>%IH1O$z-t+K*!l(EmzYpTM>60URTM{*U7NIj;S% z9~oB@$1L8GBpWKQ9oId$PJbKii}twZpd^)}9qfm({SSQ}JAy4m=<&Ow*y@8Gzd44j zKj`n=acm7je|1ly{?O0BQ#hIcy}bMZwp*cxPflZt6ME=;2FEW@-$`e&%#Zp${}Hxl zQO`7MJpdFaf6#>TXRWoj-&#!yp+^q)^s0l|7onR=-+xhKUj^IKu-#TKC-~!tYnysrD15zHm6zXIw{hFB=YAbqT7YTk!LS@zOu8)*xo;1{A*pSua>{Gr*D_&XNE;u=f1dq<>^b?{~CO_-hhxJ zyW9Q|^2A*WHy=-YGvTj>JHJbIbUxL2`xmxft1Yhe)=s~L_7j=5h8@1y*K^atOP`)e z%z5qer7tWk?~;5h`angUiGTF{uJ#AVW+lynM(DVWUSC_zZ2NXU^wb6I0@IQ3rfyDA z#}N9Sx9r3{Z-x5Ze|i4vb5G5PegCZntxG#@SsvN(@fp(jpjlZh8hzU6$4_Gp`BdF& zo%h7$YftvR`Rt;<&aeK~R&T>oK5u;$+4pGH`O@C|X3aS~|A}p_tx07C_dP!S)0ge9 zjXd>uuj65jwhVbCbWN=q3qFo{E$-O?>8B3Ye1F)WPdlZynze1kWc%4>>ozq!*JZ>9 zf7FXR+jZiz%eEh`c=4^!W1C_Q%z7^P;vlcQuB%66f1SE{d&dj$uP@*3cY7_^VcAA%4fAs=j5b+3);}%~O_t+%;`) z(4f>8jy}8hsuZ~~u>YY)-+$!OvllPS?fTxAbv}G(xPM~s#wz{~IF5%b*mb2mcw3|G zpA2byFgWM@p}OCEU)JF8OG|2hIrQD4*cmN9Tt0ut%b(lMynNS(%`XRkp1ix&J-rv* zJ?6U)uC@DW(2sYusp`?qT=-x9e&ffN(K8OAS5a@!h|Q}IMq*z|jLC1@xz4_pzchJf z_qLCtNUmhAf!#s%`Rx*|Uf3 zcza9vhJFEcp0wYaIX$CvW66*KE&HA9-74bhiOUt!XI>q@_hx9ycgw9qr+!lXhcWk9 zT4cX_sMC^94t$<6E4z2Uxbww}8^#Rnxh|mL_%F+^Jv^x_@?fjx)-&4*J$KC=`(#eq z)WrKj7hkNqX+@oH+Kg{C_Q2B%)*kX`X8C+xhv!b;GwG=B*6i7F8>NqXuJZLCx-)V4 zPhpQf-2TZb1KRj(2%5apnl*mHxF|r=v{liIp_cGS7+;8`RC~!FW!a&V z{XWsMqsb?izdb$t-FYuI=~&+6+>b9e?sIqlPOB$xO&n47)W+>UewE%TDEWuf!RMQw zeAKJ&xyNb@`RC1@kF|??aq)-(Yx9RYp4@oF=fIkVJ?k8q-~4!;!y`|QczN!%2*2;c zwq3h^aMyG8UXg&_Gk^d4&r>zOxUjO3#!g@cS>-1De`5%9@-8bv6=GTAvc+7K~ z%D*{uwEfL*FZa3r{h^qD`VHB#dtk@Dv#uZgZCl5EfBtzke^c4HB#&iJU1=V*VBoI9 z0iS&9`(1|Lg<;Wyze>I9zObzy)=kQ8HTi+g^=tgI>47G{|I{$!qq#rUJUi!_*Xml$ zuDtX6y)CcU>ctQ0T_^vYg`S^X+*tDJm2u~{elsfUw}K6WXMU49?%+>p<=KMZ4G`Cw}o9(Cd@Wx1E0e#}I$-2g@HjIpcvI>!wA8 zKhd)7hHn;?W_iq9|Cg87te&rY{QCVpHvaX}7j5njsr7Li?+|r%KHqIMsAapFcyUL=4#XBd^-=_dL44=fxhIzklSzyri$cJo9sT#HVw1 zoOrNT&$jKaX1}_sWY5uq>u%mS`g@m6Tc>-4r%irtTGEy;M}L2=uYF6*(Ql7Fcl@_P zzcu5g%zx!Zm)Fa_dgZIDJIlV3x@}(Ue|qtXr1xLCQ0tY)CpYuy>|GSp`eO4Ai_XV> z+i7QE!HWGE{=r^j@g2_HR%0Dl@vEta!yK6bdznS>H-}LNBTMHVGyxQuM)0uUW zB3q5#Tb^_Om_G_8*J*dS!ILeDe(lg;$2}h3I$oL9xoy=w|J2PW>2P}Y?hlt_ZSB?L zvtesqUU>ZbCL@xc@|nA(^X3!%Pd2%C&DnE9o=bcyz#0*LrgT@I_MbhrV_Yx$1B=oZ zA8K`N#hK}+?k>6TM2pe&>YSSP(ZrMA9*KBn^!YRIr++#7)2SO19A~@DpK$*5uD`?u z9GIWE_`#U1Er&mS_;6hD>FVQ-ugRD_VB^bkeK&48A9i^Ek8!)!t{YU)tZw_1w{9Lw z?~>T(TE^2Ok44St@!8_BdpibQI(_emAulg+|4;V12q|`C+)A!!^X3OfBx&d>`%I6KvX@52BRr~$zzl+#f zE2RI3K_@#Flx*9PyY;iLHnyGc$D7B_UFw#RxcIlir{iCGH@#Zd&Et+t{G$C=_vR&k zyri%`ei!@i)=$RyU#M8$ep=sqt1bNS`K$e`yAFA@e7N0Dv#ZrD+CCt0#9MF7uJ`8Y z>I>?~e!3#}y~MyaJI;@P@@n=xulfHBIXGu|@1WsruD@p+ed1ck z@Rb+mjTkuU?KSJ`P9Ip^x6u!QuWr3|RXSMnhpijFcI-bF{mvsdHf5d+dOs?<^OqZk zjsE%dE>&*+{NAB95kVKvqASyLXH61y8?RcT)cgYciTQE}I;i)*!giV}8%BS$@;=MzgxjUwmZH@Avii z`o_qlfbvgIzHQ5~J@sJDg?o$deQ9pXtc{l*^=}h(mP3`Os&9tYnRji@6l;F|2YYI+X!H4klRHj(&ilHvf0w?kVlVyV|7@@|S`0!qyd5Z#!(&#*+^u{5AX8ZjUb;{dJ4SxAuQ`@5v$8N@hIz%R`p(gRNdqtvUTe zso~m@8!BG>r(58{%#O|KO}H7`zv$!n-a(JObL?Ephn^bYbtGxep0~eLt8Ve=fWynK zVpou9J|>au$l-bhVld~-jdK>-&`!)K21m|}4G}dOq79AuMNVR*;^cJ3j1!AnL>{6M zIC<>DY)30iB_=U)xHkeOI#}y1O+fAUV1k6xp!j<&4{0V4NRSo-w^+bEh`+}ApawTR zzH!t87uu&>DSNU<-IsR#PRx9fPx7fLjf**6<*?)-`GCHf2j)ZgU{=RYihuS!rbIvC zgyx7q zh$EjN;xNB8;4s%U;Ak=^<|W;UILu>#>#36ub6Nu(B5?zb<`p78tP>b;m=hatm>(N( zHWOTP6I=@c_YbxO$O4bCTD*ZN1K#J5j$8EqtT>O{fazY3rzb1U>$2bFmGHCm;6yxV zgY!L${vYQ-?V`ui6X!wg^PYw5oOs}+C<7(uL2c%W2esXM7OD~PsO^#mwWk@6H{fKc zUF{a_KOa`dhFCD2Xdw%v8aIU9W?8Tn!E{6IuFb*kaYPoYGSvQd3*~79c~UH7ul&hF zIxNdt3u&HsqJK(W(mC0QE52keoNp7xmvl?=H$k7`obJVh4&P%+S zx!`51gcsQz=hd9?f+uFYn!DgdHfbi;St&^Jg1QqdLC}L1I^nq&AXEkN4K2Y(>{G2w zaIH;nZA@?!Rfzn8OmOW?aP3WScbVXVO>i9;PVZMj1Uj-SsxQ}bOQvTUX{gQUZ-1M$ zKk33u&%}##!g;l3yl8=kc(r!Hi}dA+7wL`jYRh<0zb0O7UGO5Erdrb2zjTZ8kN0)b zt%7l0c^c^$zr|^qk96&%SMGR!B%PT-j$D8*L06{UfWrB#oqz{mKyJ$EbdV`Wth> zk6M8Dyb_9MY?@yo-QcfOUP1g|_;^TFSw0DQ$Pe}LsKwqZk)(cj>Lt@JLhP}K*vp@E z)UpYcLEVvz z^FY3q%=o-vHe@*Xo3X6Xy`frCbrqbI31QdEjB{7;+GFv>y%eA2a1@7U;xEL|Tgb`> zQ4qZc;yIAN;Ab92kwpAMj=R}!P~2btZwjHPl1k{LT&)P7+zX**ppEdm`I60t0!Dg? z&JP1lRcWH;xf-q8`a0A7Kr^u_f2I(OKBPnb3MIKze*Yygl={gb7@4WR5S9^vh@(N+ zUwV;QwUU>tN~9yx6>&5~ia4@F5l6Nn;%K-LapW3B9Jx3VN3Kf5k>!gx(v^tAwuk{o z8muDdiuQX%9JWjhI0|J%IUMsXjlIF1s^RIR#gFkKyD`h- z11L=IGrH@sQ0B^h3b^3b1{h_sNF`BODKk$(A; zAD&3F#E&f0j33R=o&0oIbu0~&KY z^*1wm>T_mzvPv^NS)v)9tjP>d7Gs7d+cCqF6`A45Qq1sVGiG?Q9y2^yh#8)2MZ}-Q z%j4@{&gU$x@H%<}ob(!iV1j;WmHsuTZq``ZpW zkcavd(J#k!r5_JQh*wRR!7BWLxY5AR0?d}Y`jf}#i!X~b%MyfhvimF+?0n-d8^gBx zdeR?`n?08%DEH1Ki6U|2gML$y|1#_V_BsIlvQQq*qVZ47E7Vp*I~#!CU6;Pb!!g_k zT)`J!VxNe`4*c>PQUWFtM)_1hE?RW(054zYvK6Zb=OuZf<=AV|A-cDuLs+p13Jdw_ zX269%0)&hf{O&*l$=CNHesh3aA$@#sNA8d2ywv1Acz2dUude?Od+!3LRdwF`?>!8| zpnwCS;(fTNBi=?t1yOvtiVBE;iuXYW9Tfxx$MHTWF(lfA5|faa3r(jfNt%}Ql9Dtv z)0m!edUDR8Y1)vqO-WCToL)}pIX(YBJ^v>Df8X`2%iiz12aP!w+mm-bd){X~@7nA4 ztY_Vy{j9Y`7bi#;y{!onDcXmb`TT#D%g51q_P#N>hO2)mcBZOH(uHqplH@c|m=rO1 z^^ZxDA}UA!=oF@821li^ysYD-iAfe#!vl)XfIzrKe+Q;o{4l9P?+mo6?0!-;BKwpp z{4g=1d5p-)6D=zD2sLwksoI$Ri<^oAcCd-n^Jtp&JS42=AyYk%fux>C&8_Fr+1K;v z=<9iO^7TAA_UeBXLujkQ0)bsvNOsXg&hWUC~7{=>)49xXBhT3`_ zwx4<)-Df=yyH1hE#DmW_b5aNsyg$yv-?ubLBMz1BPjXTu4sGO5^YHg=ABXz6CAf(?wNFfleQ%n#Tl|Y#45OnUFep}{KVdTFy zzdnXQSRO+lq~AbDArMw5CJ2miAe`$E+8hGYPs*XKln0)Zr9AM2EJ@v_-lrG>;RcT| z)+3zn5OlU4`ut9R-?1(aT`@!+R>u%| zNWYPXyYw5D@MAT9yFMp%7I&mR&84mbT!ehLPhq^1zdMGIe@zS_fBFsiQwaI*QA`k6 zCW3I0L(n@I_1nEZmE#;j$oFxsl!JzjbETYqD{AOC$-g-7@d(Fzgy|09c!zMGM>yUg z+#f^a;ei+;4{KuxgcJf{oqi(^C+M3zTthIn4KW15LoozG3W4yj zeglE^3ka7u1Ra!`EzdXl`z8osMII0)NJ}ds0#7Vg#58s4L@CswR5p2p6FtJE4&g*0 zT$4ZI5l$4syqNbBg)lE_=|mwEe`AaeS~}5{L$60*u16kbI0T)fD}+Zq!buLHFNQ#P zEQUZxzk!fKXz6jqL`%#ZL73?fc+z-H{)A5jWBt7R$ru9RsTcww{RTn`f$+3qf^dqy zLAcBz=m;AjJmXV2rKF`(N?OvMb)^~fa*E2K7y_Z+Bb@3HW;q0&YOa*;g7rc?)x05p zHim{}Hx@$8rO@zFs3p58f6gN?qa_cQJA~65!WN(AX%69CF$BW%F$6;T4TKabA}}8Y z;R=Vq)6|vuyL~D=T)83N8bctwCx$>szk!fKAiP&Gzn#s`Y8v3yHevj^>rMae7$OF1 zl6Iw6TpPffSizfA!JAycn^M6$qk?y49gn)zE*@H&?X=eJwDy8{jCbu$YcIwSTKl;e zLTl+aw3b3>?R|;~0yzWWN{7Ic>6Q8WeJVT(yCL5eLm>Qo3^kX28(s>5uw5}hKu;jl z9Ks}r@ByF7B!}=)3=LB%AB-UoJ`_VBq!0)n)^8x7bs_W{0#AKcVsCR=;;HWq`A1@i zJbW~U(9+8>gqBhWgpcVr5GX_PFvsO#iV$wfKko0F;t)O&Lm+%IhRDOt7$OfT1i~-q zHxQ^1IdTk?SzYA%I_XSe3R6n|^UZp%Nd5D3&S@-Wxs z;Y^3{%Rc6r4q;aef$*6a0wIM!_-y#8Op5Kt zrQb0rc8yD6Op5IV6C;Q5AGkREPKoy)W8q+Oq)hCoIo-O^jV8yVvcI9GWx)(djXA3D zypryh&;I;Z^dDykYS{j~{?DGCQOCZMf8NJL3*X7>|12grSCvdhSLMGd9(ZW$s{Get zXqZB~W2jl7FT~Jrg?>GTS`_+?7#g9_Z^lroLcbM5BNh6hLf;nNDH6Lw2l!4cIc3y} zjd<7FXvDfFG~!oKOjgr%q((ePvgE26n7Pt9z!NqT@FQ8u7XR^M2d3>IoEx*kZPkX2L2RO%~4_sNR9x)vAw)z8V z@XkW}b&n8^PwkcV+|^!gujq~GSn&}-+4YrDQ=O(@OYL<;rtzY{qt?_<>$s_&NA0ZV zwN&tssXkt71#e^pkKUvH-lHpcqbhi#D|njuHl%k<1&+mOu487A!?x>hphFzl28w z#U4LBBKV7ZkB>te`d%LX{<83hV0NjWpPhe6cZ7a^cK+oU8kWt@eYVJ{Uv8vN`$hDP;FGXLH?scroaJB8BEjYJQ`& zkfv^yL5PO}-*@hU^bxiEYd*bZ-8CnF)u+c8p3>9){z7`RG}3Ez>G24_(!=~;%fIf^ z!|QH-{`(5OB2%jlA(BywKa+`;Ng8b~4Q6zf1_u6G{%?F5JV>6O|A9{f*^6n=l1XE{ zO9L~$rGW{*mhbgx@Mfs_`M>pPaO7_>4O%{FOmJynsJAqjeb(|n^l7xZH2$4WLx(1n z(x9gxjZ<72j7Wdw^otq3mVd*iG18^+?|mAKXhk{bSxBS3Mh#`;{7-o;pYJplbVg4@ zoJlSY=JFpj#G&UQ&J-61gEw*J7Jg5IA^*zn5-M)&@&OI!^Oeq+!%+Ria1kU z90v2(8nEcOh;y!sgW;EamF1x)BhL9Q4yM~iEP6KLbhiGZJUIi-RE&ta5qLQxfN57Y9>fV;p);;#}h5U<^c_ zays;+#JSYP!JPM9#aXEK&7YMiJu7i$xHuT({;VMmJuPu&x;U8Bh*QR*=OxZ%E)GVq z#yIrE#F^#dVAg7kL(fc{%Uv7{Q;qV_QxoS37YEZ)IS$65%hW)FacE_>Oq}qC!RW31 z{WQiQ`pzEO?)}Z9 za>@7I=k z9r0MYcXg!uS+LbcBs`uR_m5A%Uj*%^*jdTdL9FCJ&ysmp2q-ttoJ$#W+4XDW3%t;f0p&js6v@D zfF4_?X9mn;vy+_e2lJzH;xRzh^B558c?^K{JO;cXFDy-dnE#@x*DLB->1}_Q5B)dB zEj1A6`?Lff(xlbBA%*lX1%BVXE5$;?6hhAyYF21p3=LQ4k7B4rp>M{}2)!TWk7KA+ zzkMr)Mk@3tF?5tde;PwaEA;Ic8l}+w7#gh*b;D#CqtJI0VrZmwJ)z5%Jx$6*uX~3J zG3m2<-P>F&G)!-6q4X`(EX(y~g;?6KMW@&ETl79A%AS3bP3ol{*L!SU(iu1(bbl|Z zUjdgE{3BiFFEvcKue*1~kT%P$*R#LSkEBgc`9qgBn~BCa4-DfES1gO)B8TLF$vJcX zS?_=OQTAiKxre_uJSNLA@@gJbEXR7?`)NpnC0Va~Q;jXv0w(=(pL?s7@k2hF)f1+C z@>a|0e9{AvPxGl_$<~`4a6CM^z@#;hHp@24Crh@3$w*+j$R}mhs~TpQXxA`V;`O;VAt4LW7$&q~8lQYxI;|?#A1ED`O?p9nMH$np zl6UjPVwu?M-uc7*EERi&ZE~kcE0|?U34K z?a=NXk=-9^WkI&a_Q|M;UZyx%SZ2TO-uFamc%{AW-u#3tM@Lz7h+;vOqoXWG zmt^4`(@8H!mt;A*QWi#Q^kUv+%;#Qr@0>ywW^=E*w@)Fi?yTCk|oub z(Ivf%F4dROmGy<$33@S)HOv#e?%i9+f=^tpdkYt`a1w*n7o8(nkY!AiWlTwyF(ti> zDakUXQWj=K=*4{7Sp7Wd-v5Ox7{#A*ZvsOW9)XxF+Gdg+lZU#i_fcg1N`v?se9#z4y%9(hkmkPt$a(BF-9^4#s^92?~s>*QfB$hb3B z@@$q2jeQ9-O>|&hbeM{sbnjh52RuZ6Dr*uh_1s28>}^CL{6i5Cn6S$2=iop5QRIcubvf>@iO$VV*D~Cas=) zn%5pyliqB!$HXtNSG~GPfL~y0FZczf`2l``me&amH}oYFgq!9E6I{P`jMAeo(f+N9 zG1=N<@bSa!__<785l#nq5k8-dRS5m!MR=FzH!Du)*G`lyuXuio-gOyd;pCAAa(P$y z-IsF``v_L+oQa>jvHR_1@4`NOon;-AdPnImNWhcbYFpa#S ze>+*SjB|c~V4f^le&i%RS+e}d>B#salr!qv$&%%@Y=V>JB!w88Ps&erf2ZW9`ajbT zt5fu29*3B3$L1$`De!63EH6^V$)xPxbmR zUqsBpVcvJRflN2J)r%OkVI$8BXkwW>L9_2Yb%0u~_?&P86SJe$n>3^+( zac$Fdt?~PGnmvD8^|wv$m@WT>UoFly^$aiSdQvf8a+Z>I>9lCYz$!Aa#JkPK!VkO zFYtmD?E=R$>s^0-w6h>}R>Zro6wffGRm8iff;YXu>-Scwiz|4S6nH_tOAEaI-10$d z3|6$jn_1w6doQct&8pyC?s#P@+7%VN*%iDi>v-XD4DH%HU)x<9n(W&UzO}vC6yJv0 z)rM@XtoOyJ)`xyZhxIEKZMVJDhT4zVhQOwt)90JV>O^5bnVsRW@w$B~J2Qrc>8;

bhu1A}nDE!Ty&;0r=&|6xxZiZb|l)D^w4jz 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

  • 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 Ps0Y!K{MYY48wdUiq%}6t diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_ME_MATERIAL.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql similarity index 100% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_ME_MATERIAL.wql rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_ME_material_param01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_material_param01.wql similarity index 100% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_ME_material_param01.wql rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_material_param01.wql diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_CLASSBASE.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_CLASSBASE.wql similarity index 100% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_CLASSBASE.wql rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_CLASSBASE.wql diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEEXT.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEEXT.wql similarity index 86% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEEXT.wql rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEEXT.wql index 24bcbf2..88af8e8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEEXT.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEEXT.wql @@ -14,8 +14,8 @@ ## 表字段对应输入参数 ################################################# 输入.flag TYPEAS s_string - 输入.storagevehicle_code_begin TYPEAS s_string - 输入.storagevehicle_code_end TYPEAS s_string + 输入.ehicle_code_begin TYPEAS s_string + 输入.ehicle_code_end TYPEAS s_string 输入.storagevehicle_type TYPEAS s_string @@ -68,19 +68,19 @@ LEFT JOIN sys_dict_detail d ON info.storagevehicle_type = d.value and d.name = 'storagevehicle_type' LEFT JOIN MD_ME_MaterialBase mdb ON ext.material_id = mdb.material_id LEFT JOIN MD_ME_ProducMaterialExt mdp ON mdb.material_id = mdp.material_id - LEFT JOIN sch_base_point point ON info.storagevehicle_code = point.vehicle_code + LEFT JOIN sch_base_point point ON info.ehicle_code = point.vehicle_code LEFT JOIN EM_BI_DeviceInfo device ON device.device_id = ext.device_uuid WHERE info.is_delete = '0' AND info.storagevehicle_type in (30,31,32,33) ENDOPTION - OPTION 输入.storagevehicle_code_begin <> "" - info.storagevehicle_code >= 输入.storagevehicle_code_begin + OPTION 输入.ehicle_code_begin <> "" + info.ehicle_code >= 输入.ehicle_code_begin ENDOPTION ENDOPTION - OPTION 输入.storagevehicle_code_end <> "" - info.storagevehicle_code <= 输入.storagevehicle_code_end + OPTION 输入.ehicle_code_end <> "" + info.ehicle_code <= 输入.ehicle_code_end ENDOPTION ENDOPTION diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEINFO.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEINFO.wql similarity index 82% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEINFO.wql rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEINFO.wql index 4081d66..36ac5f7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEINFO.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEINFO.wql @@ -14,8 +14,8 @@ ## 表字段对应输入参数 ################################################# 输入.flag TYPEAS s_string - 输入.storagevehicle_code_begin TYPEAS s_string - 输入.storagevehicle_code_end TYPEAS s_string + 输入.ehicle_code_begin TYPEAS s_string + 输入.ehicle_code_end TYPEAS s_string 输入.storagevehicle_type TYPEAS s_string @@ -53,19 +53,19 @@ FROM md_pb_storagevehicleinfo s LEFT JOIN sys_dict_detail d ON s.storagevehicle_type = d.value and d.dict_id = '32' - LEFT JOIN sch_base_point point ON point.vehicle_code = s.storagevehicle_code + LEFT JOIN sch_base_point point ON point.vehicle_code = s.ehicle_code LEFT JOIN ST_IVT_StructIvt ivt ON point.source_id = ivt.struct_id LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id WHERE s.is_delete = '0' ENDOPTION - OPTION 输入.storagevehicle_code_begin <> "" - s.storagevehicle_code >= 输入.storagevehicle_code_begin + OPTION 输入.ehicle_code_begin <> "" + s.ehicle_code >= 输入.ehicle_code_begin ENDOPTION ENDOPTION - OPTION 输入.storagevehicle_code_end <> "" - s.storagevehicle_code <= 输入.storagevehicle_code_end + OPTION 输入.ehicle_code_end <> "" + s.ehicle_code <= 输入.ehicle_code_end ENDOPTION ENDOPTION diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEPOINT.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEPOINT.wql similarity index 98% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEPOINT.wql rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEPOINT.wql index a6009e2..0705563 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_PB_STORAGEVEHICLEPOINT.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_PB_STORAGEVEHICLEPOINT.wql @@ -46,7 +46,7 @@ point.*, svp.storagevehiclepoint_id, svp.storagevehicle_id, - svp.storagevehicle_code, + svp.ehicle_code, svp.set_type, d.label AS set_type_name FROM diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_STORAGEVEHICLECLEANING.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_STORAGEVEHICLECLEANING.wql similarity index 93% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_STORAGEVEHICLECLEANING.wql rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_STORAGEVEHICLECLEANING.wql index 15c96e7..311805c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_STORAGEVEHICLECLEANING.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_STORAGEVEHICLECLEANING.wql @@ -16,7 +16,7 @@ 输入.flag TYPEAS s_string 输入.point_code TYPEAS s_string 输入.storagevehicle_type TYPEAS s_string - 输入.storagevehicle_code TYPEAS s_string + 输入.ehicle_code TYPEAS s_string [临时表] @@ -69,8 +69,8 @@ info.storagevehicle_type = 输入.storagevehicle_type ENDOPTION - OPTION 输入.storagevehicle_code <> "" - info.storagevehicle_code like "%" 输入.storagevehicle_code "%" + OPTION 输入.ehicle_code <> "" + info.ehicle_code like "%" 输入.ehicle_code "%" ENDOPTION ENDSELECT diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMT_MATERIALPARAMETERS_001.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMT_MATERIALPARAMETERS_001.wql similarity index 100% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMT_MATERIALPARAMETERS_001.wql rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMT_MATERIALPARAMETERS_001.wql diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdcs.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/mdcs.xls similarity index 100% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdcs.xls rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/mdcs.xls diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdme.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/mdme.xls similarity index 100% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdme.xls rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/mdme.xls diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdpb.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/mdpb.xls similarity index 91% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdpb.xls rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/mdpb.xls index 1ff4b095151cc54c445def88eca4f10a5ac4757b..98f928bcf907da4eb475fe3a31ba1bbb824ad985 100644 GIT binary patch delta 5034 zcmb_gd011&`u^r*gFskhQMg(UK?Rg03tI$)kOV~#K~U-n0V1SA5=l@{F;Ee;Za^%t zY8AC=wOWxBv5Ep}MNt7aM7tm=YF!Fy(IO(h30&{J4}JRIZ{|69XWsXlZ)UzZ=gj2f zoiNQiVOpL}rI%UCJd5w^GO2~AP}f6!W)W?6tAcjF72R7k(LlRzctv|{!76SUpsbFJ z8lY^g2}CzghwB`5_1q}k*WB?2OI{j5{p8fye8X~Y8+Yxx6@U|g(7Yu5YOsRl)y6s% zt&t_C{kh&^p^ON6v@k1tdBQxQ}zyW528@E(`QD`0^$xBISNW!%g(h+SPjGA zb%l|kp@1l3+w>UMtkqx+k1iWo0_ARAs$)qfyX}XCCPrp35nu_>RWwkccd0NU4gd?I zxh`KiS63u8*Zm@OWE3!rb}I~h(qzim(SW*IC;)6=bTwimsNYVMf8RdNeck59BmIx| zvRnJ%knWhw#&!=@hibZ3*+{Jl3-BQu9hun_5f@`SsdM9|y%vHnUC)GA6OrpTuI!5! zK4Ws-cx;mbG23Zz+@bl6`%UImrVVdzw6_jhz5O#UiD@75xRT~P?Z+bb?A*4~omYNI zDf{V}dD}1Q#-N(E+_yRG%u&(Xs5kZyE#Es9_nx`<{qtHk>*=3_PJ&$Rm&u|xNn<}G zu^BG;Qewu9+Q?Wpzrt)8T?mcK zwlPDS>>vDo;Z+Jzy5O36$&%www7&;9Y?F$9o?*B1VZofMKUP=I`*VX}$+QbMj-1sk ze)4`#>h5UQWwZQuZY+QO(vW*1fW<4E{Zm6@k-B@ug)vo|_wsgh7I$n}*|TV*0ifLj>)G+n|+h#miM?&JspjI(CX;0e)rYh z7tOpVmvRaxx%RWBEf*DCS0sH7iPWvsDf0v_U&_xpX1|%bC3x0OFZui^b##5JP5U99 znmc{V$h+S)m65&nTbAwn?Z~+i?MG)j96p?{?Uo!AsX6xRPM6I4YK75g=cwM_N|)_h z@GNoVqX!KOX71mVxn-jFnhOo9x$_4sCbSJNIW3=hdPZkU-3oE+iIYa1(PW+c=*NIyL80GP=sL#@X`Vw1kyiW7Id+EbY6}QD>Od+uv^%v~_ulE;8wKjb&wa ziC?(?^cj6Gjz0SNdhW9)@Ron)jeGYFe)x;H{wMVZjt5viU-9G7rnt8Uf?Jg{$8DF? z3(E!l?{{3S7Zh)8%hdL(S9VP44q9~FqQP0~clE%&zgX?nJsaC!JI#m8kWsbDW==V) ztn1Ca ze!#el29Pxy;3Y&%O&FhHOf>~qH6NfKV;9DBCbnGw zz%&D}P5{`5@ixX-bI`))iMSIyg7+A+@ylqr6yPmJP7=Uj3xG=)CHRFDm<(_NV|@zl z&>Da%12}>)ej&h(VF2ebhS&heQvo_K)?o~?1sIhE@D;`l7)|W(05PUwRLcQ6?Lsht z3#s-1s?PwPV|dpI85B0M9E6&O87-~puL0boQK0J#nT^A!Mh91S*wSIwDwa{+4d z@!$(|9y<;jN_7{J_9l)djwRRw1rXdCl1;EO0&swb@J2fm=mRF;AVUjoIp~9qOD#k4 zpbxwVLwKW|iFUw=acNtC__q`De{^Ep1%|rEP6mA7U}DYq5;so9<{y3FApegK#=qSe zl1sZO4z~yPnKNJu?szn<|INC^+a|DX|F;gUx`W%Qbzg7i=w#ddbup*ybq}_S>5mGr z?+rM(wTNc;W5+c*LWbJCYmuoL-p_9A1ej@v*%xI?U+@jys`g{MGK1vgLJCvyExrZI z0qz|$wl!p(xy59%egN24k8kG&qn%E2a*iRYp>!DH7&?B5AQ0EUZCgMPcvCEHKTLmr z1)%Wme++{jv=YeQVE@PoArGDZa;>!-R0Yhbds)q-RAZX zUBSy0`o!@Bzv9&iitgS!ciqG8)^YCB!f_W$=fDCx`WkiAw665xXfgdhNa;D84%d*hl9E_s6=&SG2&#W@U@J+OrUGXkt}ah-!L z`S@1^xv+eor39-+OAhwtfweGPGI}ujH1;y+%MZ8qz!nnQfzCw(gBUasfuJhf9!-gi zFvev*T!X`qGVn`4H+71U#Azsx@1%h=ly4oRtA0sBMN83hea2nH)ruv2kx<}|CoA$6 z`gnNbS&BVEL&N;=^aNsoH`fo(i_a0|E*E)&L>%VF@%O+p;fOuFg(9I7O!eb>_`@=h zgv|$1B*=3js)Qzq3&lhTph=;%yYiYz&Om=v`1 z@D#WimzkB%3YBE5lxi8WK-Qc%S%xZIstJ*aWts9NrNcydS!#_kL%wXi7{u}nGH!OX z1QNudJXbD<1MVcxjTEZM&{#OGNM$h#EvJ(+grZ1^qxG~{*VvfI?N+n5TE$KQi6kyO zN-X&l65@oRk&@Ur6RmJYT)re+p^-tVER%F;=sN?y9(!^8+v^>baQ;G9L-ln-J$dlt zPb{VgTuzwuocT51q~?C@Jx=r0lUM5qAyHKsa;o)q%kf5J!7^t?LpVf`VOa`D*2t9# zGF3*^h#@U5MjzLyQo2GUZ$z{W8^!#U!-=!Z2U?T9?VRl*?vo&D2W!MN#If z81j625Xqs4C?XWTkYuMMne*7S1?R`crO6a7=jcKb&X96oaL9XcN>U(T&=G^;bT){w zRPIi43Owr={dE8%R+|(bYMeD<~3(a=1Y3z2`#okRVVdwPkV&^G$ zvG415v3IeH*fOmdX6i=Duuk8>Eb}y$KMm zkZa`9bh*W{`;-~+$#S_OMW)Dp8drx_Ya_$kP?;iAtX%pDMUj;;5uY}gyV8o&f=FM| z1wBap;YQ_M-|Gfd&7p>B{J+8k#;_JJeP(-6ov5lg!jRM@Ad6RKE=p1=VUcHSnoOoq z*LsSSSqcpiom{vB_jzP zV=?s=x;47cCGnGPb2;fjw$Igaknmr1vsaH%F_RVD z>=`0iK5_}Buw!;1zBT*JloIr*2|wOM6n}|+5m8i|iV%zG((vOA;#|H}(3#YQ7o)n^0<60_d0&3{J zktrf&de-|4MbY$-+>5M!nlaz$q47LF&^pZcoo1b8cAaMA?=*fV&87SrinYA-q~%=W zp-Q-W{nUv!SGvzP)`VNuTNQCgm(Ve9(P5s}^Br1)_#2T6VJMLm?IB%tt`kUZjFX9| z`o_)HTVJ!7*Cqr9k^D?Y^7S562A6wo-feDXF^^rttoK8d3N9}L{k@x;UkAPnsR(2- zPsFFm%gN1rGQf2X1Kd1Cvh;MdE6s}TUd!~HB~8z&m63syNVe3qh_3b39&e`QZ%uSk z(v&ngjrYMVnHJ(jqdi<5OuH*N$~?878B9w!m*YkAqG`%19$)vmYw1Nxn6@Xw$n<#8 zluMm1eP#KVrSNhRt(xm*X-AFHI%YZgSlYFj+6B`(=2+U%?Yx6&CU%|17K;}#?f71} z=0)rEqIuGMCy%F5>{PZK+ZYJG=j)7K^J0LFx;Qe$qZFw>ex>xv> z;}$ZO<=y)<^E=9fypU-bQbkH=7HBj|Mb-R!XzwVBj3oDeKtv^l=yO0&^}&I-Pkea~ z{ZO@K6cI@oEIARSrVQg@iw1PP(|E$ESY>5O!ACfRPc%s9M77bcoIu#x@E`_!@!sbR zGW;vUyA)5qZvr94!qlNc)%yv=ND2bIgBRgMyxdV0=tX@0|K5wfS}@Rk#L({bHWLYd zJg&&U2@3{=X@3(AP9!Fc;6c<-0iQ*@2>rE*gst8tfEbINP9JKbj|dp(E&6XlX#jDk zSmmk@3?i)b(SZcDST&M50v}}bk%0uM4+$h}i&a!ww(%UR7X}hG#VQm1h9DxaSmmw1 z7)YdO-#z_pUUPWh^osg}hr8b;{c1e6;3E=Pt4ojizEBI-(zg}PNtrZooH6o6g$>8g z$1D+-9@}&ITXit?qy63)eXg`m=0@e6B;q7ds(Byz7FN^S57#zG%3bfidv(4s<0DU9 zXl2voGFl*7_aZg%n$?<(ABFw5d84zB{4u$LbO?N^{wC@pf57h2_U!7?(2A2kr<+r+ zPOZwDL_9>J2EQxePfoq#@b{%w;}HLo7V7F=23OUF5G9BzNqBCm-xP|2vLuwSC0PCX z4WUFIrRZIZzRZhotlBRksK^+&!(!qjWqn7iUM?X#@eQ_BLSQ{#e+gHK7^v!z;7?O% zslGRia5vh!O(qtg82#GG#9X6U$7I|pw#s%2kwQVzs+vVPi!ghMwM+ zvZopad`c&X)Z2O|5_I~RR}B4pA8U8**#&?P0-%=Mq(0;>jkLIgpM5otIdgWq}yt{dp-Sq9j)YH-EA7Sp*svMbgyGCNWB)H#|ZeY z+^ZXoU>^O$HYCWtZ4c%?x7^J6+X%9;I1rz;221GlrNbO-4_&$Fz=YcH80x-~rH%9t zrGlNK*%FuS>?s?6ofHc@XsUUdQ|Ur)sU%*5u!E+K_B}cy`RndpWY%ov#L2 z&3ZEG$;Z0bNxq8OlE+q7{!J?a9~|yGf1Gw`mi{1_zgfKh;`y7|@fH#K&XsWkPKk8p z&j#+1Zgx7cz1Vx!)wb1s0{NmDlU6)@r2cZ(GxuM<@~Ai>3<%(Ce0ApGH-5#dPJH>r zEb{7iJ7t=BLA_;vFYy8D*xDV{pFd8a2X8`@CkyZgf0)lvKW zbtNUMv|Fue4&KbYJHgM}e9P3%Yfn35wca&)G~07w+@M#HTUN^_t}PZmnKn=-sBU?< z+w5t8!hdJ{^I=uAdDU+li#=8IUqAeKv~%@_*kgy=ns3&sk`lhiVeKo9<2DZ+KjhrC zU+%@)QuZr%T-bdnDti2{cS>(m%zL9yw*T@+?I!sIj=i>U=9y@hwgc3R0zXUI-U2$G zaoFWX5Zb*uX{N$`neTIhxW=y~Bq-r>{_T;`ypff{zAv5gMDM`FOWHX`jrLUr)wL=Iy42IcpGT<^P`RhgT5~?+n{x+pYX9`vGc}F4=VmhxxwAs zd91s8W9y}RcO2&GRc+!yGs3(c>DA>eEl(GE-aox;yy<3PSW8TI z)BEpBHoZRkHZ#6)&-1a`&hiPTj+sO^Y|yIfYpVR$ZfJbmwJ>wx&M_~y?28+?Zuy~a z$A-5LxG=Y4z{S^+04+_CZ=c^-=9u6X(pVV0H7EQ|hx+~wuUcXE#V4xTj&*cqL5bVS zZ7(}?>Ovz7p9p^hNAjtK!GjKWaz|}K$ zwZcR5>i3^*sR@|WcmB{J@Injam!FP|2Gh1L@HbciY}^VEHBrS!4*KOPlm4h56}QBl z69#HX1`Sy8_4$kLBU~iJhz)0=duvO048UeQK7A5EIW8u9F}}y>IvHRd1E36JJ4XL0 z0IQe)K~n*~W&ymwD8bch;WS(fFxpKANHGC8h_M^vfH;6OTsTf)j?Z zS}}%L1FTB{XvX*_#vmJjF}Q+m#Av|Cw#5OeurG|ETd~k;BxYd34qy|;KQTJb#DVn1 zGs0Ml@jgb+e%K}r2Y@j&9YEI~J5*zb1N2QxubXk|^Kf7Vc-BiO$LcbwVyBrtiMoQc z^*EzApI`?xTw?Eh*4S9n4{(w{;LHkC;A^gSbs&U=a;;s_5TTscPIxN zaL3Wy{%@m3ee1^k>A!urP0jxHES0#)kMiEcr}~_-qYiJ9GW#zFFj@0gf=R@tZax~W zZ`-_?i3t6g9V-xLR1pBP6kx@6qmjO1=K*WR+V21+=x3c`(K*|80}MU_V14wH552hj zHir{(498pr;8de`tS+)f0{zi@;RN#5cRh$BD694mYV$)i)9X5ZiSOc(AM|FA>j_g2 zykwRG56=iu?alp*f2C8LU*925it%&~@}lydE=PPl<5?|2LhAN!Uj6;BJtCO+!Lndk zPfm>=sv3Os1AnhZXax22kIBeaFZ%Omgd-U6+!_(X5#@L%nJQ_uMBdbfJ2R<1ZQTUW zsJMqN=Iow#17R0fVp3u4OOC!cNu!$Hxl>PGHVozC!$YEh?(PH}VF?|7&G;a}hY*MG z@vAT`DpQk^sekn9TbhpaL`>at4}4j{M1ShD-!Gw~F6wRfVwxPL8MI7fiwx@!dPe`$ z|Hz=JAnB8ai+*SE2#AjA#)oky5pDUmWYa5Qt&OhC7TIb2z!!!CAH*O6ACQ6v?)hO^ zf+e3G*&j=OAjCZZmi)23H;lkdjBSjggm{!M{XcDD};oFU1q`^ASj89zwd94`0gshI`=n#eN==5mFqtpN}w9G(t+`aTTM}G>P&w zM^qS{Ax}b@P&qp-OKG-BlBtwiX3G=PYzIYUDoKShDUH&+W@&$l$;{!3Ww{ysG+9by zZpDvLrb9-WJX%jsN6r0{3V{1tV)1>OHG#f zTNL(_ajuL32Oh~IPY?alP7q;N$z9?js2NfzV#;z=*`zkaE1Vf3Q!B`@iSn$okf zW~DXq9`F{=?XKWe@X*Y{&}7q69)tG~UYGK=(TjO=OL_U4Qr;t7cPX!wSHx3db*0up z38lP7N5(4NvoumQW%fg0>~22v7=G9X(K(5vM3bHf8nGtVJ6@7X z%GD`Km$D^X4ol7|qg67T^)IiUg)@h0FPuM6@q#s4FJ}#TA0MVxWjCqhX{vdTXyap( zR81jS(3h_^W&6bKOTp>zPI!h zd#|2-DmSCp;Kbz&pX^0mmZwCMW2Vj~B8OWG zJVgq=A}m{Z*klkbJ1fCO7wGmN=Y%g_ znyKE99^}KRd?XrBIeDoQD}z-(u!O@)S7s@eC2r$YAYQCAycCUV=kmr&3XpR!jh8&G z6bY?(V~WuvwlFxBEs3pWUO^dO7vUL^&R0+Uc(K5_vd;2I3zzc)OW+ypls$L*x5??n zAk}7qCPS*3qmEF~v$C!Dr1PEMPD5?Qi~8eNtH@{(T0FG=xIbOoOurfNs`BikNr>B6HUbWCUnfOZXgjs>y;dd5)+-b8!@ae z!mDq0Hv@0*Xn4P4TpL-&Egb%ZZmnDBM%Y;MA*p9M^Z_Majr{QL+)uaDjgVr+)Xx=$ z4{n454Jmc~y$DAFbcR4L;^6jygJE_uy$_lk%Ttm zW5T;Lh})I8=;|JWY&-RZsZGsg&L>{5Zf4)yse?urp4#8>o?m46#7}=3V3#`kUU>2K zH6aZ?Bc^@gx43=Z`rFIQ$TGFzgMRsd`cM4o%l0kZ4qX56GZWWkzsbLK{gZ+iy0U(q z{%FXN;viQcHGa@1ew45FU`*=Sh}Flqv)o&L{@##3ig;d;aahq5pj( z>(DqN*l<3CC`R;Q@qe1=z7`XtZnhZbtB;s)(j62NztHe{qbu_w> z;xsLB$!wiUMtI`aY=eyOGN!c}cM1Cf!&@2tj|_qCeJJ5hTH=MAbjTQTg#UiOhEEfFpLc})@IwU>K3^&k^qyEZ zS`x&Qh03I%Vu6S+^_F@2dxsiNsjs0ilGuhQKAmmIk0R>mCeR$!Gk+Ro#c(#{PayJ{ F{{a=%**O3J diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 279fe48..2196901 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -370,7 +370,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonTask.put("task_status", "05"); taskTab.update(jsonTask); // 更新载具对应数量表 - jsonVeQty.put("is_task", "1"); // veQtyTab.update(jsonVeQty); } else { throw new BadRequestException(jsonObject.getString("message")); @@ -506,7 +505,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { resuft.put("create_mode", jsonRegion.getString("create_mode")); return resuft; } - @LokiLog(type = LokiLogType.ACS_TO_LMS) @Transactional(rollbackFor = Exception.class) public JSONObject outCreateRegion(JSONObject json) { String next_point_code = json.getString("next_point_code"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/emptyandqty/service/impl/EmptyAndQtyServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/emptyandqty/service/impl/EmptyAndQtyServiceImpl.java index 61837c6..7cbbdf3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/emptyandqty/service/impl/EmptyAndQtyServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/emptyandqty/service/impl/EmptyAndQtyServiceImpl.java @@ -10,8 +10,8 @@ import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; -import org.nl.wms.basedata.master.service.StoragevehicleinfoService; -import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto; +import org.nl.wms.basedata.service.StoragevehicleinfoService; +import org.nl.wms.basedata.service.dto.VehicleDto; import org.nl.wms.pda.emptyandqty.service.EmptyAndQtyService; import org.springframework.stereotype.Service; @@ -29,7 +29,7 @@ public class EmptyAndQtyServiceImpl implements EmptyAndQtyService { String qty = whereJson.getString("qty"); WQLObject vqTab = WQLObject.getWQLObject("PDM_BI_vehicleQty"); - StoragevehicleinfoDto byCode = SpringContextHolder.getBean(StoragevehicleinfoService.class).findByCode(vehicle_code); + VehicleDto byCode = SpringContextHolder.getBean(StoragevehicleinfoService.class).findByCode(vehicle_code); // 插入记录 JSONObject json = new JSONObject(); @@ -37,7 +37,6 @@ public class EmptyAndQtyServiceImpl implements EmptyAndQtyService { json.put("vehicle_id", byCode.getStoragevehicle_id()); json.put("vehicle_code", vehicle_code); json.put("qty", qty); - json.put("is_task", "0"); json.put("create_id", SecurityUtils.getCurrentUserId()); json.put("create_name", SecurityUtils.getCurrentNickName()); json.put("create_time", DateUtil.now()); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java index f21826a..80bedff 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java @@ -123,10 +123,8 @@ public class DeviceServiceImpl implements DeviceService { @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - WQLObject wo_value = WQLObject.getWQLObject("PDM_BI_DeviceItemValue"); for (Long device_id : ids) { wo.delete("device_id = '" + device_id + "'"); - wo_value.delete("device_id = '" + device_id + "'"); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProduceshiftorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProduceshiftorderServiceImpl.java index 9e44b78..a42ade9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProduceshiftorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProduceshiftorderServiceImpl.java @@ -21,7 +21,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.ClassstandardService; +import org.nl.wms.basedata.service.ClassstandardService; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.pdm.service.ProduceshiftorderService; import org.nl.wms.pdm.service.dto.ProduceshiftorderDto; @@ -118,7 +118,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { CurrentUser currentUser = SecurityUtils.getCurrentUser(); Long deptId = currentUser.getUser().getDeptId(); String newCode = CodeUtil.getNewCode("PDM_SHIFTORDER"); - dto.setProduceorder_id(IdUtil.getSnowflake(1, 1).nextId()); + dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); dto.setProduceorder_code(newCode); dto.setProducedeviceorder_code(newCode); dto.setOrder_status("00"); @@ -138,7 +138,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override @Transactional(rollbackFor = Exception.class) public void update(ProduceshiftorderDto dto) { - ProduceshiftorderDto entity = this.findById(dto.getProduceorder_id()); + ProduceshiftorderDto entity = this.findById(dto.getWorkorder_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); Long currentUserId = SecurityUtils.getCurrentUserId(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index 94526fb03838efb4b61cac8510d8de8aab6fc96a..d028a31c34f6c3ec7218dba22f34e04a24e9d57b 100644 GIT binary patch delta 27 icmZpe!PPK>YeNnTi$P_>vE~An_5v2h?FB4M6WRfaxCxH{ delta 27 icmZpe!PPK>YeNnTOTf)Y|K 成品区 */ String next_point_code = ""; - if (StrUtil.equals(jsonStartRegion.getString("region_code"),RegionTypeEnum.GJQY.getCode())) { + if (StrUtil.equals(jsonStartRegion.getString("region_code"), RegionTypeEnum.GJQY.getCode())) { JSONObject map = new JSONObject(); map.put("flag", "2"); map.put("region_code", RegionTypeEnum.YSQA.getCode()); @@ -299,7 +274,7 @@ public class SendMaterialTask extends AbstractAcsTask { if (ObjectUtil.isEmpty(jsonEndPoint)) throw new BadRequestException("仓位不足"); next_point_code = jsonEndPoint.getString("point_code"); - } else if (StrUtil.equals(jsonStartRegion.getString("region_code"),RegionTypeEnum.HKQY.getCode())) { + } else if (StrUtil.equals(jsonStartRegion.getString("region_code"), RegionTypeEnum.HKQY.getCode())) { JSONObject map = new JSONObject(); map.put("flag", "2"); map.put("region_code", RegionTypeEnum.CPQYA.getCode()); @@ -310,7 +285,7 @@ public class SendMaterialTask extends AbstractAcsTask { } JSONObject resuft = new JSONObject(); - resuft.put("next_point_code",next_point_code); + resuft.put("next_point_code", next_point_code); return resuft; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls b/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls index defda70f95e728ee8e7a40e7b118ca5e51d22e8d..98e7d8bc1ad462c728d84c66c24b643aa7e64396 100644 GIT binary patch delta 28 kcmZp;!QF6!dqWNj>jWdWrOeHREbWCXjN1!YnEIas0GcogH2?qr delta 28 kcmZp;!QF6!dqWNjYk~CLuT0H_EbWCXjN1!YnEIas0Hk{g - + diff --git a/lms/nladmin-ui/src/views/system/dict/dictDetail.vue b/lms/nladmin-ui/src/views/system/dict/dictDetail.vue index b6e2554..6dce71d 100644 --- a/lms/nladmin-ui/src/views/system/dict/dictDetail.vue +++ b/lms/nladmin-ui/src/views/system/dict/dictDetail.vue @@ -35,7 +35,7 @@ {{ query.dictName }} - + diff --git a/lms/nladmin-ui/src/views/wms/basedata/master/class/index.vue b/lms/nladmin-ui/src/views/wms/basedata/class/index.vue similarity index 99% rename from lms/nladmin-ui/src/views/wms/basedata/master/class/index.vue rename to lms/nladmin-ui/src/views/wms/basedata/class/index.vue index 29f8498..1fe5a33 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/master/class/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/class/index.vue @@ -131,7 +131,7 @@ - - diff --git a/lms/nladmin-ui/src/views/wms/basedata/st/sect/index.vue b/lms/nladmin-ui/src/views/wms/basedata/st/sect/index.vue deleted file mode 100644 index 693f658..0000000 --- a/lms/nladmin-ui/src/views/wms/basedata/st/sect/index.vue +++ /dev/null @@ -1,324 +0,0 @@ - - - - - diff --git a/lms/nladmin-ui/src/views/wms/basedata/st/stor/index.vue b/lms/nladmin-ui/src/views/wms/basedata/st/stor/index.vue deleted file mode 100644 index d8285e4..0000000 --- a/lms/nladmin-ui/src/views/wms/basedata/st/stor/index.vue +++ /dev/null @@ -1,400 +0,0 @@ - - - - - diff --git a/lms/nladmin-ui/src/views/wms/basedata/st/struct/index.vue b/lms/nladmin-ui/src/views/wms/basedata/st/struct/index.vue deleted file mode 100644 index 1e48205..0000000 --- a/lms/nladmin-ui/src/views/wms/basedata/st/struct/index.vue +++ /dev/null @@ -1,457 +0,0 @@ - - - - - diff --git a/lms/nladmin-ui/src/views/wms/basedata/master/supp/index.vue b/lms/nladmin-ui/src/views/wms/basedata/supp/index.vue similarity index 98% rename from lms/nladmin-ui/src/views/wms/basedata/master/supp/index.vue rename to lms/nladmin-ui/src/views/wms/basedata/supp/index.vue index 16fb7f4..487f0bd 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/master/supp/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/supp/index.vue @@ -173,13 +173,13 @@