From af431517e22dcafc0c524259da5f94e5b90bf1e3 Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Fri, 25 Feb 2022 22:29:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=A4=87=E4=BB=BD=EF=BC=8C?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=9A=E4=B8=AA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-admin/pom.xml | 11 +- .../com/glxp/api/ApiAdminApplication.java | 7 +- .../ToolApplicationContextInitializer.java | 32 + .../com/glxp/api/admin/constant/Constant.java | 7 + .../api/admin/constant/ConstantStatus.java | 48 +- .../glxp/api/admin/constant/RedisContant.java | 5 + .../basic/BasicUnitMaintainController.java | 24 +- .../basic/BussinessChangeTypeController.java | 111 +++ .../basic/BussinessLocalTypeController.java | 62 +- .../basic/BussinessOriginTypeController.java | 35 + .../basic/BussinessTypeController.java | 114 ++- .../basic/UdiRelevanceController.java | 25 + .../business/StockOrderDetailController.java | 3 +- .../info/SystemPDFModuleController.java | 51 +- .../info/SystemParamConfigController.java | 31 +- .../inout/IOOrderStatusController.java | 84 ++ .../controller/inout/OrderController.java | 129 ++- .../inout/OrderDetailController.java | 200 +++- .../controller/inout/WareHouseController.java | 36 +- .../inout/utils/ContrastErpUtil.java | 250 +++-- .../controller/inout/utils/InoutUtils.java | 50 +- .../inventory/InvProductsController.java | 188 +++- .../itextpdf/PDFDawnloadController.java | 8 +- .../admin/dao/basic/BasicUnitMaintainDao.java | 4 + .../dao/basic/BussinessChangeTypeDao.java | 21 + .../dao/basic/BussinessLocalTypeDao.java | 3 + .../dao/basic/BussinessOriginTypeDao.java | 10 + .../api/admin/dao/basic/BussinessTypeDao.java | 3 + .../info/SystemPDFTemplateRelevanceDao.java | 15 +- .../glxp/api/admin/dao/inout/CodesDao.java | 6 + .../api/admin/dao/inout/CodesTempDao.java | 3 + .../api/admin/dao/inout/IOOrderStatusDao.java | 21 + .../glxp/api/admin/dao/inout/OrderDao.java | 2 + .../api/admin/dao/inout/OrderDetailDao.java | 2 + .../admin/dao/inventory/InvProductDao.java | 1 - .../dao/inventory/InvProductDetailDao.java | 9 +- .../dao/{info => schedule}/ScheduledDao.java | 2 +- .../SystemParamConfigDao.java | 2 +- .../basic/BasicThirdSysDetailEntity.java | 1 + .../entity/basic/BasicUnitMaintainEntity.java | 1 + .../api/admin/entity/basic/BusDataEntity.java | 10 + .../basic/BussinessChangeTypeEntity.java | 24 + .../basic/BussinessLocalTypeEntity.java | 10 +- .../basic/BussinessOriginTypeEntity.java | 5 +- .../entity/basic/BussinessTypeEntity.java | 24 + .../api/admin/entity/basic/UdiInfoEntity.java | 6 + .../entity/business/StockOrderEntity.java | 7 + .../entity/info/SystemPDFTemplateEntity.java | 1 + .../SystemPDFTemplateRelevanceEntity.java | 10 +- .../admin/entity/inout/ErpOrderEntity.java | 30 +- .../entity/inout/IOOrderStatusEntity.java | 13 + .../api/admin/entity/inout/OrderEntity.java | 2 +- .../admin/entity/inout/WarehouseEntity.java | 3 + .../inventory/InvProductDetailEntity.java | 9 + .../entity/inventory/InvProductEntity.java | 6 +- .../entity/thrsys/ThrProductsEntity.java | 2 +- .../thrsys/ThrProductsImportDetailEntity.java | 1 + .../api/admin/httpclient/ErpBasicClient.java | 12 +- .../api/admin/httpclient/ErpInvClient.java | 6 +- .../api/admin/httpclient/ErpOrderClient.java | 10 +- .../api/admin/httpclient/UHttpClient.java | 97 ++ .../httpclient/req/UdiwmsUnitRequest.java | 11 + .../basic/BasicUnitMaintainFilterRequest.java | 3 +- .../BussinessLocalTypeFilterRequest.java | 2 +- .../BussinessOriginTypeFilterRequest.java | 3 + .../admin/req/basic/FilterUdiInfoRequest.java | 3 +- .../req/business/StockOrderFilterRequest.java | 5 + .../req/info/SystemPDFModuleSaveRequest.java | 1 + .../req/info/SystemPDFTemplateRequest.java | 1 + .../info/SystemPDFTemplateSaveRequest.java | 1 + .../admin/req/inout/FilterOrderRequest.java | 4 +- .../admin/req/inout/OrderFilterRequest.java | 1 + .../req/inout/OrderStatusFilterRequest.java | 10 + .../req/inout/WarehouseQueryRequest.java | 1 + .../req/inventory/FilterCodeTraceRequest.java | 9 + .../FilterInvProductDetailRequest.java | 11 + .../inventory/FilterInvProductRequest.java | 4 +- .../SystemPDFTemplateRelevanceRequest.java | 10 + .../receipt/BussinessTypeFilterRequest.java | 7 +- .../req/thrsys/FilterThrProductsRequest.java | 1 + .../basic/BussinessOriginTypeResponse.java | 11 + .../res/basic/BussinessTypExportResponse.java | 13 + .../admin/res/basic/BussinessTypResponse.java | 21 + .../admin/res/basic/ErpProductsResponse.java | 2 +- .../SystemPDFTemplateRelevanceResponse.java | 23 + .../admin/res/basic/UdiRelevanceResponse.java | 8 + .../res/info/SystemPDFTemplateResponse.java | 1 + .../api/admin/res/inout/DlOrderResponse.java | 16 + .../api/admin/res/inout/ErpOrderResponse.java | 40 +- .../InvProductDetailJoinResponse.java | 26 + .../inventory/InvProductDetailResponse.java | 32 + .../inventory/InvProductPageRespnonse.java | 11 + .../res/inventory/InvProductResponse.java | 3 + .../res/inventory/InvProductStatResponse.java | 11 + .../basic/BasicUnitMaintainService.java | 11 +- .../basic/BussinessChangeTypeService.java | 22 + .../basic/BussinessLocalTypeService.java | 3 + .../basic/BussinessOriginTypeService.java | 14 + .../service/basic/BussinessTypeService.java | 3 + .../admin/service/basic/CustomService.java | 6 +- .../service/basic/UdiRelevanceService.java | 2 + .../impl/BasicUnitMaintainServiceImpl.java | 35 +- .../impl/BussinessChangeTypeServiceaImpl.java | 51 + .../impl/BussinessLocalTypeServiceImpl.java | 12 +- .../impl/BussinessOriginTypeServiceImpl.java | 53 + .../basic/impl/BussinessTypeServiceImpl.java | 20 +- .../basic/impl/UdiRelevanceServiceImpl.java | 10 + .../SystemPDFTemplateRelevanceService.java | 8 +- ...SystemPDFTemplateRelevanceServiceImpl.java | 24 +- .../impl/SystemParamConfigServiceImpl.java | 2 +- .../api/admin/service/inout/CodesService.java | 9 +- .../admin/service/inout/CodesTempService.java | 1 + .../service/inout/IOOrderStatusService.java | 19 + .../service/inout/OrderDetailService.java | 6 +- .../api/admin/service/inout/OrderService.java | 3 + .../service/inout/impl/CodesServiceImpl.java | 28 +- .../inout/impl/CodesTempServiceImpl.java | 5 + .../inout/impl/IOOrderStatusServiceImpl.java | 59 ++ .../inout/impl/OrderDetailServiceImpl.java | 12 + .../service/inout/impl/OrderServiceImpl.java | 6 + .../inventory/InvProductDetailService.java | 7 +- .../service/inventory/InvProductService.java | 2 +- .../impl/InvProductDetailServiceImpl.java | 25 +- .../inventory/impl/InvProductServiceImpl.java | 3 +- .../admin/service/thrsys/ThrDataService.java | 24 +- .../thrsys/impl/ThrOrderServiceImpl.java | 12 + .../admin/thread/BasicUpdateErpDataTask.java | 3 +- .../api/admin/thread/DlSpOrderService.java | 76 ++ .../com/glxp/api/admin/thread/HeartTask.java | 70 ++ .../admin/thread/InvProductsTrService.java | 517 ++++++++-- .../api/admin/thread/InvUpdateStock1Task.java | 2 +- .../api/admin/thread/InvUpdateStock2Task.java | 2 +- .../glxp/api/admin/thread/IoErpCheckTask.java | 2 +- .../api/admin/thread/IoModifyErpTask.java | 4 +- .../api/admin/thread/IoTransInoutService.java | 533 +++++++++- .../api/admin/thread/IoTransInoutTask.java | 2 +- .../admin/thread/ThrOrderImportService.java | 8 +- .../admin/thread/ThrProductsDlService.java | 2 + .../api/admin/upload/uploadController.java | 56 +- .../com/glxp/api/admin/util/CronUtils.java | 32 + .../com/glxp/api/admin/util/CustomUtil.java | 17 +- .../com/glxp/api/admin/util/DateUtil.java | 91 +- .../com/glxp/api/admin/util/FileUtils.java | 926 ++++++++++++++++++ .../glxp/api/admin/util/FilterUdiUtils.java | 12 +- .../glxp/api/admin/util/HardWareUtils.java | 191 ++++ .../com/glxp/api/admin/util/RsaUtils.java | 4 - .../com/glxp/api/admin/util/SpGetHttp.java | 69 ++ .../main/resources/application-pro.properties | 19 +- api-admin/src/main/resources/config.txt | 1 + .../mapper/basic/BasicThirdSysDetailDao.xml | 10 +- .../mapper/basic/BasicUnitMaintainDao.xml | 97 +- .../mapper/basic/BussinessChangeTypeDao.xml | 53 + .../mapper/basic/BussinessLocalTypeDao.xml | 25 +- .../mapper/basic/BussinessOriginTypeDao.xml | 61 ++ .../mybatis/mapper/basic/BussinessTypeDao.xml | 131 ++- .../mybatis/mapper/basic/UdiRelevanceDao.xml | 10 +- .../mybatis/mapper/business/StockOrderDao.xml | 30 +- .../mapper/info/SystemPDFTemplateDao.xml | 8 +- .../info/SystemPDFTemplateRelevanceDao.xml | 69 +- .../mybatis/mapper/inout/CodesDao.xml | 83 +- .../mybatis/mapper/inout/CodesTempDao.xml | 48 +- .../mybatis/mapper/inout/IOOrderStatusDao.xml | 41 + .../mybatis/mapper/inout/OrderDao.xml | 93 +- .../{OrderDetail.xml => OrderDetailDao.xml} | 56 +- .../mapper/inventory/InvProductDao.xml | 52 +- .../mapper/inventory/InvProductDetailDao.xml | 156 ++- .../mapper/{info => schedule}/ScheduleDao.xml | 25 +- .../SystemParamConfigDao.xml | 2 +- .../mybatis/mapper/thrsys/ThrProductsDao.xml | 13 +- .../thrsys/ThrProductsImportDetailDao.xml | 10 +- 170 files changed, 5756 insertions(+), 664 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/api/ToolApplicationContextInitializer.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/constant/RedisContant.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessChangeTypeController.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/inout/IOOrderStatusController.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessChangeTypeDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inout/IOOrderStatusDao.java rename api-admin/src/main/java/com/glxp/api/admin/dao/{info => schedule}/ScheduledDao.java (91%) rename api-admin/src/main/java/com/glxp/api/admin/dao/{info => schedule}/SystemParamConfigDao.java (95%) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/basic/BusDataEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessChangeTypeEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inout/IOOrderStatusEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/httpclient/UHttpClient.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsUnitRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderStatusFilterRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterCodeTraceRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/SystemPDFTemplateRelevanceRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessOriginTypeResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypExportResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/basic/SystemPDFTemplateRelevanceResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inout/DlOrderResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductDetailJoinResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductDetailResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductPageRespnonse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductStatResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessChangeTypeService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inout/IOOrderStatusService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/IOOrderStatusServiceImpl.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/thread/DlSpOrderService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/thread/HeartTask.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/util/CronUtils.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/util/FileUtils.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/util/HardWareUtils.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/util/SpGetHttp.java create mode 100644 api-admin/src/main/resources/config.txt create mode 100644 api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/inout/IOOrderStatusDao.xml rename api-admin/src/main/resources/mybatis/mapper/inout/{OrderDetail.xml => OrderDetailDao.xml} (79%) rename api-admin/src/main/resources/mybatis/mapper/{info => schedule}/ScheduleDao.xml (64%) rename api-admin/src/main/resources/mybatis/mapper/{info => schedule}/SystemParamConfigDao.xml (97%) diff --git a/api-admin/pom.xml b/api-admin/pom.xml index b65c9279..b97193b8 100644 --- a/api-admin/pom.xml +++ b/api-admin/pom.xml @@ -186,6 +186,11 @@ + + com.glxp + tochina + 1.0 + com.itextpdf itextpdf @@ -265,7 +270,11 @@ itext-pdfa 5.5.0 - + + org.codehaus.groovy + groovy + 3.0.7 + cn.lesper iTextAsian diff --git a/api-admin/src/main/java/com/glxp/api/ApiAdminApplication.java b/api-admin/src/main/java/com/glxp/api/ApiAdminApplication.java index 2131c75c..7615734e 100644 --- a/api-admin/src/main/java/com/glxp/api/ApiAdminApplication.java +++ b/api-admin/src/main/java/com/glxp/api/ApiAdminApplication.java @@ -11,12 +11,13 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer @ServletComponentScan public class ApiAdminApplication extends SpringBootServletInitializer { - - public static void main(String[] args) { - SpringApplication.run(ApiAdminApplication.class, args); + SpringApplication application = new SpringApplication(ApiAdminApplication.class); + application.addInitializers(new ToolApplicationContextInitializer()); + application.run(args); } + @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(ApiAdminApplication.class); diff --git a/api-admin/src/main/java/com/glxp/api/ToolApplicationContextInitializer.java b/api-admin/src/main/java/com/glxp/api/ToolApplicationContextInitializer.java new file mode 100644 index 00000000..abee0e3f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/ToolApplicationContextInitializer.java @@ -0,0 +1,32 @@ +package com.glxp.api; + +import com.glxp.api.admin.util.HardWareUtils; +import com.glxp.api.admin.util.RsaUtils; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; + +public class ToolApplicationContextInitializer implements ApplicationContextInitializer { + + @Override + public void initialize(ConfigurableApplicationContext configurableApplicationContext) { + String myKey = RsaUtils.readFileContent(""); + System.out.println(myKey); + String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtaHLiDtscnwyee4lG9jC" + + "8GUEZYIuBoz49W3GSy2LEOVpKRyiQNCjRmybvQS5qKdsb3pV720HQJnv/nQLnsg/" + + "vWbFc9L09fEeJdDZxQOf8D7CHeVgLd8+fh/GezQCVLijGlbAVORXOrFo5McdyOds" + + "LJey1x4HxIR13a79JHB7sdve14A2aS6bQ7NPWu8hM9LpJd1hylsXgdBpR+iX3DPF" + + "eep8Sx8jPnWfUfGF2pDNE3h1uz9RylGBYUz4tDPzz0IXO7vZkyUFXeslzKFDFcmh" + + "hbn1tobX+al4XvfRpjoCjST2mRfqCt4aNuBDM1LHMzyMBVJpfui91ikLGMgP4Gdf" + + "swIDAQAB"; + try { + String result = RsaUtils.publicKeyDecrypt(myKey, publicKey); + String hardInfo = HardWareUtils.getMachineInfo(); +// if (!result.equals(hardInfo)) { +// System.exit(1); +// } + } catch (Exception e) { + e.printStackTrace(); + System.exit(1); + } + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java new file mode 100644 index 00000000..ccf9c9fa --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java @@ -0,0 +1,7 @@ +package com.glxp.api.admin.constant; + +public class Constant { + + public static String SYSTEM_CUSTOMER_ID = "110"; + public static String MUTI = "MUTI"; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java b/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java index 5a784999..79e4c9ab 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java @@ -11,6 +11,7 @@ public class ConstantStatus { public static final Integer ORDER_STATUS_CHECK = 2; //等待校验 public static final Integer ORDER_STATUS_FAIL = 3; //重码校验失败 public static final Integer ORDER_STATUS_SUCCESS = 4; //已校验 + public static final Integer ORDER_STATUS_ADDITIONAL = 5; // //ERP校验状态 public static final Integer ORDER_CHECK_SUCCESS = 2; //校验成功 @@ -39,7 +40,6 @@ public class ConstantStatus { public static final Integer DI_TYPE_BZBS = 4;//包装标识 - //业务单据状态 public static String SORDER_DRAFT = "1";//草稿 public static String SORDER_ALLOC = "2";//未配货 @@ -56,4 +56,50 @@ public class ConstantStatus { public static String ST_SCAN_ADD = "3"; //扫码单据转换 + //业务单据详情,DI绑定状态 + public static int ORDER_DETAIL_DI_MUTI = 1; + public static int ORDER_DETAIL_DI_ONE = 0; + + + //业务单据来源 + public static final int SORDER_FROM_ONLINE = 2; //在线实时拉取第三方业务单据 + public static final int SORDER_FROM_CACHE = 0; //本地缓存第三方业务单据 + public static final int SORDER_FROM_LOCAL = 1; //本地生成业务单据 + + + //往来单位类型 + public static final int CORP_SICK = 1; //病人 + public static final int CORP_SP = 2; //供应商 + public static final int CORP_INTTERNAL = 3; //内部科室等 + + + //采购类型 + public static final Integer PRUCHASE_ADVANCE = 1; //预入库 + public static final Integer PRUCHASE_COMMON = 2; //普通采购 + + + //单据来源 + public static final int FROM_UDIMS = 1; //1.UDIMS平台 + public static final int FROM_WEBNEW = 2; //网页新增 + public static final int FROM_PDAED = 3; //pda已校验 + public static final int FROM_PDAUN = 4; //pda未校验 + public static final int FROM_PC = 5; //pc端扫码精灵 + public static final int FROM_CHANGE = 6; //单据流转 + public static final int FROM_UDISP = 7; //供应商平台 + + + //业务单据详情,DI绑定供应商状态 + public static int ORDER_DETAIL_SUP_NONE = 2; + public static int ORDER_DETAIL_SUP_MUTI = 1; + public static int ORDER_DETAIL_SUP_ONE = 0; + + + //DI类型 + public static final int DITYPE_MAIN = 1; //主标识 + public static final int DITYPE_SYDY = 2; //使用单元标识 + public static final int DITYPE_OWN = 3; //本体标识 + public static final int DITYPE_PACK = 4; //包装标识 + + // + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/RedisContant.java b/api-admin/src/main/java/com/glxp/api/admin/constant/RedisContant.java new file mode 100644 index 00000000..2ada679d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/RedisContant.java @@ -0,0 +1,5 @@ +package com.glxp.api.admin.constant; + +public class RedisContant { + public static String DL_ORDER_STATUS = "udiwms_dl_order_status"; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicUnitMaintainController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicUnitMaintainController.java index 91a48e8f..35dd2eeb 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicUnitMaintainController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicUnitMaintainController.java @@ -7,11 +7,14 @@ import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BasicThirdSysEntity; import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.api.admin.entity.basic.UdiRelevanceEntity; +import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; +import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.thrsys.ThrCorpEntity; import com.glxp.api.admin.httpclient.ErpBasicClient; import com.glxp.api.admin.req.basic.*; import com.glxp.api.admin.req.inout.DeleteRequest; +import com.glxp.api.admin.req.inout.OrderFilterRequest; import com.glxp.api.admin.req.receipt.CombineUnitRequest; import com.glxp.api.admin.req.thrsys.FilterThrCorpRequest; import com.glxp.api.admin.res.PageSimpleResponse; @@ -21,6 +24,7 @@ import com.glxp.api.admin.service.basic.BasicThirdSysDetailService; import com.glxp.api.admin.service.basic.BasicThirdSysService; import com.glxp.api.admin.service.basic.BasicUnitMaintainService; import com.glxp.api.admin.service.info.SystemParamConfigService; +import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.thrsys.ThrCorpService; import com.glxp.api.admin.thread.BasicUnitImportService; import com.glxp.api.admin.util.CustomUtil; @@ -59,6 +63,8 @@ public class BasicUnitMaintainController { private ThrCorpService thrCorpService; @Resource BasicUnitImportService basicUnitImportService; + @Resource + private OrderService orderService; @GetMapping("/udiwms/basic/unit/maintain/filter") public BaseResponse filterBasicUnitMaintain(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest, @@ -198,9 +204,9 @@ public class BasicUnitMaintainController { } basicUnitMaintainEntity.setErpId(CustomUtil.getId()); basicUnitMaintainEntity.setName(erpUnitsResponse.getName()); - if(erpUnitsResponse.getSpell()==null || "".equals(erpUnitsResponse.getSpell())){ - basicUnitMaintainEntity.setSpell(PinyinUtil.getFirstLetter(erpUnitsResponse.getName(),"").toUpperCase(Locale.ROOT)); - }else{ + if (erpUnitsResponse.getSpell() == null || "".equals(erpUnitsResponse.getSpell())) { + basicUnitMaintainEntity.setSpell(PinyinUtil.getFirstLetter(erpUnitsResponse.getName(), "").toUpperCase(Locale.ROOT)); + } else { basicUnitMaintainEntity.setSpell(erpUnitsResponse.getSpell()); } basicUnitMaintainEntity.setAddr(erpUnitsResponse.getAddr()); @@ -264,7 +270,7 @@ public class BasicUnitMaintainController { basicUnitMaintainEntity.setThirdName4(erpUnitsResponse.getName()); } } - basicUnitMaintainEntity.setThirdName(erpUnitsResponse.getName()); +// basicUnitMaintainEntity.setThirdName(erpUnitsResponse.getName()); // basicUnitMaintainEntity.setSpell(erpUnitsResponse.getSpell()); // basicUnitMaintainEntity.setAddr(erpUnitsResponse.getAddr()); // basicUnitMaintainEntity.setCreditNo(erpUnitsResponse.getCreditNo()); @@ -307,9 +313,17 @@ public class BasicUnitMaintainController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } String id = deleteRequest.getId(); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectById(id); + + //判断是否被单据绑定 + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setFromCorpId(basicUnitMaintainEntity.getErpId()); + OrderEntity orderEntity = orderService.findOne(orderFilterRequest); + if (orderEntity != null) { + return ResultVOUtils.error(500, "已存在该供应商单据,无法删除!"); + } basicUnitMaintainService.deleteById(id); - return ResultVOUtils.success("删除成功"); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessChangeTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessChangeTypeController.java new file mode 100644 index 00000000..fef6e7d8 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessChangeTypeController.java @@ -0,0 +1,111 @@ +package com.glxp.api.admin.controller.basic; + +import com.glxp.api.admin.constant.ConstantType; +import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.req.inout.DeleteRequest; +import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest; +import com.glxp.api.admin.service.basic.BussinessChangeTypeService; +import com.glxp.api.admin.service.basic.BussinessLocalTypeService; +import com.glxp.api.admin.service.basic.BussinessTypeService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +public class BussinessChangeTypeController { + + + @Resource + private BussinessChangeTypeService bussinessChangeTypeService; + @Resource + private BussinessTypeService bussinessTypeService; + @Resource + private BussinessLocalTypeService bussinessLocalTypeService; + + @GetMapping("/spms/bussinessChangeType/filter") + public BaseResponse filterBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List bussinessTypeEntities; + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeFilterRequest.getAction()); + if (bussinessLocalTypeEntity == null) { + return ResultVOUtils.error(500, "业务单据类型错误"); + } + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessLocalTypeEntity.getAction()); + bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); + + if (bussinessTypeEntities == null || bussinessTypeEntities.size() == 0) { + //创建对应流转单据 + if (bussinessTypeFilterRequest.getType() != null + && "changeEnable".equals(bussinessTypeFilterRequest.getType()) + ) { + if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction())) { + + bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); + BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); + bussinessChangeTypeEntity1.setIntro("出库自动补\"采购入库单\""); + bussinessChangeTypeEntity1.setIndex(1); + bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction()); + bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1); + } + } + } + return ResultVOUtils.success(bussinessTypeEntities); + } + + + @PostMapping("/spms/bussinessChangeType/delete") + public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + bussinessChangeTypeService.deleteById(id); + return ResultVOUtils.success("删除成功"); + } + + @PostMapping("/spms/bussinessChangeType/update") + public BaseResponse updateBussinessType(@RequestBody BussinessChangeTypeEntity bussinessTypeEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessChangeTypeService.updateBusChangeType(bussinessTypeEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + + @PostMapping("/spms/bussinessChangeType/insert") + public BaseResponse insertBussinessType(@RequestBody BussinessChangeTypeEntity + bussinessTypeEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessChangeTypeService.insertBusChangeTypee(bussinessTypeEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("添加成功"); + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java index 119b9d8f..93856eae 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java @@ -1,11 +1,19 @@ package com.glxp.api.admin.controller.basic; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest; +import com.glxp.api.admin.req.business.StockOrderFilterRequest; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.service.auth.AuthAdminService; +import com.glxp.api.admin.service.basic.BussinessChangeTypeService; import com.glxp.api.admin.service.basic.BussinessLocalTypeService; +import com.glxp.api.admin.service.basic.BussinessTypeService; +import com.glxp.api.admin.service.business.StockOrderService; +import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -21,9 +29,16 @@ import java.util.List; @RestController public class BussinessLocalTypeController { - @Resource - private BussinessLocalTypeService bussinessTypeService; + private BussinessChangeTypeService bussinessChangeTypeService; + @Resource + private AuthAdminService authAdminService; + @Resource + private BussinessTypeService bussinessTypeService; + @Resource + private StockOrderService stockOrderService; + @Resource + private BussinessLocalTypeService bussinessLocalTypeService; @GetMapping("/udiwms/localBusType/filterJoin") public BaseResponse filterJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, @@ -33,7 +48,7 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List bussinessTypeEntities; - bussinessTypeEntities = bussinessTypeService.filterJoin( + bussinessTypeEntities = bussinessLocalTypeService.filterJoin( bussinessTypeFilterRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(bussinessTypeEntities); @@ -51,7 +66,7 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List bussinessTypeEntities; - bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); + bussinessTypeEntities = bussinessLocalTypeService.filterList(bussinessTypeFilterRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(bussinessTypeEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -68,7 +83,20 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } String id = deleteRequest.getId(); - bussinessTypeService.deleteById(id); + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.selectById(id); + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillType(bussinessLocalTypeEntity.getAction()); + StockOrderEntity stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest); + if (stockOrderEntity != null) { + return ResultVOUtils.error(500, "已存在该类型码业务单据,无法删除!"); + } + + BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeService.findFirstByAction(bussinessLocalTypeEntity.getAction()); + if (bussinessChangeTypeEntity != null && bussinessChangeTypeEntity.getScAction() != null) { + return ResultVOUtils.error(500, "该业务单据类型已绑定流转单据类型,无法删除!"); + } + + bussinessLocalTypeService.deleteById(id); return ResultVOUtils.success("删除成功"); } @@ -80,12 +108,34 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (bussinessTypeEntity != null) { - bussinessTypeService.updateBusLocalType(bussinessTypeEntity); + bussinessLocalTypeService.updateBusLocalType(bussinessTypeEntity); } else { ResultVOUtils.error(999, "参数错误"); } return ResultVOUtils.success("更新成功"); } + @PostMapping("/udiwms/localBusType/add") + public BaseResponse addBussinessType(@RequestBody BussinessLocalTypeEntity bussinessTypeEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessTypeEntity.setAction("ST" + CustomUtil.getId()); + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeEntity.getAction()); + if (bussinessLocalTypeEntity != null) { + return ResultVOUtils.error(999, "业务类型已存在!"); + } else { + bussinessLocalTypeService.insertBussinessType(bussinessTypeEntity); + } + + } else { + return ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java index 67c3a9ab..45875890 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java @@ -1,15 +1,19 @@ package com.glxp.api.admin.controller.basic; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; import com.glxp.api.admin.req.basic.BussinessOriginTypeFilterRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.service.basic.BussinessOriginTypeService; +import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @@ -41,4 +45,35 @@ public class BussinessOriginTypeController { return ResultVOUtils.success(pageSimpleResponse); } + @PostMapping("/udiwms/originBusType/update") + public BaseResponse updateBussinessType(@RequestBody BussinessOriginTypeEntity bussinessTypeEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessOriginTypeService.updateBusOriginType(bussinessTypeEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + @PostMapping("/udiwms/originBusType/add") + public BaseResponse addBussinessType(@RequestBody BussinessOriginTypeEntity bussinessTypeEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessOriginTypeService.insertBusOriginType(bussinessTypeEntity); + } else { + return ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessTypeController.java index 69b3a7e7..76a56b91 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessTypeController.java @@ -1,28 +1,44 @@ package com.glxp.api.admin.controller.basic; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.BussinessTypeUtils; +import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.entity.basic.BusDataEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.entity.inout.OrderEntity; +import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.req.inout.DeleteRequest; +import com.glxp.api.admin.req.inout.OrderFilterRequest; +import com.glxp.api.admin.req.inout.PostOrderRequest; import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.BasicThirdSysResponse; +import com.glxp.api.admin.res.basic.BussinessTypExportResponse; import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.res.basic.SrBtResponse; import com.glxp.api.admin.service.basic.BussinessTypeService; +import com.glxp.api.admin.service.inout.OrderService; +import com.glxp.api.admin.util.CustomUtil; +import com.glxp.api.admin.util.FileUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.stream.Collectors; @@ -36,7 +52,8 @@ public class BussinessTypeController { @Resource private BussinessTypeService bussinessTypeService; - + @Resource + private OrderService orderService; @GetMapping("/udiwms/bussinessType/filter") public BaseResponse filterBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, @@ -57,7 +74,7 @@ public class BussinessTypeController { @GetMapping("/udiwms/bussinessType/joinFilter") public BaseResponse filterJoinBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, - BindingResult bindingResult) { + BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); @@ -72,10 +89,10 @@ public class BussinessTypeController { return ResultVOUtils.success(pageSimpleResponse); } -// @AuthRuleAnnotation("") + // @AuthRuleAnnotation("") @GetMapping("/udiwms/bussinessType/download") public BaseResponse downloadJoinBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, - BindingResult bindingResult) { + BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); @@ -107,6 +124,21 @@ public class BussinessTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } String id = deleteRequest.getId(); + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.selectById(id); + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setAction(bussinessTypeEntity.getAction()); + OrderEntity orderEntity = orderService.findOne(orderFilterRequest); + if (orderEntity != null) { + return ResultVOUtils.error(500, "已存在该类型扫码单据,无法删除!"); + } + + + if (bussinessTypeEntity.getLocalAction() != null && !"".equals(bussinessTypeEntity.getLocalAction())) { + return ResultVOUtils.error(500, "该扫码单据类型已绑定业务单据类型,无法删除!"); + } + + bussinessTypeService.deleteById(id); return ResultVOUtils.success("删除成功"); } @@ -134,6 +166,7 @@ public class BussinessTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (bussinessTypeEntity != null) { + bussinessTypeEntity.setAction("SC" + CustomUtil.getId()); bussinessTypeService.insertBussinessType(bussinessTypeEntity); } else { ResultVOUtils.error(999, "参数错误"); @@ -141,4 +174,69 @@ public class BussinessTypeController { return ResultVOUtils.success("添加成功"); } + + //扫码单据类型文件导入 + @PostMapping("/udiwms/busstiness/file/upload") + public BaseResponse uploadProducts(@RequestParam("file") List files) { + for (int i = 0; i < files.size(); i++) { + MultipartFile file = files.get(i); + if (file.isEmpty()) { + return ResultVOUtils.error(500, "上传第" + (i++) + "个文件失败"); + } + try { + InputStream inputStream = file.getInputStream(); + String json = FileUtils.readStream(inputStream); + String[] list = json.split("\r\n"); + if (list != null && list.length > 0) { + for (String item : list) { + item.replace(" ", ""); + String[] data = item.split(","); + BussinessTypeEntity bussinessTypeEntity = new BussinessTypeEntity(); + bussinessTypeEntity.setIndex(Integer.parseInt(data[0])); + bussinessTypeEntity.setMainAction(data[1]); + bussinessTypeEntity.setAction(data[2]); + bussinessTypeEntity.setName(data[3]); + bussinessTypeService.insertIgnoreBussinessType(bussinessTypeEntity); + } + } + System.out.println(json.toUpperCase(Locale.ROOT)); + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "文件格式错误!"); + } + } + + return ResultVOUtils.success("导入成功!"); + + } + + + //扫码单据类型导出 + @PostMapping("udiwms/busstiness/file/export") + public void exportXml(HttpServletResponse res) { + + BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); + bussinessTypeFilterRequest.setEnabled(true); + List bussinessTypeEntities; + List bussinessTypExportResponses = new ArrayList<>(); + bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); + for (BussinessTypeEntity bussinessTypeEntity : bussinessTypeEntities) { + BussinessTypExportResponse bussinessTypExportResponse = new BussinessTypExportResponse(); + BeanUtils.copyProperties(bussinessTypeEntity, bussinessTypExportResponse); + bussinessTypExportResponses.add(bussinessTypExportResponse); + } + String json = JSONObject.toJSON(bussinessTypExportResponses).toString(); + String fileName = "扫码单据类型导出" + CustomUtil.getId() + ".json"; + res.setHeader("Content-disposition", "attachment;fileName=" + fileName); + res.setContentType("text/plain;charset=UTF-8"); + try { + res.getOutputStream().write(json.getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + e.printStackTrace(); + } + +// return ResultVOUtils.success("文件生成成功!!"); + } + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java index 30abcacf..910ec035 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java @@ -90,6 +90,31 @@ public class UdiRelevanceController { } + //客户端器械信息下载 + @GetMapping("/udi/udirel/bind/select") + public BaseResponse selectBindProducts(FilterUdiInfoRequest filterUdiInfoRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + if (filterUdiInfoRequest.getNameCode() == null) { + return ResultVOUtils.error(500, "该产品信息未维护!"); + } + + List udiRelevanceResponses = null; + udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); + + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiRelevanceResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiRelevanceResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + //器械信息维护首页 @GetMapping("/udi/udirel/filterUdi") public BaseResponse filterUdiGp(FilterUdiInfoRequest filterUdiInfoRequest, diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java index e0386f83..b97ac57b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java @@ -318,7 +318,7 @@ public class StockOrderDetailController { } @GetMapping("/udiwms/stock/order/detail/queryProduct") - public BaseResponse queryProduct(@RequestParam("code") String code, @RequestParam("customerId") String customerId) { + public BaseResponse queryProduct(@RequestParam("code") String code) { UdiEntity udiEntity = null; if (StringUtils.isNotBlank(code)) { @@ -363,7 +363,6 @@ public class StockOrderDetailController { public BaseResponse filterProduct(FilterUdiInfoRequest filterUdiInfoRequest) { String nameCode = null; - UdiEntity udiEntity = null; if (filterUdiInfoRequest.getUdiCode() != null && !filterUdiInfoRequest.getUdiCode().isEmpty()) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemPDFModuleController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemPDFModuleController.java index 1804b711..9d7e6ee1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemPDFModuleController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemPDFModuleController.java @@ -2,14 +2,21 @@ package com.glxp.api.admin.controller.info; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.api.admin.entity.info.SystemPDFModuleEntity; import com.glxp.api.admin.entity.info.SystemPDFTemplateEntity; +import com.glxp.api.admin.entity.info.SystemPDFTemplateRelevanceEntity; +import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest; import com.glxp.api.admin.req.info.SystemPDFModuleRequest; import com.glxp.api.admin.req.info.SystemPDFModuleSaveRequest; +import com.glxp.api.admin.req.itextpdf.SystemPDFTemplateRelevanceRequest; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.basic.SystemPDFTemplateRelevanceResponse; import com.glxp.api.admin.res.info.SystemPDFModuleResponse; import com.glxp.api.admin.res.info.SystemPDFModuleSelectResponse; +import com.glxp.api.admin.service.basic.BussinessLocalTypeService; import com.glxp.api.admin.service.info.SystemPDFModuleService; +import com.glxp.api.admin.service.info.SystemPDFTemplateRelevanceService; import com.glxp.api.admin.service.info.SystemPDFTemplateService; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; @@ -32,6 +39,12 @@ public class SystemPDFModuleController { @Resource private SystemPDFTemplateService systemPDFTemplateService; + @Resource + private SystemPDFTemplateRelevanceService systemPDFTemplateRelevanceService; + @Resource + BussinessLocalTypeService bussinessLocalTypeService; + + @AuthRuleAnnotation("system/pdf/module/list") @GetMapping("/system/pdf/module/list") public BaseResponse list(@Valid SystemPDFModuleRequest systemPDFModuleRequest, @@ -62,10 +75,46 @@ public class SystemPDFModuleController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("system/pdf/module/detail") + @GetMapping("/system/pdf/module/detail") + public BaseResponse moduleDetail(@Valid SystemPDFTemplateRelevanceRequest systemPDFModuleRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + if (systemPDFModuleRequest.getTemplateType() != null && systemPDFModuleRequest.getTemplateType() == 2) { + BussinessLocalTypeFilterRequest bussinessLocalTypeFilterRequest = new BussinessLocalTypeFilterRequest(); + List bussinessLocalTypeEntities = bussinessLocalTypeService.filterList(bussinessLocalTypeFilterRequest); + for (BussinessLocalTypeEntity bussinessLocalTypeEntity : bussinessLocalTypeEntities) { + SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity = new SystemPDFTemplateRelevanceEntity(); + systemPDFTemplateRelevanceEntity.setLocalAction(bussinessLocalTypeEntity.getAction()); + systemPDFTemplateRelevanceEntity.setModuleId(systemPDFModuleRequest.getModuleId()); + systemPDFTemplateRelevanceService.insert(systemPDFTemplateRelevanceEntity); + } + + List systemPDFTemplateRelevanceEntityList = + systemPDFTemplateRelevanceService.filterList(systemPDFModuleRequest); + return ResultVOUtils.success(systemPDFTemplateRelevanceEntityList); + } + return ResultVOUtils.success(null); + + + } + + @AuthRuleAnnotation("system/pdf/module/update") + @PostMapping("/system/pdf/module/updateRl") + public BaseResponse updateRl(@RequestBody SystemPDFTemplateRelevanceEntity systemPDFModuleSaveRequest) { + systemPDFTemplateRelevanceService.udpateRl(systemPDFModuleSaveRequest); + return ResultVOUtils.success("修改成功"); + } + + @AuthRuleAnnotation("system/pdf/module/list") @GetMapping("/system/pdf/module/pdfModules") public BaseResponse pdfModules(@RequestParam(value = "page", defaultValue = "1") Integer page, - @RequestParam(value = "limit", defaultValue = "100") Integer limit) { + @RequestParam(value = "limit", defaultValue = "100") Integer limit) { List systemPDFModuleEntityList = systemPDFModuleService.listPDFModules(page, limit); PageInfo pageInfo = new PageInfo<>(systemPDFModuleEntityList); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemParamConfigController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemParamConfigController.java index 4c5e3fa5..2586b333 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemParamConfigController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemParamConfigController.java @@ -2,6 +2,8 @@ package com.glxp.api.admin.controller.info; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.dao.schedule.ScheduledDao; +import com.glxp.api.admin.entity.info.ScheduledEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.req.info.SystemParamConfigRequest; import com.glxp.api.admin.req.info.SystemParamConfigSaveRequest; @@ -9,6 +11,7 @@ import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.info.SystemParamConfigResponse; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.thread.IoModifyErpTask; +import com.glxp.api.admin.util.CronUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -29,6 +32,8 @@ public class SystemParamConfigController { @Resource private SystemParamConfigService systemParamConfigService; + @Resource + ScheduledDao scheduledDao; @AuthRuleAnnotation("system/param/config/list") @GetMapping("/system/param/config/list") @@ -102,7 +107,31 @@ public class SystemParamConfigController { systemParamConfigService.updateParentId(systemParamConfigSaveRequest1); } - //toDo //各种设置所需执行操作 + //出入库新增单据校验 + if (systemParamConfigSaveRequest.getParamKey().equals("io_transInout_interval")) { + try { + int time = Integer.parseInt(systemParamConfigSaveRequest.getParamValue()); + String cronStr = CronUtils.parseMinuteIntervel(time); + ScheduledEntity scheduledEntity = new ScheduledEntity(); + scheduledEntity.setCron(cronStr); + scheduledEntity.setCronName("transInout"); + scheduledDao.modifyScheduled(scheduledEntity); + } catch (Exception e) { + return ResultVOUtils.error(500, "格式错误!"); + } + } else if (systemParamConfigSaveRequest.getParamKey().equals("io_erpcheck_interval")) { + try { + int time = Integer.parseInt(systemParamConfigSaveRequest.getParamValue()); + String cronStr = CronUtils.parseMinuteIntervel(time); + ScheduledEntity scheduledEntity = new ScheduledEntity(); + scheduledEntity.setCron(cronStr); + scheduledEntity.setCronName("erpCheck"); + scheduledDao.modifyScheduled(scheduledEntity); + } catch (Exception e) { + return ResultVOUtils.error(500, "格式错误!"); + } + } + return ResultVOUtils.success("修改成功"); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/IOOrderStatusController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/IOOrderStatusController.java new file mode 100644 index 00000000..b5f4364b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/IOOrderStatusController.java @@ -0,0 +1,84 @@ +package com.glxp.api.admin.controller.inout; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.inout.ErpOrderEntity; +import com.glxp.api.admin.entity.inout.IOOrderStatusEntity; +import com.glxp.api.admin.entity.inout.OrderEntity; +import com.glxp.api.admin.entity.inout.WarehouseEntity; +import com.glxp.api.admin.req.inout.OrderStatusFilterRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inout.DlOrderResponse; +import com.glxp.api.admin.service.inout.CodesService; +import com.glxp.api.admin.service.inout.IOOrderStatusService; +import com.glxp.api.admin.service.inout.OrderDetailService; +import com.glxp.api.admin.service.inout.OrderService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@RestController +public class IOOrderStatusController { + + @Resource + private OrderService orderService; + @Resource + private CodesService codesService; + @Resource + private OrderDetailService orderDetailService; + @Resource + private IOOrderStatusService ioOrderStatusService; + + @GetMapping("spms/inout/order/status") + public BaseResponse listOrderStatus(OrderStatusFilterRequest orderStatusFilterRequest) { + List orderStatusEntities = ioOrderStatusService.filterOrderStatus(orderStatusFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(orderStatusEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderStatusEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("spms/inout/order/dlByStatus") + public BaseResponse dlByStatus(OrderStatusFilterRequest orderStatusFilterRequest) { + List dlOrderResponses = new ArrayList<>(); + List orderStatusEntities = ioOrderStatusService.filterOrderStatus(orderStatusFilterRequest); + if (orderStatusEntities != null && orderStatusEntities.size() > 0) { + for (IOOrderStatusEntity orderStatusEntity : orderStatusEntities) { + DlOrderResponse dlOrderResponse = new DlOrderResponse(); + OrderEntity orderEntity = orderService.findById(orderStatusEntity.getOrderId()); + dlOrderResponse.setOrderEntity(orderEntity); + List orderDetailEntityList = orderDetailService.filterAllByOrderIdFk(orderStatusEntity.getOrderId()); + dlOrderResponse.setOrderDetails(orderDetailEntityList); + List codes = codesService.findByReceiptId(orderStatusEntity.getOrderId()); + dlOrderResponse.setCodes(codes); + dlOrderResponses.add(dlOrderResponse); + } + } + return ResultVOUtils.success(dlOrderResponses); + } + + //更新订单 + @PostMapping("/spms/inout/order/deleteStatus") + public BaseResponse updateStatus(@RequestBody OrderStatusFilterRequest orderStatusFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + boolean b = ioOrderStatusService.deleteByOrderId(orderStatusFilterRequest.getOrderId()); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + return ResultVOUtils.success("更新成功"); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java index 4615f084..13bb39da 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java @@ -19,6 +19,7 @@ import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.info.SystemParamConfigService; +import com.glxp.api.admin.service.inout.CodesTempService; import com.glxp.api.admin.service.inout.OrderDetailService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inout.CodesService; @@ -49,6 +50,8 @@ public class OrderController { @Resource private CodesService warehouseService; @Resource + private CodesTempService codesTempService; + @Resource private OrderDetailService myErpOrderService; @Resource private UdiInfoService udiInfoService; @@ -164,8 +167,90 @@ public class OrderController { return ResultVOUtils.success("更新成功"); } +// @PostMapping("/warehouse/inout/order/mergeOrder") +// public BaseResponse mergeOrder(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) { +// +// if (bindingResult.hasErrors()) { +// return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); +// } +// +// List orderList = orderMergeRequest.getOrderList(); +// List mergeList = new ArrayList<>(); +// if (orderList != null && orderList.size() > 1) { +// for (String orderId : orderList) { +// FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); +// filterErpOrderRequest.setOrderId(orderId); +// OrderEntity orderEntity = orderService.findById(orderId); +// if (orderEntity != null) { +// mergeList.add(orderEntity); +// } +// myErpOrderService.deleteByOrderId(orderId); +// +// } +// String mainOrder = orderList.get(0); +// for (int i = 1; i < orderList.size(); i++) { +// warehouseService.updateOrderId(orderList.get(i), mainOrder); +// orderService.deleteByOrderId(orderList.get(i)); +// } +// OrderEntity mainOrderEntity = orderService.findById(mainOrder); +// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(mainOrderEntity.getAction()); +// List docids = getDocids(mergeList); +// String docidStr = ""; +// if (docids != null && docids.size() > 0) { +// for (String temp : docids) { +// docidStr = docidStr + "," + temp; +// } +// docidStr = docidStr.substring(1); +// } +// mainOrderEntity.setErpFk(docidStr); +// orderService.updateOrder(mainOrderEntity); +// if (docidStr.length() > 0) { +// BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(mainOrderEntity.getAction(), "orderQueryUrl"); +// if (basicThirdSysDetailEntity == null) { +// return ResultVOUtils.error(500, "ERP出入库单据查询接口地址未定义"); +// } +// List erpOrderEntities = null; +// if (basicThirdSysDetailEntity.getEnabled()) { +// if (basicThirdSysDetailEntity.getFromType() == 0) { +// erpOrderEntities = new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrder(docids, mainOrderEntity.getAction()); +// } else { +// erpOrderEntities = thrOrderService.filterAllOrders(docids, basicThirdSysDetailEntity.getThirdSysFk()); +// } +// } else { +// return ResultVOUtils.error(500, "第三方业务单据服务未启用!"); +// } +// +// if (erpOrderEntities != null && erpOrderEntities.size() > 0) { +// List returnOrders = new ContrastErpUtil().transErp(erpOrderEntities, udiRelevanceService, mainOrder,bussinessTypeEntity); +// myErpOrderService.insertErpOrders(returnOrders); +// List warehouseEntityList = warehouseService.findByReceiptId(mainOrder); +// new ContrastErpUtil().contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, +// orderService, warehouseEntityList, systemParamConfigService, erpOrderEntities); +// } else { +// mainOrderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); +// mainOrderEntity.setRemark("获取ERP单失败"); +// orderService.updateOrder(mainOrderEntity); +// List datas = warehouseService.findByReceiptId(mainOrder); +// inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas); +// return ResultVOUtils.error(500, "获取ERP单失败"); +// } +// } else { +// new Thread(() -> { +// List datas = warehouseService.findByReceiptId(mainOrder); +// inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas); +// }).start(); +// } +// +// } else { +// return ResultVOUtils.error(ResultEnum.DATA_ERROR); +// } +// +// +// return ResultVOUtils.success("合并成功,后台正在数据转换,请稍后刷新重试!"); +// } + @PostMapping("/warehouse/inout/order/mergeOrder") - public BaseResponse mergeOrder(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) { + public BaseResponse mergeOrders(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); @@ -187,10 +272,10 @@ public class OrderController { String mainOrder = orderList.get(0); for (int i = 1; i < orderList.size(); i++) { warehouseService.updateOrderId(orderList.get(i), mainOrder); + codesTempService.updateOrderId(orderList.get(i), mainOrder); orderService.deleteByOrderId(orderList.get(i)); } OrderEntity mainOrderEntity = orderService.findById(mainOrder); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(mainOrderEntity.getAction()); List docids = getDocids(mergeList); String docidStr = ""; if (docids != null && docids.size() > 0) { @@ -201,49 +286,9 @@ public class OrderController { } mainOrderEntity.setErpFk(docidStr); orderService.updateOrder(mainOrderEntity); - if (docidStr.length() > 0) { - BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(mainOrderEntity.getAction(), "orderQueryUrl"); - if (basicThirdSysDetailEntity == null) { - return ResultVOUtils.error(500, "ERP出入库单据查询接口地址未定义"); - } - List erpOrderEntities = null; - if (basicThirdSysDetailEntity.getEnabled()) { - if (basicThirdSysDetailEntity.getFromType() == 0) { - erpOrderEntities = new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrder(docids, mainOrderEntity.getAction()); - } else { - erpOrderEntities = thrOrderService.filterAllOrders(docids, basicThirdSysDetailEntity.getThirdSysFk()); - } - } else { - return ResultVOUtils.error(500, "第三方业务单据服务未启用!"); - } - - - if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - List returnOrders = new ContrastErpUtil().transErp(erpOrderEntities, udiRelevanceService, mainOrder); - myErpOrderService.insertErpOrders(returnOrders); - List warehouseEntityList = warehouseService.findByReceiptId(mainOrder); - new ContrastErpUtil().contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, - orderService, warehouseEntityList, systemParamConfigService, bussinessTypeEntity); - } else { - mainOrderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); - mainOrderEntity.setRemark("获取ERP单失败"); - orderService.updateOrder(mainOrderEntity); - List datas = warehouseService.findByReceiptId(mainOrder); - inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas); - return ResultVOUtils.error(500, "获取ERP单失败"); - } - } else { - new Thread(() -> { - List datas = warehouseService.findByReceiptId(mainOrder); - inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas); - }).start(); - } - } else { return ResultVOUtils.error(ResultEnum.DATA_ERROR); } - - return ResultVOUtils.success("合并成功,后台正在数据转换,请稍后刷新重试!"); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java index 98f38b6d..6caa7099 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java @@ -4,7 +4,9 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; +import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.entity.basic.UdiRelevanceEntity; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.inout.*; @@ -15,9 +17,11 @@ import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest; import com.glxp.api.admin.req.business.StockOrderFilterRequest; import com.glxp.api.admin.req.thrsys.FilterThrOrderDetailRequest; import com.glxp.api.admin.req.thrsys.FilterThrOrderRequest; +import com.glxp.api.admin.res.basic.BussinessOriginTypeResponse; import com.glxp.api.admin.res.inout.ErpOrderResponse; import com.glxp.api.admin.req.inout.*; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.service.basic.BussinessOriginTypeService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; @@ -28,6 +32,8 @@ import com.glxp.api.admin.service.inout.*; import com.glxp.api.admin.service.thrsys.ThrOrderDetailService; import com.glxp.api.admin.service.thrsys.ThrOrderService; import com.glxp.api.admin.thread.IoTransInoutService; +import com.glxp.api.admin.util.CustomUtil; +import com.glxp.api.admin.util.DateUtil; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -41,6 +47,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -76,7 +83,10 @@ public class OrderDetailController { private StockOrderDetailService stockOrderDetailService; @Resource ContrastErpUtil contrastErpUtil; + @Resource + BussinessOriginTypeService bussinessOriginTypeService; + //查询本地单据和第三方单据 @GetMapping("/udiwms/erpOrder/filter") public BaseResponse filterErpOrder(FilterOrderRequest filterErpOrderRequest, BindingResult bindingResult) { @@ -84,10 +94,7 @@ public class OrderDetailController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - - BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(filterErpOrderRequest.getBillAction(), "orderQueryUrl"); - if (basicThirdSysDetailEntity == null || !basicThirdSysDetailEntity.getEnabled()) { return ResultVOUtils.error(500, "第三方业务单据服务未启用"); } @@ -113,6 +120,7 @@ public class OrderDetailController { if (basicThirdSysDetailEntity.getValue() == null) { return ResultVOUtils.error(500, "业务单据查询接口未定义"); } + filterErpOrderRequest.setBillAction(basicThirdSysDetailEntity.getThirdAction()); BaseResponse> baseResponse = new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest); // @@ -129,6 +137,7 @@ public class OrderDetailController { } else { FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest); + filterThrOrderRequest.setBillAction(basicThirdSysDetailEntity.getThirdAction()); filterThrOrderRequest.setPage(filterErpOrderRequest.getPage()); filterThrOrderRequest.setLimit(filterErpOrderRequest.getLimit()); List erpOrderResponses = new ArrayList<>(); @@ -151,9 +160,137 @@ public class OrderDetailController { erpOrderResponse.setSubErpOrders(subErpOrders); erpOrderResponses.add(erpOrderResponse); } - } else { -// if (basicThirdSysDetailEntity.getIsLocal()) -// return getLoaclData(filterErpOrderRequest); + } + if (basicThirdSysDetailEntity.getLocalAction() != null) { + BaseResponse> loca = getLoaclData(filterErpOrderRequest); + erpOrderResponses.addAll(loca.getData().getList()); + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(data); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(erpOrderResponses); + return ResultVOUtils.success(pageSimpleResponse); + + } + } + + @GetMapping("/udiwms/erpOrder/addStockOrder") + public BaseResponse addStockOrder(FilterOrderRequest filterErpOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + ThrOrderEntity thrOrderEntity = thrOrderService.findById(String.valueOf(filterErpOrderRequest.getId())); + if (thrOrderEntity == null) { + return ResultVOUtils.error(ResultEnum.DATA_NOT); + } + + StockOrderEntity temp = stockOrderService.findByBillNo(thrOrderEntity.getBillNo() + ""); + if (temp != null) { + return ResultVOUtils.error(500, "单据已被选入,请勿重复选入!"); + } + + + StockOrderEntity stockOrderEntity = new StockOrderEntity(); + BeanUtils.copyProperties(thrOrderEntity, stockOrderEntity); + String billNo = CustomUtil.getId(); + stockOrderEntity.setBillNo(billNo); + BussinessOriginTypeResponse bussinessOriginTypeResponse = bussinessOriginTypeService.finAllByAction(thrOrderEntity.getBillType()); + + stockOrderEntity.setBillType(bussinessOriginTypeResponse.getLocalAction()); + stockOrderEntity.setId(null); + stockOrderEntity.setStatus(ConstantStatus.SORDER_ALLOC);//未提交 + stockOrderEntity.setThirdOrderFk(thrOrderEntity.getBillNo()); + stockOrderEntity.setSourceType(ConstantStatus.ST_THIRD_SEL);//外部提交 + stockOrderEntity.setPrintStatus(ConstantStatus.SORDER_PRINT_UN);//未打印 + stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); + + stockOrderEntity = stockOrderService.findByBillNo(billNo); + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = + thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + List stockOrderDetailEntityList = new ArrayList<>(); + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrOrderDetailEntity.getProductId(), thrOrderDetailEntity.getThirdSysFk()); + + if (udiRelevanceEntity == null) { + return ResultVOUtils.error(500, "单据里含有未维护的产品信息,选入失败!"); + } + BeanUtils.copyProperties(thrOrderDetailEntity, stockOrderDetailEntity); + stockOrderDetailEntity.setProductId(udiRelevanceEntity.getId()); + stockOrderDetailEntity.setCount(thrOrderDetailEntity.getCount() + ""); + stockOrderDetailEntity.setReCount(thrOrderDetailEntity.getReCount() + ""); + stockOrderDetailEntity.setOrderIdFk(stockOrderEntity.getId()); + stockOrderDetailEntity.setSweepCount(0 + ""); + stockOrderDetailEntityList.add(stockOrderDetailEntity); + } + stockOrderDetailService.insertStockOrderDetails(stockOrderDetailEntityList); + } + boolean b = stockOrderService.insertStockOrder(stockOrderEntity); + return ResultVOUtils.success(); + } + + //只查询第三方单据 + @GetMapping("/udiwms/thirdOrder/filter") + public BaseResponse filterThirdOrder(FilterOrderRequest filterErpOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessOriginTypeService.findSysByAction(filterErpOrderRequest.getBillAction(), "orderQueryUrl"); + if (basicThirdSysDetailEntity == null || !basicThirdSysDetailEntity.getEnabled()) { + return ResultVOUtils.error(500, "第三方业务单据服务未启用"); + } + + if (basicThirdSysDetailEntity.getThirdSysFk() == null) { + return ResultVOUtils.error(500, "第三方业务单据服务未关联"); + } + + if (filterErpOrderRequest.getIsDownThrSys() != null && filterErpOrderRequest.getIsDownThrSys()) { + return new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest); + } + if (basicThirdSysDetailEntity.getFromType() != null && basicThirdSysDetailEntity.getFromType() == 0) { + if (basicThirdSysDetailEntity.getValue() == null) { + return ResultVOUtils.error(500, "业务单据查询接口未定义"); + } + BaseResponse> baseResponse = new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest); + return baseResponse; + } else { + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest); + filterThrOrderRequest.setPage(filterErpOrderRequest.getPage()); + filterThrOrderRequest.setLimit(filterErpOrderRequest.getLimit()); + List erpOrderResponses = new ArrayList<>(); + List data = thrOrderService.filterThrOrder(filterThrOrderRequest); + if (data != null && data.size() > 0) { + for (ThrOrderEntity thrOrderEntity : data) { + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + ErpOrderResponse erpOrderResponse = new ErpOrderResponse(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ErpOrderResponse.SubErpOrder subErpOrder = new ErpOrderResponse.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrders.add(subErpOrder); + } + } + erpOrderResponse.setSubErpOrders(subErpOrders); + erpOrderResponses.add(erpOrderResponse); + } + } + if (basicThirdSysDetailEntity.getLocalAction() != null) { + BaseResponse> loca = getLoaclData(filterErpOrderRequest); + erpOrderResponses.addAll(loca.getData().getList()); } PageInfo pageInfo; pageInfo = new PageInfo<>(data); @@ -186,6 +323,7 @@ public class OrderDetailController { for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { ErpOrderResponse.SubErpOrder subErpOrder = new ErpOrderResponse.SubErpOrder(); BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrder.setRelId(thrOrderDetailEntity.getProductId()); subErpOrders.add(subErpOrder); } } @@ -331,9 +469,12 @@ public class OrderDetailController { erpOrderEntity.setCredate(purchaseinResponse.getBilldate()); erpOrderEntity.setGoodsid(subPurchase.getProductId()); erpOrderEntity.setGoodsname(subPurchase.getProductName()); + erpOrderEntity.setRelIdFk(subPurchase.getRelId()); erpOrderEntity.setBatchNo(subPurchase.getBatchNo()); - erpOrderEntity.setErpCount(Math.abs(subPurchase.getCount())); - erpOrderEntity.setReCount(Math.abs(subPurchase.getReCount())); + if (subPurchase.getCount() != null) + erpOrderEntity.setErpCount(Math.abs(Integer.parseInt(subPurchase.getCount()))); + if (subPurchase.getReCount() != null) + erpOrderEntity.setReCount(Math.abs(Integer.parseInt(subPurchase.getReCount()))); erpOrderEntity.setGoodsunit(subPurchase.getSpec()); erpOrderEntities.add(erpOrderEntity); } @@ -361,15 +502,10 @@ public class OrderDetailController { orderEntity.setErpFk(docidStr); orderService.updateOrder(orderEntity); } - - myErpOrderService.deleteByOrderId(importErpOrderRequest.getOrderId()); - List returnOrders = contrastErpUtil.transErp(erpOrderEntities, udiRelevanceService, importErpOrderRequest.getOrderId()); - myErpOrderService.insertErpOrders(returnOrders); + List returnOrders = contrastErpUtil.transErp(erpOrderEntities, udiRelevanceService, importErpOrderRequest.getOrderId(), bussinessTypeEntity); List warehouseEntityList = warehouseService.findByReceiptId(importErpOrderRequest.getOrderId()); contrastErpUtil.contrastErp(udiInfoService, udiRelevanceService, - myErpOrderService, orderService, warehouseEntityList, systemParamConfigService, bussinessTypeEntity); - - + myErpOrderService, orderService, warehouseEntityList, systemParamConfigService, returnOrders); } else { return ResultVOUtils.error(500, "ERP订单不能为空"); } @@ -377,6 +513,40 @@ public class OrderDetailController { return ResultVOUtils.success("导入成功"); } + @PostMapping("/udiwms/erpOrder/updateBind") + public BaseResponse updateBind(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ErpOrderEntity erpOrderEntity1 = myErpOrderService.findById(erpOrderEntity.getId() + ""); + warehouseService.updateRelId(erpOrderEntity.getBindRlFk(), erpOrderEntity1.getNameCode(), erpOrderEntity1.getOrderIdFk()); + boolean b = myErpOrderService.updateErpOrder(erpOrderEntity); + if (b) { + return ResultVOUtils.success("绑定成功"); + } else { + return ResultVOUtils.error(500, "绑定失败"); + } + } + + + @PostMapping("/udiwms/erpOrder/updateBindSup") + public BaseResponse updateBindSup(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + erpOrderEntity.setBindSupStatus(ConstantStatus.ORDER_DETAIL_SUP_ONE); + boolean b = myErpOrderService.updateErpOrder(erpOrderEntity); + erpOrderEntity = myErpOrderService.findById(erpOrderEntity.getId() + ""); + + warehouseService.updateSupId(erpOrderEntity.getSupId(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk()); + if (b) { + return ResultVOUtils.success("绑定成功"); + } else { + return ResultVOUtils.error(500, "绑定失败"); + } + } @PostMapping("/warehouse/repeatCheck") public BaseResponse repeatCheck(@RequestBody FilterErpOrderRequest filterErpOrderRequest, BindingResult bindingResult) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java index c8d6d875..598b3c3e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java @@ -1,6 +1,8 @@ package com.glxp.api.admin.controller.inout; +import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.entity.basic.UdiEntity; @@ -15,6 +17,7 @@ import com.glxp.api.admin.service.inout.CodesService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.thread.IoTransInoutService; import com.glxp.api.admin.util.DateUtil; +import com.glxp.api.admin.util.FileUtils; import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; @@ -23,8 +26,11 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -132,7 +138,7 @@ public class WareHouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } try { - transInoutService.creatOrder(postOrderRequest); + transInoutService.creatOrderAsycn(postOrderRequest, null); } catch (Exception e) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } @@ -169,7 +175,7 @@ public class WareHouseController { List postOrders = new ArrayList<>(); postOrders.add(postOrder); commit.setPostOrder(postOrders); - transInoutService.creatOrder(commit); + transInoutService.creatOrderAsycn(commit, ConstantStatus.FROM_PC); } catch (Exception e) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } @@ -202,7 +208,7 @@ public class WareHouseController { if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR); UdiEntity udiEntity = FilterUdiUtils.getUdi(code); if (udiEntity == null) - return ResultVOUtils.error(500,"UDI码格式错误!"); + return ResultVOUtils.error(500, "UDI码格式错误!"); String orderId = addOrderRequest.getOrderId(); if (StringUtils.isBlank(orderId)) { orderId = System.currentTimeMillis() + new Random().nextInt(10) + ""; @@ -220,7 +226,7 @@ public class WareHouseController { orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId()); orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId()); orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp()); - orderSaveRequest.setFromType(addOrderRequest.getFromType()); + orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW); orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); orderSaveRequest.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); @@ -249,6 +255,7 @@ public class WareHouseController { warehouseEntity.setMainAction(bussinessTypeEntity.getMainAction()); warehouseEntity.setAction(addOrderRequest.getAction()); warehouseEntity.setActor(addOrderRequest.getActor()); + warehouseEntity.setNameCode(udiEntity.getUdi()); warehouseEntity.setFromCorpId(addOrderRequest.getFromCorpId()); warehouseEntity.setFromCorp(addOrderRequest.getFromCorp()); warehouseEntity.setBatchNo(udiEntity.getBatchNo()); @@ -285,6 +292,27 @@ public class WareHouseController { } + //往来单位信息文件导入 + @PostMapping("/udiwms/orders/file/upload") + public BaseResponse uploadProducts(@RequestParam("file") List files) { + for (int i = 0; i < files.size(); i++) { + MultipartFile file = files.get(i); + if (file.isEmpty()) { + return ResultVOUtils.error(500, "上传第" + (i++) + "个文件失败"); + } + try { + InputStream inputStream = file.getInputStream(); + String json = FileUtils.readStream(inputStream); + PostOrderRequest postOrderRequest = (PostOrderRequest) JSON.parseObject(json, PostOrderRequest.class); + transInoutService.creatOrderAsycn(postOrderRequest, ConstantStatus.FROM_UDISP); + } catch (IOException e) { + e.printStackTrace(); + } + } + return ResultVOUtils.success("后台正在生成导入生成订单,请稍后查看!"); + } + + @GetMapping("warehouse/inout/submitOrderWeb") public BaseResponse submitOrderWeb(@RequestParam("orderId") String orderId) { orderService.updateOrderStatus(orderId, ConstantStatus.ORDER_STATUS_PROCESS); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/ContrastErpUtil.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/ContrastErpUtil.java index 8df6050f..213a51fd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/ContrastErpUtil.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/ContrastErpUtil.java @@ -18,9 +18,12 @@ import com.glxp.api.admin.service.basic.CustomService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.info.SystemParamConfigService; +import com.glxp.api.admin.service.inout.CodesService; import com.glxp.api.admin.service.inout.OrderDetailService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.thread.InvProductsTrService; +import com.glxp.api.admin.thread.IoTransInoutService; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -33,7 +36,6 @@ import java.util.Map; public class ContrastErpUtil { int erpTotalCount; - List mErpOrderEntities; String udiUrl = ""; @Resource InvProductsTrService invProductsTrService; @@ -41,6 +43,16 @@ public class ContrastErpUtil { CustomService customService; @Resource InoutUtils inoutUtils; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + private OrderDetailService myErpOrderService; + @Resource + private CodesService codesService; + @Resource + private OrderService orderService; + @Resource + IoTransInoutService ioTransInoutService; public ContrastErpUtil() { @@ -53,60 +65,103 @@ public class ContrastErpUtil { public void contrastErp(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, OrderDetailService myErpOrderService, OrderService orderService, - List warehouseEntityList, SystemParamConfigService setupService, BussinessTypeEntity bussinessTypeEntity) { + List warehouseEntityList, + SystemParamConfigService setupService, List vailErpOrders) { + + //获取订单 String orderIdFk = warehouseEntityList.get(0).getOrderId(); + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setId(orderIdFk); + OrderEntity orderEntity = orderService.findOne(orderFilterRequest); + + //获取生成的本地单据详情,未校验 FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); filterErpOrderRequest.setOrderId(orderIdFk); - mErpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); - if (mErpOrderEntities != null && mErpOrderEntities.size() > 0) - for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { + List orderDetails = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); + + //校验本地单据详情是否有包含一个di多个绑定 + String errMsg = null; + errMsg = vailMutiDi(orderDetails); + if (errMsg != null) { + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setRemark(errMsg); + orderService.updateOrder(orderEntity); + return; + } + + //为每个条码赋值:基础信息表主键 +// for (WarehouseEntity warehouseEntity : warehouseEntityList) { +// for (ErpOrderEntity erpOrderEntity : orderDetails) { +// if ((erpOrderEntity.getNameCode() != null && erpOrderEntity.getNameCode().equals(warehouseEntity.getNameCode())) +// && (erpOrderEntity.getBatchNo() != null && erpOrderEntity.getBatchNo().equals(warehouseEntity.getBatchNo())) +// && (erpOrderEntity.getWarehouseCode() != null && erpOrderEntity.getWarehouseCode().equals(warehouseEntity.getWarehouseCode()))) { +// if (erpOrderEntity.getBindRlFk() != null) { +// warehouseEntity.setRelId(erpOrderEntity.getBindRlFk()); +// } else { +// warehouseEntity.setRelId(erpOrderEntity.getRelIdFk()); +// } +// } +// +// } +// } + //初始化,并计算扫码总数 + if (vailErpOrders != null && vailErpOrders.size() > 0) { + for (ErpOrderEntity erpOrderEntity : vailErpOrders) { + if (erpOrderEntity.getErpCount() == null) { + erpOrderEntity.setErpCount(0); + } erpTotalCount = erpTotalCount + erpOrderEntity.getErpCount(); erpOrderEntity.setCount(0); } - String errMsg = null; - String resultMsg = null; + } + + //校验单据是否已被校验 + ErpOrderEntity vailExitMsg = vailErpExit(myErpOrderService, vailErpOrders, orderIdFk); + SystemParamConfigEntity systemParamConfigEntity = setupService.selectByParamKey("erp_forbidSameErp"); + if (vailExitMsg != null && systemParamConfigEntity != null && systemParamConfigEntity.getParamValue().equals("1")) { + errMsg = "所选ERP单" + vailExitMsg.getErpOrderId() + "已被其他出入库单" + vailExitMsg.getOrderIdFk() + "绑定!"; + returnData(errMsg, orderEntity); + return; + } + + List errorData = new ArrayList<>(); for (WarehouseEntity warehouseEntity : warehouseEntityList) { - UdiInfoEntity udiInfoEntity = inoutUtils.getUdiInfo(udiInfoService, udiRelevanceService, warehouseEntity.getCode()); -// if (warehouseEntity.getCount() > 1) { -// udiInfoEntity.setCount(warehouseEntity.getCount()); -// } + + //根据条码获取产品详情,数量等 + UdiInfoEntity udiInfoEntity = inoutUtils.getUdiInfoByRlId(udiInfoService, udiRelevanceService, warehouseEntity.getCode()); udiInfoEntity.setCount(customService.getActCount(warehouseEntity)); - List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid()); - if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) { - UdiRelevanceEntity udiRelevanceEntity = checkGoodsId(udiRelevanceEntities, bussinessTypeEntity); - if (udiRelevanceEntity != null) { - udiInfoEntity.setThirdId(udiRelevanceEntity.getThirdId()); - udiInfoEntity.setThirdName(udiRelevanceEntity.getThirdName()); - udiInfoEntity.setWarehouseCode(warehouseEntity.getWarehouseCode()); - errMsg = vaildErpOrder(warehouseEntityList, udiInfoEntity); - if (errMsg != null && (errMsg.equals("产品信息不匹配") || errMsg.equals("非此单产品批次号"))) { - errorData.add(warehouseEntity); - } - } else { - errMsg = "产品信息不匹配"; + + if (warehouseEntity.getRelId() == null) { + errMsg = warehouseEntity.getCode() + "产品信息未维护"; + returnData(errMsg, orderEntity); + return; + } + + UdiRelevanceResponse udiRelevanceEntity = udiRelevanceService.selectGroupById(warehouseEntity.getRelId()); + if (udiRelevanceEntity != null) { + udiInfoEntity.setThirdId(udiRelevanceEntity.getThirdId()); + udiInfoEntity.setThirdName(udiRelevanceEntity.getThirdName()); + udiInfoEntity.setWarehouseCode(warehouseEntity.getWarehouseCode()); + udiInfoEntity.setRelId(udiRelevanceEntity.getId() + ""); + errMsg = vaildErpOrder(vailErpOrders, warehouseEntityList, udiInfoEntity); + if (errMsg != null && (errMsg.equals("产品信息不匹配") || errMsg.equals("非此单产品批次号"))) { errorData.add(warehouseEntity); } } else { errMsg = "产品信息未维护"; errorData.add(warehouseEntity); } - if (resultMsg == null && errMsg != null) { - resultMsg = errMsg; + if (errMsg != null) { + returnData(errMsg, orderEntity); } } - myErpOrderService.insertErpOrders(mErpOrderEntities); - OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); - orderFilterRequest.setId(orderIdFk); - OrderEntity orderEntity = orderService.findOne(orderFilterRequest); - ErpOrderEntity vailExitMsg = vailErpExit(myErpOrderService, mErpOrderEntities, orderIdFk); - SystemParamConfigEntity systemParamConfigEntity = setupService.selectByParamKey("erp_forbidSameErp"); - if (vailExitMsg != null && systemParamConfigEntity != null && systemParamConfigEntity.getParamValue().equals("1")) { - errMsg = "所选ERP单" + vailExitMsg.getErpOrderId() + "已被其他出入库单" + vailExitMsg.getOrderIdFk() + "绑定!"; - } - if (mErpOrderEntities != null && mErpOrderEntities.size() > 0) - for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { + myErpOrderService.deleteByOrderId(orderIdFk); + myErpOrderService.insertErpOrders(vailErpOrders); + if (vailErpOrders != null && vailErpOrders.size() > 0) + for (ErpOrderEntity erpOrderEntity : vailErpOrders) { if (erpOrderEntity.getErpCount() != erpOrderEntity.getCount()) { errMsg = "所选ERP单" + erpOrderEntity.getErpOrderId() + "下" + erpOrderEntity.getGoodsname() + "数量不匹配"; } @@ -115,61 +170,59 @@ public class ContrastErpUtil { if (errMsg != null) { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); orderEntity.setRemark(errMsg); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderService.updateOrder(orderEntity); } else { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_SUCCESS); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderService.updateOrder(orderEntity); + ioTransInoutService.printOrder(orderEntity.getId()); invProductsTrService.genInvProducts(orderEntity.getId()); } - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderService.updateOrder(orderEntity); + if (errorData.size() > 0) { inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, errorData); } } - public UdiRelevanceEntity checkGoodsId(List udiRelevanceEntities, BussinessTypeEntity bussinessTypeEntity) { - if (mErpOrderEntities.size() > 0) { - for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { - for (UdiRelevanceEntity udiRelevanceEntity : udiRelevanceEntities) { - if (bussinessTypeEntity.getThirdSysFk() == null) { - if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId())) { - return udiRelevanceEntity; - } - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId")) { - if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId())) { - return udiRelevanceEntity; - } - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId1")) { - if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId1())) { - udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId1()); - udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName1()); - return udiRelevanceEntity; - } - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId2")) { - if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId2())) { - udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId2()); - udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName2()); - return udiRelevanceEntity; - } - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId3")) { - if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId3())) { - udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId3()); - udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName3()); - return udiRelevanceEntity; - } - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId4")) { - if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId4())) { - udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId4()); - udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName4()); - return udiRelevanceEntity; - } - } + public void returnData(String errMsg, OrderEntity orderEntity) { + if (errMsg != null) { + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setRemark(errMsg); + orderService.updateOrder(orderEntity); + } + } + + public String vailMutiDi(List mErpOrderEntities) { + String errMsg = null; + for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { + +// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); +// filterUdiInfoRequest.setNameCode(erpOrderEntity.getNameCode()); +// List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); + WarehouseEntity warehouseEntity = codesService.findOneByNameCode(erpOrderEntity.getOrderIdFk(), erpOrderEntity.getNameCode()); + + if (warehouseEntity != null && warehouseEntity.getStatus() == ConstantStatus.ORDER_DETAIL_DI_MUTI) { +// erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); +// myErpOrderService.updateErpOrder(erpOrderEntity); + if (warehouseEntity.getRelId() == null) { + errMsg = "该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"; } + } + +// if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && warehouseEntity.getRelId() == null) { +// erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); +// myErpOrderService.updateErpOrder(erpOrderEntity); +// errMsg = "该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"; +// } } - return null; + return errMsg; } + public int getSelectedCount(List warehouseEntityList) { int total = 0; for (WarehouseEntity warehouseEntity : warehouseEntityList) { @@ -179,7 +232,7 @@ public class ContrastErpUtil { } //验证产品ID,批次号,仓位号 - public String vaildErpOrder(List warehouseEntityList, UdiInfoEntity udiInfoEntity) { + public String vaildErpOrder(List mErpOrderEntities, List warehouseEntityList, UdiInfoEntity udiInfoEntity) { String errMsg = "产品信息不匹配"; if (mErpOrderEntities.size() > 0) { for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { @@ -205,7 +258,7 @@ public class ContrastErpUtil { public String isPass(ErpOrderEntity erpOrderEntity, UdiInfoEntity udiInfoEntity) { String errMsg = null; if (erpOrderEntity.getBatchNo().equals(udiInfoEntity.getBatchNo())) { - if (erpOrderEntity.getGoodsid().equals(udiInfoEntity.getThirdId())) { + if (erpOrderEntity.getRelIdFk().equals(udiInfoEntity.getRelId())) { if (erpOrderEntity.getWarehouseCode() != null && udiInfoEntity.getWarehouseCode() != null) { if (erpOrderEntity.getWarehouseCode().equals(udiInfoEntity.getWarehouseCode())) { return null; @@ -221,32 +274,37 @@ public class ContrastErpUtil { return errMsg; } - public List transErp(List erpOrderEntities, UdiRelevanceService udiRelevanceService, String orderFk) { + //把第三方单据加工转换,新增属性 + public List transErp(List erpOrderEntities, UdiRelevanceService udiRelevanceService, String orderFk, BussinessTypeEntity bussinessTypeEntity) { List returnOrders = new ArrayList<>(); Map filterMap = new HashMap<>(); if (erpOrderEntities != null && erpOrderEntities.size() > 0) { for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + UdiRelevanceResponse udiRelevanceResponse = null; + if (erpOrderEntity.getRelIdFk() != null) { + udiRelevanceResponse = udiRelevanceService.selectGroupById(erpOrderEntity.getRelIdFk()); + } else { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(erpOrderEntity.getGoodsid(), bussinessTypeEntity.getThirdSys()); + if (udiRelevanceEntity != null) { + udiRelevanceResponse = udiRelevanceService.selectGroupById(udiRelevanceEntity.getId()); + erpOrderEntity.setRelIdFk(udiRelevanceEntity.getId()); + } - FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); - filterUdiInfoRequest.setThirdId(erpOrderEntity.getGoodsid()); - filterUdiInfoRequest.setPage(1); - filterUdiInfoRequest.setLimit(100); - List udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); - - if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { - UdiRelevanceResponse temp = udiRelevanceResponses.get(0); - erpOrderEntity.setCoName(temp.getCpmctymc()); - erpOrderEntity.setAuthCode(temp.getZczbhhzbapzbh()); - erpOrderEntity.setPackSpec(temp.getGgxh()); - erpOrderEntity.setPackRatio(temp.getPackRatio()); - erpOrderEntity.setProductCompany(temp.getYlqxzcrbarmc()); + } + if (udiRelevanceResponse != null) { + erpOrderEntity.setNameCode(udiRelevanceResponse.getNameCode()); + erpOrderEntity.setCoName(udiRelevanceResponse.getCpmctymc()); + erpOrderEntity.setAuthCode(udiRelevanceResponse.getZczbhhzbapzbh()); + erpOrderEntity.setPackSpec(udiRelevanceResponse.getGgxh()); + erpOrderEntity.setPackRatio(udiRelevanceResponse.getPackRatio()); + erpOrderEntity.setProductCompany(udiRelevanceResponse.getYlqxzcrbarmc()); erpOrderEntity.setOrderIdFk(orderFk); - }else { + } else { erpOrderEntity.setCoName(erpOrderEntity.getGoodsname()); erpOrderEntity.setPackSpec(erpOrderEntity.getGoodsunit()); } erpOrderEntity.setOrderIdFk(orderFk); - String key = erpOrderEntity.getBatchNo() + erpOrderEntity.getGoodsid() + erpOrderEntity.getWarehouseCode(); + String key = erpOrderEntity.getBatchNo() + erpOrderEntity.getRelIdFk() + erpOrderEntity.getWarehouseCode(); ErpOrderEntity filterTemp = filterMap.get(key); if (filterTemp != null) { filterTemp.setErpCount(filterTemp.getErpCount() + erpOrderEntity.getErpCount()); @@ -294,8 +352,8 @@ public class ContrastErpUtil { FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); filterErpOrderRequest.setOrderId(orderId); List docids = myErpOrderService.filterAllDocidE(filterErpOrderRequest); - List bDocids = getDocids(erpOrderEntities); if (docids != null && docids.size() > 0) { + List bDocids = getDocids(erpOrderEntities); for (ErpOrderEntity docid : docids) { for (String temp : bDocids) { if (docid.getErpOrderId() != null && docid.getErpOrderId().contains(temp)) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/InoutUtils.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/InoutUtils.java index 268b887f..afe9ed5d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/InoutUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/InoutUtils.java @@ -17,6 +17,8 @@ import com.glxp.api.admin.service.inout.OrderDetailService; import com.glxp.api.admin.service.inout.CodesService; import com.glxp.api.admin.util.DateUtil; import com.glxp.api.admin.util.FilterUdiUtils; +import org.apache.bcel.classfile.Code; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -31,6 +33,8 @@ public class InoutUtils { @Resource CustomService customService; + @Resource + CodesService codesService; @Value("${UDI_SERVER_URL}") private String udiUrl; @@ -153,30 +157,61 @@ public class InoutUtils { UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime()); + udiRelevanceEntity.setThirdId(udiInfoEntity.getThirdId()); + udiRelevanceEntity.setThirdName(udiInfoEntity.getThirdName()); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); + List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid()); + udiInfoEntity.setRelId(udiRelevanceEntities.get(0).getId()); } else { udiInfoEntity = new UdiInfoEntity(); } } + udiInfoEntity.setCode(code); udiInfoEntity = FilterUdiUtils.transUdi(udiInfoEntity); return udiInfoEntity; } + + public UdiInfoEntity getUdiInfoByRlId(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, String code) { + String prefix; + prefix = FilterUdiUtils.getDiStr(code); + UdiInfoEntity udiInfoEntity = new UdiInfoEntity(); + + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(prefix); + if (udiRelevanceResponse == null) { + udiRelevanceResponse = udiRelevanceService.selectByMainId(prefix); + } + if (udiRelevanceResponse == null) { + udiInfoEntity = getUdiInfo(udiInfoService, udiRelevanceService, code); + } else { + BeanUtils.copyProperties(udiRelevanceResponse, udiInfoEntity); + udiInfoEntity.setRelId(udiRelevanceResponse.getId() + ""); + udiInfoEntity.setCode(code); + udiInfoEntity = FilterUdiUtils.transUdi(udiInfoEntity); + udiInfoEntity.setNameCode(udiRelevanceResponse.getNameCode()); + } + udiInfoEntity.setCode(code); + return udiInfoEntity; + } + + public void generateConstrastDetail(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, OrderDetailService myErpOrderService, List warehouseEntityList) { if (warehouseEntityList != null && warehouseEntityList.size() > 0) { List udiInfoEntities = new ArrayList<>(); for (WarehouseEntity warehouseEntity : warehouseEntityList) { - UdiInfoEntity udiInfoEntity = getUdiInfo(udiInfoService, udiRelevanceService, warehouseEntity.getCode()); + UdiInfoEntity udiInfoEntity = getUdiInfoByRlId(udiInfoService, udiRelevanceService, warehouseEntity.getCode()); if (udiInfoEntity != null) { if (warehouseEntity.getCount() != null) - udiInfoEntity.setCount(customService.getActCount(warehouseEntity)); -// udiInfoEntity.setCount(warehouseEntity.getCount()); + udiInfoEntity.setCount(warehouseEntity.getCount() * customService.getActCount(warehouseEntity)); else { udiInfoEntity.setCount(customService.getActCount(warehouseEntity)); } + udiInfoEntity.setRelId(warehouseEntity.getRelId()); + udiInfoEntity.setSupId(warehouseEntity.getSupId()); + udiInfoEntity.setStatus(warehouseEntity.getStatus()); udiInfoEntities.add(udiInfoEntity); } } @@ -202,21 +237,28 @@ public class InoutUtils { for (UdiInfoEntity erpDetailCodeEntity : returnOrderDetail) { ErpOrderEntity erpOrderEntity = new ErpOrderEntity(); erpOrderEntity.setNameCode(erpDetailCodeEntity.getNameCode()); + erpOrderEntity.setGoodsid(erpDetailCodeEntity.getRelId()); erpOrderEntity.setPackRatio(erpDetailCodeEntity.getPackRatio()); erpOrderEntity.setCoName(erpDetailCodeEntity.getCpmctymc()); erpOrderEntity.setBatchNo(erpDetailCodeEntity.getBatchNo()); erpOrderEntity.setCount(erpDetailCodeEntity.getCount()); erpOrderEntity.setOrderIdFk(warehouseEntityList.get(0).getOrderId()); erpOrderEntity.setProductDate(erpDetailCodeEntity.getProduceDate()); + erpOrderEntity.setRelIdFk(erpDetailCodeEntity.getRelId()); erpOrderEntity.setExpireDate(erpDetailCodeEntity.getExpireDate()); erpOrderEntity.setUuidFk(erpDetailCodeEntity.getUuid()); + erpOrderEntity.setBindStatus(erpDetailCodeEntity.getStatus()); // erpOrderEntity.setProductCompany(erpDetailCodeEntity.getYlqxzcrbarmc()); erpOrderEntity.setAuthCode(erpDetailCodeEntity.getZczbhhzbapzbh()); erpOrderEntity.setPackSpec(erpDetailCodeEntity.getGgxh()); + erpOrderEntity.setSupId(erpDetailCodeEntity.getSupId()); erpOrderEntities.add(erpOrderEntity); } - if (!erpOrderEntities.isEmpty()) + if (!erpOrderEntities.isEmpty()) { +// myErpOrderService.deleteByOrderId(warehouseEntityList.get(0).getOrderId()); myErpOrderService.insertErpOrders(erpOrderEntities); + } + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java index 17f45a17..f5f1f5de 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java @@ -1,18 +1,33 @@ package com.glxp.api.admin.controller.inventory; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.constant.ConstantType; +import com.glxp.api.admin.entity.basic.UdiEntity; +import com.glxp.api.admin.entity.basic.UdiInfoEntity; +import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity; import com.glxp.api.admin.req.inout.DeleteRequest; +import com.glxp.api.admin.req.inventory.FilterCodeTraceRequest; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvProductRequest; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.basic.UdiRelevanceResponse; +import com.glxp.api.admin.res.inventory.InvProductDetailResponse; +import com.glxp.api.admin.res.inventory.InvProductPageRespnonse; import com.glxp.api.admin.res.inventory.InvProductResponse; +import com.glxp.api.admin.res.inventory.InvProductStatResponse; +import com.glxp.api.admin.service.basic.UdiInfoService; +import com.glxp.api.admin.service.basic.UdiRelevanceService; +import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inventory.InvProductDetailService; import com.glxp.api.admin.service.inventory.InvProductService; +import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -20,7 +35,15 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; + +import com.glxp.api.admin.constant.Constant; + +import static com.glxp.api.admin.constant.Constant.SYSTEM_CUSTOMER_ID; + @RestController public class InvProductsController { @@ -29,27 +52,57 @@ public class InvProductsController { InvProductService invProductService; @Resource InvProductDetailService invProductDetailService; + @Resource + OrderService orderService; + @Resource + private UdiRelevanceService udiRelevanceService; + @Resource + private UdiInfoService udiInfoService; @GetMapping("spms/inv/products/filter") public BaseResponse filterInvProduct(FilterInvProductRequest filterInvProductRequest) { + boolean showSup = false; List invProductResponses = invProductService.filterJoinInvProduct(filterInvProductRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(invProductResponses); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(invProductResponses); + pageSimpleResponse.setShowSup(showSup); return ResultVOUtils.success(pageSimpleResponse); } @GetMapping("spms/inv/products/filterDetail") public BaseResponse filterInvProductDetail(FilterInvProductDetailRequest filterInvProductRequest) { + if (SYSTEM_CUSTOMER_ID.equals(filterInvProductRequest.getCustomerId())) { + filterInvProductRequest.setCustomerId(null); + } List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(invProductDetailEntities); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + + List invProductDetailResponses = new ArrayList<>(); + + if (invProductDetailEntities.size() > 0) { + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + InvProductDetailResponse invProductDetailResponse = new InvProductDetailResponse(); + BeanUtils.copyProperties(invProductDetailEntity, invProductDetailResponse); + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductDetailResponse.setMainActionStr("出库"); + invProductDetailResponse.setOutCount(invProductDetailEntity.getCount()); + } else { + invProductDetailResponse.setMainActionStr("入库"); + invProductDetailResponse.setInCount(invProductDetailEntity.getCount()); + } + invProductDetailResponses.add(invProductDetailResponse); + } + } + + + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(invProductDetailEntities); + pageSimpleResponse.setList(invProductDetailResponses); return ResultVOUtils.success(pageSimpleResponse); } @@ -64,12 +117,139 @@ public class InvProductsController { InvProductEntity invProductEntity = invProductService.selectById(id); if (invProductEntity != null) { invProductService.deleteById(id); - invProductDetailService.deleteByProductId(invProductEntity.getId() + ""); + FilterInvProductDetailRequest detailRequest = new FilterInvProductDetailRequest(); + detailRequest.setSupId(invProductEntity.getSupId()); + detailRequest.setBatchNo(invProductEntity.getBatchNo()); + detailRequest.setProductIdFk(invProductEntity.getRelIdFk()); + invProductDetailService.deleteByProductId(detailRequest); return ResultVOUtils.success("删除成功"); } else { return ResultVOUtils.error(500, "删除失败!"); } + } + + + @GetMapping("spms/inv/products/stat") + public BaseResponse statInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + + if (filterInvProductDetailRequest.getCustomerId() != null && filterInvProductDetailRequest.getCustomerId().equals(SYSTEM_CUSTOMER_ID)) { + filterInvProductDetailRequest.setCustomerId(null); + } + + InvProductStatResponse invProductStatResponse = new InvProductStatResponse(); + //统计预入库数量 + FilterInvProductDetailRequest temp1 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp1); + temp1.setPurchaseType(ConstantStatus.PRUCHASE_ADVANCE); + invProductStatResponse.setAdvanceCount(invProductDetailService.statCount(temp1)); + //统计普通采购数量 + FilterInvProductDetailRequest temp2 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp2); + temp2.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); + invProductStatResponse.setCommonCount(invProductDetailService.statCount(temp2)); + //统计入库数量 + FilterInvProductDetailRequest temp3 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp3); + temp3.setMainAction(ConstantType.TYPE_PUT); + invProductStatResponse.setInCount(invProductDetailService.statCount(temp3)); + //统计出库数量 + FilterInvProductDetailRequest temp4 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp4); + temp4.setMainAction(ConstantType.TYPE_OUT); + invProductStatResponse.setOutCount(invProductDetailService.statCount(temp4)); + return ResultVOUtils.success(invProductStatResponse); + } + + @GetMapping("spms/inv/products/trace") + public BaseResponse filterTrace(FilterCodeTraceRequest filterCodeTraceRequest) { + if (filterCodeTraceRequest.getCode() == null) { + return ResultVOUtils.success(); + } + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(filterCodeTraceRequest.getCode()); + filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId()); + List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + if (invProductDetailEntities.size() > 0) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + FilterInvProductDetailRequest filterRequest = new FilterInvProductDetailRequest(); + filterRequest.setBatchNo(invProductDetailEntity.getBatchNo()); + filterRequest.setProductIdFk(invProductDetailEntity.getProductIdFk()); + filterRequest.setSupId(filterCodeTraceRequest.getSupId()); + List resultLists = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + + List invProductDetailResponses = new ArrayList<>(); + + if (invProductDetailEntities.size() > 0) { + for (InvProductDetailEntity temp : resultLists) { + InvProductDetailResponse invProductDetailResponse = new InvProductDetailResponse(); + BeanUtils.copyProperties(temp, invProductDetailResponse); + if (temp.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductDetailResponse.setMainActionStr("出库"); + invProductDetailResponse.setOutCount(temp.getCount()); + } else { + invProductDetailResponse.setMainActionStr("入库"); + invProductDetailResponse.setInCount(temp.getCount()); + } + invProductDetailResponses.add(invProductDetailResponse); + } + } + + + PageInfo pageInfo; + pageInfo = new PageInfo<>(invProductDetailResponses); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(invProductDetailResponses); + return ResultVOUtils.success(pageSimpleResponse); + } else { + return ResultVOUtils.error(500, "未查询到数据!"); + } + + + } + + @GetMapping("spms/inv/products/order/trace") + public BaseResponse filterOrderTrace(FilterCodeTraceRequest filterCodeTraceRequest) { + if (filterCodeTraceRequest.getCode() == null) { + return ResultVOUtils.success(); + } + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeTraceRequest.getCode()); + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); + List udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); + String code = null; + if (udiInfoEntities != null && udiInfoEntities.size() > 1) { + code = FilterUdiUtils.transGlxpNoSerStr(udiEntity); + } else { + code = filterCodeTraceRequest.getCode(); + } + + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId()); + List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + if (invProductDetailEntities.size() > 0) { + Map filterMap = new HashMap<>(); + + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + filterMap.put(invProductDetailEntity.getOrderIdFk(), invProductDetailEntity.getOrderIdFk()); + } + List orderIds = new ArrayList<>(); + for (String key : filterMap.keySet()) { + orderIds.add(key); + } + List orderEntities = orderService.filterListByOrder(orderIds); + PageInfo pageInfo; + pageInfo = new PageInfo<>(orderEntities); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntities); + return ResultVOUtils.success(pageSimpleResponse); + } else { + return ResultVOUtils.error(500, "未查询到数据!"); + } } + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/itextpdf/PDFDawnloadController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/itextpdf/PDFDawnloadController.java index 7481dc2b..0d208b26 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/itextpdf/PDFDawnloadController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/itextpdf/PDFDawnloadController.java @@ -83,7 +83,7 @@ public class PDFDawnloadController { } inoutOrderDetailPDFCodeRequest.setFromCorp(orderEntity.getFromCorp()); - inoutOrderDetailPDFCodeRequest.setFromType(orderEntity.getFromType()); + inoutOrderDetailPDFCodeRequest.setFromType(orderEntity.getFromType()+""); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); inoutOrderDetailPDFCodeRequest.setActionName(bussinessTypeEntity == null ? " " : bussinessTypeEntity.getName()); @@ -124,7 +124,7 @@ public class PDFDawnloadController { inoutOrderDetailPDFCodeRequest.setSettingData(settingData); //----------------------------------------------- inoutOrderDetailPDFCodeRequest.setFromCorp(orderEntity.getFromCorp()); - inoutOrderDetailPDFCodeRequest.setFromType(orderEntity.getFromType()); + inoutOrderDetailPDFCodeRequest.setFromType(orderEntity.getFromType()+""); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); inoutOrderDetailPDFCodeRequest.setActionName(bussinessTypeEntity == null ? " " : bussinessTypeEntity.getName()); @@ -158,7 +158,7 @@ public class PDFDawnloadController { inoutOrderDetailPDFFileRequest.setQrcodeCount(systemPDFTemplateEntity.getQrcodeCount()); //----------------------------------------------- inoutOrderDetailPDFFileRequest.setFromCorp(orderEntity.getFromCorp()); - inoutOrderDetailPDFFileRequest.setFromType(orderEntity.getFromType()); + inoutOrderDetailPDFFileRequest.setFromType(orderEntity.getFromType()+""); inoutOrderDetailPDFFileRequest.setActDate(orderEntity.getActDate()); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); inoutOrderDetailPDFFileRequest.setActionName(bussinessTypeEntity == null ? " " : bussinessTypeEntity.getName()); @@ -241,7 +241,7 @@ public class PDFDawnloadController { SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity = systemPDFTemplateRelevanceEntityList.get(0); SystemPDFTemplateRequest systemPDFTemplateRequest = new SystemPDFTemplateRequest(); - systemPDFTemplateRequest.setId(systemPDFTemplateRelevanceEntity.getTemplate_id()); + systemPDFTemplateRequest.setId(systemPDFTemplateRelevanceEntity.getTemplateId()); SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.findSystemPDFTemplate(systemPDFTemplateRequest); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BasicUnitMaintainDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BasicUnitMaintainDao.java index 079c1e12..40c954f0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BasicUnitMaintainDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BasicUnitMaintainDao.java @@ -14,6 +14,8 @@ public interface BasicUnitMaintainDao { boolean insertBasicUnitMaintain(BasicUnitMaintainEntity basicUnitMaintainEntity); + boolean insert(BasicUnitMaintainEntity basicUnitMaintainEntity); + boolean updateById(BasicUnitMaintainEntity basicUnitMaintainSaveRequest); BasicUnitMaintainEntity selectByThirdId(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); @@ -21,4 +23,6 @@ public interface BasicUnitMaintainDao { boolean deleteById(@Param("id") String id); BasicUnitMaintainEntity selectById(@Param("id") String id); + + BasicUnitMaintainEntity selectByName(@Param("name") String name); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessChangeTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessChangeTypeDao.java new file mode 100644 index 00000000..a5ad4116 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessChangeTypeDao.java @@ -0,0 +1,21 @@ +package com.glxp.api.admin.dao.basic; + +import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BussinessChangeTypeDao { + + + List findByAction(String action); + + + boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity); + + boolean insertBusChangeTypee(BussinessChangeTypeEntity bussinessTypeEntity); + + boolean deleteById(@Param("id") String id); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java index 4d318997..a94be8bf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java @@ -10,6 +10,7 @@ import java.util.List; @Mapper public interface BussinessLocalTypeDao { + BussinessLocalTypeEntity selectById(String id); List filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); @@ -21,5 +22,7 @@ public interface BussinessLocalTypeDao { boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity); + boolean insertBussinessType(BussinessLocalTypeEntity bussinessTypeEntity); + boolean deleteById(@Param("id") String id); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java index b1f6fd3c..e08e1c8b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java @@ -1,7 +1,9 @@ package com.glxp.api.admin.dao.basic; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; import com.glxp.api.admin.req.basic.BussinessOriginTypeFilterRequest; +import com.glxp.api.admin.res.basic.BussinessOriginTypeResponse; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -10,4 +12,12 @@ import java.util.List; public interface BussinessOriginTypeDao { List filterList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest); + + List filterJoinList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest); + + List filterEnableList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest); + + boolean updateBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity); + + boolean insertBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java index 0b86fa53..b257d840 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java @@ -10,6 +10,7 @@ import java.util.List; @Mapper public interface BussinessTypeDao { + BussinessTypeEntity selectById(String id); List filterList(BussinessTypeFilterRequest bussinessTypeFilterRequest); @@ -17,6 +18,8 @@ public interface BussinessTypeDao { boolean insertBussinessType(BussinessTypeEntity bussinessTypeEntity); + boolean insertIgnoreBussinessType(BussinessTypeEntity bussinessTypeEntity); + boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity); boolean deleteById(@Param("id") String id); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/info/SystemPDFTemplateRelevanceDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/info/SystemPDFTemplateRelevanceDao.java index 2594093a..eabf195f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/info/SystemPDFTemplateRelevanceDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/info/SystemPDFTemplateRelevanceDao.java @@ -1,6 +1,8 @@ package com.glxp.api.admin.dao.info; import com.glxp.api.admin.entity.info.SystemPDFTemplateRelevanceEntity; +import com.glxp.api.admin.req.itextpdf.SystemPDFTemplateRelevanceRequest; +import com.glxp.api.admin.res.basic.SystemPDFTemplateRelevanceResponse; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -9,8 +11,12 @@ import java.util.List; @Mapper public interface SystemPDFTemplateRelevanceDao { + + List filterList(SystemPDFTemplateRelevanceRequest systemPDFModuleRequest); + /** * 根据 customerId 查询 + * * @param customerId 传入的 customerId * @return */ @@ -18,6 +24,7 @@ public interface SystemPDFTemplateRelevanceDao { /** * 根据 多个 customerId 查询 + * * @param customerIds 传入的 customerIds * @return */ @@ -25,6 +32,7 @@ public interface SystemPDFTemplateRelevanceDao { /** * 根据 template_id 查询 customer_id + * * @param templateId 传入的 templateId * @return */ @@ -32,6 +40,7 @@ public interface SystemPDFTemplateRelevanceDao { /** * 批量插入 + * * @param systemPDFTemplateRelevanceEntityList * @return */ @@ -42,8 +51,10 @@ public interface SystemPDFTemplateRelevanceDao { /** * 根据 customerId 删除 - * @param customerId + * * @return */ - boolean deleteByCustomerId(Long customerId); + boolean deleteById(Integer id); + + boolean udpateRl(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesDao.java index b5f18789..d305da34 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesDao.java @@ -30,8 +30,14 @@ public interface CodesDao { boolean updateOrderId(@Param("oldOrderId") String oldOrderId, @Param("newOrderId") String newOrderId); + boolean updateCode(WarehouseEntity warehouseEntity); + boolean updateUnit(@Param("orderId") String orderId, @Param("fromCorpId") String fromCorpId, @Param("fromCorp") String fromCorp); List findCodesById(@Param("orderId") String orderId); + boolean updateRelId(@Param("relId") String relId, @Param("nameCode") String nameCode, @Param("orderId") String orderId); + + boolean updateSupId(@Param("supId") String supId, @Param("nameCode") String nameCode, @Param("orderId") String orderId); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesTempDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesTempDao.java index 6e939229..5c219ac9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesTempDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesTempDao.java @@ -21,6 +21,9 @@ public interface CodesTempDao { int updateById(WarehouseEntity warehouseEntitie); + boolean updateOrderId(@Param("oldOrderId") String oldOrderId, @Param("newOrderId") String newOrderId); + + int deleteCodesTempById(WarehouseEntity warehouseEntitie); List findByOrderIdAndCode(WarehouseQueryRequest warehouseQueryRequest); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/IOOrderStatusDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/IOOrderStatusDao.java new file mode 100644 index 00000000..644abc65 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/IOOrderStatusDao.java @@ -0,0 +1,21 @@ +package com.glxp.api.admin.dao.inout; + +import com.glxp.api.admin.entity.inout.IOOrderStatusEntity; +import com.glxp.api.admin.req.inout.OrderStatusFilterRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface IOOrderStatusDao { + + List filterOrderStatus(OrderStatusFilterRequest warehouseQueryRequest); + + boolean insertOrderStatus(IOOrderStatusEntity ioOrderStatusEntity); + + boolean deleteByOrderId(@Param("orderId") String orderId); + + boolean updateOrderStatus(IOOrderStatusEntity warehouseEntity); + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java index 4d5eee55..a6f625cb 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java @@ -44,6 +44,8 @@ public interface OrderDao { List filterListByCode(@Param("warehouseEntityList") List warehouseEntityList); + List filterListByOrder(@Param("orderList") List orderList); + OrderEntity findOne(OrderFilterRequest orderFilterRequest); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDetailDao.java index 9e24d68a..78443525 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDetailDao.java @@ -40,4 +40,6 @@ public interface OrderDetailDao { List selectAllIds(@Param("docids") List docids); boolean deleteByOrderId(@Param("id") String id); + + public ErpOrderEntity findById(@Param("id") String id); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java index 3f5c5810..0eaf055d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java @@ -23,5 +23,4 @@ public interface InvProductDao { InvProductEntity selectById(@Param("id") String id); boolean deleteById(@Param("id") String id); - } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDetailDao.java index ca265621..01307889 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDetailDao.java @@ -2,6 +2,7 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -12,14 +13,18 @@ public interface InvProductDetailDao { List filterInvProductDetail(FilterInvProductDetailRequest filterInvProductDetailRequest); + List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + boolean insertInvProductDetail(InvProductDetailEntity invProductDetailEntity); - boolean insertInvProductDetails(List invProductDetailEntitys); + boolean insertInvProductDetails(@Param("invProductDetailEntitys") List invProductDetailEntitys); boolean updateInvProductDetail(InvProductDetailEntity invProductDetailEntity); boolean deleteById(@Param("id") String id); - boolean deleteByProductId(@Param("productIdFk") String productIdFk); + boolean deleteByProductId(FilterInvProductDetailRequest productIdFk); + + int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/info/ScheduledDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/schedule/ScheduledDao.java similarity index 91% rename from api-admin/src/main/java/com/glxp/api/admin/dao/info/ScheduledDao.java rename to api-admin/src/main/java/com/glxp/api/admin/dao/schedule/ScheduledDao.java index eca347f9..5c751eb7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/info/ScheduledDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/schedule/ScheduledDao.java @@ -1,4 +1,4 @@ -package com.glxp.api.admin.dao.info; +package com.glxp.api.admin.dao.schedule; import com.glxp.api.admin.entity.info.ScheduledEntity; import com.glxp.api.admin.req.info.ScheduledRequest; diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/info/SystemParamConfigDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/schedule/SystemParamConfigDao.java similarity index 95% rename from api-admin/src/main/java/com/glxp/api/admin/dao/info/SystemParamConfigDao.java rename to api-admin/src/main/java/com/glxp/api/admin/dao/schedule/SystemParamConfigDao.java index 15b5062f..51193160 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/info/SystemParamConfigDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/schedule/SystemParamConfigDao.java @@ -1,4 +1,4 @@ -package com.glxp.api.admin.dao.info; +package com.glxp.api.admin.dao.schedule; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.req.info.SystemParamConfigRequest; diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicThirdSysDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicThirdSysDetailEntity.java index 9e000c36..32056b43 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicThirdSysDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicThirdSysDetailEntity.java @@ -17,6 +17,7 @@ public class BasicThirdSysDetailEntity { private String name; private Integer fromType; private String localAction; + private String thirdAction; public String getValue() { if (value == null) diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicUnitMaintainEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicUnitMaintainEntity.java index 7d69d0c3..ae3699ed 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicUnitMaintainEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicUnitMaintainEntity.java @@ -31,5 +31,6 @@ public class BasicUnitMaintainEntity { private String thirdName4; private Date updateTime; + private int corpType; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BusDataEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BusDataEntity.java new file mode 100644 index 00000000..8ee6230e --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BusDataEntity.java @@ -0,0 +1,10 @@ +package com.glxp.api.admin.entity.basic; + +import lombok.Data; + +import java.util.List; + +@Data +public class BusDataEntity { + private List data; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessChangeTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessChangeTypeEntity.java new file mode 100644 index 00000000..92f34af8 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessChangeTypeEntity.java @@ -0,0 +1,24 @@ +package com.glxp.api.admin.entity.basic; + +import lombok.Data; + +@Data +public class BussinessChangeTypeEntity { + + + private Integer id; + private String intro; + private String action; + private String scAction; + private Integer index; + private Integer beforeTime; + private String remark; + private String name; + + + public Integer getBeforeTime() { + if (beforeTime == null) + return 0; + return beforeTime; + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java index 18358076..83a2c1fd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java @@ -4,13 +4,15 @@ import lombok.Data; @Data public class BussinessLocalTypeEntity { - private Integer id; private String action; private String name; - private String remark; - private Boolean enable; + private String localAction; private String originAction; private String localName; - private String localAction; + private String remark; + private Boolean enable; + private Boolean checkEnable; + private Boolean advanceType; + private Boolean changeEnable; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessOriginTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessOriginTypeEntity.java index 8f31a154..745572fa 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessOriginTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessOriginTypeEntity.java @@ -7,5 +7,8 @@ public class BussinessOriginTypeEntity { private String id; private String name; private String action; - + private String thirdSys; + private String thirdSysName; + private Boolean enable; + private String remark; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java index 70f8f206..6814a9f7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java @@ -12,5 +12,29 @@ public class BussinessTypeEntity { private String mainAction; private String thirdSysFk; private String localAction; + private String thirdAction; + private boolean checkEnable; + private boolean genUnit; + private boolean innerOrder; + private boolean secCheckEnable; + private String thirdSys; + + + private boolean checkUdims; + private boolean checkPdaEd; + private boolean checkPdaUn; + private boolean checkPc; + private boolean checkWebNew; + private boolean checkChange; + private boolean checkSp; + + private boolean secCheckUdims; + private boolean secCheckPdaEd; + private boolean secCheckPdaUn; + private boolean secCheckPc; + private boolean secCheckWebNew; + private boolean secCheckChange; + private boolean secCheckSp; + private Integer index; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiInfoEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiInfoEntity.java index c6b93ada..7dcae0cc 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiInfoEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiInfoEntity.java @@ -1,6 +1,8 @@ package com.glxp.api.admin.entity.basic; +import lombok.Data; +@Data public class UdiInfoEntity { private Integer id; @@ -35,6 +37,7 @@ public class UdiInfoEntity { private String manufactory; private String measname; private Integer productType; + private String supId; //本地生成信息 @@ -47,6 +50,9 @@ public class UdiInfoEntity { private Integer count; private String warehouseCode; + private String relId; + private Integer status; + private Boolean isCheck; diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java index 7bb229fc..a95a86d3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java @@ -1,12 +1,16 @@ package com.glxp.api.admin.entity.business; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderEntity { private String id; private String billNo; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private String billdate; private String corpId; private String corpName; @@ -20,4 +24,7 @@ public class StockOrderEntity { private String printStatus; private String unitIdFk; private String customerId; + private String thirdOrderFk; + private String orderIdFk; + private BigDecimal totalPrice; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/info/SystemPDFTemplateEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/info/SystemPDFTemplateEntity.java index 4b7284b8..bd5eedb5 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/info/SystemPDFTemplateEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/info/SystemPDFTemplateEntity.java @@ -18,4 +18,5 @@ public class SystemPDFTemplateEntity { private String remark; private Date create_time; private Date update_time; + private String jrxmlPath; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/info/SystemPDFTemplateRelevanceEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/info/SystemPDFTemplateRelevanceEntity.java index 1fc86fd8..8de1aa6b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/info/SystemPDFTemplateRelevanceEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/info/SystemPDFTemplateRelevanceEntity.java @@ -7,9 +7,11 @@ import lombok.Data; */ @Data public class SystemPDFTemplateRelevanceEntity { - private int id; - private int template_id; - private Long customerId; - private int admin_id; + private int id; + private Integer templateId; + private Long customerId; + private Integer adminId; + private Integer moduleId; + private String localAction; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/ErpOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/ErpOrderEntity.java index 477ef4d5..e658afa8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/ErpOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/ErpOrderEntity.java @@ -6,21 +6,6 @@ import lombok.Data; public class ErpOrderEntity { - /** - * companyid : 31443 - * docid : 200959 - * iodtlid : 1108752 - * inoutid : 1064084 - * credate : 2020-10-14 10:24:56.0 - * goodsunit : 瓶 - * goodsid : 26 - * lotid : 84392 - * goodsname : 川贝清肺糖浆(120ml) - * companyname : 安徽阜阳医药集团有限公司 - * lotno : 1912198 - * dtlgoodsqty : 4000 - */ - private long id; private String erpOrderId; private String iodtlId; @@ -36,9 +21,9 @@ public class ErpOrderEntity { private String warehouseCode; private String productDate; private String expireDate; - private int erpCount; + private Integer erpCount; private String originType; - private int reCount; + private Integer reCount; private String uuidFk; private String nameCode; @@ -53,7 +38,16 @@ public class ErpOrderEntity { private String orderIdFk; private String nameCodes; private String status; - private int count; + private Integer count; + private String relIdFk; + private Integer bindStatus; + private String bindRlFk; + + private int orderFromType; //1.本地业务单据,0.本地缓存第三方业务单据;(默认0)2.实时拉取第三方业务单据 + + + private String supId; + private Integer bindSupStatus; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/IOOrderStatusEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/IOOrderStatusEntity.java new file mode 100644 index 00000000..64303ad1 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/IOOrderStatusEntity.java @@ -0,0 +1,13 @@ +package com.glxp.api.admin.entity.inout; + +import lombok.Data; + +import java.util.Date; + +@Data +public class IOOrderStatusEntity { + private Integer id; + private String orderId; + private Integer status; + private Date updateTime; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java index 5b42085f..4d45583d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java @@ -15,7 +15,7 @@ public class OrderEntity { private String fromCorp; private Integer status; private Integer exportStatus; - private String fromType; + private Integer fromType; private Integer contrastStatus; private String erpFk; private Integer signStatus; diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseEntity.java index 805c144d..ce0b21e4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseEntity.java @@ -23,4 +23,7 @@ public class WarehouseEntity { private String warehouseCode; private String nameCode; private Integer sCount; + private String relId; + private Integer status; + private String supId; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductDetailEntity.java index e1b50b05..feac1fa4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductDetailEntity.java @@ -10,8 +10,17 @@ public class InvProductDetailEntity { private String code; private String productIdFk; private String orderIdFk; + private String customerId; private String mainAction; private String action; private Integer count; private Date updateTime; + private Integer purchaseType; + private String batchNo; + private String productionDate; + private String expireDate; + private String unitFk; + private String stockIdFk; + private String supId; + private String originCode; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductEntity.java index 619b3a69..d7a431db 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductEntity.java @@ -17,6 +17,9 @@ public class InvProductEntity { private Integer inCount; private Integer outCount; private Integer reCount; + private String customerId; + private String supId; + private String unitFk; public Integer getInCount() { if (inCount == null) @@ -28,5 +31,4 @@ public class InvProductEntity { if (outCount == null) return 0; return outCount; - } -} + }} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/thrsys/ThrProductsEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/thrsys/ThrProductsEntity.java index 43fa34c1..3df8ebe3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/thrsys/ThrProductsEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/thrsys/ThrProductsEntity.java @@ -25,7 +25,7 @@ public class ThrProductsEntity { private String ylqxzcrbarywmc; private String cpms; private Date updateTime; - + private String supName; private String thirdSysName; private boolean isChecked; diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/thrsys/ThrProductsImportDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/thrsys/ThrProductsImportDetailEntity.java index afcbe353..9844397d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/thrsys/ThrProductsImportDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/thrsys/ThrProductsImportDetailEntity.java @@ -25,5 +25,6 @@ public class ThrProductsImportDetailEntity { private String ylqxzcrbarywmc; private String cpms; private Date updateTime; + private String supName; private String genKeyFk; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpBasicClient.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpBasicClient.java index a470e280..57f80fc1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpBasicClient.java +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpBasicClient.java @@ -2,6 +2,7 @@ package com.glxp.api.admin.httpclient; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; +import com.glxp.api.admin.httpclient.req.UdiwmsUnitRequest; import com.glxp.api.admin.req.basic.BasicUnitMaintainFilterRequest; import com.glxp.api.admin.res.basic.ErpProductsResponse; import com.glxp.api.admin.res.basic.ErpUnitsResponse; @@ -10,6 +11,7 @@ import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.util.HttpClient; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.beans.BeanUtils; import java.util.HashMap; import java.util.Map; @@ -28,7 +30,11 @@ public class ErpBasicClient { paramMap.put("key", unitMaintainFilterRequest.getKey()); paramMap.put("page", unitMaintainFilterRequest.getPage()); paramMap.put("limit", unitMaintainFilterRequest.getLimit()); - String response = HttpClient.mipsGet(url, paramMap); +// String response = HttpClient.mipsGet(url, paramMap); + UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest(); + BeanUtils.copyProperties(unitMaintainFilterRequest, udiwmsUnitRequest); + udiwmsUnitRequest.setUnitId(unitMaintainFilterRequest.getErpId()); + String response = HttpClient.uCloudPost(url, udiwmsUnitRequest); try { BaseResponse> udiDlDeviceResponse = JSONObject.parseObject(response, new TypeReference>>() { @@ -50,8 +56,8 @@ public class ErpBasicClient { paramMap.put("manufactory", filterErpGoodsRequest.getManufactory()); paramMap.put("limit", filterErpGoodsRequest.getLimit()); paramMap.put("page", filterErpGoodsRequest.getPage()); - - String response = HttpClient.mipsGet(url, paramMap); + String response = HttpClient.uCloudPost(url, filterErpGoodsRequest); +// String response = HttpClient.mipsGet(url, paramMap); try { BaseResponse> udiDlDeviceResponse = JSONObject.parseObject(response, new TypeReference>>() { diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpInvClient.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpInvClient.java index 5d3c7e3d..10f7a078 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpInvClient.java +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpInvClient.java @@ -36,7 +36,8 @@ public class ErpInvClient { paramMap.put("page", onhandRequest.getPage()); if (onhandRequest.getLimit() != null) paramMap.put("limit", onhandRequest.getLimit()); - String response = HttpClient.mipsGet(url, paramMap); +// String response = HttpClient.mipsGet(url, paramMap); + String response = HttpClient.uCloudPost(url, onhandRequest); try { BaseResponse> onHandsResponse = JSONObject.parseObject(response, new TypeReference>>() { @@ -72,7 +73,8 @@ public class ErpInvClient { paramMap.put("page", onhandRequest.getPage()); if (onhandRequest.getLimit() != null) paramMap.put("limit", onhandRequest.getLimit()); - String response = HttpClient.mipsGet(url, paramMap); +// String response = HttpClient.mipsGet(url, paramMap); + String response = HttpClient.uCloudPost(url, onhandRequest); try { BaseResponse> onHandsResponse = JSONObject.parseObject(response, new TypeReference>>() { diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpOrderClient.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpOrderClient.java index 62611c07..a921253e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpOrderClient.java +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/ErpOrderClient.java @@ -2,6 +2,7 @@ package com.glxp.api.admin.httpclient; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; +import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.entity.inout.ErpOrderEntity; import com.glxp.api.admin.req.inout.ERPPostBillRequest; import com.glxp.api.admin.req.inout.FilterOrderRequest; @@ -62,8 +63,8 @@ public class ErpOrderClient { paramMap.put("startDate", filterOrderRequest.getStartDate()); paramMap.put("endDate", filterOrderRequest.getEndDate()); - String response = ""; - response = HttpClient.mipsGet(url, paramMap); + String response = HttpClient.uCloudPost(url, filterOrderRequest); +// response = HttpClient.mipsGet(url, paramMap); try { BaseResponse> responseBaseResponse = JSONObject.parseObject(response, new TypeReference>>() { @@ -96,10 +97,11 @@ public class ErpOrderClient { erpOrderEntity.setBatchNo(subPurchase.getBatchNo()); erpOrderEntity.setProductDate(subPurchase.getProductDate()); erpOrderEntity.setExpireDate(subPurchase.getExpireDate()); - erpOrderEntity.setErpCount(Math.abs(subPurchase.getCount())); - erpOrderEntity.setReCount(Math.abs(subPurchase.getReCount())); + erpOrderEntity.setErpCount(Math.abs(Integer.parseInt(subPurchase.getCount()))); + erpOrderEntity.setReCount(Math.abs(Integer.parseInt(subPurchase.getReCount()))); erpOrderEntity.setOriginType(erpOrderResponse.getOriginType()); erpOrderEntity.setGoodsunit(subPurchase.getSpec()); + erpOrderEntity.setOrderFromType(ConstantStatus.SORDER_FROM_ONLINE); erpOrderEntities.add(erpOrderEntity); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/UHttpClient.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/UHttpClient.java new file mode 100644 index 00000000..bc764964 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/UHttpClient.java @@ -0,0 +1,97 @@ +package com.glxp.api.admin.httpclient; + +import com.alibaba.fastjson.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.client.SimpleClientHttpRequestFactory; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; + +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLEncoder; +import java.util.Iterator; +import java.util.Map; + +public class UHttpClient { + private static final Logger logger = LoggerFactory.getLogger(UHttpClient.class); + + public static String post(String url, Object object) { + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setConnectTimeout(600000); + factory.setReadTimeout(100000); + RestTemplate restTemplate = new RestTemplate(); + String json = JSONObject.toJSON(object).toString(); + MultiValueMap postParameters = new LinkedMultiValueMap<>(); + postParameters.add("params", json); + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/x-www-form-urlencoded"); + HttpEntity> httpEntity = new HttpEntity<>(postParameters, headers); + String response = restTemplate.postForObject(url, httpEntity, String.class); + System.out.println(response); + + return response; + } + + public static String postJson(String url, Object object) { + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setConnectTimeout(600000); + factory.setReadTimeout(20000); + RestTemplate restTemplate = new RestTemplate(factory); + String json = JSONObject.toJSON(object).toString(); + logger.info(url + "\n" + json); + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/json"); + HttpEntity httpEntity = new HttpEntity<>(json, headers); + String response = restTemplate.postForObject(url, httpEntity, String.class); + logger.info(response); + return response; + } + + public static String mipsGet(String url, Map params) { + StringBuffer stringBuffer = new StringBuffer(url); + if (params instanceof Map) { + Iterator iterator = ((Map) params).entrySet().iterator(); + if (iterator.hasNext()) { + stringBuffer.append("?"); + Object element; + while (iterator.hasNext()) { + element = iterator.next(); + Map.Entry entry = (Map.Entry) element; + //过滤value为null,value为null时进行拼接字符串会变成 "null"字符串 + if (entry.getValue() != null) { + String value = String.valueOf(((Map.Entry) element).getValue()); + if (value.contains("#")) { + try { + String ps = URLEncoder.encode(value, "UTF-8"); + ((Map.Entry) element).setValue(ps); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + + stringBuffer.append(element).append("&"); + } + url = stringBuffer.substring(0, stringBuffer.length() - 1); + + } + } + } else { + throw new RuntimeException("url请求:" + url + "请求参数有误不是map类型"); + } + RestTemplate restTemplate = new RestTemplate(); + String accessTokenRequestUrl = null; + try { + accessTokenRequestUrl = new URL(url).toString(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + logger.info(accessTokenRequestUrl); + String response = restTemplate.getForObject(accessTokenRequestUrl, String.class); + return response; + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsUnitRequest.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsUnitRequest.java new file mode 100644 index 00000000..16523519 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsUnitRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.httpclient.req; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class UdiwmsUnitRequest extends ListPageRequest { + String key; + private String unitId; + private String name; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BasicUnitMaintainFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BasicUnitMaintainFilterRequest.java index d8d52445..c53e9c7b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BasicUnitMaintainFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BasicUnitMaintainFilterRequest.java @@ -24,7 +24,8 @@ public class BasicUnitMaintainFilterRequest extends ListPageRequest { private Boolean isDownThrSys; List thrCorpEntities; - + private int corpType; + private String unitId; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java index 4269009b..beeb3a6a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java @@ -5,10 +5,10 @@ import lombok.Data; @Data public class BussinessLocalTypeFilterRequest extends ListPageRequest { - private String action; private String name; private String mainAction; private Boolean enabled; private String originAction; + private Boolean changeEnable; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessOriginTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessOriginTypeFilterRequest.java index f7a5d994..7ad41acf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessOriginTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessOriginTypeFilterRequest.java @@ -7,4 +7,7 @@ import lombok.Data; public class BussinessOriginTypeFilterRequest extends ListPageRequest { private String action; private String name; + private String thirdSys; + private String thirdSysName; + private Boolean enable; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterUdiInfoRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterUdiInfoRequest.java index a7588cfe..e8a0d139 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterUdiInfoRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterUdiInfoRequest.java @@ -39,6 +39,7 @@ public class FilterUdiInfoRequest extends ListPageRequest { private Boolean isCheck; private Integer filterType; //0:全部,1.对照完成,2.未对照DI,3.未对照产品编码,4.未对照其他产品编码 - + private String udplatCode; + private String mainId; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java index a9b2aaee..02b5240f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java @@ -3,6 +3,8 @@ package com.glxp.api.admin.req.business; import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderFilterRequest extends ListPageRequest { @@ -24,4 +26,7 @@ public class StockOrderFilterRequest extends ListPageRequest { private String customerId; private String startTime; //起始日期 private String endTime; //结束日期 + private String orderIdFk; + private BigDecimal totalPrice; + private String thirdOrderFk; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFModuleSaveRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFModuleSaveRequest.java index dd2d6e44..f494a63c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFModuleSaveRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFModuleSaveRequest.java @@ -16,4 +16,5 @@ public class SystemPDFModuleSaveRequest { private Date create_time; private Date update_time; private String templateDlUrl; + private Integer templateType; } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFTemplateRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFTemplateRequest.java index 68099296..6ff85809 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFTemplateRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFTemplateRequest.java @@ -21,4 +21,5 @@ public class SystemPDFTemplateRequest extends ListPageRequest { private String remark; private Date create_time; private Date update_time; + private String jrxmlPath; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFTemplateSaveRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFTemplateSaveRequest.java index 60c8018c..f2982566 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFTemplateSaveRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/info/SystemPDFTemplateSaveRequest.java @@ -18,4 +18,5 @@ public class SystemPDFTemplateSaveRequest { private String remark; private Date create_time; private Date update_time; + private String jrxmlPath; } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/FilterOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/FilterOrderRequest.java index 683ea2ab..51a61e1d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/FilterOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/FilterOrderRequest.java @@ -4,7 +4,7 @@ import lombok.Data; @Data public class FilterOrderRequest { - + private Integer id; private String startDate; //起始日期 private String endDate; //结束日期 private String billNo; //单据号 @@ -16,5 +16,5 @@ public class FilterOrderRequest { private String corpName; private Boolean isLocal; private String localAction; - + private String thirdOrderFk; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java index 6bc4d281..a78c73e3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java @@ -20,4 +20,5 @@ public class OrderFilterRequest extends ListPageRequest { private String stockCheckFk; private Integer process; private String unionStatus; + private String fromCorpId; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderStatusFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderStatusFilterRequest.java new file mode 100644 index 00000000..d16a907d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderStatusFilterRequest.java @@ -0,0 +1,10 @@ +package com.glxp.api.admin.req.inout; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class OrderStatusFilterRequest extends ListPageRequest { + private String orderId; + private Integer status; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/WarehouseQueryRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/WarehouseQueryRequest.java index 01a97fef..e2c6951e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/WarehouseQueryRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/WarehouseQueryRequest.java @@ -12,4 +12,5 @@ public class WarehouseQueryRequest extends ListPageRequest { private String batchNo; private String orderId; private String nameCode; + private String supId; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterCodeTraceRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterCodeTraceRequest.java new file mode 100644 index 00000000..1f4cf8a2 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterCodeTraceRequest.java @@ -0,0 +1,9 @@ +package com.glxp.api.admin.req.inventory; + +import lombok.Data; + +@Data +public class FilterCodeTraceRequest { + private String code; + private String supId; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java index 08185035..10acf1aa 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java @@ -6,10 +6,21 @@ import lombok.Data; @Data public class FilterInvProductDetailRequest extends ListPageRequest { + private String id; private String code; private String productIdFk; + private String customerId; private String mainAction; private String action; private Integer count; + + private Integer purchaseType; + private String batchNo; + private String productionDate; + private String expireDate; + private String unitFk; + private String stockIdFk; + private String supId; + private String originCode; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductRequest.java index 5bc6c2ca..7cd39ced 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductRequest.java @@ -16,7 +16,9 @@ public class FilterInvProductRequest extends ListPageRequest { private String expireDate; private String ylqxzcrbarmc; private String zczbhhzbapzbh; + private String customerId; private String productsName; - + private String supId; + private String unitFk; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/SystemPDFTemplateRelevanceRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/SystemPDFTemplateRelevanceRequest.java new file mode 100644 index 00000000..3f9c4226 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/SystemPDFTemplateRelevanceRequest.java @@ -0,0 +1,10 @@ +package com.glxp.api.admin.req.itextpdf; + +import lombok.Data; + +@Data +public class SystemPDFTemplateRelevanceRequest { + private Integer moduleId; + private Integer templateType; + private String localAction; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java index dfeb1ab3..5c1d73dd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java @@ -6,9 +6,14 @@ import lombok.Data; @Data public class BussinessTypeFilterRequest extends ListPageRequest { + private Boolean enable; private String action; + private String thirdAction; private String name; private String mainAction; private Boolean enabled; - private Boolean enable; + private Boolean checkEnable; + private Boolean advanceType; + private String type; + private Integer index; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/thrsys/FilterThrProductsRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/thrsys/FilterThrProductsRequest.java index 03e14f20..0002b719 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/thrsys/FilterThrProductsRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/thrsys/FilterThrProductsRequest.java @@ -19,6 +19,7 @@ public class FilterThrProductsRequest extends ListPageRequest { private String unionCode; private String sptm; private String ybbm; + private String supName; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessOriginTypeResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessOriginTypeResponse.java new file mode 100644 index 00000000..6710ac07 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessOriginTypeResponse.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.res.basic; + +import lombok.Data; + +@Data +public class BussinessOriginTypeResponse { + private String name; + private String action; + private String localAction; + private String thirdAction; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypExportResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypExportResponse.java new file mode 100644 index 00000000..1466b34d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypExportResponse.java @@ -0,0 +1,13 @@ +package com.glxp.api.admin.res.basic; + +import lombok.Data; + +@Data +public class BussinessTypExportResponse { + private Integer id; + private String action; + private String name; + private Boolean enable; + private String remark; + private String mainAction; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java index dca48f9a..e1d0afe2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java @@ -16,6 +16,27 @@ public class BussinessTypResponse { private String thirdName; private Boolean enabled; private String localAction; + private Boolean checkEnable; //是否根据业务单据类型校验 + private Boolean advanceType; //是否预入库 + private Boolean changeEnable; + private Boolean genUnit; + private Boolean innerOrder; + private String thirdAction; + private boolean checkUdims; + private boolean checkPdaEd; + private boolean checkPdaUn; + private boolean checkPc; + private boolean checkWebNew; + private boolean checkChange; + private boolean checkSp; + + private boolean secCheckUdims; + private boolean secCheckPdaEd; + private boolean secCheckPdaUn; + private boolean secCheckPc; + private boolean secCheckWebNew; + private boolean secCheckChange; + private boolean secCheckSp; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/ErpProductsResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/ErpProductsResponse.java index f0b207b3..3272f14b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/ErpProductsResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/ErpProductsResponse.java @@ -21,7 +21,7 @@ public class ErpProductsResponse { private String ylqxzcrbarmc; private String ylqxzcrbarywmc; private String cpms; - + private String supName; //配送企业 //辅助字段 diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/SystemPDFTemplateRelevanceResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/SystemPDFTemplateRelevanceResponse.java new file mode 100644 index 00000000..be8156ef --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/SystemPDFTemplateRelevanceResponse.java @@ -0,0 +1,23 @@ +package com.glxp.api.admin.res.basic; + +import lombok.Data; + +@Data +public class SystemPDFTemplateRelevanceResponse { + + + private String param; + private String fieldExplain; + + private String templateDlUrl; + private Integer templateType; + + private int id; + private String moduleName; + private String templateName; + private int templateId; + private String localAction; + private String localActionName; + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiRelevanceResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiRelevanceResponse.java index aaddd7b5..ed61c07f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiRelevanceResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiRelevanceResponse.java @@ -51,4 +51,12 @@ public class UdiRelevanceResponse { private Integer productType; private String mainId; private String mainName; + + + public int getBhzxxsbzsl() { + if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { + return 1; + } else + return bhzxxsbzsl; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/info/SystemPDFTemplateResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/info/SystemPDFTemplateResponse.java index b596411d..fc8a8068 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/info/SystemPDFTemplateResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/info/SystemPDFTemplateResponse.java @@ -18,4 +18,5 @@ public class SystemPDFTemplateResponse { private String remark; private Date create_time; private Date update_time; + private String jrxmlPath; } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inout/DlOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inout/DlOrderResponse.java new file mode 100644 index 00000000..617546a2 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inout/DlOrderResponse.java @@ -0,0 +1,16 @@ +package com.glxp.api.admin.res.inout; + +import com.glxp.api.admin.entity.inout.ErpOrderEntity; +import com.glxp.api.admin.entity.inout.OrderEntity; +import com.glxp.api.admin.entity.inout.WarehouseEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class DlOrderResponse { + private OrderEntity orderEntity; + private List orderDetails; + private List codes; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inout/ErpOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inout/ErpOrderResponse.java index f9d255ab..c65c4db2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/inout/ErpOrderResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inout/ErpOrderResponse.java @@ -3,7 +3,7 @@ package com.glxp.api.admin.res.inout; import java.util.List; public class ErpOrderResponse { - + private Integer id; private String billNo; private String billdate; private String corpId; @@ -78,6 +78,14 @@ public class ErpOrderResponse { this.originType = originType; } + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + public static class SubErpOrder { private String productId; private String productName; @@ -85,8 +93,10 @@ public class ErpOrderResponse { private String batchNo; private String expireDate; private String productDate; - private Integer count; //账面数量 - private Integer reCount; //实际数量 + private String count; //账面数量 + private String reCount; //实际数量 + private String sweepCount; + private String relId; //基础信息关联表主键 public String getProductId() { return productId; @@ -136,21 +146,37 @@ public class ErpOrderResponse { this.productDate = productDate; } - public Integer getCount() { + public String getCount() { return count; } - public void setCount(Integer count) { + public void setCount(String count) { this.count = count; } - public Integer getReCount() { + public String getReCount() { return reCount; } - public void setReCount(Integer reCount) { + public void setReCount(String reCount) { this.reCount = reCount; } + + public String getSweepCount() { + return sweepCount; + } + + public void setSweepCount(String sweepCount) { + this.sweepCount = sweepCount; + } + + public String getRelId() { + return relId; + } + + public void setRelId(String relId) { + this.relId = relId; + } } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductDetailJoinResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductDetailJoinResponse.java new file mode 100644 index 00000000..5d5d41b7 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductDetailJoinResponse.java @@ -0,0 +1,26 @@ +package com.glxp.api.admin.res.inventory; + +import lombok.Data; + +import java.util.Date; + +@Data +public class InvProductDetailJoinResponse { + private Integer id; + private String code; + private String productIdFk; + private String orderIdFk; + private String customerId; + private String mainAction; + private String action; + private Integer count; + private Date updateTime; + private Integer purchaseType; + private String batchNo; + private String productionDate; + private String expireDate; + private String unitFk; + private String stockIdFk; + private String fromCorpId; + private String fromCorp; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductDetailResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductDetailResponse.java new file mode 100644 index 00000000..e8b5951c --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductDetailResponse.java @@ -0,0 +1,32 @@ +package com.glxp.api.admin.res.inventory; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class InvProductDetailResponse { + + private Integer id; + private String code; + private String productIdFk; + private String orderIdFk; + private String customerId; + private String mainAction; + private String action; + private Integer count; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date updateTime; + private Integer purchaseType; + private String batchNo; + private String productionDate; + private String expireDate; + private String unitFk; + private String stockIdFk; + private Integer inCount; + private Integer outCount; + private String mainActionStr; + private String originCode; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductPageRespnonse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductPageRespnonse.java new file mode 100644 index 00000000..e884fe9d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductPageRespnonse.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.res.inventory; + +import com.glxp.api.admin.res.PageSimpleResponse; +import lombok.Data; + +@Data +public class InvProductPageRespnonse extends PageSimpleResponse { + + private Boolean showSup; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductResponse.java index 58015847..4601d18d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductResponse.java @@ -18,6 +18,9 @@ public class InvProductResponse { private Integer outCount; private Integer reCount; private String customerId; + private String companyName; + private String supId; + private String unitFk; public Integer getInCount() { if (inCount == null) diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductStatResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductStatResponse.java new file mode 100644 index 00000000..b40a5dba --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvProductStatResponse.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.res.inventory; + +import lombok.Data; + +@Data +public class InvProductStatResponse { + private int advanceCount; + private int commonCount; + private int inCount; + private int outCount; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BasicUnitMaintainService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BasicUnitMaintainService.java index 899ab823..2afc6e0a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BasicUnitMaintainService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BasicUnitMaintainService.java @@ -15,10 +15,19 @@ public interface BasicUnitMaintainService { boolean updateById(BasicUnitMaintainEntity basicUnitMaintainEntity); + boolean insert(BasicUnitMaintainEntity basicUnitMaintainEntity); + +// boolean updateById(BasicUnitMaintainSaveRequest basicUnitMaintainSaveRequest); + boolean deleteById(String id); BasicUnitMaintainEntity selectByThirdId(String thirdId, String thirdSys); - BasicUnitMaintainEntity selectById(String id); + + BasicUnitMaintainEntity selectByErpId(String id); + + BasicUnitMaintainEntity selectByName(String name); + + boolean isExit(); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessChangeTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessChangeTypeService.java new file mode 100644 index 00000000..278f5391 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessChangeTypeService.java @@ -0,0 +1,22 @@ +package com.glxp.api.admin.service.basic; + + +import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; + +import java.util.List; + +public interface BussinessChangeTypeService { + + List findByAction(String action); + + BussinessChangeTypeEntity findByName(String name); + + public BussinessChangeTypeEntity findFirstByAction(String action); + + boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity); + + boolean insertBusChangeTypee(BussinessChangeTypeEntity bussinessTypeEntity); + + boolean deleteById(String id); + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java index 55de02b0..60105f59 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java @@ -7,6 +7,7 @@ import java.util.List; public interface BussinessLocalTypeService { + BussinessLocalTypeEntity selectById(String id); List filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); @@ -16,6 +17,8 @@ public interface BussinessLocalTypeService { BussinessLocalTypeEntity findBTByName(String name); + boolean insertBussinessType(BussinessLocalTypeEntity bussinessLocalTypeEntity); + boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity); boolean deleteById(String id); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java index 188d875f..d8e48e77 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java @@ -1,13 +1,27 @@ package com.glxp.api.admin.service.basic; +import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; import com.glxp.api.admin.req.basic.BussinessOriginTypeFilterRequest; +import com.glxp.api.admin.res.basic.BussinessOriginTypeResponse; import java.util.List; public interface BussinessOriginTypeService { + BussinessOriginTypeEntity findByAction(String action); + + BasicThirdSysDetailEntity findSysByAction(String action, String key); + + List filterEnableList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest); + + BussinessOriginTypeResponse finAllByAction(String action); + + List filterList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest); + boolean updateBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity); + + boolean insertBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessTypeService.java index b772129f..3b4de89e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessTypeService.java @@ -9,6 +9,7 @@ import com.glxp.api.admin.res.basic.BussinessTypResponse; import java.util.List; public interface BussinessTypeService { + BussinessTypeEntity selectById(String id); List filterList(BussinessTypeFilterRequest bussinessTypeFilterRequest); @@ -24,6 +25,8 @@ public interface BussinessTypeService { boolean insertBussinessType(BussinessTypeEntity bussinessTypeEntity); + boolean insertIgnoreBussinessType(BussinessTypeEntity bussinessTypeEntity); + boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity); boolean deleteById(String id); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/CustomService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/CustomService.java index 95c2d661..f62fc8dc 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/CustomService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/CustomService.java @@ -13,7 +13,11 @@ public class CustomService { UdiRelevanceService udiRelevanceService; public int getActCount(WarehouseEntity warehouseEntity) { - UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + UdiRelevanceResponse udiInfoBean; + if (warehouseEntity.getRelId() != null) { + udiInfoBean = udiRelevanceService.selectGroupById(warehouseEntity.getRelId()); + } else + udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); if (udiInfoBean != null) { if (udiInfoBean.getIsUseDy() == 1 && udiInfoBean.getDiType() != 2) { if (udiInfoBean.getBhzxxsbzsl() == 0) diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java index b148e6c3..d037c877 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java @@ -15,6 +15,8 @@ public interface UdiRelevanceService { UdiRelevanceResponse selectByNameCode(String nameCode); + UdiRelevanceResponse selectByMainId(String mainId); + boolean isExit(); List filterUdiGp(FilterUdiInfoRequest filterUdiInfoRequest); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java index 87bc16cc..8c1eff4d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java @@ -24,7 +24,7 @@ public class BasicUnitMaintainServiceImpl implements BasicUnitMaintainService { if (basicUnitMaintainFilterRequest == null) { return Collections.emptyList(); } - if(basicUnitMaintainFilterRequest.getPage()!=null){ + if (basicUnitMaintainFilterRequest.getPage() != null) { int offset = (basicUnitMaintainFilterRequest.getPage() - 1) * basicUnitMaintainFilterRequest.getLimit(); PageHelper.offsetPage(offset, basicUnitMaintainFilterRequest.getLimit()); } @@ -38,6 +38,11 @@ public class BasicUnitMaintainServiceImpl implements BasicUnitMaintainService { return basicUnitMaintainDao.insertBasicUnitMaintain(basicUnitMaintainEntity); } + @Override + public boolean insert(BasicUnitMaintainEntity basicUnitMaintainEntity) { + return basicUnitMaintainDao.insert(basicUnitMaintainEntity); + } + @Override public boolean updateById(BasicUnitMaintainEntity basicUnitMaintainSaveRequest) { @@ -65,7 +70,6 @@ public class BasicUnitMaintainServiceImpl implements BasicUnitMaintainService { } else if ("thirdId4".equals(thirdSys)) { filterUdiInfoRequest.setThirdId4(thirdId); } - return basicUnitMaintainDao.selectByThirdId(filterUdiInfoRequest); } @@ -73,4 +77,31 @@ public class BasicUnitMaintainServiceImpl implements BasicUnitMaintainService { public BasicUnitMaintainEntity selectById(String id) { return basicUnitMaintainDao.selectById(id); } + + @Override + public BasicUnitMaintainEntity selectByErpId(String id) { + BasicUnitMaintainFilterRequest filterUdiInfoRequest = new BasicUnitMaintainFilterRequest(); + filterUdiInfoRequest.setErpId(id); + List basicUnitMaintainEntities = basicUnitMaintainDao.filterList(filterUdiInfoRequest); + if (basicUnitMaintainEntities != null && basicUnitMaintainEntities.size() > 0) + return basicUnitMaintainEntities.get(0); + return null; + } + + @Override + public BasicUnitMaintainEntity selectByName(String name) { + return basicUnitMaintainDao.selectByName(name); + } + + @Override + public boolean isExit() { + BasicUnitMaintainFilterRequest filterUdiInfoRequest = new BasicUnitMaintainFilterRequest(); + filterUdiInfoRequest.setPage(1); + filterUdiInfoRequest.setLimit(1); + List data = filterList(filterUdiInfoRequest); + if (data != null && data.size() > 0) { + return true; + } + return false; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java new file mode 100644 index 00000000..0f7f3e05 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java @@ -0,0 +1,51 @@ +package com.glxp.api.admin.service.basic.impl; + +import com.glxp.api.admin.dao.basic.BussinessChangeTypeDao; +import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; +import com.glxp.api.admin.service.basic.BussinessChangeTypeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class BussinessChangeTypeServiceaImpl implements BussinessChangeTypeService { + + @Resource + BussinessChangeTypeDao bussinessChangeTypeDao; + + @Override + public List findByAction(String action) { + List data = bussinessChangeTypeDao.findByAction(action); + return data; + } + + + @Override + public BussinessChangeTypeEntity findFirstByAction(String action) { + List data = bussinessChangeTypeDao.findByAction(action); + if (data != null && data.size() > 0) + return data.get(0); + else return null; + } + + @Override + public BussinessChangeTypeEntity findByName(String name) { + return null; + } + + @Override + public boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity) { + return bussinessChangeTypeDao.updateBusChangeType(bussinessTypeEntity); + } + + @Override + public boolean insertBusChangeTypee(BussinessChangeTypeEntity bussinessTypeEntity) { + return bussinessChangeTypeDao.insertBusChangeTypee(bussinessTypeEntity); + } + + @Override + public boolean deleteById(String id) { + return bussinessChangeTypeDao.deleteById(id); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java index f1612f7c..0b5fbb60 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java @@ -19,6 +19,11 @@ public class BussinessLocalTypeServiceImpl implements BussinessLocalTypeService @Resource BussinessLocalTypeDao bussinessLocalTypeDao; + @Override + public BussinessLocalTypeEntity selectById(String id) { + return bussinessLocalTypeDao.selectById(id); + } + @Override public List filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest) { if (bussinessTypeFilterRequest == null) { @@ -49,7 +54,7 @@ public class BussinessLocalTypeServiceImpl implements BussinessLocalTypeService public BussinessLocalTypeEntity findBTByAction(String action) { BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); bussinessTypeFilterRequest.setAction(action); - List data = bussinessLocalTypeDao.filterList(bussinessTypeFilterRequest); + List data = bussinessLocalTypeDao.filterJoin(bussinessTypeFilterRequest); if (data != null && data.size() > 0) { return data.get(0); } @@ -67,6 +72,11 @@ public class BussinessLocalTypeServiceImpl implements BussinessLocalTypeService return null; } + @Override + public boolean insertBussinessType(BussinessLocalTypeEntity bussinessLocalTypeEntity) { + return bussinessLocalTypeDao.insertBussinessType(bussinessLocalTypeEntity); + } + @Override public boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity) { return bussinessLocalTypeDao.updateBusLocalType(bussinessTypeEntity); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java index 9b6aa06f..77a8a3f6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java @@ -2,8 +2,11 @@ package com.glxp.api.admin.service.basic.impl; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.basic.BussinessOriginTypeDao; +import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; import com.glxp.api.admin.req.basic.BussinessOriginTypeFilterRequest; +import com.glxp.api.admin.res.basic.BussinessOriginTypeResponse; +import com.glxp.api.admin.service.basic.BasicThirdSysDetailService; import com.glxp.api.admin.service.basic.BussinessOriginTypeService; import org.springframework.stereotype.Service; @@ -16,6 +19,46 @@ public class BussinessOriginTypeServiceImpl implements BussinessOriginTypeServic @Resource BussinessOriginTypeDao bussinessOriginTypeDao; + @Resource + BasicThirdSysDetailService basicThirdSysDetailService; + + @Override + public BussinessOriginTypeEntity findByAction(String action) { + BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest = new BussinessOriginTypeFilterRequest(); + bussinessOriginTypeFilterRequest.setAction(action); + List bussinessOriginTypeEntities = filterList(bussinessOriginTypeFilterRequest); + if (bussinessOriginTypeEntities != null && bussinessOriginTypeEntities.size() > 0) + return bussinessOriginTypeEntities.get(0); + return null; + } + + @Override + public BasicThirdSysDetailEntity findSysByAction(String action, String key) { + BussinessOriginTypeEntity bussinessOriginTypeEntity = findByAction(action); + if (bussinessOriginTypeEntity != null) { + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey(key, bussinessOriginTypeEntity.getThirdSys()); +// basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse.getLocalAction()); + return basicThirdSysDetailEntity; + } + + return null; + } + + @Override + public List filterEnableList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest) { + return bussinessOriginTypeDao.filterEnableList(bussinessOriginTypeFilterRequest); + } + + @Override + public BussinessOriginTypeResponse finAllByAction(String action) { + BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest = new BussinessOriginTypeFilterRequest(); + bussinessOriginTypeFilterRequest.setAction(action); + List bussinessOriginTypeEntities = bussinessOriginTypeDao.filterJoinList(bussinessOriginTypeFilterRequest); + if (bussinessOriginTypeEntities != null && bussinessOriginTypeEntities.size() > 0) { + return bussinessOriginTypeEntities.get(0); + } + return null; + } @Override public List filterList(BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest) { @@ -29,4 +72,14 @@ public class BussinessOriginTypeServiceImpl implements BussinessOriginTypeServic List data = bussinessOriginTypeDao.filterList(bussinessOriginTypeFilterRequest); return data; } + + @Override + public boolean updateBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity) { + return bussinessOriginTypeDao.updateBusOriginType(bussinessTypeEntity); + } + + @Override + public boolean insertBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity) { + return bussinessOriginTypeDao.insertBusOriginType(bussinessTypeEntity); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java index 5658017e..36018524 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java @@ -3,10 +3,12 @@ package com.glxp.api.admin.service.basic.impl; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.basic.BussinessTypeDao; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; +import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest; import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.service.basic.BasicThirdSysDetailService; +import com.glxp.api.admin.service.basic.BussinessOriginTypeService; import com.glxp.api.admin.service.basic.BussinessTypeService; import org.springframework.stereotype.Service; @@ -21,6 +23,13 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { BussinessTypeDao bussinessTypeDao; @Resource BasicThirdSysDetailService basicThirdSysDetailService; + @Resource + BussinessOriginTypeService bussinessOriginTypeService; + + @Override + public BussinessTypeEntity selectById(String id) { + return bussinessTypeDao.selectById(id); + } @Override public List filterList(BussinessTypeFilterRequest bussinessTypeFilterRequest) { @@ -85,8 +94,10 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { @Override public BasicThirdSysDetailEntity findByActionKey(String action, String key) { BussinessTypResponse bussinessTypResponse = findJoinBTByAction(action); + if (bussinessTypResponse != null) { - BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey(key, bussinessTypResponse.getThirdSysFk()); + BussinessOriginTypeEntity bussinessOriginTypeEntity = bussinessOriginTypeService.findByAction(bussinessTypResponse.getThirdAction()); + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey(key, bussinessOriginTypeEntity.getThirdSys()); if (basicThirdSysDetailEntity == null) { basicThirdSysDetailEntity = new BasicThirdSysDetailEntity(); basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse.getLocalAction()); @@ -98,7 +109,7 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { } } else { BussinessTypeEntity bussinessTypResponse2 = findBTByAction(action); - if (bussinessTypResponse2 != null){ + if (bussinessTypResponse2 != null) { BasicThirdSysDetailEntity basicThirdSysDetailEntity = new BasicThirdSysDetailEntity(); basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse2.getLocalAction()); basicThirdSysDetailEntity.setEnabled(true); @@ -114,6 +125,11 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { return bussinessTypeDao.insertBussinessType(bussinessTypeEntity); } + @Override + public boolean insertIgnoreBussinessType(BussinessTypeEntity bussinessTypeEntity) { + return bussinessTypeDao.insertIgnoreBussinessType(bussinessTypeEntity); + } + @Override public boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity) { return bussinessTypeDao.updateBussinessType(bussinessTypeEntity); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java index 5e78b367..d4b2f938 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java @@ -46,6 +46,16 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { return null; } + @Override + public UdiRelevanceResponse selectByMainId(String mainId) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setMainId(mainId); + List udiRelevanceResponses = filterUdiRelevance(filterUdiInfoRequest); + if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) + return udiRelevanceResponses.get(0); + return null; + } + @Override public boolean isExit() { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/info/SystemPDFTemplateRelevanceService.java b/api-admin/src/main/java/com/glxp/api/admin/service/info/SystemPDFTemplateRelevanceService.java index ba113655..171381a9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/info/SystemPDFTemplateRelevanceService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/info/SystemPDFTemplateRelevanceService.java @@ -2,11 +2,15 @@ package com.glxp.api.admin.service.info; import com.glxp.api.admin.entity.info.SystemPDFTemplateRelevanceEntity; +import com.glxp.api.admin.req.itextpdf.SystemPDFTemplateRelevanceRequest; +import com.glxp.api.admin.res.basic.SystemPDFTemplateRelevanceResponse; import java.util.List; public interface SystemPDFTemplateRelevanceService { + List filterList(SystemPDFTemplateRelevanceRequest systemPDFModuleRequest); + List listByCustomerId(Long customerId); List listByCustomerIdIn(List customerIds); @@ -19,6 +23,8 @@ public interface SystemPDFTemplateRelevanceService { int insertRolesCustomerIdAll(List templates, Long customerId); - boolean deleteByCustomerId(Long customerId); + boolean deleteByCustomerId(Integer customerId); + + boolean udpateRl(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SystemPDFTemplateRelevanceServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SystemPDFTemplateRelevanceServiceImpl.java index facdfd2a..983bed98 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SystemPDFTemplateRelevanceServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SystemPDFTemplateRelevanceServiceImpl.java @@ -2,6 +2,8 @@ package com.glxp.api.admin.service.info.impl; import com.glxp.api.admin.dao.info.SystemPDFTemplateRelevanceDao; import com.glxp.api.admin.entity.info.SystemPDFTemplateRelevanceEntity; +import com.glxp.api.admin.req.itextpdf.SystemPDFTemplateRelevanceRequest; +import com.glxp.api.admin.res.basic.SystemPDFTemplateRelevanceResponse; import com.glxp.api.admin.service.info.SystemPDFTemplateRelevanceService; import org.springframework.stereotype.Service; @@ -16,8 +18,14 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR @Resource private SystemPDFTemplateRelevanceDao systemPDFTemplateRelevanceDao; + @Override + public List filterList(SystemPDFTemplateRelevanceRequest systemPDFModuleRequest) { + return systemPDFTemplateRelevanceDao.filterList(systemPDFModuleRequest); + } + /** * 根据 customerId 获取模板id + * * @param customerId * @return */ @@ -28,6 +36,7 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR /** * 根据多个 customerId 查询角色列表 + * * @param customerIds * @return */ @@ -41,6 +50,7 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR /** * 根据 roleId 获取 customerId + * * @param templateId * @return */ @@ -51,6 +61,7 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR /** * 批量插入 + * * @param systemPDFTemplateRelevanceEntityList * @return */ @@ -71,6 +82,7 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR /** * 根据 模板ids 和 customerId 批量插入 + * * @param templates * @param customerId * @return @@ -80,7 +92,7 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR List systemPDFTemplateRelevanceEntityList = templates.stream().map(aLong -> { SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity = new SystemPDFTemplateRelevanceEntity(); - systemPDFTemplateRelevanceEntity.setTemplate_id(aLong); + systemPDFTemplateRelevanceEntity.setTemplateId(aLong); systemPDFTemplateRelevanceEntity.setCustomerId(customerId); return systemPDFTemplateRelevanceEntity; }).collect(Collectors.toList()); @@ -93,12 +105,18 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR /** * 根据 customerId 删除对应的模板关联 + * * @param customerId * @return */ @Override - public boolean deleteByCustomerId(Long customerId) { + public boolean deleteByCustomerId(Integer customerId) { - return systemPDFTemplateRelevanceDao.deleteByCustomerId(customerId); + return systemPDFTemplateRelevanceDao.deleteById(customerId); + } + + @Override + public boolean udpateRl(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity) { + return systemPDFTemplateRelevanceDao.udpateRl(systemPDFTemplateRelevanceEntity); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SystemParamConfigServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SystemParamConfigServiceImpl.java index 9f288bf9..f10dcec1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SystemParamConfigServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SystemParamConfigServiceImpl.java @@ -1,7 +1,7 @@ package com.glxp.api.admin.service.info.impl; import com.github.pagehelper.PageHelper; -import com.glxp.api.admin.dao.info.SystemParamConfigDao; +import com.glxp.api.admin.dao.schedule.SystemParamConfigDao; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.req.info.SystemParamConfigRequest; import com.glxp.api.admin.req.info.SystemParamConfigSaveRequest; diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesService.java index 35b6e6f8..eec411b0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesService.java @@ -15,13 +15,13 @@ public interface CodesService { boolean insertWarehouses(List warehouseEntities); - List findByNo(WarehouseQueryRequest warehouseQueryRequest); boolean isExits(WarehouseEntity warehouseEntity); List findByOrderId(WarehouseQueryRequest warehouseQueryRequest); + WarehouseEntity findOneByNameCode(String orderId, String nameCode); List findAllByOrderId(WarehouseQueryRequest warehouseQueryRequest); @@ -34,4 +34,11 @@ public interface CodesService { List searchCode(String code); boolean updateUnit(String orderId, String fromCorpId, String fromCorp); + + boolean updateCode(WarehouseEntity warehouseEntity); + + boolean updateRelId(String relId, String nameCode,String orderId); + + + boolean updateSupId(String sup, String nameCode, String orderId); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesTempService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesTempService.java index ff3f433e..ce289691 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesTempService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesTempService.java @@ -21,6 +21,7 @@ public interface CodesTempService { List findByOrderIdAndCode(WarehouseQueryRequest warehouseQueryRequest); + boolean updateOrderId(String oldOrderId, String newOrderId); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/IOOrderStatusService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/IOOrderStatusService.java new file mode 100644 index 00000000..8d8f9e71 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/IOOrderStatusService.java @@ -0,0 +1,19 @@ +package com.glxp.api.admin.service.inout; + + +import com.glxp.api.admin.entity.inout.IOOrderStatusEntity; +import com.glxp.api.admin.req.inout.OrderStatusFilterRequest; + +import java.util.List; + +public interface IOOrderStatusService { + IOOrderStatusEntity findByOrderId(String orderId); + + List filterOrderStatus(OrderStatusFilterRequest warehouseQueryRequest); + + boolean insertOrderStatus(IOOrderStatusEntity ioOrderStatusEntity); + + boolean deleteByOrderId(String orderId); + + boolean updateOrderStatus(IOOrderStatusEntity warehouseEntity); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderDetailService.java index d9c779d3..6626d46e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderDetailService.java @@ -9,6 +9,8 @@ public interface OrderDetailService { List filterAllMyErpOrder(FilterErpOrderRequest filterErpOrderRequest); + List filterAllByOrderIdFk(String orderId); + List findByStockCheck(FilterErpOrderRequest filterErpOrderRequest); List filterMyErpOrder(FilterErpOrderRequest filterErpOrderRequest); @@ -33,7 +35,9 @@ public interface OrderDetailService { boolean deleteById(String id); - boolean deleteByPrimiyId( String id); + boolean deleteByPrimiyId(String id); boolean deleteByOrderId(String id); + + ErpOrderEntity findById(String id); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java index 35e73e06..9c34294e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java @@ -44,5 +44,8 @@ public interface OrderService { List findCodesById(String orderId); + List filterListByOrder(List orderList); + List filterListByCode(List warehouseEntityList); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesServiceImpl.java index f437f6e7..3d592a57 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesServiceImpl.java @@ -72,6 +72,17 @@ public class CodesServiceImpl implements CodesService { return warehouseDao.findByOrderId(warehouseQueryRequest); } + @Override + public WarehouseEntity findOneByNameCode(String orderId, String nameCode) { + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setOrderId(orderId); + warehouseQueryRequest.setNameCode(nameCode); + List warehouseEntityList = findByOrderId(warehouseQueryRequest); + if (warehouseEntityList != null && warehouseEntityList.size() > 0) + return warehouseEntityList.get(0); + return null; + } + @Override public List findAllByOrderId(WarehouseQueryRequest warehouseQueryRequest) { if (warehouseQueryRequest == null) { @@ -94,8 +105,6 @@ public class CodesServiceImpl implements CodesService { @Override public boolean updateOrderId(String oldOrderId, String newOrderId) { - - return warehouseDao.updateOrderId(oldOrderId, newOrderId); } @@ -109,4 +118,19 @@ public class CodesServiceImpl implements CodesService { public boolean updateUnit(String orderId, String fromCorpId, String fromCorp) { return warehouseDao.updateUnit(orderId, fromCorpId, fromCorp); } + + @Override + public boolean updateCode(WarehouseEntity warehouseEntity) { + return warehouseDao.updateCode(warehouseEntity); + } + + @Override + public boolean updateRelId(String relId, String nameCode, String orderId) { + return warehouseDao.updateRelId(relId, nameCode, orderId); + } + + @Override + public boolean updateSupId(String sup, String nameCode, String orderId) { + return warehouseDao.updateSupId(sup, nameCode, orderId); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesTempServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesTempServiceImpl.java index f1351e9d..d6fab24c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesTempServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesTempServiceImpl.java @@ -68,4 +68,9 @@ public class CodesTempServiceImpl implements CodesTempService { } return codesTempDao.findByOrderIdAndCode(warehouseQueryRequest); } + + @Override + public boolean updateOrderId(String oldOrderId, String newOrderId) { + return codesTempDao.updateOrderId(oldOrderId, newOrderId); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/IOOrderStatusServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/IOOrderStatusServiceImpl.java new file mode 100644 index 00000000..06a7248e --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/IOOrderStatusServiceImpl.java @@ -0,0 +1,59 @@ +package com.glxp.api.admin.service.inout.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inout.IOOrderStatusDao; +import com.glxp.api.admin.entity.inout.IOOrderStatusEntity; +import com.glxp.api.admin.req.inout.OrderStatusFilterRequest; +import com.glxp.api.admin.service.inout.IOOrderStatusService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class IOOrderStatusServiceImpl implements IOOrderStatusService { + + + @Resource + IOOrderStatusDao ioOrderStatusDao; + + + @Override + public IOOrderStatusEntity findByOrderId(String orderId) { + OrderStatusFilterRequest orderStatusFilterRequest = new OrderStatusFilterRequest(); + orderStatusFilterRequest.setOrderId(orderId); + List orderStatusEntities = ioOrderStatusDao.filterOrderStatus(orderStatusFilterRequest); + if (orderStatusEntities != null && orderStatusEntities.size() > 0) { + return orderStatusEntities.get(0); + } + return null; + } + + @Override + public List filterOrderStatus(OrderStatusFilterRequest orderStatusFilterRequest) { + if (orderStatusFilterRequest == null) { + return Collections.emptyList(); + } + if (orderStatusFilterRequest.getPage() != null) { + int offset = (orderStatusFilterRequest.getPage() - 1) * orderStatusFilterRequest.getLimit(); + PageHelper.offsetPage(offset, orderStatusFilterRequest.getLimit()); + } + return ioOrderStatusDao.filterOrderStatus(orderStatusFilterRequest); + } + + @Override + public boolean insertOrderStatus(IOOrderStatusEntity ioOrderStatusEntity) { + return ioOrderStatusDao.insertOrderStatus(ioOrderStatusEntity); + } + + @Override + public boolean deleteByOrderId(String orderId) { + return ioOrderStatusDao.deleteByOrderId(orderId); + } + + @Override + public boolean updateOrderStatus(IOOrderStatusEntity ioOrderStatusEntity) { + return ioOrderStatusDao.updateOrderStatus(ioOrderStatusEntity); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderDetailServiceImpl.java index 952d2c29..d4a15c95 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderDetailServiceImpl.java @@ -26,6 +26,13 @@ public class OrderDetailServiceImpl implements OrderDetailService { return myErpOrderDao.filterMyErpOrder(filterErpOrderRequest); } + @Override + public List filterAllByOrderIdFk(String orderId) { + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); + filterErpOrderRequest.setOrderIdFk(orderId); + return myErpOrderDao.filterMyErpOrder(filterErpOrderRequest); + } + @Override public List findByStockCheck(FilterErpOrderRequest filterErpOrderRequest) { @@ -122,4 +129,9 @@ public class OrderDetailServiceImpl implements OrderDetailService { return myErpOrderDao.deleteByOrderId(id); } + @Override + public ErpOrderEntity findById(String id) { + return myErpOrderDao.findById(id); + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java index 778be379..7c61b136 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java @@ -126,6 +126,12 @@ public class OrderServiceImpl implements OrderService { return warehouseDao.findCodesById(orderId); } + @Override + public List filterListByOrder(List orderList) { + return orderDao.filterListByOrder(orderList); + } + + @Override public List filterListByCode(List warehouseEntityList) { if (warehouseEntityList == null) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductDetailService.java index 408ba9bd..14b60b9d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductDetailService.java @@ -3,6 +3,7 @@ package com.glxp.api.admin.service.inventory; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse; import java.util.List; @@ -11,6 +12,8 @@ public interface InvProductDetailService { List filterInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + boolean insertInvProduct(InvProductDetailEntity invProductDetailEntity); boolean insertInvProducts(List invProductDetailEntitys); @@ -19,5 +22,7 @@ public interface InvProductDetailService { boolean deleteById(String id); - boolean deleteByProductId(String productIdFk); + boolean deleteByProductId(FilterInvProductDetailRequest productIdFk); + + int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java index 87652658..2b9f19bd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java @@ -13,7 +13,7 @@ public interface InvProductService { List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); - InvProductEntity selectByUuid(String uuid, String batchNo); + InvProductEntity selectByUuid(String uuid, String batchNo, String supId); InvProductEntity selectById(String id); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java index 45364966..54fa6751 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java @@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.inventory.InvProductDetailDao; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse; import com.glxp.api.admin.service.inventory.InvProductDetailService; import org.springframework.stereotype.Service; @@ -15,6 +16,7 @@ import java.util.List; @Service public class InvProductDetailServiceImpl implements InvProductDetailService { + @Resource InvProductDetailDao invProductDetailDao; @@ -31,6 +33,20 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { return data; } + @Override + public List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + if (filterInvProductDetailRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductDetailRequest.getPage() != null) { + int offset = (filterInvProductDetailRequest.getPage() - 1) * filterInvProductDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductDetailRequest.getLimit()); + } + List data = invProductDetailDao.filterJoinInvProduct(filterInvProductDetailRequest); + return data; + } + + @Override public boolean insertInvProduct(InvProductDetailEntity invProductDetailEntity) { return invProductDetailDao.insertInvProductDetail(invProductDetailEntity); @@ -52,7 +68,12 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { } @Override - public boolean deleteByProductId(String productIdFk) { - return false; + public boolean deleteByProductId(FilterInvProductDetailRequest productIdFk) { + return invProductDetailDao.deleteByProductId(productIdFk); + } + + @Override + public int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest) { + return invProductDetailDao.statCount(filterInvProductDetailRequest); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java index c43b9476..6f3b1991 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java @@ -45,10 +45,11 @@ public class InvProductServiceImpl implements InvProductService { } @Override - public InvProductEntity selectByUuid(String uuid, String batchNo) { + public InvProductEntity selectByUuid(String uuid, String batchNo, String customerId) { FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); filterInvProductRequest.setRelIdFk(uuid); filterInvProductRequest.setBatchNo(batchNo); + filterInvProductRequest.setSupId(customerId); List data = filterInvProduct(filterInvProductRequest); if (data != null && data.size() > 0) { return data.get(0); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/ThrDataService.java b/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/ThrDataService.java index 4e14be44..6e81e32d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/ThrDataService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/ThrDataService.java @@ -1,9 +1,11 @@ package com.glxp.api.admin.service.thrsys; +import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.inout.ErpOrderEntity; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; +import com.glxp.api.admin.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.admin.entity.thrsys.ThrProductsEntity; import com.glxp.api.admin.httpclient.ErpBasicClient; import com.glxp.api.admin.req.basic.FilterErpGoodsRequest; @@ -92,12 +94,28 @@ public class ThrDataService { filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); List thrOrderDetailEntities = stockOrderDetailService.filterStockOrderDetail(filterThrOrderDetailRequest); - List subErpOrders = new ArrayList<>(); if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { ErpOrderEntity erpOrderResponse = new ErpOrderEntity(); - BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); - BeanUtils.copyProperties(thrOrderDetailEntity, erpOrderResponse); + erpOrderResponse.setCredate(thrOrderEntity.getBilldate()); + erpOrderResponse.setErpOrderId(thrOrderEntity.getBillNo()); + erpOrderResponse.setCompanyid(thrOrderEntity.getCorpId()); + erpOrderResponse.setIodtlId(thrOrderEntity.getBillNo()); + erpOrderResponse.setCompanyname(thrOrderEntity.getCorpName()); + erpOrderResponse.setCoName(thrOrderDetailEntity.getProductName()); + erpOrderResponse.setGoodsname(thrOrderDetailEntity.getProductName()); + erpOrderResponse.setGoodsid(thrOrderDetailEntity.getProductId()); + erpOrderResponse.setBatchNo(thrOrderDetailEntity.getBatchNo()); + erpOrderResponse.setProductDate(thrOrderDetailEntity.getProductDate()); + erpOrderResponse.setExpireDate(thrOrderDetailEntity.getExpireDate()); + erpOrderResponse.setReCount(Integer.parseInt(thrOrderDetailEntity.getReCount())); + erpOrderResponse.setErpCount(Integer.parseInt(thrOrderDetailEntity.getCount())); + erpOrderResponse.setAuthCode(thrOrderDetailEntity.getZczbhhzbapzbh()); + erpOrderResponse.setProductCompany(thrOrderDetailEntity.getYlqxzcrbarmc()); + erpOrderResponse.setPackSpec(thrOrderDetailEntity.getSpec()); + erpOrderResponse.setGoodsunit(thrOrderDetailEntity.getSpec()); + erpOrderResponse.setRelIdFk(thrOrderDetailEntity.getProductId()); + erpOrderResponse.setOrderFromType(ConstantStatus.SORDER_FROM_LOCAL); erpOrderEntities.add(erpOrderResponse); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/impl/ThrOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/impl/ThrOrderServiceImpl.java index 8dae7baf..5b7c50f3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/impl/ThrOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/impl/ThrOrderServiceImpl.java @@ -56,6 +56,18 @@ public class ThrOrderServiceImpl implements ThrOrderService { ErpOrderEntity erpOrderEntity = new ErpOrderEntity(); BeanUtils.copyProperties(thrOrderEntity, erpOrderEntity); BeanUtils.copyProperties(thrOrderDetailEntity, erpOrderEntity); + erpOrderEntity.setCompanyid(thrOrderEntity.getCorpId()); + erpOrderEntity.setCompanyname(thrOrderEntity.getCorpName()); + erpOrderEntity.setErpOrderId(thrOrderEntity.getBillNo()); + erpOrderEntity.setIodtlId(thrOrderEntity.getBillNo()); + erpOrderEntity.setErpCount(thrOrderDetailEntity.getCount()); + erpOrderEntity.setReCount(thrOrderDetailEntity.getReCount()); + erpOrderEntity.setBatchNo(thrOrderDetailEntity.getBatchNo()); + erpOrderEntity.setGoodsid(thrOrderDetailEntity.getProductId()); + erpOrderEntity.setGoodsname(thrOrderDetailEntity.getProductName()); + erpOrderEntity.setCredate(thrOrderDetailEntity.getProductDate()); + erpOrderEntity.setExpireDate(thrOrderDetailEntity.getExpireDate()); + erpOrderEntity.setPackSpec(thrOrderDetailEntity.getSpec()); erpOrderEntities.add(erpOrderEntity); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/BasicUpdateErpDataTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/BasicUpdateErpDataTask.java index 5579eb4f..fed66751 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/BasicUpdateErpDataTask.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/BasicUpdateErpDataTask.java @@ -1,6 +1,6 @@ package com.glxp.api.admin.thread; -import com.glxp.api.admin.dao.info.ScheduledDao; +import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BasicThirdSysEntity; import com.glxp.api.admin.entity.info.ScheduledEntity; @@ -65,7 +65,6 @@ public class BasicUpdateErpDataTask implements SchedulingConfigurer { } else thirdSysId = "thirdId"; BasicThirdSysDetailEntity piDetailEntity = basicThirdSysDetailService.selectByKey("piQueryUrl", thirdSysId); - BasicThirdSysDetailEntity invPiDetailEntity = basicThirdSysDetailService.selectByKey("invPiUrl", thirdSysId); if (piDetailEntity.getFromType() == 0) { if (piDetailEntity.getValue() != null && invPiDetailEntity.getValue() != null) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/DlSpOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/DlSpOrderService.java new file mode 100644 index 00000000..14e7df67 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/DlSpOrderService.java @@ -0,0 +1,76 @@ +package com.glxp.api.admin.thread; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.entity.info.SystemParamConfigEntity; +import com.glxp.api.admin.entity.inout.IOOrderStatusEntity; +import com.glxp.api.admin.entity.inout.OrderEntity; +import com.glxp.api.admin.entity.inout.WarehouseEntity; +import com.glxp.api.admin.req.inout.PostOrderRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inout.DlOrderResponse; +import com.glxp.api.admin.service.info.SystemParamConfigService; +import com.glxp.api.admin.service.inout.CodesService; +import com.glxp.api.admin.service.inout.IOOrderStatusService; +import com.glxp.api.admin.service.inout.OrderService; +import com.glxp.api.admin.util.CustomUtil; +import com.glxp.api.admin.util.FileUtils; +import com.glxp.api.admin.util.SpGetHttp; +import com.glxp.api.common.res.BaseResponse; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Service +public class DlSpOrderService { + @Resource + SpGetHttp spGetHttp; + @Resource + SystemParamConfigService systemParamConfigService; + @Resource + IOOrderStatusService ioOrderStatusService; + @Resource + IoTransInoutService transInoutService; + + @Async + public void dlOrdedrs() { + BaseResponse> baseResponse = spGetHttp.getOrderStatus(); + PageSimpleResponse pageSimpleResponse = baseResponse.getData(); + if (pageSimpleResponse != null) { + List ioOrderStatusEntityList = pageSimpleResponse.getList(); + if (ioOrderStatusEntityList != null && ioOrderStatusEntityList.size() > 0) { + for (IOOrderStatusEntity ioOrderStatusEntity : ioOrderStatusEntityList) { + BaseResponse> ordersRes = spGetHttp.getOrders(ioOrderStatusEntity.getOrderId()); + List dlOrderResponses = ordersRes.getData(); + if (dlOrderResponses != null && dlOrderResponses.size() > 0) { + for (DlOrderResponse dlOrderResponse : dlOrderResponses) { + OrderEntity orderEntity = dlOrderResponse.getOrderEntity(); + IOOrderStatusEntity temp = ioOrderStatusService.findByOrderId(orderEntity.getId()); + if (temp == null) {//避免重复操作插入 + List postOrders = new ArrayList<>(); + PostOrderRequest postOrderRequest = new PostOrderRequest(); + List warehouseEntityList = dlOrderResponse.getCodes(); + PostOrderRequest.PostOrder postOrder = new PostOrderRequest.PostOrder(); + postOrder.setCodes(warehouseEntityList); + postOrder.setBillType(orderEntity.getAction()); + postOrders.add(postOrder); + postOrderRequest.setPostOrders(postOrders); + transInoutService.creatOrderAsycn(postOrderRequest, ConstantStatus.FROM_UDISP); + } + spGetHttp.postOrder(orderEntity.getId()); + } + + } + } + + } + } + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/HeartTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/HeartTask.java new file mode 100644 index 00000000..9af9b052 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/HeartTask.java @@ -0,0 +1,70 @@ +package com.glxp.api.admin.thread; + +import com.glxp.api.admin.constant.RedisContant; +import com.glxp.api.admin.dao.schedule.ScheduledDao; +import com.glxp.api.admin.entity.info.ScheduledEntity; +import com.glxp.api.admin.entity.info.SystemParamConfigEntity; +import com.glxp.api.admin.req.info.ScheduledRequest; +import com.glxp.api.admin.service.info.SystemParamConfigService; +import com.glxp.api.admin.util.RedisUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + + +@Component +@EnableScheduling +public class HeartTask implements SchedulingConfigurer { + + final Logger logger = LoggerFactory.getLogger(HeartTask.class); + @Resource + protected ScheduledDao scheduledDao; + @Resource + RedisUtil redisUtil; + @Resource + SystemParamConfigService systemParamConfigService; + @Resource + DlSpOrderService dlSpOrderService; + + @Override + public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { + + scheduledTaskRegistrar.addTriggerTask(() -> process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("heartTask"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + String cron = scheduledEntity.getCron(); + if (cron.isEmpty()) { + logger.error("cron is null"); + } + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + + private void process() { + + + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("dl_order_status"); + long timeInterval = Long.parseLong(systemParamConfigEntity.getParamValue()) * 60 * 1000; + long curTime = System.currentTimeMillis(); + //任务一,定时下载供应商平台已完成单据 + Long lastTime = (Long) redisUtil.get(RedisContant.DL_ORDER_STATUS); + if (lastTime == null) { + redisUtil.set(RedisContant.DL_ORDER_STATUS, System.currentTimeMillis()); + } + if (curTime - lastTime > timeInterval) { + logger.info("每分钟执行一次单据下载"); + redisUtil.set(RedisContant.DL_ORDER_STATUS, curTime); + dlSpOrderService.dlOrdedrs(); + } + + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java index f68ec93b..a8521925 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java @@ -1,9 +1,11 @@ package com.glxp.api.admin.thread; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantType; -import com.glxp.api.admin.entity.basic.BussinessTypeEntity; -import com.glxp.api.admin.entity.basic.UdiInfoEntity; +import com.glxp.api.admin.entity.basic.*; +import com.glxp.api.admin.entity.info.CompanyEntity; +import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.entity.inout.ErpOrderEntity; import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; import com.glxp.api.admin.entity.inout.OrderEntity; @@ -11,26 +13,32 @@ import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity; import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.res.basic.UdiRelevanceResponse; -import com.glxp.api.admin.service.basic.BussinessTypeService; -import com.glxp.api.admin.service.basic.UdiInfoService; -import com.glxp.api.admin.service.basic.UdiRelevanceService; +import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse; +import com.glxp.api.admin.service.basic.*; +import com.glxp.api.admin.service.info.CompanyService; +import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.service.inout.CodesService; +import com.glxp.api.admin.service.inout.CodesTempService; import com.glxp.api.admin.service.inout.OrderDetailService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inventory.InvProductDetailService; import com.glxp.api.admin.service.inventory.InvProductService; +import com.glxp.api.admin.util.CustomUtil; +import com.glxp.api.admin.util.DateUtil; +import com.glxp.api.admin.util.FilterUdiUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Date; -import java.util.List; +import java.util.*; @Service public class InvProductsTrService { - @Resource private OrderService orderService; @Resource @@ -38,17 +46,31 @@ public class InvProductsTrService { @Resource private CodesService codesService; @Resource + private CodesTempService codesTempService; + @Resource private UdiRelevanceService udiRelevanceService; @Resource private UdiInfoService udiInfoService; @Resource private BussinessTypeService bussinessTypeService; - + @Resource + private BussinessLocalTypeService bussinessLocalTypeService; @Resource private InvProductService invProductService; @Resource private InvProductDetailService invProductDetailService; + @Resource + private BussinessChangeTypeService bussinessChangeTypeService; + @Resource + private BasicUnitMaintainService basicUnitMaintainService; + @Resource + @Lazy + private IoTransInoutService ioTransInoutService; + @Resource + CompanyService companyService; + @Resource + SystemParamConfigService systemParamConfigService; @Async public void genInvProducts(String orderId) { @@ -56,91 +78,440 @@ public class InvProductsTrService { if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && (orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_SUCCESS || orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_UN)) { + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + if (bussinessTypeEntity.isInnerOrder()) {//内部单据,不计入库存 + return; + } + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeEntity.getLocalAction()); + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); filterErpOrderRequest.setOrderId(orderId); List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); - if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { - - String nameCode = erpOrderEntity.getNameCode(); - String erpId = erpOrderEntity.getGoodsid(); - FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); - filterUdiInfoRequest.setNameCode(nameCode); - if (bussinessTypeEntity.getThirdSysFk() != null) { - if (bussinessTypeEntity.getThirdSysFk().equals("thirdId")) { - filterUdiInfoRequest.setThirdId(erpId); - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId1")) { - filterUdiInfoRequest.setThirdId1(erpId); - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId2")) { - filterUdiInfoRequest.setThirdId2(erpId); - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId3")) { - filterUdiInfoRequest.setThirdId3(erpId); - } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId4")) { - filterUdiInfoRequest.setThirdId4(erpId); - } + //根据条码生成库存产品列表(产品ID,批次号,供应商)唯一键插入 + List warehouseEntityList = codesService.findByReceiptId(orderId); + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + ErpOrderEntity erpOrderEntity = getErpOrders(warehouseEntity, erpOrderEntities); + //普通出入库 + InvProductEntity invProductEntity = invProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId()); + if (invProductEntity == null) { + invProductEntity = buildInvProduct(erpOrderEntity.getGoodsid(), erpOrderEntity, orderEntity, warehouseEntity); + invProductEntity.setUnitFk(orderEntity.getFromCorpId()); + invProductService.insertInvProduct(invProductEntity); + } else { + int actCount = getActCount(warehouseEntity); + int count = actCount * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductEntity.setOutCount(invProductEntity.getOutCount() + count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invProductEntity.setInCount(invProductEntity.getInCount() + count); } + invProductService.updateInvProduct(invProductEntity); + } + } + //根据单据详情与条码生成库存码明细 + List mInvProductDetailEntities = new ArrayList<>(); + if (erpOrderEntities != null && erpOrderEntities.size() > 0) { + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + String erpId = erpOrderEntity.getGoodsid(); + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setId(erpId); List udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); String relId = null; if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { relId = udiRelevanceResponses.get(0).getId() + ""; } if (relId != null) { - InvProductEntity invProductEntity = invProductService.selectByUuid(relId, erpOrderEntity.getBatchNo()); - if (invProductEntity == null) { - invProductEntity = new InvProductEntity(); - invProductEntity.setRelIdFk(relId); - invProductEntity.setBatchNo(erpOrderEntity.getBatchNo()); - invProductEntity.setExpireDate(erpOrderEntity.getExpireDate()); - invProductEntity.setProductionDate(erpOrderEntity.getProductDate()); - invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); - invProductEntity.setNameCode(erpOrderEntity.getNameCode()); - invProductEntity.setProductsName(erpOrderEntity.getCoName()); - invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); - invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); - if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - invProductEntity.setOutCount(erpOrderEntity.getCount()); - } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { - invProductEntity.setInCount(erpOrderEntity.getCount()); - } - invProductService.insertInvProduct(invProductEntity); - invProductEntity = invProductService.selectByUuid(relId, erpOrderEntity.getBatchNo()); - } else { - if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - invProductEntity.setOutCount(invProductEntity.getOutCount() + erpOrderEntity.getCount()); - } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { - invProductEntity.setInCount(invProductEntity.getInCount() + erpOrderEntity.getCount()); - } - invProductService.updateInvProduct(invProductEntity); + List invProductDetailEntities; + invProductDetailEntities = buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 2, false); + if (invProductDetailEntities != null && invProductDetailEntities.size() > 0) { + mInvProductDetailEntities.addAll(invProductDetailEntities); } - List warehouseEntities = codesService.findByReceiptId(orderId); - if (warehouseEntities != null && warehouseEntities.size() > 0) { - for (WarehouseEntity warehouseEntity : warehouseEntities) { - UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(warehouseEntity.getNameCode()); - if (udiInfoEntity.getUuid().equals(erpOrderEntity.getUuidFk())) { - if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getBatchNo() == null) || - warehouseEntity.getBatchNo().equals(erpOrderEntity.getBatchNo())) { - InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); - invProductDetailEntity.setProductIdFk(invProductEntity.getId() + ""); - invProductDetailEntity.setCode(warehouseEntity.getCode()); - invProductDetailEntity.setAction(warehouseEntity.getAction()); - invProductDetailEntity.setMainAction(warehouseEntity.getMainAction()); - invProductDetailEntity.setOrderIdFk(warehouseEntity.getOrderId()); - invProductDetailEntity.setCount(warehouseEntity.getCount()); - invProductDetailEntity.setUpdateTime(new Date()); - invProductDetailService.insertInvProduct(invProductDetailEntity); - } + } + } + } + + //单据流转 + BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeService.findFirstByAction(bussinessLocalTypeEntity.getLocalAction()); + if (bussinessLocalTypeEntity.getChangeEnable() && bussinessChangeTypeEntity != null) { + //普通出库 + if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction())) { + List datas = addOutOrder(orderEntity, mInvProductDetailEntities);//1.先计算现有库存, +// insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 + List temps = filterMapCodes(datas); + buildInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 + } + + } else { + insetInv(mInvProductDetailEntities);//2.插入当前库存 + } + } + + } + + //普通出库补单 + public List addOutOrder(OrderEntity orderEntity, List invProductDetailEntities) { + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + List inList = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : warehouseEntities) { + //获取普通出入库结余数量 + int actCount = getActCount(warehouseEntity); + UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); + String code = warehouseEntity.getCode(); + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY + || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { + warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); + code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); +// warehouseEntity.setCode(code); +// warehouseEntity.setCount(actCount * warehouseEntity.getCount()); + } + int invCount = getCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId()); + if (invCount <= 0) { + invCount = getCountByOrder(null, code, warehouseEntity.getSupId()); + } + if (invCount > 0) { + int count = actCount * warehouseEntity.getCount(); + if (count > invCount) { + int lea = count - invCount; + warehouseEntity.setCount(lea / (getActCount(warehouseEntity))); + inList.add(warehouseEntity); + } + } else { + inList.add(warehouseEntity); + } + InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); + insetInvSingle(invProductDetailEntity); + warehouseEntity.setCode(code); + } + return inList; + } + + + public ErpOrderEntity getErpOrders(WarehouseEntity warehouseEntity, List erpOrderEntities) { + + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + if (warehouseEntity.getRelId().equals(erpOrderEntity.getGoodsid())) { + if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getBatchNo() == null) || + warehouseEntity.getBatchNo().equals(erpOrderEntity.getBatchNo())) { + return erpOrderEntity; + } + } + } + return null; + } + + + //生成普通入库单据 + public void buildInOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); + + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + if (warehouseEntity.getSupId() != null) { + if (filterSupMaps.get(warehouseEntity.getSupId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getSupId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } + + //有供应商生成采购入库单据 + for (String corpName : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId(CustomUtil.getId()); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(corpName); + outOrder.setFromCorp(basicUnitMaintainEntity.getName()); + outOrder.setFromCorpId(corpName); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); +// ioTransInoutService.transInout(outOrder.getId()); + } + + + //无供应商,一个条码生成一个错误单据,到时候利用单据合并生成同一个单据 + for (WarehouseEntity warehouseEntity : unkonwCorpList) { + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setRemark("未选择供应商"); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(null); + outOrder.setFromCorpId(null); + orderService.insertOrder(outOrder); + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(null); + warehouseEntity.setFromCorpId(null); + codesTempService.insertCodesTempSingle(warehouseEntity); + } + + + } + + + //生成库存 + private InvProductEntity buildInvProduct(String relId, ErpOrderEntity erpOrderEntity, OrderEntity orderEntity, WarehouseEntity warehouseEntity) { + InvProductEntity invProductEntity = new InvProductEntity(); + invProductEntity.setRelIdFk(relId); + invProductEntity.setBatchNo(erpOrderEntity.getBatchNo()); + invProductEntity.setExpireDate(erpOrderEntity.getExpireDate()); + invProductEntity.setProductionDate(erpOrderEntity.getProductDate()); + invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); + invProductEntity.setSupId(warehouseEntity.getSupId()); + invProductEntity.setNameCode(erpOrderEntity.getNameCode()); + invProductEntity.setProductsName(erpOrderEntity.getCoName()); + invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); + invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); + int count = getActCount(warehouseEntity) * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductEntity.setOutCount(count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invProductEntity.setInCount(count); + } + + return invProductEntity; + } + + //生成库存条码 + private List buildInvProductDetail(String orderId, ErpOrderEntity erpOrderEntity, + OrderEntity orderEntity, Integer purchaseType, boolean isPre) { + + List mInvProductDetailEntities = new ArrayList<>(); + List warehouseEntities = codesService.findByReceiptId(orderId); + if (warehouseEntities != null && warehouseEntities.size() > 0) { + for (WarehouseEntity warehouseEntity : warehouseEntities) { + if (warehouseEntity.getRelId().equals(erpOrderEntity.getGoodsid())) { + if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getBatchNo() == null) || + warehouseEntity.getBatchNo().equals(erpOrderEntity.getBatchNo())) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + invProductDetailEntity.setOriginCode(warehouseEntity.getCode()); + invProductDetailEntity.setProductIdFk(erpOrderEntity.getGoodsid() + ""); + int actCount = getActCount(warehouseEntity); + + String code = warehouseEntity.getCode(); + UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY + || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { + warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); + code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); + warehouseEntity.setCode(code); + } + invProductDetailEntity.setCode(code); + invProductDetailEntity.setBatchNo(warehouseEntity.getBatchNo()); + invProductDetailEntity.setProductionDate(warehouseEntity.getProduceDate()); + invProductDetailEntity.setExpireDate(warehouseEntity.getExpireDate()); + invProductDetailEntity.setAction(warehouseEntity.getAction()); + invProductDetailEntity.setMainAction(orderEntity.getMainAction()); + invProductDetailEntity.setOrderIdFk(warehouseEntity.getOrderId()); + invProductDetailEntity.setCount(actCount * warehouseEntity.getCount()); + if (purchaseType != null) { + invProductDetailEntity.setPurchaseType(purchaseType); + } + invProductDetailEntity.setStockIdFk(orderEntity.getErpFk()); + invProductDetailEntity.setUnitFk(orderEntity.getFromCorpId()); + invProductDetailEntity.setUpdateTime(new Date()); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + if (warehouseEntity.getSupId() != null) { + invProductDetailEntity.setSupId(warehouseEntity.getSupId()); + } else { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); + filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); + List temps = null; + temps = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + if (temps.size() > 0) { + invProductDetailEntity.setSupId(temps.get(0).getSupId()); } } - + } else { + invProductDetailEntity.setSupId(orderEntity.getFromCorpId()); } + + mInvProductDetailEntities.add(invProductDetailEntity); } } } } + return mInvProductDetailEntities; + } + + public void insetInv(List invProductDetailEntities) { + invProductDetailService.insertInvProducts(invProductDetailEntities); + } + + public void insetInvSingle(InvProductDetailEntity invProductDetailEntity) { + List invProductDetailEntities = new ArrayList<>(); + invProductDetailEntities.add(invProductDetailEntity); + invProductDetailService.insertInvProducts(invProductDetailEntities); + } + + + public InvProductDetailEntity filterInvByCode(List invProductDetailEntities, String code) { + + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + if (invProductDetailEntity.getOriginCode().equals(code)) { + return invProductDetailEntity; + } + } + return null; } + + public int getActCount(WarehouseEntity warehouseEntity) { + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + if (udiInfoBean != null) { + if (udiInfoBean.getIsUseDy() == 1 && udiInfoBean.getDiType() != 2) { + if (udiInfoBean.getBhzxxsbzsl() == 0) + return udiInfoBean.getZxxsbzbhsydysl(); + else + return udiInfoBean.getZxxsbzbhsydysl() * udiInfoBean.getBhzxxsbzsl(); + } else { + return udiInfoBean.getBhzxxsbzsl(); + } + } + return 1; + } + + public boolean isMutiPack(WarehouseEntity warehouseEntity) { + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + List udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); + if (udiInfoBean != null && udiInfoEntities.size() > 1) { + return true; + } + return false; + } + + public UdiInfoEntity getMinDi(WarehouseEntity warehouseEntity) { + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + List udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); + if (udiInfoBean != null) { + for (UdiInfoEntity udiInfoEntity : udiInfoEntities) { + if (udiInfoBean.getIsUseDy() == 1) { + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY) { + return udiInfoEntity; + } + } else { + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_MAIN) { + return udiInfoEntity; + } + } + } + } + return null; + } + + + //根据条码获取库存结余数量 + public int getCountByOrder(String mainAction, String code, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + + } + } + return invCount; + } + + + //根据条码获取库存结余数量 + public int getCountByProduct(String mainAction, String productId, String batchNo, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setProductIdFk(productId); + filterInvProductDetailRequest.setBatchNo(batchNo); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + } + } + return invCount; + } + + //合并条码 + public List filterMapCodes(List warehouseEntityList) { + Map filterMap = new HashMap<>(); + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + WarehouseEntity temp = filterMap.get(warehouseEntity.getCode()); + if (temp == null) { + filterMap.put(warehouseEntity.getCode(), warehouseEntity); + } else { + WarehouseEntity tempEntity = filterMap.get(warehouseEntity.getCode()); + filterMap.get(warehouseEntity.getCode()).setCount(tempEntity.getCount() + 1); + } + } + List results = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : filterMap.values()) { + results.add(warehouseEntity); + } + return results; + } } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/InvUpdateStock1Task.java b/api-admin/src/main/java/com/glxp/api/admin/thread/InvUpdateStock1Task.java index 21a0cf52..941ec67d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/InvUpdateStock1Task.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/InvUpdateStock1Task.java @@ -1,6 +1,6 @@ package com.glxp.api.admin.thread; -import com.glxp.api.admin.dao.info.ScheduledDao; +import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.entity.info.ScheduledEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.req.info.ScheduledRequest; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/InvUpdateStock2Task.java b/api-admin/src/main/java/com/glxp/api/admin/thread/InvUpdateStock2Task.java index 716692a2..17307821 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/InvUpdateStock2Task.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/InvUpdateStock2Task.java @@ -1,6 +1,6 @@ package com.glxp.api.admin.thread; -import com.glxp.api.admin.dao.info.ScheduledDao; +import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.entity.info.ScheduledEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.req.info.ScheduledRequest; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoErpCheckTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoErpCheckTask.java index 69f62de3..eba6494a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoErpCheckTask.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoErpCheckTask.java @@ -1,6 +1,6 @@ package com.glxp.api.admin.thread; -import com.glxp.api.admin.dao.info.ScheduledDao; +import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.entity.info.ScheduledEntity; import com.glxp.api.admin.req.info.ScheduledRequest; import org.slf4j.Logger; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoModifyErpTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoModifyErpTask.java index 149e15b1..d7647c5c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoModifyErpTask.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoModifyErpTask.java @@ -5,16 +5,14 @@ import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.httpclient.ErpOrderClient; -import com.glxp.api.admin.dao.info.ScheduledDao; +import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.entity.info.ScheduledEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.ErpOrderEntity; import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; import com.glxp.api.admin.req.inout.ERPPostBillRequest; import com.glxp.api.admin.req.inout.OrderFilterRequest; -import com.glxp.api.admin.req.inout.USignRequest; import com.glxp.api.admin.req.info.ScheduledRequest; -import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.service.inout.OrderDetailService; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java index 49edb7b9..5061ab00 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java @@ -1,39 +1,52 @@ package com.glxp.api.admin.thread; import com.glxp.api.admin.config.WebSocketServer; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; -import com.glxp.api.admin.controller.inout.utils.DataTransUtil; -import com.glxp.api.admin.entity.basic.*; -import com.glxp.api.admin.entity.info.SystemParamConfigEntity; -import com.glxp.api.admin.httpclient.ErpOrderClient; +import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil; +import com.glxp.api.admin.controller.inout.utils.DataTransUtil; import com.glxp.api.admin.controller.inout.utils.InoutUtils; +import com.glxp.api.admin.entity.basic.*; +import com.glxp.api.admin.entity.business.StockOrderDetailEntity; +import com.glxp.api.admin.entity.business.StockOrderEntity; +import com.glxp.api.admin.entity.info.CompanyEntity; +import com.glxp.api.admin.entity.inout.ErpOrderEntity; +import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; -import com.glxp.api.admin.entity.inout.ErpOrderEntity; +import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.api.admin.httpclient.ErpOrderClient; +import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; +import com.glxp.api.admin.req.business.StockOrderFilterRequest; import com.glxp.api.admin.req.inout.CommitRequest; import com.glxp.api.admin.req.inout.OrderFilterRequest; import com.glxp.api.admin.req.inout.PostOrderRequest; import com.glxp.api.admin.req.inout.WarehouseQueryRequest; -import com.glxp.api.admin.res.basic.BussinessTypResponse; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.res.basic.UdiRelevanceResponse; -import com.glxp.api.admin.service.basic.BasicThirdSysService; +import com.glxp.api.admin.service.basic.BasicUnitMaintainService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; +import com.glxp.api.admin.service.business.StockOrderDetailService; +import com.glxp.api.admin.service.business.StockOrderService; import com.glxp.api.admin.service.info.SystemParamConfigService; +import com.glxp.api.admin.service.inout.CodesService; import com.glxp.api.admin.service.inout.CodesTempService; import com.glxp.api.admin.service.inout.OrderDetailService; import com.glxp.api.admin.service.inout.OrderService; -import com.glxp.api.admin.service.inout.CodesService; +import com.glxp.api.admin.service.inventory.InvProductDetailService; import com.glxp.api.admin.service.thrsys.ThrDataService; import com.glxp.api.admin.service.thrsys.ThrOrderService; +import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.FilterUdiUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -72,10 +85,25 @@ public class IoTransInoutService { InvProductsTrService invProductsTrService; @Resource InoutUtils inoutUtils; + @Resource + @Lazy + ContrastErpUtil contrastErpUtil; + @Resource + StockOrderService stockOrderService; + @Resource + StockOrderDetailService stockOrderDetailService; + @Resource + BasicUnitMaintainService basicUnitMaintainService; + @Resource + InvProductDetailService invProductDetailService; - //生成订单,插入零时表 @Async - public void creatOrder(PostOrderRequest postOrderRequest) { + public void creatOrderAsycn(PostOrderRequest postOrderRequest, Integer fromType) { + creatOrder(postOrderRequest, fromType); + } + + //生成订单,插入零时表 + public void creatOrder(PostOrderRequest postOrderRequest, Integer fromType) { List postOrders = postOrderRequest.getPostOrder(); if (postOrders != null && postOrders.size() > 0) { for (int i = 0; i < postOrders.size(); i++) { @@ -92,6 +120,10 @@ public class IoTransInoutService { WarehouseEntity warehouseEntity = warehouseEntityList.get(0); String orderId = System.currentTimeMillis() + i + ""; + if (warehouseEntity.getOrderId() != null) { + orderId = warehouseEntity.getOrderId(); + } + OrderEntity orderSaveRequest = new OrderEntity(); orderSaveRequest.setId(orderId); if (warehouseEntity.getActDate() != null) { @@ -103,7 +135,15 @@ public class IoTransInoutService { orderSaveRequest.setFromCorpId(warehouseEntity.getFromCorpId()); orderSaveRequest.setMainAction(warehouseEntity.getMainAction()); orderSaveRequest.setFromCorp(warehouseEntity.getFromCorp()); - orderSaveRequest.setFromType("手持终端"); + if (fromType != null) { + orderSaveRequest.setFromType(fromType); + } else { + if (postOrder.getErpOrders() != null && postOrder.getErpOrders().size() > 0) + orderSaveRequest.setFromType(ConstantStatus.FROM_PDAED); + else + orderSaveRequest.setFromType(ConstantStatus.FROM_PDAUN); + } + orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); orderSaveRequest.setStockCheckFk(postOrder.getStockIdFk()); @@ -156,7 +196,7 @@ public class IoTransInoutService { orderSaveRequest.setFromCorpId(warehouseEntity.getFromCorpId()); orderSaveRequest.setMainAction(warehouseEntity.getMainAction()); orderSaveRequest.setFromCorp(warehouseEntity.getFromCorp()); - orderSaveRequest.setFromType("网页端"); + orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW); orderSaveRequest.setStatus(postOrderRequest.getSubmitType() == 0 ? ConstantStatus.ORDER_STATUS_PROCESS : ConstantStatus.ORDER_STATUS_TEMP_SAVE); orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); @@ -199,14 +239,38 @@ public class IoTransInoutService { } } - public void transInout(OrderEntity orderEntity) { + if (orderEntity.getFromCorp() == null) { + orderEntity.setRemark("未选择往来单位"); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateOrder(orderEntity); + return; + } + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + if (bussinessTypeEntity == null || !bussinessTypeEntity.getEnable()) { + orderEntity.setRemark("单据类型未找到或单据类型未启用"); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateOrder(orderEntity); + return; + } + if (bussinessTypeEntity.isGenUnit()) { + BasicUnitMaintainEntity basicUnitMaintainEntity = new BasicUnitMaintainEntity(); + basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId()); + basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK); + basicUnitMaintainEntity.setName(orderEntity.getFromCorp()); + orderEntity.setFromCorpId(basicUnitMaintainEntity.getErpId()); + orderService.updateOrder(orderEntity); + basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); + } + + + //校验是否重码 WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); warehouseQueryRequest.setOrderId(orderEntity.getId()); List filterList = codesTempService.findByOrderId(warehouseQueryRequest); List insertList = new ArrayList<>(); - for (int j = 0; j < filterList.size(); j++) { WarehouseEntity warehouseEntity = filterList.get(j); String result = inoutUtils.filterCode(warehouseService, warehouseEntity, systemParamConfigService); @@ -219,38 +283,283 @@ public class IoTransInoutService { insertList.clear(); return; } + + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + if (udiRelevanceResponse == null) { + orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "该产品信息未维护!"); + return; + } else if (udiRelevanceResponse.getIsUseDy() == 0 && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) { + orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "该产品不允许以使用单元入库!"); + return; + } } if (insertList.size() > 0) { warehouseService.insertWarehouses(insertList); - WarehouseQueryRequest tempQuery = new WarehouseQueryRequest(); - tempQuery.setOrderId(orderEntity.getId()); - List temps = codesTempService.findByOrderId(tempQuery); + //未所有条码关联基础信息关联表ID + List warehouseEntityList = warehouseService.findByReceiptId(orderEntity.getId()); + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode()); + List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); + if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1) { + warehouseEntity.setRelId(null); + warehouseEntity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); + } else if (udiRelevanceEntities == null || udiRelevanceEntities.size() == 0) { + warehouseEntity.setRelId(null); + warehouseEntity.setStatus(2); + } else { + warehouseEntity.setStatus(0); + warehouseEntity.setRelId(udiRelevanceEntities.get(0).getId() + ""); + } + warehouseService.updateCode(warehouseEntity); + } - String action = orderEntity.getAction(); - if (orderEntity.getErpFk() != null && !"".equals(orderEntity.getErpFk())) { + + if (orderEntity.getErpFk() != null && !"".equals(orderEntity.getErpFk())) {//已经绑定校验单据号,等待校验 orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_CHECK); } else { - //因为只需用到条码,所以不需要重新读取 - inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, insertList); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); - if (bussinessTypeEntity.getThirdSysFk() == null && bussinessTypeEntity.getLocalAction() == null) { - orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); - invProductsTrService.genInvProducts(orderEntity.getId()); - } else { + //生成单据详情 + inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, warehouseEntityList); + if (bussinessTypeEntity.getThirdSysFk() == null && bussinessTypeEntity.getLocalAction() == null) {//不需要校验 + checkMutiDi(orderEntity.getId()); //校验一个DI是否绑定多个产品ID + orderEntity = orderService.findById(orderEntity.getId()); + if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { + orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); + invProductsTrService.genInvProducts(orderEntity.getId()); + } + } else {//需要校验,等待校验 orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_CHECK); } } + //删除临时表 + WarehouseQueryRequest tempQuery = new WarehouseQueryRequest(); + tempQuery.setOrderId(orderEntity.getId()); + List temps = codesTempService.findByOrderId(tempQuery); List ids = new ArrayList<>(); for (WarehouseEntity w : temps) { ids.add(w.getId()); } codesTempService.deleteCodesTemp(ids); insertList.clear(); + transStatus(orderEntity.getId()); } } + //转入正式表后,更换单据状态,等待校验或已完成 + public void transStatus(String orderId) { + //todo 改成等待校验,选择校验 + OrderEntity orderEntity = orderService.findById(orderId); + List warehouseEntityList = warehouseService.findByReceiptId(orderId); + myErpOrderService.deleteByOrderId(orderEntity.getId()); + //为所有条码关联基础信息关联表ID + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode()); + List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); + if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1) { + warehouseEntity.setRelId(null); + warehouseEntity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); + } else if (udiRelevanceEntities == null || udiRelevanceEntities.size() == 0) { + warehouseEntity.setRelId(null); + warehouseEntity.setStatus(2); + } else { + warehouseEntity.setStatus(0); + warehouseEntity.setRelId(udiRelevanceEntities.get(0).getId() + ""); + String supId = checkOriginExitSup(warehouseEntity); + if (supId != null) { + warehouseEntity.setSupId(supId); + } else { + supId = checkInvExitSup(warehouseEntity); + warehouseEntity.setSupId(supId); + } + } + warehouseService.updateCode(warehouseEntity); + } + String action = orderEntity.getAction(); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(action); + if (!bussinessTypeEntity.isCheckEnable()) { + orderEntity = orderService.findById(orderEntity.getId()); + unCheckFinish(orderEntity, warehouseEntityList); + + } else { + + //todo 判断单据来源是否需要校验 + if (orderEntity.getFromType() == ConstantStatus.FROM_UDIMS) { + if (!bussinessTypeEntity.isCheckUdims()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType() == ConstantStatus.FROM_WEBNEW) { + if (!bussinessTypeEntity.isCheckWebNew()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType() == ConstantStatus.FROM_PDAED) { + if (!bussinessTypeEntity.isCheckPdaEd()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType() == ConstantStatus.FROM_PDAUN) { + if (!bussinessTypeEntity.isCheckPdaUn()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType() == ConstantStatus.FROM_PC) { + if (!bussinessTypeEntity.isCheckPc()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType() == ConstantStatus.FROM_CHANGE) { + if (!bussinessTypeEntity.isCheckChange()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType() == ConstantStatus.FROM_UDISP) { + if (!bussinessTypeEntity.isCheckSp()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } + + genOrderDetail(warehouseEntityList); + checkMutiDi(orderEntity.getId()); //校验一个DI是否绑定多个产品ID + orderEntity = orderService.findById(orderEntity.getId()); + if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { + orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_CHECK); + } + } + } + + //无需校验,已完成 + public void unCheckFinish(OrderEntity orderEntity, List warehouseEntityList) { + genOrderDetail(warehouseEntityList); + checkMutiDi(orderEntity.getId()); //校验一个DI是否绑定多个产品ID + orderEntity = orderService.findById(orderEntity.getId()); + if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { + List erpOrderEntities = myErpOrderService.filterAllByOrderIdFk(orderEntity.getId()); + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + erpOrderEntity.setErpCount(erpOrderEntity.getCount()); + erpOrderEntity.setReCount(erpOrderEntity.getCount()); + myErpOrderService.updateErpOrder(erpOrderEntity); + } + orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); + invProductsTrService.genInvProducts(orderEntity.getId()); + printOrder(orderEntity.getId()); + } + } + + //校验是否自带供应商 + public String checkOriginExitSup(WarehouseEntity warehouseEntity) { + if (ConstantType.TYPE_PUT.equals(warehouseEntity.getMainAction())) { + return warehouseEntity.getFromCorpId(); + } else if (ConstantType.TYPE_OUT.equals(warehouseEntity.getMainAction())) { + if (warehouseEntity.getSupId() != null && !"".equals(warehouseEntity.getSupId())) { + return warehouseEntity.getSupId(); + } + } + return null; + } + + //校验库存是否存在供应商 + public String checkInvExitSup(WarehouseEntity warehouseEntity) { + String code = warehouseEntity.getCode(); + UdiInfoEntity udiInfoEntity = invProductsTrService.getMinDi(warehouseEntity); + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY + || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { + warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); + code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); + } + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); + List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + if (invProductDetailEntities != null && invProductDetailEntities.size() > 0) { + //现在默认库存每个条码只存在一个供应商 + InvProductDetailEntity invProductDetailEntity = invProductDetailEntities.get(0); + String supId = invProductDetailEntity.getSupId(); + for (InvProductDetailEntity temp : invProductDetailEntities) { + if (!supId.equals(temp.getSupId())) { + return Constant.MUTI; + } + } + return supId; + } + return null; + } + +// //校验是否存在供应商 +// public String checkExitSup(String relId) { +// //校验条码关联供应商 +// FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest(); +// filterCompanyProductRelevanceRequest.setUdiRlIdFk(relId); +// List companyProductRelevanceEntities = companyProductRelevanceService.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest); +// if (companyProductRelevanceEntities != null && companyProductRelevanceEntities.size() == 1) { +// CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceEntities.get(0); +// CompanyEntity companyEntity = companyService.findCompany(companyProductRelevanceEntity.getCustomerId()); +// return companyEntity.getUnitIdFk(); +// } else if (companyProductRelevanceEntities != null && companyProductRelevanceEntities.size() > 1) { +// return "MUTI"; //绑定多个供应商 +// } +// return null; +// } + + public void genOrderDetail(List warehouseEntityList) { + inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, warehouseEntityList); + } + + + public void checkMutiDi(String orderId) { + //校验是否di绑定多个产品ID + OrderEntity orderEntity = orderService.findById(orderId); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); + filterErpOrderRequest.setOrderId(orderId); + List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); + if (erpOrderEntities != null && erpOrderEntities.size() > 0) { + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + WarehouseEntity warehouseEntity = warehouseService.findOneByNameCode(erpOrderEntity.getOrderIdFk(), erpOrderEntity.getNameCode()); + if (warehouseEntity != null && warehouseEntity.getStatus() == ConstantStatus.ORDER_DETAIL_DI_MUTI) { + erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); + myErpOrderService.updateErpOrder(erpOrderEntity); + if (warehouseEntity.getRelId() == null) { + orderEntity.setRemark("该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderService.updateOrder(orderEntity); + } + + } else { + if (!bussinessTypeEntity.isInnerOrder()) { + if (erpOrderEntity.getSupId() == null) { + erpOrderEntity.setSupId(null); + erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_SUP_NONE); + orderEntity.setRemark("该产品未绑定供应商"); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderService.updateOrder(orderEntity); + } else if (Constant.MUTI.equals(erpOrderEntity.getSupId())) { + erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_SUP_MUTI); + orderEntity.setRemark("该产品绑定多个供应商"); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + } else { + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); + erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_SUP_ONE); + } + } + myErpOrderService.updateErpOrder(erpOrderEntity); + } + + } + + } + } + + //校验ERP单 @Async public void checkOrder() { @@ -269,7 +578,8 @@ public class IoTransInoutService { List erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk()); List transData = warehouseService.findByReceiptId(orderEntity.getId()); if (erpIds != null && erpIds.size() > 0) { - + myErpOrderService.deleteByOrderId(orderEntity.getId()); + inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, transData); BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(orderEntity.getAction(), "orderQueryUrl"); if (basicThirdSysDetailEntity.getThirdSysFk() == null && basicThirdSysDetailEntity.getLocalAction() != null) { List erpOrderEntities = thrDataService.getStockOrders(erpIds); @@ -336,7 +646,8 @@ public class IoTransInoutService { public void checkThirdOrder(List cloudErps, OrderEntity orderEntity, List transData) { BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); if (cloudErps != null && cloudErps.size() > 0) { - List returnOrders = new ContrastErpUtil().transErp(cloudErps, udiRelevanceService, orderEntity.getId()); + //获取需要校验的的第三方单据 + List returnOrders = contrastErpUtil.transErp(cloudErps, udiRelevanceService, orderEntity.getId(), bussinessTypeEntity); ErpOrderEntity temp = returnOrders.get(0); for (int i = 0; i < returnOrders.size(); i++) { if (!temp.getCompanyname().equals(returnOrders.get(i).getCompanyname())) { @@ -347,9 +658,9 @@ public class IoTransInoutService { return; } } - myErpOrderService.deleteByOrderId(orderEntity.getId()); - myErpOrderService.insertErpOrders(returnOrders); - new ContrastErpUtil(udiUrl).contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, transData, systemParamConfigService, bussinessTypeEntity); +// myErpOrderService.deleteByOrderId(orderEntity.getId()); +// myErpOrderService.insertErpOrders(returnOrders); + contrastErpUtil.contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, transData, systemParamConfigService, returnOrders); } else { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); @@ -374,9 +685,169 @@ public class IoTransInoutService { @Async public void repeatCheck(String orderId) { OrderEntity orderEntity = orderService.findById(orderId); +// List warehouseEntityList = warehouseService.findByReceiptId(orderEntity.getId()); +// inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, warehouseEntityList); checkOrder(orderEntity); WebSocketServer.sendInfo("单据:" + orderId + "校验已完成,请刷新查看!", null); } + //校验ERP单后,订单详情转入等待打印 + @Async + public void printOrder(String orderId) { + syncprintOrder(orderId); + } + + + //单据校验成功后,更改或生成单据状态 + public void syncprintOrder(String orderId) { + OrderEntity orderEntity = orderService.findById(orderId); + if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && orderEntity.getErpFk() == null + ) { + + //查询单据校验后生成的单据详情 + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); + filterErpOrderRequest.setOrderId(orderId); + List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + + //生成业务单据详情 + List stockOrderDetailEntities = new ArrayList<>(); + if (erpOrderEntities != null && erpOrderEntities.size() > 0) { + boolean isError = false; + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); + stockOrderDetailEntity.setProductId(erpOrderEntity.getGoodsid()); + stockOrderDetailEntity.setProductName(erpOrderEntity.getGoodsname()); + + if (erpOrderEntity.getGoodsid() == null) + stockOrderDetailEntity.setProductId(erpOrderEntity.getNameCode()); + if (erpOrderEntity.getGoodsname() == null) + stockOrderDetailEntity.setProductName(erpOrderEntity.getCoName()); + stockOrderDetailEntity.setSpec(erpOrderEntity.getPackSpec()); + stockOrderDetailEntity.setBatchNo(erpOrderEntity.getBatchNo()); + stockOrderDetailEntity.setProductDate(erpOrderEntity.getProductDate()); + stockOrderDetailEntity.setExpireDate(erpOrderEntity.getExpireDate()); +// stockOrderDetailEntity.setYlqxzcrbarmc(erpOrderEntity.get()); + if (erpOrderEntity.getCount() != null) { + stockOrderDetailEntity.setSweepCount(erpOrderEntity.getCount() + ""); + stockOrderDetailEntity.setReCount(erpOrderEntity.getCount() + ""); + stockOrderDetailEntity.setCount(erpOrderEntity.getCount() + ""); + } + if (erpOrderEntity.getReCount() != null) { + stockOrderDetailEntity.setReCount(erpOrderEntity.getReCount() + ""); + } else { + stockOrderDetailEntity.setReCount(erpOrderEntity.getCount() + ""); + } + if (erpOrderEntity.getErpCount() != null) { + stockOrderDetailEntity.setCount(erpOrderEntity.getErpCount() + ""); + } +// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); +// filterUdiInfoRequest.setNameCode(erpOrderEntity.getNameCode()); +// List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); +// if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && erpOrderEntity.getBindRlFk() == null) { +// isError = true; +// erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); +// myErpOrderService.updateErpOrder(erpOrderEntity); +// } else if (udiRelevanceEntities.size() == 1) { +// UdiRelevanceResponse udiRelevanceEntity = udiRelevanceEntities.get(0); +// setThridName(bussinessTypeEntity, stockOrderDetailEntity, udiRelevanceEntity); +// +// } else if (erpOrderEntity.getBindRlFk() != null) { +// UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(erpOrderEntity.getBindRlFk()); +// UdiRelevanceResponse udiRelevanceResponse = new UdiRelevanceResponse(); +// BeanUtils.copyProperties(udiRelevanceEntity, udiRelevanceResponse); +// udiRelevanceResponse.setId(Integer.parseInt(udiRelevanceEntity.getId())); +// setThridName(bussinessTypeEntity, stockOrderDetailEntity, udiRelevanceResponse); +// erpOrderEntity.setGoodsid(stockOrderDetailEntity.getProductId()); +// erpOrderEntity.setGoodsname(stockOrderDetailEntity.getProductName()); +// myErpOrderService.updateErpOrder(erpOrderEntity); +// } + + stockOrderDetailEntities.add(stockOrderDetailEntity); + } + if (!isError) { + + StockOrderEntity stockOrderEntity = genStockOrder(orderEntity, bussinessTypeEntity); + for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntities) { + stockOrderDetailEntity.setOrderIdFk(stockOrderEntity.getId()); + } + stockOrderDetailService.insertStockOrderDetails(stockOrderDetailEntities); + orderEntity.setRemark(""); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + orderService.updateOrder(orderEntity); + } else { + orderEntity.setRemark("该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderService.updateOrder(orderEntity); + } + } + } else if (orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_SUCCESS) { + String[] erpIds = orderEntity.getErpFk().split(","); + if (erpIds != null && erpIds.length > 0) { + for (int i = 0; i < erpIds.length; i++) { + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(erpIds[i]); + StockOrderEntity stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest); + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + stockOrderService.updateById(stockOrderEntity); + } + } + + } + } + + + public StockOrderEntity genStockOrder(OrderEntity orderEntity, BussinessTypeEntity bussinessTypeEntity) { + //生成业务单据记录 + StockOrderEntity stockOrderEntity = new StockOrderEntity(); + stockOrderEntity.setBillNo(orderEntity.getId()); + stockOrderEntity.setBillType(bussinessTypeEntity.getLocalAction());//todo + stockOrderEntity.setBilldate(orderEntity.getActDate()); + stockOrderEntity.setUnitIdFk(orderEntity.getFromCorpId()); + stockOrderEntity.setSourceType(ConstantStatus.ST_SCAN_ADD); + stockOrderEntity.setCorpId(orderEntity.getFromCorpId()); + if (bussinessTypeEntity.isSecCheckEnable()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER); + if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDIMS) { + if (!bussinessTypeEntity.isSecCheckUdims()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_WEBNEW) { + if (!bussinessTypeEntity.isSecCheckWebNew()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAED) { + if (!bussinessTypeEntity.isSecCheckPdaEd()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAUN) { + if (!bussinessTypeEntity.isSecCheckPdaUn()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) { + if (!bussinessTypeEntity.isSecCheckPc()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) { + if (!bussinessTypeEntity.isSecCheckChange()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } + } else { + stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER); + } + + stockOrderEntity.setCorpName(orderEntity.getFromCorp()); + stockOrderEntity.setOrderIdFk(orderEntity.getId()); + stockOrderService.insertStockOrder(stockOrderEntity); + + //删除关联的业务单据详情 + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(stockOrderEntity.getBillNo()); + stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest); + stockOrderDetailService.deleteByOrderIdFk(stockOrderEntity.getId()); + + return stockOrderEntity; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutTask.java index ecde06b7..2e37da6c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutTask.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutTask.java @@ -1,6 +1,6 @@ package com.glxp.api.admin.thread; -import com.glxp.api.admin.dao.info.ScheduledDao; +import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.entity.info.ScheduledEntity; import com.glxp.api.admin.req.info.ScheduledRequest; import org.slf4j.Logger; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrOrderImportService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrOrderImportService.java index 46036851..bc181083 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrOrderImportService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrOrderImportService.java @@ -50,10 +50,10 @@ public class ThrOrderImportService { ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); BeanUtils.copyProperties(thrOrderImportDetailEntity, thrOrderEntity); thrOrderEntity.setUpdateTime(new Date()); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByName(thrOrderEntity.getBillType()); - if (bussinessTypeEntity != null) { - thrOrderEntity.setBillType(bussinessTypeEntity.getAction()); - } +// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByName(thrOrderEntity.getBillType()); +// if (bussinessTypeEntity != null) { +// thrOrderEntity.setBillType(bussinessTypeEntity.getAction()); +// } thrOrderService.insertThrOrder(thrOrderEntity); thrOrderEntity = thrOrderService.findByUnique(thrOrderEntity.getBillNo(), thrOrderEntity.getThirdSysFk()); ThrOrderEntity finalThrOrderEntity = thrOrderEntity; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java index 0125e966..ae7eb4be 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java @@ -143,6 +143,7 @@ public class ThrProductsDlService { head.add("规格型号"); head.add("注册证号"); head.add("生产厂家"); + head.add("配送企业"); excelData.add(head); //选中导出 if (thrProductsExportRequest.getThrProductsEntities() != null && thrProductsExportRequest.getThrProductsEntities().size() > 0) { @@ -426,6 +427,7 @@ public class ThrProductsDlService { rows.add(thrProductsEntity.getSpec()); rows.add(thrProductsEntity.getRegisterNo()); rows.add(thrProductsEntity.getManufactory()); + rows.add(thrProductsEntity.getSupName()); excelData.add(rows); } return excelData; diff --git a/api-admin/src/main/java/com/glxp/api/admin/upload/uploadController.java b/api-admin/src/main/java/com/glxp/api/admin/upload/uploadController.java index 2ca31dce..dc7dce55 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/upload/uploadController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/upload/uploadController.java @@ -4,6 +4,7 @@ import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -21,15 +22,19 @@ import java.util.UUID; */ @RestController public class uploadController { + + @Value("${file_path}") + private String filePath; + /** * 上传PDF模板 */ - @PostMapping("/udiwms/upload/pdf/template") + + @PostMapping("/udiwms/upload/pdf/template/jasper") public BaseResponse uploadPDFTemplate(@RequestParam("file") MultipartFile file) throws UnsupportedEncodingException { if (file.isEmpty()) { return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件不能为空"); } - // 保存文件 --------------------- String fileName = file.getOriginalFilename(); String fileType = fileName.substring(fileName.lastIndexOf(".")); @@ -37,14 +42,47 @@ public class uploadController { if (StringUtils.isBlank(fileType) || !fileType.equals(".jasper")) { return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件只能是 jasper 格式"); } - String newName = UUID.randomUUID()+fileType;//生成新文件名 - String savePath = "d:/1s/udiwms/pdf/template"; + String newName = UUID.randomUUID() + fileType;//生成新文件名 + String savePath = filePath + "/pdf/template"; + + File file1 = new File(savePath); + if (!file1.exists()) {// 判断目录是否存在 + file1.mkdirs();// 创建多层目录 + } + file1 = new File(savePath + "/" + newName); + try { + file.transferTo(file1); + Map rMap = new HashMap<>(); + rMap.put("msg", "上传成功"); + rMap.put("path", savePath + "/" + newName); + return ResultVOUtils.success(rMap); + } catch (IOException e) { + e.printStackTrace(); + } + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传失败"); + } + + + @PostMapping("/udiwms/upload/pdf/template/jrxml") + public BaseResponse uploadPDFJrxmlTemplate(@RequestParam("file") MultipartFile file) throws UnsupportedEncodingException { + if (file.isEmpty()) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件不能为空"); + } + // 保存文件 --------------------- + String fileName = file.getOriginalFilename(); + String fileType = fileName.substring(fileName.lastIndexOf(".")); + // 文件类型判断 + if (StringUtils.isBlank(fileType) || !fileType.equals(".jrxml")) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件只能是 jrxml 格式"); + } + String newName = UUID.randomUUID() + fileType;//生成新文件名 + String savePath = filePath + "/pdf/template"; File file1 = new File(savePath); - if(!file1.exists()){// 判断目录是否存在 + if (!file1.exists()) {// 判断目录是否存在 file1.mkdirs();// 创建多层目录 } - file1 = new File(savePath + "/" + newName) ; + file1 = new File(savePath + "/" + newName); try { file.transferTo(file1); Map rMap = new HashMap<>(); @@ -77,14 +115,14 @@ public class uploadController { if (StringUtils.isBlank(fileType) || !fileType.equals(".jpg") && !fileType.equals(".png")) { return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件只能是 .jpg,.png 格式"); } - String newName = UUID.randomUUID()+fileType;//生成新文件名 + String newName = UUID.randomUUID() + fileType;//生成新文件名 String savePath = "d:/1s/udiwms/register/file/" + type; File file1 = new File(savePath); - if(!file1.exists()){// 判断目录是否存在 + if (!file1.exists()) {// 判断目录是否存在 file1.mkdirs();// 创建多层目录 } - file1 = new File(savePath + "/" + newName) ; + file1 = new File(savePath + "/" + newName); try { file.transferTo(file1); Map rMap = new HashMap<>(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/CronUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/CronUtils.java new file mode 100644 index 00000000..79abd013 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/util/CronUtils.java @@ -0,0 +1,32 @@ +package com.glxp.api.admin.util; + +public class CronUtils { + + public static String parseSecondIntervel(String time) { + int second = Integer.parseInt(time); + String cron = "0/" + second + " " + "*" + " " + "* * * ?";//start[1] + "-" + end[1] + if (second >= 60) { + second = Math.round(second / 60); + if (second >= 60) { + second = 59; + } + cron = "0" + " " + "0/" + second + " " + "* * * ?"; + } + return cron; + } + + + public static String parseMinuteIntervel(int time) { + int minute = time; + String cron = "0" + " " + "0/" + minute + " " + "* * * ?"; + if (minute >= 60) { + minute = Math.round(minute / 60); + if (minute >= 60) { + minute = 59; + } + cron = "0" + " " + "0" + " " + "0/" + minute + " " + "* * ?"; + } + return cron; + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/CustomUtil.java b/api-admin/src/main/java/com/glxp/api/admin/util/CustomUtil.java index b3756fdd..c7d1fc4b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/CustomUtil.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/CustomUtil.java @@ -13,10 +13,10 @@ public class CustomUtil { } //随机生成ID - public static String getId(){ - String id = System.currentTimeMillis()+""; - int number=new Random().nextInt(90)+10; - id = id+number; + public static String getId() { + String id = System.currentTimeMillis() + ""; + int number = new Random().nextInt(90) + 10; + id = id + number; return id.substring(4); } @@ -80,4 +80,13 @@ public class CustomUtil { } return false; } + + //随机生成往来单位ID + public static String getUnitId() { + String id = System.currentTimeMillis() + ""; + int number = new Random().nextInt(90) + 10; + id = id + number; + return "HZ" + id.substring(4); + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java b/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java index f5d7cf40..c3b125f1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java @@ -402,80 +402,107 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { /** * 获取昨天开始时间和结束时间 + * * @return */ public static Map getYesterdayRange() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - Map condition=new HashMap(); + Map condition = new HashMap(); Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.MILLISECOND,0); - calendar.set(Calendar.SECOND,0); - calendar.set(Calendar.MINUTE,0); - calendar.set(Calendar.HOUR_OF_DAY,0); - condition.put("endDate",df.format(calendar.getTime())); - calendar.set(Calendar.HOUR_OF_DAY,-24); - condition.put("startDate",df.format(calendar.getTime())); + calendar.set(Calendar.MILLISECOND, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.HOUR_OF_DAY, 0); + condition.put("endDate", df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, -24); + condition.put("startDate", df.format(calendar.getTime())); return condition; } /** * 获得近一周的开始时间和结束时间 + * * @return */ - public static Map getDaySevenRange(){ + public static Map getDaySevenRange() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - Map condition=new HashMap(); + Map condition = new HashMap(); Calendar calendar = Calendar.getInstance(); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); - calendar.set(Calendar.HOUR_OF_DAY,24); - condition.put("endDate",df.format(calendar.getTime())); - calendar.set(Calendar.HOUR_OF_DAY,-168); - condition.put("startDate",df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, 24); + condition.put("endDate", df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, -168); + condition.put("startDate", df.format(calendar.getTime())); return condition; } /** * 获得近一月的开始时间和结束时间 + * * @return */ - public static Map getDayTRange(){ + public static Map getDayTRange() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - Map condition=new HashMap(); + Map condition = new HashMap(); Calendar calendar = Calendar.getInstance(); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); - calendar.set(Calendar.HOUR_OF_DAY,24); - condition.put("endDate",df.format(calendar.getTime())); - calendar.set(Calendar.HOUR_OF_DAY,-720); - condition.put("startDate",df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, 24); + condition.put("endDate", df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, -720); + condition.put("startDate", df.format(calendar.getTime())); return condition; } /** * 获得近一年的开始时间和结束时间 + * * @return */ - public static Map getYearTRange(){ + public static Map getYearTRange() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - Map condition=new HashMap(); + Map condition = new HashMap(); Calendar calendar = Calendar.getInstance(); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); - calendar.set(Calendar.HOUR_OF_DAY,24); - condition.put("endDate",df.format(calendar.getTime())); - calendar.set(Calendar.HOUR_OF_DAY,-8640); - condition.put("startDate",df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, 24); + condition.put("endDate", df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, -8640); + condition.put("startDate", df.format(calendar.getTime())); return condition; } - public static Map getDayRange(int day){ + public static Map getDayRange(int day) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - Map condition=new HashMap(); + Map condition = new HashMap(); Calendar calendar = Calendar.getInstance(); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); - calendar.set(Calendar.HOUR_OF_DAY,24); - condition.put("endDate",df.format(calendar.getTime())); - calendar.set(Calendar.HOUR_OF_DAY,-(24*day)); - condition.put("startDate",df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, 24); + condition.put("endDate", df.format(calendar.getTime())); + calendar.set(Calendar.HOUR_OF_DAY, -(24 * day)); + condition.put("startDate", df.format(calendar.getTime())); return condition; } + + public static long timeToStamp(String mydate) throws Exception { + final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + final Date datetime = sdf.parse(mydate);//将你的日期转换为时间戳 + final long time = datetime.getTime(); + System.out.println(mydate + "转换后是:" + time); + return time; + } + + public static String getBeforeDay(String actDate, int hour) { + try { + long time = timeToStamp(actDate); + long move = hour * 1000 * 60 * 60; + time = time - move; + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(time); + String res = simpleDateFormat.format(date); + return res; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/FileUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/FileUtils.java new file mode 100644 index 00000000..3ba9fd63 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/util/FileUtils.java @@ -0,0 +1,926 @@ +package com.glxp.api.admin.util; + +import java.io.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +public class FileUtils { + /** + * 读取 InputStream 到 String字符串中 + */ + public static String readStream(InputStream in) { + try { + //<1>创建字节数组输出流,用来输出读取到的内容 + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + //<2>创建缓存大小 + byte[] buffer = new byte[1024]; // 1KB + //每次读取到内容的长度 + int len = -1; + //<3>开始读取输入流中的内容 + while ((len = in.read(buffer)) != -1) { //当等于-1说明没有数据可以读取了 + baos.write(buffer, 0, len); //把读取到的内容写到输出流中 + } + //<4> 把字节数组转换为字符串 + String content = baos.toString(); + //<5>关闭输入流和输出流 + in.close(); + baos.close(); + //<6>返回字符串结果 + return content; + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + + /** + * 私有构造方法,防止类的实例化,因为工具类不需要实例化。 + */ + private FileUtils() { + + } + + /** + * 修改文件的最后访问时间。 + * 如果文件不存在则创建该文件。 + * 目前这个方法的行为方式还不稳定,主要是方法有些信息输出,这些信息输出是否保留还在考虑中。 + * + * @param file 需要修改最后访问时间的文件。 + * @since 1.0 + */ + public static void touch(File file) { + long currentTime = System.currentTimeMillis(); + if (!file.exists()) { + System.err.println("file not found:" + file.getName()); + System.err.println("Create a new file:" + file.getName()); + try { + if (file.createNewFile()) { + System.out.println("Succeeded!"); + } else { + System.err.println("Create file failed!"); + } + } catch (IOException e) { + System.err.println("Create file failed!"); + e.printStackTrace(); + } + } + boolean result = file.setLastModified(currentTime); + if (!result) { + System.err.println("touch failed: " + file.getName()); + } + } + + /** + * 修改文件的最后访问时间。 + * 如果文件不存在则创建该文件。 + * 目前这个方法的行为方式还不稳定,主要是方法有些信息输出,这些信息输出是否保留还在考虑中。 + * + * @param fileName 需要修改最后访问时间的文件的文件名。 + * @since 1.0 + */ + public static void touch(String fileName) { + File file = new File(fileName); + touch(file); + } + + /** + * 修改文件的最后访问时间。 + * 如果文件不存在则创建该文件。 + * 目前这个方法的行为方式还不稳定,主要是方法有些信息输出,这些信息输出是否保留还在考虑中。 + * + * @param files 需要修改最后访问时间的文件数组。 + * @since 1.0 + */ + public static void touch(File[] files) { + for (int i = 0; i < files.length; i++) { + touch(files[i]); + } + } + + /** + * 修改文件的最后访问时间。 + * 如果文件不存在则创建该文件。 + * 目前这个方法的行为方式还不稳定,主要是方法有些信息输出,这些信息输出是否保留还在考虑中。 + * + * @param fileNames 需要修改最后访问时间的文件名数组。 + * @since 1.0 + */ + public static void touch(String[] fileNames) { + File[] files = new File[fileNames.length]; + for (int i = 0; i < fileNames.length; i++) { + files[i] = new File(fileNames[i]); + } + touch(files); + } + + /** + * 判断指定的文件是否存在。 + * + * @param fileName 要判断的文件的文件名 + * @return 存在时返回true,否则返回false。 + * @since 1.0 + */ + public static boolean isFileExist(String fileName) { + return new File(fileName).isFile(); + } + + /** + * 创建指定的目录。 + * 如果指定的目录的父目录不存在则创建其目录书上所有需要的父目录。 + * 注意:可能会在返回false的时候创建部分父目录。 + * + * @param file 要创建的目录 + * @return 完全创建成功时返回true,否则返回false。 + * @since 1.0 + */ + public static boolean makeDirectory(File file) { + File parent = file.getParentFile(); + if (parent != null) { + return parent.mkdirs(); + } + return false; + } + + /** + * 创建指定的目录。 + * 如果指定的目录的父目录不存在则创建其目录书上所有需要的父目录。 + * 注意:可能会在返回false的时候创建部分父目录。 + * + * @param fileName 要创建的目录的目录名 + * @return 完全创建成功时返回true,否则返回false。 + * @since 1.0 + */ + public static boolean makeDirectory(String fileName) { + File file = new File(fileName); + return makeDirectory(file); + } + + /** + * 清空指定目录中的文件。 + * 这个方法将尽可能删除所有的文件,但是只要有一个文件没有被删除都会返回false。 + * 另外这个方法不会迭代删除,即不会删除子目录及其内容。 + * + * @param directory 要清空的目录 + * @return 目录下的所有文件都被成功删除时返回true,否则返回false. + * @since 1.0 + */ + public static boolean emptyDirectory(File directory) { + boolean result = true; + File[] entries = directory.listFiles(); + for (int i = 0; i < entries.length; i++) { + if (!entries[i].delete()) { + result = false; + } + } + return result; + } + + /** + * 清空指定目录中的文件。 + * 这个方法将尽可能删除所有的文件,但是只要有一个文件没有被删除都会返回false。 + * 另外这个方法不会迭代删除,即不会删除子目录及其内容。 + * + * @param directoryName 要清空的目录的目录名 + * @return 目录下的所有文件都被成功删除时返回true,否则返回false。 + * @since 1.0 + */ + public static boolean emptyDirectory(String directoryName) { + File dir = new File(directoryName); + return emptyDirectory(dir); + } + + /** + * 删除指定目录及其中的所有内容。 + * + * @param dirName 要删除的目录的目录名 + * @return 删除成功时返回true,否则返回false。 + * @since 1.0 + */ + public static boolean deleteDirectory(String dirName) { + return deleteDirectory(new File(dirName)); + } + + /** + * 删除指定目录及其中的所有内容。 + * + * @param dir 要删除的目录 + * @return 删除成功时返回true,否则返回false。 + * @since 1.0 + */ + public static boolean deleteDirectory(File dir) { + if ((dir == null) || !dir.isDirectory()) { + throw new IllegalArgumentException("Argument " + dir + + " is not a directory. "); + } + + File[] entries = dir.listFiles(); + int sz = entries.length; + + for (int i = 0; i < sz; i++) { + if (entries[i].isDirectory()) { + if (!deleteDirectory(entries[i])) { + return false; + } + } else { + if (!entries[i].delete()) { + return false; + } + } + } + + if (!dir.delete()) { + return false; + } + return true; + } + + /** + * 列出目录中的所有内容,包括其子目录中的内容。 + * + * @param file 要列出的目录 + * @param filter 过滤器 + * @return 目录内容的文件数组。 + * @since 1.0 + */ + public static File[] listAll(File file, + javax.swing.filechooser.FileFilter filter) { + ArrayList list = new ArrayList(); + File[] files; + if (!file.exists() || file.isFile()) { + return null; + } + list(list, file, filter); + files = new File[list.size()]; + list.toArray(files); + return files; + } + + /** + * 将目录中的内容添加到列表。 + * + * @param list 文件列表 + * @param filter 过滤器 + * @param file 目录 + */ + private static void list(ArrayList list, File file, + javax.swing.filechooser.FileFilter filter) { + if (filter.accept(file)) { + list.add(file); + if (file.isFile()) { + return; + } + } + if (file.isDirectory()) { + File files[] = file.listFiles(); + for (int i = 0; i < files.length; i++) { + list(list, files[i], filter); + } + } + + } + + /** + * 返回文件的URL地址。 + * + * @param file 文件 + * @return 文件对应的的URL地址 + * @throws MalformedURLException + * @since 1.0 + * @deprecated 在实现的时候没有注意到File类本身带一个toURL方法将文件路径转换为URL。 + * 请使用File.toURL方法。 + */ + public static URL getURL(File file) throws MalformedURLException { + String fileURL = "file:/" + file.getAbsolutePath(); + URL url = new URL(fileURL); + return url; + } + + /** + * 从文件路径得到文件名。 + * + * @param filePath 文件的路径,可以是相对路径也可以是绝对路径 + * @return 对应的文件名 + * @since 1.0 + */ + public static String getFileName(String filePath) { + File file = new File(filePath); + return file.getName(); + } + + /** + * 从文件名得到文件绝对路径。 + * + * @param fileName 文件名 + * @return 对应的文件路径 + * @since 1.0 + */ + public static String getFilePath(String fileName) { + File file = new File(fileName); + return file.getAbsolutePath(); + } + + /** + * 将DOS/Windows格式的路径转换为UNIX/Linux格式的路径。 + * 其实就是将路径中的"\"全部换为"/",因为在某些情况下我们转换为这种方式比较方便, + * 某中程度上说"/"比"\"更适合作为路径分隔符,而且DOS/Windows也将它当作路径分隔符。 + * + * @param filePath 转换前的路径 + * @return 转换后的路径 + * @since 1.0 + */ + public static String toUNIXpath(String filePath) { + return filePath.replace('\\', '/'); + } + + /** + * 从文件名得到UNIX风格的文件绝对路径。 + * + * @param fileName 文件名 + * @return 对应的UNIX风格的文件路径 + * @see #toUNIXpath(String filePath) toUNIXpath + * @since 1.0 + */ + public static String getUNIXfilePath(String fileName) { + File file = new File(fileName); + return toUNIXpath(file.getAbsolutePath()); + } + + /** + * 得到文件的类型。 + * 实际上就是得到文件名中最后一个“.”后面的部分。 + * + * @param fileName 文件名 + * @return 文件名中的类型部分 + * @since 1.0 + */ + public static String getTypePart(String fileName) { + int point = fileName.lastIndexOf('.'); + int length = fileName.length(); + if (point == -1 || point == length - 1) { + return ""; + } else { + return fileName.substring(point + 1, length); + } + } + + /** + * 得到文件的类型。 + * 实际上就是得到文件名中最后一个“.”后面的部分。 + * + * @param file 文件 + * @return 文件名中的类型部分 + * @since 1.0 + */ + public static String getFileType(File file) { + return getTypePart(file.getName()); + } + + /** + * 得到文件的名字部分。 + * 实际上就是路径中的最后一个路径分隔符后的部分。 + * + * @param fileName 文件名 + * @return 文件名中的名字部分 + * @since 1.0 + */ + public static String getNamePart(String fileName) { + int point = getPathLsatIndex(fileName); + int length = fileName.length(); + if (point == -1) { + return fileName; + } else if (point == length - 1) { + int secondPoint = getPathLsatIndex(fileName, point - 1); + if (secondPoint == -1) { + if (length == 1) { + return fileName; + } else { + return fileName.substring(0, point); + } + } else { + return fileName.substring(secondPoint + 1, point); + } + } else { + return fileName.substring(point + 1); + } + } + + /** + * 得到文件名中的父路径部分。 + * 对两种路径分隔符都有效。 + * 不存在时返回""。 + * 如果文件名是以路径分隔符结尾的则不考虑该分隔符,例如"/path/"返回""。 + * + * @param fileName 文件名 + * @return 父路径,不存在或者已经是父目录时返回"" + * @since 1.0 + */ + public static String getPathPart(String fileName) { + int point = getPathLsatIndex(fileName); + int length = fileName.length(); + if (point == -1) { + return ""; + } else if (point == length - 1) { + int secondPoint = getPathLsatIndex(fileName, point - 1); + if (secondPoint == -1) { + return ""; + } else { + return fileName.substring(0, secondPoint); + } + } else { + return fileName.substring(0, point); + } + } + + /** + * 得到路径分隔符在文件路径中首次出现的位置。 + * 对于DOS或者UNIX风格的分隔符都可以。 + * + * @param fileName 文件路径 + * @return 路径分隔符在路径中首次出现的位置,没有出现时返回-1。 + * @since 1.0 + */ + public static int getPathIndex(String fileName) { + int point = fileName.indexOf('/'); + if (point == -1) { + point = fileName.indexOf('\\'); + } + return point; + } + + /** + * 得到路径分隔符在文件路径中指定位置后首次出现的位置。 + * 对于DOS或者UNIX风格的分隔符都可以。 + * + * @param fileName 文件路径 + * @param fromIndex 开始查找的位置 + * @return 路径分隔符在路径中指定位置后首次出现的位置,没有出现时返回-1。 + * @since 1.0 + */ + public static int getPathIndex(String fileName, int fromIndex) { + int point = fileName.indexOf('/', fromIndex); + if (point == -1) { + point = fileName.indexOf('\\', fromIndex); + } + return point; + } + + /** + * 得到路径分隔符在文件路径中最后出现的位置。 + * 对于DOS或者UNIX风格的分隔符都可以。 + * + * @param fileName 文件路径 + * @return 路径分隔符在路径中最后出现的位置,没有出现时返回-1。 + * @since 1.0 + */ + public static int getPathLsatIndex(String fileName) { + int point = fileName.lastIndexOf('/'); + if (point == -1) { + point = fileName.lastIndexOf('\\'); + } + return point; + } + + /** + * 得到路径分隔符在文件路径中指定位置前最后出现的位置。 + * 对于DOS或者UNIX风格的分隔符都可以。 + * + * @param fileName 文件路径 + * @param fromIndex 开始查找的位置 + * @return 路径分隔符在路径中指定位置前最后出现的位置,没有出现时返回-1。 + * @since 1.0 + */ + public static int getPathLsatIndex(String fileName, int fromIndex) { + int point = fileName.lastIndexOf('/', fromIndex); + if (point == -1) { + point = fileName.lastIndexOf('\\', fromIndex); + } + return point; + } + + /** + * 将文件名中的类型部分去掉。 + * + * @param filename 文件名 + * @return 去掉类型部分的结果 + * @since 1.0 + */ + public static String trimType(String filename) { + int index = filename.lastIndexOf("."); + if (index != -1) { + return filename.substring(0, index); + } else { + return filename; + } + } + + /** + * 得到相对路径。 + * 文件名不是目录名的子节点时返回文件名。 + * + * @param pathName 目录名 + * @param fileName 文件名 + * @return 得到文件名相对于目录名的相对路径,目录下不存在该文件时返回文件名 + * @since 1.0 + */ + public static String getSubpath(String pathName, String fileName) { + int index = fileName.indexOf(pathName); + if (index != -1) { + return fileName.substring(index + pathName.length() + 1); + } else { + return fileName; + } + } + + /** + * 检查给定目录的存在性 + * 保证指定的路径可用,如果指定的路径不存在,那么建立该路径,可以为多级路径 + * + * @param path + * @return 真假值 + * @since 1.0 + */ + public static final boolean pathValidate(String path) { + //String path="d:/web/www/sub"; + //System.out.println(path); + //path = getUNIXfilePath(path); + + //path = ereg_replace("^\\/+", "", path); + //path = ereg_replace("\\/+$", "", path); + String[] arraypath = path.split("/"); + String tmppath = ""; + for (int i = 0; i < arraypath.length; i++) { + tmppath += "/" + arraypath[i]; + File d = new File(tmppath.substring(1)); + if (!d.exists()) { //检查Sub目录是否存在 + System.out.println(tmppath.substring(1)); + if (!d.mkdir()) { + return false; + } + } + } + return true; + } + + /** + * 读取文件的内容 + * 读取指定文件的内容 + * + * @param path 为要读取文件的绝对路径 + * @return 以行读取文件后的内容。 + * @since 1.0 + */ + public static final String getFileContent(String path) throws IOException { + String filecontent = ""; + try { + File f = new File(path); + if (f.exists()) { + FileReader fr = new FileReader(path); + BufferedReader br = new BufferedReader(fr); //建立BufferedReader对象,并实例化为br + String line = br.readLine(); //从文件读取一行字符串 + //判断读取到的字符串是否不为空 + while (line != null) { + filecontent += line + "\n"; + line = br.readLine(); //从文件中继续读取一行数据 + } + br.close(); //关闭BufferedReader对象 + fr.close(); //关闭文件 + } + + } catch (IOException e) { + throw e; + } + return filecontent; + } + + /** + * 根据内容生成文件 + * + * @param path 要生成文件的绝对路径, + * @param modulecontent 文件的内容。 + * @return 真假值 + * @since 1.0 + */ + public static final boolean genModuleTpl(String path, String modulecontent) throws IOException { + + path = getUNIXfilePath(path); + String[] patharray = path.split("\\/"); + String modulepath = ""; + for (int i = 0; i < patharray.length - 1; i++) { + modulepath += "/" + patharray[i]; + } + File d = new File(modulepath.substring(1)); + if (!d.exists()) { + if (!pathValidate(modulepath.substring(1))) { + return false; + } + } + try { + FileWriter fw = new FileWriter(path); //建立FileWriter对象,并实例化fw + //将字符串写入文件 + fw.write(modulecontent); + fw.close(); + } catch (IOException e) { + throw e; + } + return true; + } + + /** + * 获取图片文件的扩展名(发布系统专用) + * + * @param pic_path 为图片名称加上前面的路径不包括扩展名 + * @return 图片的扩展名 + * @since 1.0 + */ + public static final String getPicExtendName(String pic_path) { + pic_path = getUNIXfilePath(pic_path); + String pic_extend = ""; + if (isFileExist(pic_path + ".gif")) { + pic_extend = ".gif"; + } + if (isFileExist(pic_path + ".jpeg")) { + pic_extend = ".jpeg"; + } + if (isFileExist(pic_path + ".jpg")) { + pic_extend = ".jpg"; + } + if (isFileExist(pic_path + ".png")) { + pic_extend = ".png"; + } + return pic_extend; //返回图片扩展名 + } + + /** + * 拷贝文件 + * + * @param in 输入文件 + * @param out 输出文件 + * @return + * @throws Exception + */ + public static final boolean CopyFile(File in, File out) throws Exception { + try { + FileInputStream fis = new FileInputStream(in); + FileOutputStream fos = new FileOutputStream(out); + byte[] buf = new byte[1024]; + int i = 0; + while ((i = fis.read(buf)) != -1) { + fos.write(buf, 0, i); + } + fis.close(); + fos.close(); + return true; + } catch (IOException ie) { + ie.printStackTrace(); + return false; + } + } + + /** + * 拷贝文件 + * + * @param infile 输入字符串 + * @param outfile 输出字符串 + * @return + * @throws Exception + */ + public static final boolean CopyFile(String infile, String outfile) throws Exception { + try { + File in = new File(infile); + File out = new File(outfile); + return CopyFile(in, out); + } catch (IOException ie) { + ie.printStackTrace(); + return false; + } + + } + + /** + * 把内容content写的path文件中 + * + * @param content 输入内容 + * @param path 文件路径 + * @return + */ + public static boolean SaveFileAs(String content, String path) { + FileWriter fw = null; + try { + fw = new FileWriter(new File(path), false); + if (content != null) { + fw.write(content); + } + } catch (IOException e) { + e.printStackTrace(); + return false; + } finally { + if (fw != null) { + try { + fw.flush(); + fw.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return true; + } + + /** + * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 + */ + public static byte[] readFileByBytes(String fileName) throws IOException { + FileInputStream in = new FileInputStream(fileName); + byte[] bytes = null; + try { + + ByteArrayOutputStream out = new ByteArrayOutputStream(1024); + + byte[] temp = new byte[1024]; + + int size = 0; + + while ((size = in.read(temp)) != -1) { + out.write(temp, 0, size); + } + + in.close(); + + bytes = out.toByteArray(); + + } catch (Exception e1) { + e1.printStackTrace(); + } finally { + if (in != null) { + in.close(); + } + } + return bytes; + } + + /** + * 以字符为单位读取文件,常用于读文本,数字等类型的文件 + */ + public static void readFileByChars(String fileName) { + File file = new File(fileName); + Reader reader = null; + try { + System.out.println("以字符为单位读取文件内容,一次读一个字节:"); + // 一次读一个字符 + reader = new InputStreamReader(new FileInputStream(file)); + int tempchar; + while ((tempchar = reader.read()) != -1) { + // 对于windows下,\r\n这两个字符在一起时,表示一个换行。 + // 但如果这两个字符分开显示时,会换两次行。 + // 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。 + if (((char) tempchar) != '\r') { + System.out.print((char) tempchar); + } + } + reader.close(); + } catch (Exception e) { + e.printStackTrace(); + } + try { + System.out.println("以字符为单位读取文件内容,一次读多个字节:"); + // 一次读多个字符 + char[] tempchars = new char[30]; + int charread = 0; + reader = new InputStreamReader(new FileInputStream(fileName)); + // 读入多个字符到字符数组中,charread为一次读取字符数 + while ((charread = reader.read(tempchars)) != -1) { + // 同样屏蔽掉\r不显示 + if ((charread == tempchars.length) + && (tempchars[tempchars.length - 1] != '\r')) { + System.out.print(tempchars); + } else { + for (int i = 0; i < charread; i++) { + if (tempchars[i] == '\r') { + continue; + } else { + System.out.print(tempchars[i]); + } + } + } + } + + } catch (Exception e1) { + e1.printStackTrace(); + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e1) { + } + } + } + } + + /** + * 以行为单位读取文件,常用于读面向行的格式化文件 + */ + public static List readFileByLines(String fileName) { + List returnString = new ArrayList(); + File file = new File(fileName); + BufferedReader reader = null; + try { + reader = new BufferedReader(new FileReader(file)); + String tempString = null; + int line = 1; + // 一次读入一行,直到读入null为文件结束 + while ((tempString = reader.readLine()) != null) { + // 显示行号 + returnString.add(tempString); + line++; + } + reader.close(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e1) { + } + } + } + return returnString; + } + + /** + * 随机读取文件内容 + */ + public static void readFileByRandomAccess(String fileName) { + RandomAccessFile randomFile = null; + try { + System.out.println("随机读取一段文件内容:"); + // 打开一个随机访问文件流,按只读方式 + randomFile = new RandomAccessFile(fileName, "r"); + // 文件长度,字节数 + long fileLength = randomFile.length(); + // 读文件的起始位置 + int beginIndex = (fileLength > 4) ? 4 : 0; + // 将读文件的开始位置移到beginIndex位置。 + randomFile.seek(beginIndex); + byte[] bytes = new byte[10]; + int byteread = 0; + // 一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。 + // 将一次读取的字节数赋给byteread + while ((byteread = randomFile.read(bytes)) != -1) { + System.out.write(bytes, 0, byteread); + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (randomFile != null) { + try { + randomFile.close(); + } catch (IOException e1) { + } + } + } + } + + /** + * 读取文件内容 + * + * @param fileName + * @return + */ + public static String readFileAll(String fileName) { + String encoding = "UTF-8"; + File file = new File(fileName); + Long filelength = file.length(); + byte[] filecontent = new byte[filelength.intValue()]; + try { + FileInputStream in = new FileInputStream(file); + in.read(filecontent); + in.close(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + try { + return new String(filecontent, encoding); + } catch (UnsupportedEncodingException e) { + System.err.println("The OS does not support " + encoding); + e.printStackTrace(); + return ""; + } + } + + /** + * 显示输入流中还剩的字节数 + */ + private static void showAvailableBytes(InputStream in) { + try { + System.out.println("当前字节输入流中的字节数为:" + in.available()); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java index 5c209d9e..83200c5c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java @@ -3,6 +3,7 @@ package com.glxp.api.admin.util; import com.glxp.api.admin.entity.basic.UdiInfoEntity; import com.glxp.api.admin.entity.basic.UdiEntity; +import com.glxp.api.admin.entity.inout.WarehouseEntity; /** * @author 彭于晏 @@ -252,5 +253,14 @@ public class FilterUdiUtils { } return data; } - + public static String transGlxpNoSerStr(WarehouseEntity warehouseEntity) { + String udiCode = "#" + warehouseEntity.getNameCode() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + + "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; + return udiCode; + } + public static String transGlxpNoSerStr(UdiEntity warehouseEntity) { + String udiCode = "#" + warehouseEntity.getUdi() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + + "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; + return udiCode; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/HardWareUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/HardWareUtils.java new file mode 100644 index 00000000..8cf92571 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/util/HardWareUtils.java @@ -0,0 +1,191 @@ +package com.glxp.api.admin.util; + +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.crypto.SmUtil; +import cn.hutool.crypto.symmetric.SymmetricCrypto; + +import java.applet.Applet; +import java.awt.*; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileWriter; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.NetworkInterface; + +public class HardWareUtils extends Applet { + + public HardWareUtils() { + } + + private static final long serialVersionUID = 1L; + + @Override + public void paint(Graphics paint) { + super.paint(paint); + paint.drawString("获取硬件信息", 10, 10); + paint.drawString("CPU SN:" + HardWareUtils.getCPUSerial(), 10, 30); + paint.drawString("主板 SN:" + HardWareUtils.getMotherboardSN(), 10, 50); +// paint.drawString("C盘 SN:" + HardWareUtils.getHardDiskSN("c"), 10, 70); + paint.drawString("MAC SN:" + HardWareUtils.getMac(), 10, 90); + } + + /** + * 29 * 获取主板序列号 + * 30 * + * 31 * @return + * 32 + */ + public static String getMotherboardSN() { + String result = ""; + try { + File file = File.createTempFile("realhowto", ".vbs"); + file.deleteOnExit(); + FileWriter fw = new FileWriter(file); + String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n" + + "Set colItems = objWMIService.ExecQuery _ \n" + + " (\"Select * from Win32_BaseBoard\") \n" + + "For Each objItem in colItems \n" + + " Wscript.Echo objItem.SerialNumber \n" + + " exit for ' do the first cpu only! \n" + "Next \n"; + + fw.write(vbs); + fw.close(); + Process p = Runtime.getRuntime().exec( + "cscript //NoLogo " + file.getPath()); + BufferedReader input = new BufferedReader(new InputStreamReader(p + .getInputStream())); + String line; + while ((line = input.readLine()) != null) { + result += line; + } + input.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return result.trim(); + } + + /** + * 64 * 获取硬盘序列号 + * 65 * + * 66 * @param drive + * 67 * 盘符 + * 68 * @return + * 69 + */ + public static String getHardDiskSN(String drive) { + String result = ""; + try { + File file = File.createTempFile("realhowto", ".vbs"); + file.deleteOnExit(); + FileWriter fw = new FileWriter(file); + String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n" + + "Set colDrives = objFSO.Drives\n" + + "Set objDrive = colDrives.item(\"" + + drive + + "\")\n" + + "Wscript.Echo objDrive.SerialNumber"; // see note + fw.write(vbs); + fw.close(); + Process p = Runtime.getRuntime().exec( + "cscript //NoLogo " + file.getPath()); + BufferedReader input = new BufferedReader(new InputStreamReader(p + .getInputStream())); + String line; + while ((line = input.readLine()) != null) { + result += line; + } + input.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return result.trim(); + } + + /** + * 101 * 获取CPU序列号 + * 102 * + * 103 * @return + * 104 + */ + public static String getCPUSerial() { + String result = ""; + try { + File file = File.createTempFile("tmp", ".vbs"); + file.deleteOnExit(); + FileWriter fw = new FileWriter(file); + String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n" + + "Set colItems = objWMIService.ExecQuery _ \n" + + " (\"Select * from Win32_Processor\") \n" + + "For Each objItem in colItems \n" + + " Wscript.Echo objItem.ProcessorId \n" + + " exit for ' do the first cpu only! \n" + "Next \n"; + fw.write(vbs); + fw.close(); + Process p = Runtime.getRuntime().exec( + "cscript //NoLogo " + file.getPath()); + BufferedReader input = new BufferedReader(new InputStreamReader(p + .getInputStream())); + String line; + while ((line = input.readLine()) != null) { + result += line; + } + input.close(); + file.delete(); + } catch (Exception e) { + e.fillInStackTrace(); + } + if (result.trim().length() < 1 || result == null) { + result = "无CPU_ID被读取"; + } + return result.trim(); + } + + /** + * 139 * 获取MAC地址 + * 140 + */ + public static String getMac() { + try { + byte[] mac = NetworkInterface.getByInetAddress(InetAddress.getLocalHost()).getHardwareAddress(); + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < mac.length; i++) { + if (i != 0) { + sb.append("-"); + } + String s = Integer.toHexString(mac[i] & 0xFF); + sb.append(s.length() == 1 ? 0 + s : s); + } + return sb.toString().toUpperCase(); + } catch (Exception e) { + return ""; + } + + } + + + public static String getMachineInfo() { + String msg = getCPUSerial() + getMotherboardSN().replace(".", "") + + getHardDiskSN("c") + getMac().replace("-", ""); + return msg; + } + + public static void main(String[] args) throws Exception { + System.out.println(getCPUSerial());//CPU + System.out.println(getMotherboardSN());//主板 + System.out.println(getHardDiskSN("c"));//c盘 + System.out.println(getMac());//MAC + String msg = getCPUSerial() + getMotherboardSN().replace(".", "") + getHardDiskSN("c") + getMac().replace("-", ""); + System.out.println("原始数据:" + msg);//rT7DaHDt68m9IjVr +// String encrypt = DesUtil.encrypt(msg); +// System.out.println("加密:" + encrypt); +// String decrypt = DesUtil.decrypt(encrypt); +// System.out.println("解密:" + decrypt); + + SymmetricCrypto sm4 = SmUtil.sm4(); + String encryptHex = sm4.encryptHex("rT7DaHDt68m9IjVr" + msg); + String decryptStr = sm4.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8); + System.out.println("加密后:" + msg);//rT7DaHDt68m9IjVr + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/RsaUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/RsaUtils.java index 2fab9eba..d3fa806b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/RsaUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/RsaUtils.java @@ -29,7 +29,6 @@ public class RsaUtils { * RSA私钥加密 */ public static String privateKeyEncrypt(String str, String privateKey) throws Exception { - System.out.println("{}|RSA私钥加密前的数据|str:{}|publicKey:{}" + str + "\n" + privateKey); //base64编码的公钥 byte[] decoded = Base64.decodeBase64(privateKey); PrivateKey priKey = KeyFactory.getInstance("RSA"). @@ -38,7 +37,6 @@ public class RsaUtils { Cipher cipher = Cipher.getInstance("RSA"); cipher.init(Cipher.ENCRYPT_MODE, priKey); String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes())); - System.out.println("{}|RSA私钥加密后的数据|outStr:{}" + "\n" + outStr); return outStr; } @@ -46,7 +44,6 @@ public class RsaUtils { * RSA公钥解密 */ public static String publicKeyDecrypt(String str, String publicKey) throws Exception { - System.out.println("{}|RSA公钥解密前的数据|str:{}|publicKey:{}" + str + "\n" + publicKey); //64位解码加密后的字符串 byte[] inputByte = Base64.decodeBase64(str.getBytes("UTF-8")); //base64编码的私钥 @@ -57,7 +54,6 @@ public class RsaUtils { Cipher cipher = Cipher.getInstance("RSA"); cipher.init(Cipher.DECRYPT_MODE, pubKey); String outStr = new String(cipher.doFinal(inputByte)); - System.out.println("{}|RSA公钥解密后的数据|outStr:{}" + outStr); return outStr; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/SpGetHttp.java b/api-admin/src/main/java/com/glxp/api/admin/util/SpGetHttp.java new file mode 100644 index 00000000..97a1c709 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/util/SpGetHttp.java @@ -0,0 +1,69 @@ +package com.glxp.api.admin.util; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.glxp.api.admin.entity.inout.IOOrderStatusEntity; +import com.glxp.api.admin.httpclient.UHttpClient; +import com.glxp.api.admin.req.inout.OrderStatusFilterRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inout.DlOrderResponse; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class SpGetHttp { + + @Value("${SPSYNC_IP}") + private String spsSyncUrl; + + public BaseResponse> getOrderStatus() { + Map paramMap = new HashMap<>(16); + paramMap.put("status", 1); + String response = UHttpClient.mipsGet(spsSyncUrl + "/spms/inout/order/status", paramMap); + try { + BaseResponse> data = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return data; + + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "下载失败!"); + } + } + + + public BaseResponse> getOrders(String orderId) { + Map paramMap = new HashMap<>(16); + paramMap.put("orderId", orderId); + String response = UHttpClient.mipsGet(spsSyncUrl + "/spms/inout/order/dlByStatus", paramMap); + try { + BaseResponse> data = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return data; + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "下载失败!"); + } + } + + + public BaseResponse postOrder(String orderId) { + OrderStatusFilterRequest orderStatusFilterRequest = new OrderStatusFilterRequest(); + orderStatusFilterRequest.setOrderId(orderId); + orderStatusFilterRequest.setStatus(2); + String result = UHttpClient.postJson(spsSyncUrl + "/spms/inout/order/updateStatus", orderStatusFilterRequest); + BaseResponse response = + JSONObject.parseObject(result, new TypeReference>() { + }); + return response; + } + +} diff --git a/api-admin/src/main/resources/application-pro.properties b/api-admin/src/main/resources/application-pro.properties index d46a7227..728f6adb 100644 --- a/api-admin/src/main/resources/application-pro.properties +++ b/api-admin/src/main/resources/application-pro.properties @@ -4,17 +4,28 @@ spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=123456 -#spring.datasource.password=root +#spring.datasource.password=89083fb2fc145533 server.servlet.context-path= -logging.level.com.glxp.api.admin.dao=debug +#logging.level.com.glxp.api.admin.dao=debug +logging.level.com.glxp.api.admin.dao.auth=debug +logging.level.com.glxp.api.admin.dao.basic=debug +logging.level.com.glxp.api.admin.dao.business=debug +logging.level.com.glxp.api.admin.dao.info=debug +logging.level.com.glxp.api.admin.dao.inout=debug +logging.level.com.glxp.api.admin.dao.inventory=debug +logging.level.com.glxp.api.admin.dao.thrsys=debug logging.level.com.glxp.api.admin.erp.second=debug #logback配置 logging.path=output/logs # 不指定的情况下默认生成在项目根目录,按照配置生成所需的日志名称 logging.file=D:/udi.log +file_path=D:/1s/udiwms/udiwmsfile/ +#file_path=/home/glxp/udiwms #UDI数据下载 -UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server -#UDI_SERVER_URL=http://127.0.0.1:9994 +UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server_test +#中转服务IP地址 +SPSYNC_IP=http://127.0.0.1:9989 +#UDI_SERVER_URL=http://127.0.0.1:9995 ##端口号 # Redis数据库索引(默认为0) spring.redis.database=0 diff --git a/api-admin/src/main/resources/config.txt b/api-admin/src/main/resources/config.txt new file mode 100644 index 00000000..23523e1f --- /dev/null +++ b/api-admin/src/main/resources/config.txt @@ -0,0 +1 @@ +pnX84xUQPosn2EKyWQ6LAsipXBigaQW9xgXm7Vsrslw5izRLs96M2P6CB4goQsV9KJ0+Cjh0IYgBLq9f47/hThw+g8s9rE2JqXWIJ6Ihhbz02FfdrAL/HmTh4E+V2ONOCU0zhozbTEdyRyTrETlEfBE3KNl9+SOkSX5hPaKfxXA4rqJB2kx8fVaA9opKNUVsGb6inJIItPoFr1cwVvTviK9vlts8JqV37tmJ3v2n49e1sRzVToFS5GVUk++wgQwJ6v4EYSvkBceUAas9OGOUCgHXNey+33koXw3JERRC4eeyBBwOxd8b0CyAm9xWUxPIbw1hq7Ehl2gCY5MFqM18UA== \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicThirdSysDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicThirdSysDetailDao.xml index a02d3bc3..3de22b71 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicThirdSysDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicThirdSysDetailDao.xml @@ -29,12 +29,16 @@ AND thirdSysFk = #{thirdSysFk} + order by enabled desc \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml index 3c56e6c7..2948763e 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml @@ -22,24 +22,16 @@ AND id = #{id} + + AND unitId = #{unitId} + AND erpId = #{erpId} - - AND thirdId = #{thirdId} - - - AND thirdId1 = #{thirdId1} - - - AND thirdId2 = #{thirdId2} - - - AND thirdId3 = #{thirdId3} - - - AND thirdId4 = #{thirdId4} + + AND corpType = #{corpType} + order by updateTime desc @@ -65,30 +57,62 @@ AND thirdId4 = #{thirdId4} + + AND corpType = #{corpType} + limit 1 - REPLACE INTO basic_corp + REPLACE + INTO basic_corp (thirdId,erpId,name,spell, addr,status,type,creditNo,contact,mobile,thirdId1,thirdId2,thirdId3,thirdId4, - thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime) + thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime,corpType) values ( - #{thirdId}, - #{erpId}, - #{name}, - #{spell}, - #{addr}, - #{status}, - #{type}, - #{creditNo}, - #{contact}, - #{mobile},#{thirdId1},#{thirdId2},#{thirdId3},#{thirdId4}, - #{thirdName},#{thirdName1},#{thirdName2},#{thirdName3},#{thirdName4},#{updateTime} - ) + #{thirdId}, + #{erpId}, + #{name}, + #{spell}, + #{addr}, + #{status}, + #{type}, + #{creditNo}, + #{contact}, + #{mobile}, + #{thirdId1}, + #{thirdId2}, + #{thirdId3}, + #{thirdId4}, + #{thirdName}, + #{thirdName1}, + #{thirdName2}, + #{thirdName3}, + #{thirdName4}, + #{updateTime},#{corpType} + ) + + + + + insert INTO basic_corp(thirdId, erpId, name, spell, addr, + status, type, creditNo, contact, mobile, thirdId1, thirdId2, thirdId3, thirdId4, + thirdName, thirdName1, thirdName2, thirdName3, thirdName4, updateTime,corpType) + values (#{thirdId}, + #{erpId}, + #{name}, + #{spell}, + #{addr}, + #{status}, + #{type}, + #{creditNo}, + #{contact}, + #{mobile}, + #{thirdId1}, #{thirdId2}, #{thirdId3}, #{thirdId4}, + #{thirdName}, #{thirdName1}, #{thirdName2}, #{thirdName3}, #{thirdName4}, #{updateTime},#{corpType}) @@ -115,17 +139,28 @@ thirdName3=#{thirdName3}, thirdName4=#{thirdName4}, updateTime=#{updateTime}, - + corpType=#{corpType}, WHERE id=#{id} - DELETE FROM basic_corp WHERE id = #{id} + DELETE + FROM basic_corp + WHERE id = #{id} + + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml new file mode 100644 index 00000000..4311e488 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml @@ -0,0 +1,53 @@ + + + + + + + + + + insert + INTO basic_bustype_pre + (action, scAction, `index`, remark, beforeTime, intro) + values (#{action}, + #{scAction}, + #{index}, + #{remark}, + #{beforeTime}, #{intro}) + + + + UPDATE basic_bustype_pre + + action = #{action}, + scAction = #{scAction}, + `index` = #{index}, + beforeTime = #{beforeTime}, + remark = #{remark}, + intro = #{intro}, + + WHERE id = #{id} + + + + DELETE + FROM basic_bustype_pre + WHERE id = #{id} + + + + + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml index 4316b6ec..53d83b1f 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml @@ -16,7 +16,9 @@ AND enable =#{enabled} - + + AND originAction =#{originAction} + @@ -24,7 +26,8 @@ + + + + + INSERT INTO basic_bustype_origin + (action, name, enable, remark, thirdSys, thirdSysName) + values (#{action}, + #{name}, + #{enable}, + #{remark}, #{thirdSys}, #{thirdSysName}) + + + + + UPDATE basic_bustype_origin + + action = #{action}, + name = #{name}, + enable = #{enable}, + thirdSys = #{thirdSys}, + thirdSysName = #{thirdSysName}, + remark = #{remark}, + + + WHERE id = #{id} + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml index 8f5ae002..0cdf4db3 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml @@ -5,47 +5,62 @@ @@ -54,19 +69,84 @@ parameterType="com.glxp.api.admin.entity.basic.BussinessTypeEntity"> replace INTO basic_bussiness_type - (action,name,enable,remark,mainAction,localAction,thirdSysFk) + (`index`,action,name,enable,remark,mainAction,localAction,thirdSysFk + ,checkEnable,genUnit,innerOrder,secCheckEnable, + checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange + ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew,secCheckChange,checkSp,secCheckSp,thirdAction) + values + ( + #{index}, + #{action}, + #{name}, + #{enable}, + #{remark}, + #{mainAction}, + #{localAction}, + #{thirdSysFk}, + #{checkEnable}, + #{genUnit}, + #{innerOrder}, + #{secCheckEnable}, + #{checkUdims}, + #{checkPdaEd}, + #{checkPdaUn}, + #{checkPc}, + #{checkWebNew}, + #{checkChange}, + #{secCheckUdims}, + #{secCheckPdaEd}, + #{secCheckPdaUn}, + #{secCheckPc}, + #{secCheckWebNew}, + #{secCheckChange}, + #{checkSp}, + #{secCheckSp}, + #{thirdAction} + ) + + + + insert + ignore + INTO basic_bussiness_type + (`index`,action,name,enable,remark,mainAction,localAction,thirdSysFk + ,checkEnable,genUnit,innerOrder,secCheckEnable, + checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange + ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew,secCheckChange,checkSp,secCheckSp,thirdAction) values ( + #{index}, #{action}, #{name}, #{enable}, #{remark}, #{mainAction}, #{localAction}, - #{thirdSysFk} + #{thirdSysFk}, + #{checkEnable}, + #{genUnit}, + #{innerOrder}, + #{secCheckEnable}, + #{checkUdims}, + #{checkPdaEd}, + #{checkPdaUn}, + #{checkPc}, + #{checkWebNew}, + #{checkChange}, + #{secCheckUdims}, + #{secCheckPdaEd}, + #{secCheckPdaUn}, + #{secCheckPc}, + #{secCheckWebNew}, + #{secCheckChange}, + #{checkSp}, + #{secCheckSp}, + #{thirdAction} ) + UPDATE basic_bussiness_type @@ -76,6 +156,27 @@ remark = #{remark}, mainAction = #{mainAction}, localAction=#{localAction}, + checkEnable=#{checkEnable}, + genUnit=#{genUnit}, + innerOrder=#{innerOrder}, + secCheckEnable=#{secCheckEnable}, + checkUdims=#{checkUdims}, + checkPdaEd=#{checkPdaEd}, + checkPdaUn=#{checkPdaUn}, + checkPc=#{checkPc}, + checkWebNew=#{checkWebNew}, + checkChange=#{checkChange}, + secCheckUdims=#{secCheckUdims}, + secCheckPdaEd=#{secCheckPdaEd}, + secCheckPdaUn=#{secCheckPdaUn}, + secCheckPc=#{secCheckPc}, + secCheckWebNew=#{secCheckWebNew}, + secCheckChange=#{secCheckChange}, + checkSp=#{checkSp}, + secCheckSp=#{secCheckSp}, + index=#{index}, + thirdAction=#{thirdAction}, + thirdSysFk=#{thirdSysFk}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 563ee49e..e140763c 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -73,6 +73,9 @@ or basic_products.ggxh LIKE concat('%',#{unionFilterStr},'%') or basic_products.zczbhhzbapzbh LIKE concat('%',#{unionFilterStr},'%') + + AND mainId = #{mainId} + ORDER BY updateTime DESC @@ -156,7 +159,12 @@ AND thirdId4 is NULL and basic_products.flbm ]]> '' - + + AND mainId = #{mainId} + + + AND basic_udirel.id = #{id} + ORDER BY updateTime DESC diff --git a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml index 3d4e1815..7a03b508 100644 --- a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml @@ -23,7 +23,8 @@ insert INTO stock_order(id, billNo, billdate, corpId, corpName, billType, billFlag, - thirdSysFk, status, statusInfo, type, sourceType, printStatus, unitIdFk, customerId) + thirdSysFk, status, statusInfo, type, sourceType, + printStatus, unitIdFk, customerId, thirdOrderFk, orderIdFk, totalPrice) values (#{id}, #{billNo}, #{billdate}, @@ -36,7 +37,7 @@ #{statusInfo}, #{type}, #{sourceType}, - #{printStatus}, #{unitIdFk}, #{customerId}) + #{printStatus}, #{unitIdFk}, #{customerId}, #{thirdOrderFk}, #{orderIdFk}, #{totalPrice}) UPDATE stock_order @@ -55,6 +56,9 @@ printStatus=#{printStatus}, unitIdFk=#{unitIdFk}, customerId=#{customerId}, + thirdOrderFk=#{thirdOrderFk}, + orderIdFk=#{orderIdFk}, + totalPrice=#{totalPrice}, WHERE id = #{id} @@ -126,6 +130,15 @@ and customerId = #{customerId} + + and thirdOrderFk = #{thirdOrderFk} + + + and orderIdFk = #{orderIdFk} + + + and totalPrice = #{totalPrice} + = DATE_FORMAT(#{startTime}, '%Y-%m-%d') ]]> @@ -151,9 +164,19 @@ and billNo =#{billNo} + + and billType =#{billType} + + and customerId =#{customerId} + + and thirdOrderFk =#{thirdOrderFk} + + + and orderIdFk =#{orderIdFk} + limit 1 @@ -164,7 +187,8 @@ SELECT stock_order.*, stock_order_detail.productId, stock_order_detail.productName, stock_order_detail.spec, stock_order_detail.batchNo, stock_order_detail.productDate, stock_order_detail.expireDate, stock_order_detail.count, stock_order_detail.sweepCount, stock_order_detail.ylqxzcrbarmc, - stock_order_detail.zczbhhzbapzbh FROM stock_order INNER JOIN stock_order_detail on stock_order.id = + stock_order_detail.zczbhhzbapzbh,stock_order_detail.price FROM stock_order INNER JOIN stock_order_detail on + stock_order.id = stock_order_detail.orderIdFk diff --git a/api-admin/src/main/resources/mybatis/mapper/info/SystemPDFTemplateDao.xml b/api-admin/src/main/resources/mybatis/mapper/info/SystemPDFTemplateDao.xml index d18e1119..7091a3d1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/info/SystemPDFTemplateDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/info/SystemPDFTemplateDao.xml @@ -6,6 +6,7 @@ + + + SELECT customerId FROM system_pdf_template_relevance - where template_id = #{templateId} + where templateId = #{templateId} INSERT INTO system_pdf_template_relevance - (template_id, customerId) + (templateId, customerId) VALUES - - (#{item.template_id}, #{item.customerId}) + + (#{item.templateId}, #{item.customerId}) - INSERT INTO system_pdf_template_relevance - (template_id,customerId,admin_id) - values - ( - #{template_id}, - #{customerId}, - #{admin_id} + insert + ignore + INTO system_pdf_template_relevance + (templateId, customerId, adminId, moduleId, localAction) + values ( + #{templateId}, + #{customerId}, + #{adminId}, + #{moduleId}, + #{localAction} ) - - - delete from system_pdf_template_relevance where customerId = #{customerId} + + UPDATE system_pdf_template_relevance + + templateId = #{templateId}, + customerId = #{customerId}, + adminId = #{adminId}, + moduleId = #{moduleId}, + localAction=#{localAction}, + + WHERE id = #{id} + + + delete + from system_pdf_template_relevance + where id = #{id} \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml index a40dd509..63e9aef3 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml @@ -24,22 +24,27 @@ and batchNo =#{batchNo} + + and nameCode =#{nameCode} + + ORDER BY actDate - INSERT INTO io_codes(action,mainAction,code,corpOrderId,actor,actDate,upperCorpOrderId,fromCorpId,fromCorp,nameCode) - values( - #{action}, - #{mainAction}, - #{code}, - #{corpOrderId}, - #{actor}, - #{actDate}, - #{fromCorpId}, - #{fromCorp},#{orderId},#{nameCode}) + INSERT INTO io_codes(action, mainAction, code, corpOrderId, + actor, actDate, upperCorpOrderId, fromCorpId, + fromCorp, nameCode, relId,status,supId) + values (#{action}, + #{mainAction}, + #{code}, + #{corpOrderId}, + #{actor}, + #{actDate}, + #{fromCorpId}, + #{fromCorp}, #{orderId}, #{nameCode}, #{relId},#{status},#{supId}) @@ -51,7 +56,7 @@ actor, actDate, fromCorpId,fromCorp,orderId,batchNo,produceDate,expireDate, - serialNo,count,packageLevel,warehouseCode,nameCode) + serialNo,count,packageLevel,warehouseCode,nameCode,relId,status,supId) VALUES @@ -70,7 +75,8 @@ ,#{item.expireDate} ,#{item.serialNo} ,#{item.count} - ,#{item.packageLevel} ,#{item.warehouseCode},#{item.nameCode}) + ,#{item.packageLevel} ,#{item.warehouseCode},#{item.nameCode},#{item.relId},#{item.status} + ,#{item.supId}) @@ -79,28 +85,65 @@ select isnull((select top(1) 1 from io_codes where 'code' = #{code}), 0) - UPDATE io_codes SET orderId = #{newOrderId} where orderId = #{oldOrderId} + UPDATE io_codes + SET orderId = #{newOrderId} + where orderId = #{oldOrderId} + + + UPDATE io_codes + SET relId = #{relId} + where nameCode = #{nameCode} and orderId = #{orderId} + + + UPDATE io_codes + SET supId = #{supId} + where nameCode = #{nameCode} + and orderId = #{orderId} + + UPDATE io_codes + + relId=#{relId}, + fromCorp=#{fromCorp}, + fromCorpId=#{fromCorpId}, + count=#{count}, + sCount=#{sCount}, + status=#{status}, + supId=#{supId}, + + WHERE id=#{id} + - UPDATE io_codes SET fromCorpId = #{fromCorpId}, fromCorp = #{fromCorp} - WHERE orderId = #{orderId} + UPDATE io_codes + SET fromCorpId = #{fromCorpId}, + fromCorp = #{fromCorp} + WHERE orderId = #{orderId} \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml index a725ff86..7bbb69bf 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml @@ -7,7 +7,7 @@ INSERT INTO io_codes_temp (action, mainAction,code, corpOrderId, actor,actDate, - fromCorpId, fromCorp, orderId,batchNo,produceDate,expireDate,serialNo,count,nameCode) + fromCorpId, fromCorp, orderId,batchNo,produceDate,expireDate,serialNo,count,nameCode,relId,status,supId) VALUES @@ -26,30 +26,29 @@ ,#{item.expireDate} ,#{item.serialNo} ,#{item.count},#{item.nameCode} - ) + , #{item.relId},#{item.status},#{item.supId}) INSERT INTO io_codes_temp(action, mainAction, code, corpOrderId, actor, actDate, - fromCorpId, fromCorp, orderId, batchNo, produceDate, expireDate, serialNo, count) - values( - #{action}, - #{mainAction}, - #{code}, - #{corpOrderId}, - #{actor}, - #{actDate}, - #{fromCorpId}, - #{fromCorp}, - #{orderId}, - #{batchNo}, - #{produceDate}, - #{expireDate}, - #{serialNo}, - #{count} - ) + fromCorpId, fromCorp, orderId, batchNo, produceDate, expireDate, serialNo, count, + nameCode, relId, status, supId) + values (#{action}, + #{mainAction}, + #{code}, + #{corpOrderId}, + #{actor}, + #{actDate}, + #{fromCorpId}, + #{fromCorp}, + #{orderId}, + #{batchNo}, + #{produceDate}, + #{expireDate}, + #{serialNo}, + #{count}, #{nameCode}, #{relId}, #{status}, #{supId}) + select * from io_order_status + + + and orderId = #{orderId} + + + + + + + replace + INTO io_order_status(orderId,status,updateTime) + values( + #{orderId}, + #{status}, + #{updateTime} + ) + + + + UPDATE io_order_status + + status=#{status}, + updateTime=#{updateTime}, + + WHERE orderId = #{orderId} + + + DELETE + FROM io_order_detail + WHERE orderId = #{orderId} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml index 0ca871f4..7bef0adb 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml @@ -5,45 +5,50 @@ - insert INTO io_order(id,action,corpOrderId,actDate,fromCorpId,actor,mainAction, - fromCorp,status,remark,exportStatus,fromType,contrastStatus,signStatus,erpFk,stockCheckFk) - values( - #{id}, - #{action}, - #{corpOrderId}, - #{actDate}, - #{fromCorpId}, - #{actor}, - #{mainAction}, - #{fromCorp}, - #{status}, - #{remark}, - #{exportStatus}, - #{fromType}, - #{contrastStatus}, - #{signStatus}, - #{erpFk}, - #{stockCheckFk}) + insert INTO io_order(id, action, corpOrderId, actDate, fromCorpId, actor, mainAction, + fromCorp, status, remark, exportStatus, fromType, contrastStatus, signStatus, erpFk, + stockCheckFk) + values (#{id}, + #{action}, + #{corpOrderId}, + #{actDate}, + #{fromCorpId}, + #{actor}, + #{mainAction}, + #{fromCorp}, + #{status}, + #{remark}, + #{exportStatus}, + #{fromType}, + #{contrastStatus}, + #{signStatus}, + #{erpFk}, + #{stockCheckFk}) UPDATE io_order @@ -74,31 +79,48 @@ - DELETE FROM io_order WHERE id = #{orderId} + DELETE + FROM io_order + WHERE id = #{orderId} - DELETE FROM io_order WHERE id = #{id} + DELETE + FROM io_order + WHERE id = #{id} - UPDATE io_order SET fromCorpId = #{fromCorpId},fromCorp = #{fromCorp} where id = #{id} + UPDATE io_order + SET fromCorpId = #{fromCorpId}, + fromCorp = #{fromCorp} + where id = #{id} - UPDATE io_order SET `status` = #{status} where id = #{orderId} + UPDATE io_order + SET `status` = #{status} + where id = #{orderId} - UPDATE io_order SET `exportStatus` = #{exportStatus} where id = #{orderId} + UPDATE io_order + SET `exportStatus` = #{exportStatus} + where id = #{orderId} - UPDATE io_order SET `contrastStatus` = #{contrastStatus} where id = #{orderId} + UPDATE io_order + SET `contrastStatus` = #{contrastStatus} + where id = #{orderId} - UPDATE io_order SET `signStatus` = #{signStatus} where id = #{orderId} + UPDATE io_order + SET `signStatus` = #{signStatus} + where id = #{orderId} - UPDATE io_order SET `remark` = #{remark} where id = #{orderId} + UPDATE io_order + SET `remark` = #{remark} + where id = #{orderId} diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetail.xml b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml similarity index 79% rename from api-admin/src/main/resources/mybatis/mapper/inout/OrderDetail.xml rename to api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml index 28039d20..cb86f29b 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetail.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml @@ -106,12 +106,13 @@ - replace INTO io_order_detail(id, + replace + INTO io_order_detail(id, companyid,erpOrderId,iodtlId,inoutId,goodsunit,goodsid, batchNoId,goodsname,companyname, batchNo,erpCount,credate,nameCode,productCompany, coName,authCode,packSpec,packRatio,bhzxxsbzsl, - zxxsbzbhsydysl,orderIdFk,count,reCount,uuidFk,productDate,expireDate) + zxxsbzbhsydysl,orderIdFk,count,reCount,uuidFk,productDate,expireDate,bindStatus,supId,bindSupStatus) values( #{id}, #{companyid}, @@ -126,8 +127,23 @@ #{batchNo}, #{erpCount}, #{credate}, - #{nameCode},#{productCompany},#{coName},#{authCode},#{packSpec},#{packRatio}, - #{bhzxxsbzsl},#{zxxsbzbhsydysl},#{orderIdFk},#{count},#{reCount},#{uuidFk},#{productDate},#{expireDate} + #{nameCode}, + #{productCompany}, + #{coName}, + #{authCode}, + #{packSpec}, + #{packRatio}, + #{bhzxxsbzsl}, + #{zxxsbzbhsydysl}, + #{orderIdFk}, + #{count}, + #{reCount}, + #{uuidFk}, + #{productDate}, + #{expireDate}, + #{bindStatus}, + #{supId}, + #{bindSupStatus} ) @@ -135,7 +151,8 @@ replace INTO io_order_detail(id, companyid,erpOrderId,iodtlId,inoutId,goodsunit,goodsid,batchNoId,goodsname,companyname, batchNo,erpCount,credate,nameCode,productCompany, - coName,authCode,packSpec,packRatio,bhzxxsbzsl,zxxsbzbhsydysl,orderIdFk,count,reCount,uuidFk,productDate,expireDate) + coName,authCode,packSpec,packRatio,bhzxxsbzsl,zxxsbzbhsydysl,orderIdFk, + count,reCount,uuidFk,productDate,expireDate,bindStatus,supId,bindSupStatus) values @@ -156,29 +173,48 @@ #{item.nameCode}, #{item.productCompany}, #{item.coName}, #{item.authCode}, #{item.packSpec}, #{item.packRatio}, #{item.bhzxxsbzsl}, #{item.zxxsbzbhsydysl}, #{item.orderIdFk}, #{item.count},#{item.reCount},#{item.uuidFk} - ,#{item.productDate},#{item.expireDate}) + ,#{item.productDate},#{item.expireDate},#{item.bindStatus},#{item.supId},#{item.bindSupStatus}) UPDATE io_order_detail + goodsid=#{goodsid}, + goodsname=#{goodsname}, + bindStatus=#{bindStatus}, + bindRlFk=#{bindRlFk}, count=#{count}, reCount=#{reCount}, + erpCount=#{erpCount}, + uuidFk=#{uuidFk}, + supId=#{supId}, + bindSupStatus=#{bindSupStatus}, WHERE id = #{id} - DELETE FROM io_order_detail WHERE erpOrderId = #{id} + DELETE + FROM io_order_detail + WHERE erpOrderId = #{id} - DELETE FROM io_order_detail WHERE id = #{id} + DELETE + FROM io_order_detail + WHERE id = #{id} - DELETE FROM io_order_detail WHERE orderIdFk = #{id} + DELETE + FROM io_order_detail + WHERE orderIdFk = #{id} - + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml index 8728406f..bde3bf48 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml @@ -34,13 +34,24 @@ AND zczbhhzbapzbh = #{zczbhhzbapzbh} + + AND customerId = #{customerId} + + + AND supId = #{supId} + + + AND unitFk = #{unitFk} + @@ -54,10 +65,11 @@ ,inv_product.productionDate,inv_product.expireDate, basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh, inv_product.inCount,inv_product.outCount - ,inv_product.reCount + ,inv_product.reCount,inv_product.customerId,basic_corp.name companyName,inv_product.unitFk,inv_product.supId FROM inv_product inner join basic_udirel on inv_product.relIdFk = basic_udirel.id inner join basic_products on basic_udirel.uuid = basic_products.uuid + inner join basic_corp on inv_product.supId=basic_corp.erpId basic_products.diType=1 @@ -87,29 +99,36 @@ AND basic_products.zczbhhzbapzbh = #{zczbhhzbapzbh} - + + AND inv_product.customerId = #{customerId} + + + AND supId = #{supId} + + + AND unitFk = #{unitFk} + insert INTO inv_product - (productsName,nameCode,relIdFk,ggxh,batchNo, - productionDate,expireDate,ylqxzcrbarmc,zczbhhzbapzbh, - inCount,outCount,reCount) - values - ( - #{productsName},#{nameCode}, - #{relIdFk},#{ggxh},#{batchNo}, - #{productionDate},#{expireDate}, - #{ylqxzcrbarmc},#{zczbhhzbapzbh}, - #{inCount},#{outCount},#{reCount} - ) + (productsName, nameCode, relIdFk, ggxh, batchNo, + productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh, + inCount, outCount, reCount, customerId, unitFk, supId) + values (#{productsName}, #{nameCode}, + #{relIdFk}, #{ggxh}, #{batchNo}, + #{productionDate}, #{expireDate}, + #{ylqxzcrbarmc}, #{zczbhhzbapzbh}, + #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{unitFk}, #{supId}) - DELETE FROM inv_product WHERE id = #{id} + DELETE + FROM inv_product + WHERE id = #{id} @@ -127,6 +146,9 @@ inCount=#{inCount}, outCount=#{outCount}, reCount=#{reCount}, + customerId=#{customerId}, + unitFk=#{unitFk}, + supId=#{supId}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml index 41adc4a1..f80f150b 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -10,6 +10,9 @@ AND productIdFk = #{productIdFk} + + AND customerId = #{customerId} + AND mainAction = #{mainAction} @@ -20,36 +23,101 @@ AND count = #{count} + + AND purchaseType = #{purchaseType} + + + + AND batchNo = #{batchNo} + + + AND unitFk = #{unitFk} + + + AND supId = #{supId} + + + AND code = #{code} + + + AND originCode = #{originCode} + + + insert INTO inv_product_detail - (code,productIdFk,orderIdFk,mainAction,action,count,updateTime) - values - - ( - #{code}, - #{productIdFk},#{orderIdFk}, - #{mainAction},#{action},#{count},#{updateTime} - ) + (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode) + values (#{code}, + #{productIdFk}, #{orderIdFk}, + #{customerId}, #{mainAction}, #{action}, #{count}, #{updateTime}, + #{purchaseType}, #{batchNo}, #{productionDate}, #{expireDate}, #{unitFk}, #{stockIdFk}, #{supId},#{originCode}) insert INTO inv_product_detail - (code,productIdFk,mainAction,action,count,updateTime) + (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode) values - ( #{item.code}, #{item.productIdFk},#{item.orderIdFk}, - #{item.mainAction},#{item.action},#{item.count},#{item.updateTime} + #{item.customerId},#{item.mainAction},#{item.action},#{item.count},#{item.updateTime}, + #{item.purchaseType}, #{item.batchNo}, #{item.productionDate}, #{item.expireDate}, + #{item.unitFk},#{item.stockIdFk} + ,#{item.supId},#{item.originCode} ) @@ -57,11 +125,25 @@ - DELETE FROM inv_product_detail WHERE id = #{id} + DELETE + FROM inv_product_detail + WHERE id = #{id} + + DELETE + FROM inv_product_detail + + + AND productIdFk = #{productIdFk} + + + AND batchNo = #{batchNo} + + + AND supId = #{supId} + + - - DELETE FROM inv_product_detail WHERE productIdFk = #{productIdFk} @@ -69,11 +151,57 @@ code=#{code}, productIdFk=#{productIdFk}, + customerId=#{customerId}, mainAction=#{mainAction}, action=#{action}, count=#{count}, + unitFk=#{unitFk}, + purchaseType=#{purchaseType}, + batchNo=#{batchNo}, + productionDate=#{productionDate}, + expireDate=#{expireDate}, + stockIdFk=#{stockIdFk}, + supId=#{supId}, + originCode=#{originCode}, + WHERE id = #{id} + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/info/ScheduleDao.xml b/api-admin/src/main/resources/mybatis/mapper/schedule/ScheduleDao.xml similarity index 64% rename from api-admin/src/main/resources/mybatis/mapper/info/ScheduleDao.xml rename to api-admin/src/main/resources/mybatis/mapper/schedule/ScheduleDao.xml index 0225f3fb..53bc185d 100644 --- a/api-admin/src/main/resources/mybatis/mapper/info/ScheduleDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/schedule/ScheduleDao.xml @@ -1,24 +1,29 @@ - + insert INTO sys_scheduled - (cronName,cron,customerId) - values - ( - #{cronName}, - #{cron}, - #{customerId} - ) + (cronName, cron, customerId) + values (#{cronName}, + #{cron}, + #{customerId}) - + + UPDATE sys_scheduled + + cron=#{cron}, + + WHERE cronName=#{cronName} + - delete from sys_scheduled where id = #{id} + delete + from sys_scheduled + where id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/info/SystemParamConfigDao.xml b/api-admin/src/main/resources/mybatis/mapper/schedule/SystemParamConfigDao.xml similarity index 97% rename from api-admin/src/main/resources/mybatis/mapper/info/SystemParamConfigDao.xml rename to api-admin/src/main/resources/mybatis/mapper/schedule/SystemParamConfigDao.xml index a930df91..71aafbbb 100644 --- a/api-admin/src/main/resources/mybatis/mapper/info/SystemParamConfigDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/schedule/SystemParamConfigDao.xml @@ -1,7 +1,7 @@ - + @@ -46,7 +50,7 @@ ( code,name,measname,spec,registerNo,manufactory, cplb,flbm,qxlb,ybbm,sptm,tyshxydm,zczbhhzbapzbh,ylqxzcrbarmc,ylqxzcrbarywmc,cpms, - thirdSysFk,updateTime + thirdSysFk,updateTime,supName ) values ( @@ -58,7 +62,7 @@ #{manufactory}, #{cplb}, #{flbm}, #{qxlb}, #{ybbm},#{sptm}, #{tyshxydm}, #{zczbhhzbapzbh}, #{ylqxzcrbarmc}, #{ylqxzcrbarywmc},#{cpms} - #{thirdSysFk},#{updateTime} + #{thirdSysFk},#{updateTime},#{supName} ) @@ -67,7 +71,7 @@ ( code,name,measname,spec,registerNo,manufactory, cplb,flbm,qxlb,ybbm,sptm,tyshxydm,zczbhhzbapzbh,ylqxzcrbarmc,ylqxzcrbarywmc,cpms, - thirdSysFk,updateTime + thirdSysFk,updateTime,supName ) values @@ -82,7 +86,7 @@ #{item.manufactory}, #{item.cplb}, #{item.flbm}, #{item.qxlb}, #{item.ybbm},#{item.sptm}, #{item.tyshxydm}, #{item.zczbhhzbapzbh}, #{item.ylqxzcrbarmc}, #{item.ylqxzcrbarywmc},#{item.cpms}, - #{item.thirdSysFk},#{item.updateTime} + #{item.thirdSysFk},#{item.updateTime},#{item.supName} ) @@ -112,6 +116,7 @@ cpms=#{cpms}, thirdSysFk=#{thirdSysFk}, updateTime=#{updateTime}, + supName=#{supName}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsImportDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsImportDetailDao.xml index cc89b172..cee62bdb 100644 --- a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsImportDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsImportDetailDao.xml @@ -30,7 +30,7 @@ ( code,name,measname,spec,registerNo,manufactory, cplb,flbm,qxlb,ybbm,sptm,tyshxydm,zczbhhzbapzbh,ylqxzcrbarmc,ylqxzcrbarywmc,cpms, - thirdSysFk,updateTime ,genKeyFk ) + thirdSysFk,updateTime ,genKeyFk ,supName ) values ( #{code}, @@ -41,7 +41,7 @@ #{manufactory}, #{cplb}, #{flbm}, #{qxlb}, #{ybbm},#{sptm}, #{tyshxydm}, #{zczbhhzbapzbh}, #{ylqxzcrbarmc}, #{ylqxzcrbarywmc},#{cpms} - #{thirdSysFk},#{updateTime},#{genKeyFk} + #{thirdSysFk},#{updateTime},#{genKeyFk},#{supName} ) @@ -50,7 +50,7 @@ ( code,name,measname,spec,registerNo,manufactory, cplb,flbm,qxlb,ybbm,sptm,tyshxydm,zczbhhzbapzbh,ylqxzcrbarmc,ylqxzcrbarywmc,cpms, - thirdSysFk ,updateTime ,genKeyFk ) + thirdSysFk ,updateTime ,genKeyFk,supName ) values @@ -63,7 +63,7 @@ #{item.manufactory}, #{item.cplb}, #{item.flbm}, #{item.qxlb}, #{item.ybbm},#{item.sptm}, #{item.tyshxydm}, #{item.zczbhhzbapzbh}, #{item.ylqxzcrbarmc}, #{item.ylqxzcrbarywmc},#{item.cpms}, - #{item.thirdSysFk} ,#{item.updateTime},#{item.genKeyFk} ) + #{item.thirdSysFk} ,#{item.updateTime},#{item.genKeyFk} ,#{item.supName} ) @@ -95,6 +95,8 @@ thirdSysFk=#{thirdSysFk}, updateTime=#{updateTime}, genKeyFk=#{genKeyFk}, + supName=#{supName}, + WHERE id = #{id}