From c1d4d1b1df11f7f907a66ae460f564d17e0daeb6 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 27 Jun 2023 09:07:02 +0800 Subject: [PATCH 01/24] =?UTF-8?q?=E5=88=86=E7=B1=BB=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E4=BA=A7=E5=93=81=E4=BF=A1=E6=81=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BasicProductCategoryController.java | 144 +++++++++--------- .../thrsys/ThrProductsController.java | 4 +- .../mybatis/mapper/basic/UdiRelevanceDao.xml | 131 ++++++++-------- 3 files changed, 135 insertions(+), 144 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java b/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java index 617256297..f7f088ea2 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java @@ -88,14 +88,14 @@ public class BasicProductCategoryController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - if(StrUtil.isEmpty(basicProductTypeRequest.getName())){ + if (StrUtil.isEmpty(basicProductTypeRequest.getName())) { return ResultVOUtils.error(999, "名字不能为空!"); } Boolean falg = basicProductCategoryService.checkName(basicProductTypeRequest, 1); - if(falg==false){ + if (falg == false) { return ResultVOUtils.error(999, "院内分类名字已存在!"); } - falg = basicProductCategoryService.saveBasicHospType(basicProductTypeRequest); + falg = basicProductCategoryService.saveBasicHospType(basicProductTypeRequest); if (!falg) { return ResultVOUtils.error(999, "插入失败!"); } @@ -110,16 +110,16 @@ public class BasicProductCategoryController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - if(StrUtil.isEmpty(basicProductTypeRequest.getName())){ + if (StrUtil.isEmpty(basicProductTypeRequest.getName())) { return ResultVOUtils.error(999, "名字不能为空!"); } - if(basicProductTypeRequest.getCode().equals(basicProductTypeRequest.getParentCode())){ + if (basicProductTypeRequest.getCode().equals(basicProductTypeRequest.getParentCode())) { return ResultVOUtils.error(999, "上级菜单不能选择自己!"); } Boolean falg = basicProductCategoryService.checkName(basicProductTypeRequest, 2); - if(falg==false){ + if (falg == false) { return ResultVOUtils.error(999, "院内分类名字已存在!"); } falg = basicProductCategoryService.updateBasicHospType(basicProductTypeRequest); @@ -139,16 +139,16 @@ public class BasicProductCategoryController { } //先判断是否有下级 无下级在判断是否有产品 boolean b = basicProductCategoryService.checkExist(basicProductTypeRequest.getCode()); - if(b){ - return ResultVOUtils.error(555,"此分类下还有子分类,不能删除!"); + if (b) { + return ResultVOUtils.error(555, "此分类下还有子分类,不能删除!"); } //判断此分类中是否有产品 boolean checkrel = basicProductCategoryService.checkrel(basicProductTypeRequest.getCode()); - if(checkrel){ - return ResultVOUtils.error(555,"此分类中绑定产品,不能删除!"); + if (checkrel) { + return ResultVOUtils.error(555, "此分类中绑定产品,不能删除!"); } - String msg = basicProductCategoryService.delectBasicHospType(basicProductTypeRequest); + String msg = basicProductCategoryService.delectBasicHospType(basicProductTypeRequest); if (StringUtils.isNotBlank(msg)) { return ResultVOUtils.error(999, msg); @@ -201,7 +201,7 @@ public class BasicProductCategoryController { filterUdiProductRequest.setDiType(1); } - List list= basicProductCategoryService.selectAll(filterUdiProductRequest); + List list = basicProductCategoryService.selectAll(filterUdiProductRequest); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); @@ -216,9 +216,9 @@ public class BasicProductCategoryController { BasicProductCategory category = basicProductCategoryService.checkCode(filterUdiRelRequest.getParentCode()); //过滤已被选入的产品 FilterUdiProductRequest request = new FilterUdiProductRequest(); - if("10000".equals(category.getParentCode())) { + if ("10000".equals(category.getParentCode())) { request.setCode(filterUdiRelRequest.getParentCode()); - }else{ + } else { request.setCode(category.getCode()); } List udiRelevanceResponses1 = basicProductCategoryService.selectAll(request); @@ -227,35 +227,35 @@ public class BasicProductCategoryController { list.add(udiRelevanceResponse.getId()); } filterUdiRelRequest.setExistid(list); - List udiRelevanceResponses=null; + List udiRelevanceResponses = null; - if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { - UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); - if (udiEntity != null) { - filterUdiRelRequest.setNameCode(udiEntity.getUdi()); - filterUdiRelRequest.setUnionCode(udiEntity.getUdi()); - } + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); + if (udiEntity != null) { + filterUdiRelRequest.setNameCode(udiEntity.getUdi()); + filterUdiRelRequest.setUnionCode(udiEntity.getUdi()); } - //如果输入DI标识,精确找到不同层级对应的产品信息 - if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) { - FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); - filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode()); - List temps = basicHospTypeService.filterUdiGp(filterUdiInfoRequest); - if (temps != null && temps.size() > 0) { - filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid()); - filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode()); - filterUdiRelRequest.setUnionCode(null); - } - } else { - //只查找主标识产品信息 - filterUdiRelRequest.setDiType(1); + } + //如果输入DI标识,精确找到不同层级对应的产品信息 + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) { + FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); + filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode()); + List temps = basicHospTypeService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid()); + filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode()); + filterUdiRelRequest.setUnionCode(null); } - if("10000".equals(category.getParentCode())) { + } else { + //只查找主标识产品信息 + filterUdiRelRequest.setDiType(1); + } + if ("10000".equals(category.getParentCode())) { //查全部 - udiRelevanceResponses= basicHospTypeService.filterUdiGpexist(filterUdiRelRequest); + udiRelevanceResponses = basicHospTypeService.filterUdiGpexist(filterUdiRelRequest); - }else{ + } else { // 查上级 FilterUdiProductRequest filterUdiProductRequest = new FilterUdiProductRequest(); filterUdiProductRequest.setCode(category.getParentCode()); @@ -266,7 +266,7 @@ public class BasicProductCategoryController { filterUdiProductRequest.setThrPiId(filterUdiRelRequest.getThrPiId()); filterUdiProductRequest.setNameCode(filterUdiRelRequest.getNameCode()); filterUdiProductRequest.setExistid(list); - udiRelevanceResponses= basicProductCategoryService.selectAll(filterUdiProductRequest); + udiRelevanceResponses = basicProductCategoryService.selectAll(filterUdiProductRequest); } @@ -278,40 +278,39 @@ public class BasicProductCategoryController { } - @GetMapping("/udiwms/basic/product/category/SelcetproductList") public BaseResponse SelectproductList(FilterUdiRelRequest filterUdiRelRequest) { - List udiRelevanceResponses=null; + List udiRelevanceResponses = null; - if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { - UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); - if (udiEntity != null) { - filterUdiRelRequest.setNameCode(udiEntity.getUdi()); - filterUdiRelRequest.setUnionCode(udiEntity.getUdi()); - } + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); + if (udiEntity != null) { + filterUdiRelRequest.setNameCode(udiEntity.getUdi()); + filterUdiRelRequest.setUnionCode(udiEntity.getUdi()); } - //如果输入DI标识,精确找到不同层级对应的产品信息 - if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) { - FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); - filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode()); - List temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); - if (temps != null && temps.size() > 0) { - filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid()); - filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode()); - filterUdiRelRequest.setUnionCode(null); - } - } else { - //只查找主标识产品信息 - filterUdiRelRequest.setDiType(1); + } + //如果输入DI标识,精确找到不同层级对应的产品信息 + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) { + FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); + filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode()); + List temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid()); + filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode()); + filterUdiRelRequest.setUnionCode(null); } + } else { + //只查找主标识产品信息 + filterUdiRelRequest.setDiType(1); + } //是否是一级分类 BasicProductCategory category = basicProductCategoryService.checkCode(filterUdiRelRequest.getParentCode()); - if("10000".equals(category.getParentCode())) { + if ("10000".equals(category.getParentCode())) { //查全部 - udiRelevanceResponses= basicHospTypeService.filterUdiGp(filterUdiRelRequest); - }else{ + udiRelevanceResponses = basicHospTypeService.filterUdiGp(filterUdiRelRequest); + } else { // 查上级 FilterUdiProductRequest filterUdiProductRequest = new FilterUdiProductRequest(); filterUdiProductRequest.setCode(category.getParentCode()); @@ -322,7 +321,7 @@ public class BasicProductCategoryController { filterUdiProductRequest.setThrPiId(filterUdiRelRequest.getThrPiId()); filterUdiProductRequest.setNameCode(filterUdiRelRequest.getNameCode()); - udiRelevanceResponses= basicProductCategoryService.selectAll(filterUdiProductRequest); + udiRelevanceResponses = basicProductCategoryService.selectAll(filterUdiProductRequest); } //循环插入 @@ -331,10 +330,10 @@ public class BasicProductCategoryController { List list = new ArrayList<>(); for (UdiRelevanceResponse udiRelevanceRespons : udiRelevanceResponses) { - list.add(udiRelevanceRespons.getId()+""); + list.add(udiRelevanceRespons.getId() + ""); } - if(!(udiRelevanceResponses != null && udiRelevanceResponses.size()>0)){ - return ResultVOUtils.error(456,"为查询到对应数据!"); + if (!(udiRelevanceResponses != null && udiRelevanceResponses.size() > 0)) { + return ResultVOUtils.error(456, "为查询到对应数据!"); } basicProductTypeRequest.setIds(list); basicProductCategoryService.insertCateRel(basicProductTypeRequest); @@ -343,20 +342,13 @@ public class BasicProductCategoryController { } - @GetMapping("/udiwms/basic/product/category/deleterel") - public BaseResponse deleterel(Integer id){ - basicProductCategoryService.deleterelByid(id); - return ResultVOUtils.success(); + public BaseResponse deleterel(Integer id) { + basicProductCategoryService.deleterelByid(id); + return ResultVOUtils.success(); } - - - - - - @PostMapping("/udiwms/basic/product/category/unbindRel") @Log(title = "单据管理", businessType = BusinessType.UPDATE) public BaseResponse unbindRel(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java index 8352697fe..611b80494 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java @@ -208,7 +208,7 @@ public class ThrProductsController { udiProductEntity.setMeasname(thrProductsEntity.getMeasname()); if (StrUtil.isNotEmpty(thrProductsEntity.getSpec())) udiProductEntity.setGgxh(thrProductsEntity.getSpec()); - if (StrUtil.isNotEmpty(thrProductsEntity.getStandard())) + else if (StrUtil.isNotEmpty(thrProductsEntity.getStandard())) udiProductEntity.setGgxh(thrProductsEntity.getStandard()); if (StrUtil.isNotEmpty(thrProductsEntity.getRegisterNo())) udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo()); @@ -232,8 +232,6 @@ public class ThrProductsController { udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getYlqxzcrbarmc()); if (StrUtil.isNotEmpty(thrProductsEntity.getCpms())) udiProductEntity.setCpms(thrProductsEntity.getCpms()); - if (StrUtil.isNotEmpty(thrProductsEntity.getStandard())) - udiProductEntity.setGgxh(thrProductsEntity.getStandard()); udiProductService.updateUdiInfo(udiProductEntity); } diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index a42c50544..652f0bce9 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -198,12 +198,13 @@ left join basic_hosp_type bht on basic_udirel.relCode = bht.code left join thr_products tp on tp.code = basic_udirel.mainId left join basic_product_category_rel on basic_product_category_rel.relId = basic_udirel.id + left join basic_product_category on basic_product_category_rel.code = basic_product_category.code AND basic_products.ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%') - AND basic_product_category_rel.code = #{category} + AND basic_product_category.name = #{category} AND basic_products.manufactory LIKE concat('%', #{manufactory}, '%') @@ -508,62 +509,62 @@ SELECT b1.*, b2.useMuti as useMuti, - b2.zdcfsycs as zdcfsycs, + b2.useNum as useNum, b2.id as relId, c1.customerId as supId FROM basic_products b1 From 2faa905bfb9834f91b1b845b122b3e677c78e5b8 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 27 Jun 2023 17:26:36 +0800 Subject: [PATCH 04/24] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E4=BC=A0bug=EF=BC=8C=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E9=87=8D=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thrsys/ThirdUploadSetController.java | 1 + .../glxp/api/service/sync/HeartService.java | 34 +++++++++---------- .../mybatis/mapper/basic/ProductInfoDao.xml | 2 +- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThirdUploadSetController.java b/src/main/java/com/glxp/api/controller/thrsys/ThirdUploadSetController.java index 301bd24e3..bd062819f 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ThirdUploadSetController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ThirdUploadSetController.java @@ -74,6 +74,7 @@ public class ThirdUploadSetController { thrOrderUploadBustypesEntity.setOrderStatus(3); thrOrderUploadBustypesEntity.setUpdateTime(new Date()); thrOrderUploadBustypesEntity.setCreateTime(new Date()); + thrOrderUploadBustypesEntity.setId(null); thrOrderUploadBustypesEntity.setOrderSource(Arrays.asList("2")); thrOrderUploadBustypesService.save(thrOrderUploadBustypesEntity); } diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index e25752254..6e495f75b 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -1951,15 +1951,15 @@ public class HeartService { } } - //更新发票信息 - if (CollUtil.isNotEmpty(syncDataResponse.getOrderInvoiceEntities())) { - List orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities(); - for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { - if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { - ioOrderInvoiceMapper.insertOrUpdate(orderInvoiceEntity); - } - } - } +// //更新发票信息 +// if (CollUtil.isNotEmpty(syncDataResponse.getOrderInvoiceEntities())) { +// List orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities(); +// for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { +// if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { +// ioOrderInvoiceMapper.insertOrUpdate(orderInvoiceEntity); +// } +// } +// } } @Resource @@ -1995,14 +1995,14 @@ public class HeartService { } //更新发票信息 - if (CollUtil.isNotEmpty(syncDataResponse.getOrderInvoiceEntities())) { - List orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities(); - for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { - if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { - ioOrderInvoiceMapper.insertOrUpdate(orderInvoiceEntity); - } - } - } +// if (CollUtil.isNotEmpty(syncDataResponse.getOrderInvoiceEntities())) { +// List orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities(); +// for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { +// if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { +// ioOrderInvoiceMapper.insertOrUpdate(orderInvoiceEntity); +// } +// } +// } } diff --git a/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml b/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml index f07a02b15..6c928354b 100644 --- a/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml +++ b/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml @@ -472,7 +472,7 @@ #{sfwwjbz}, #{syqsfxyjxmj}, #{qtxxdwzlj}, - #{mjfs},#{categoryName}) + #{mjfs},#{categoryName}) From 29df3286de25fb7a4ec5903c326347a25ce23ae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Wed, 28 Jun 2023 18:03:29 +0800 Subject: [PATCH 05/24] =?UTF-8?q?=E7=94=B3=E8=B4=AD=E5=8D=95=E6=B5=81?= =?UTF-8?q?=E8=BD=AC=E4=BB=B7=E6=A0=BC=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/IoPurChangeService.java | 19 +++++++++++++++++-- .../api/entity/thrsys/ThrProductsEntity.java | 5 +++++ .../req/thrsys/FilterThrProductsRequest.java | 1 + .../mybatis/mapper/thrsys/ThrProductsDao.xml | 15 ++++++++++----- src/main/resources/schemas/schema_v2.1.sql | 18 +++++++++++++++++- 5 files changed, 50 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java b/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java index 6dce4fff8..bb938275e 100644 --- a/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java +++ b/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java @@ -1,16 +1,20 @@ package com.glxp.api.controller.purchase; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantType; +import com.glxp.api.dao.basic.CompanyProductRelevanceDao; import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; import com.glxp.api.entity.basic.BasicProductsEntity; +import com.glxp.api.entity.basic.CompanyProductRelevanceEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.PurReceiveDetailEntity; import com.glxp.api.entity.inout.PurReceiveEntity; import com.glxp.api.entity.purchase.*; +import com.glxp.api.service.basic.CompanyProductRelevanceService; import com.glxp.api.service.basic.IBasicBusTypeChangeService; import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderService; @@ -24,6 +28,7 @@ import com.glxp.api.util.OrderNoTypeBean; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.awt.geom.QuadCurve2D; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; @@ -61,6 +66,8 @@ public class IoPurChangeService { IoOrderService ioOrderService; @Resource IoOrderDetailBizService ioOrderDetailBizService; + @Resource + CompanyProductRelevanceDao companyProductRelevanceDao; //领用单流转 public void purReceiveChange(PurReceiveEntity purReceiveEntity) { @@ -251,6 +258,14 @@ public class IoPurChangeService { d.setCount(e.getCount()); d.setSupId(e.getSupId()); d.setZczbhhzbapzbh(e.getZczbhhzbapzbh()); + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("customerId", d.getSupId()); + ew.eq("udiRlIdFk", d.getProductId()); + ew.last("limit 1"); + CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceDao.selectOne(ew); + if (companyProductRelevanceEntity != null) { + d.setPrice(companyProductRelevanceEntity.getPrice()); + } return d; }).collect(Collectors.toList()); purOrderDetailService.insertPurOrderDetailEntity(purOrderDetailEntityList); @@ -529,8 +544,8 @@ public class IoPurChangeService { ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory()); ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname()); ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh()); - if (basicProductsEntity.getPrice() != null) { - ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice())); + if (obj.getPrice() != null) { + ioOrderDetailBizEntity.setPrice(obj.getPrice()); } ioOrderDetailBizEntity.setSupId(obj.getSupId()); ioOrderDetailBizService.insert(ioOrderDetailBizEntity); diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrProductsEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrProductsEntity.java index e571a5c1a..35ff4fe61 100644 --- a/src/main/java/com/glxp/api/entity/thrsys/ThrProductsEntity.java +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrProductsEntity.java @@ -191,5 +191,10 @@ public class ThrProductsEntity { @TableField("supCode") private String supCode; + @TableField("type") + private Integer type; + + @TableField(exist = false) + private String createByName; } diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrProductsRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrProductsRequest.java index f8a1ca559..e7e334b8d 100644 --- a/src/main/java/com/glxp/api/req/thrsys/FilterThrProductsRequest.java +++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrProductsRequest.java @@ -34,6 +34,7 @@ public class FilterThrProductsRequest extends ListPageRequest { private String uuid; private Integer diType; + private Integer type; public List getThrProductsEntities() { return thrProductsEntities; diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml index 43d5bc63d..3866964f7 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml @@ -3,8 +3,9 @@ @@ -215,7 +219,7 @@ cplb, flbm, qxlb, ybbm, sptm, tyshxydm, zczbhhzbapzbh, ylqxzcrbarmc, ylqxzcrbarywmc, cpms, thirdSysFk, updateTime, supName, model, standard, qtbm, zczyxqz, remark, remark1, remark2, remark3, price, - createUser, createTime, updateUser, manufactoryCode, supCode) + createUser, createTime, updateUser, manufactoryCode, supCode,type) values #{item.code}, @@ -248,7 +252,7 @@ #{item.price}, #{item.createUser}, #{item.createTime}, - #{item.updateUser}, #{manufactoryCode}, #{supCode} + #{item.updateUser}, #{manufactoryCode}, #{supCode} , #{type} @@ -326,6 +330,7 @@ price = #{price,jdbcType=VARCHAR}, manufactoryCode = #{manufactoryCode,jdbcType=VARCHAR}, supCode = #{supCode,jdbcType=VARCHAR} + type = #{type,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index d2de50266..5a136ca66 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -68,7 +68,7 @@ CALL Pro_Temp_ColumnWork('basic_udirel', 'groupBuy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'isDateBy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'needCert', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'certIdFk', 'varchar(255)', 1); -CALL Pro_Temp_ColumnWork('basic_udirel', 'zdcfsycs', 'int', 1); + CALL Pro_Temp_ColumnWork('basic_products', 'allowNoSerial', 'tinyint', 1); @@ -515,3 +515,19 @@ INSERT ignore INTO `sys_param_config`(id, `parentId`, `paramName`, `paramKey`, ` `paramType`, `paramExplain`, `updateTime`) VALUES (20059, 0, '是否允许编辑第三方产品信息', 'enable_edit_third', '1', 0, 0, '0:否;1:是', NULL); + +CREATE TABLE if not exists `basic_destiny_rel` +( + `id` bigint(0) NOT NULL, + `relId` bigint(0) NULL DEFAULT NULL COMMENT '耗材产品id', + `pId` bigint(0) NULL DEFAULT NULL COMMENT '定数包模板id', + `count` int(0) NULL DEFAULT NULL COMMENT '数量', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包产品关联表' + ROW_FORMAT = Dynamic; + + +CALL Pro_Temp_ColumnWork('thr_products', 'type', 'int', 1); + From 0acfe9785f9d7e9ec8f71f9b52f143ac0719652d Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 3 Jul 2023 09:05:53 +0800 Subject: [PATCH 06/24] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E8=87=B3=E7=AC=AC=E4=B8=89=E6=96=B9=E7=9B=B8=E5=85=B3=E8=B0=83?= =?UTF-8?q?=E6=95=B4=EF=BC=8Cbug=E4=BF=AE=E6=94=B9=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/dao/inout/IoOrderDao.java | 2 +- .../inout/impl/IoOrderServiceImpl.java | 21 ++++++++++++------- .../com/glxp/api/task/SyncThirdSysTask.java | 4 +++- .../mybatis/mapper/inout/IoOrderDao.xml | 5 +++++ 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java index ac5351321..8c5e41da9 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java @@ -70,7 +70,7 @@ public interface IoOrderDao extends BaseMapperPlus selectWaitSubmitOrder(@Param("thirdSys") String thirdSys); + List selectWaitSubmitOrder(@Param("thirdSys") String thirdSys, @Param("orderStartTime") String orderStartTime); boolean updateOrder(IoOrderEntity orderEntity); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index f1f702b0f..b6b2c3641 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -27,6 +27,7 @@ import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.*; import com.glxp.api.entity.system.SyncDataBustypeEntity; +import com.glxp.api.entity.system.SyncUploadDataSetEntity; import com.glxp.api.entity.thrsys.ThrOrderUploadBustypesEntity; import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; @@ -42,6 +43,7 @@ import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; import com.glxp.api.service.inv.*; import com.glxp.api.service.system.SyncUploadDataBustypeService; +import com.glxp.api.service.system.SyncUploadDataSetService; import com.glxp.api.service.thrsys.ThrOrderUploadBustypesService; import com.glxp.api.util.MsDateUtil; import com.glxp.api.util.IntUtil; @@ -844,14 +846,14 @@ public class IoOrderServiceImpl implements IoOrderService { udiwmsOrderRequest.setBillType(billType); String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udiwms/erp/submitOrders", udiwmsOrderRequest); if (StrUtil.isBlank(response)) { - log.info("单据提交失败,无返回信息"); + log.error("----单据上传----" + billNo + "单据提交失败,无返回信息"); return ResultVOUtils.error(500, "提交失败"); } else { BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); if (baseResponse.getCode() == 20000) { return ResultVOUtils.success("提交成功"); } else { - log.error("单据提交失败,错误信息:{}", baseResponse.getMessage()); + log.error("----单据上传----" + billNo + baseResponse.getMessage()); return ResultVOUtils.error(500, "提交失败"); } } @@ -865,11 +867,14 @@ public class IoOrderServiceImpl implements IoOrderService { @Resource ThrOrderUploadBustypesService thrOrderUploadBustypesService; + @Resource + SyncUploadDataSetService syncUploadDataSetService; @Override public BaseResponse submitOrderToThrSys(ThrSystemDetailEntity thrSystemDetailEntity) { //查询可以提交到第三方系统的单据 - List billNos = orderDao.selectWaitSubmitOrder(thrSystemDetailEntity.getThirdSysFk()); + SyncUploadDataSetEntity syncUploadDataSetEntity = syncUploadDataSetService.selectSet(); + List billNos = orderDao.selectWaitSubmitOrder(thrSystemDetailEntity.getThirdSysFk(),syncUploadDataSetEntity.getOrderStartTime()); if (CollUtil.isNotEmpty(billNos)) { log.info("开始提交单据到第三方系统,本次提交单据数量:{}", billNos.size()); for (String billNo : billNos) { @@ -879,25 +884,25 @@ public class IoOrderServiceImpl implements IoOrderService { log.error(billNo + ":" + orderEntity.getAction() + "单据类型未设置自动上传"); return ResultVOUtils.error(500, billNo + ":" + orderEntity.getAction() + "单据类型未设置自动上传"); } - if (thrOrderUploadBustypesEntity.getOrderSource().contains(orderEntity.getFromType() + "")) { + if (!thrOrderUploadBustypesEntity.getOrderSource().contains(orderEntity.getFromType() + "")) { log.error(billNo + ":" + "单据来源不允许自动提交"); - return ResultVOUtils.error(500, billNo + ":" + "单据来源不允许自动提交"); + continue; } if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 1) { if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW) { log.error(billNo + ":" + "非待审核单据"); - return ResultVOUtils.error(500, billNo + ":" + "非待审核单据"); + continue; } } else if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 2) { if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_AUDITED) { log.error(billNo + ":" + "非已审核单据"); - return ResultVOUtils.error(500, billNo + ":" + "非已审核单据"); + continue; } } else if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 3) { if (IntUtil.value(orderEntity.getCheckStatus()) != 1) { log.error(billNo + ":" + "非已确认单据"); - return ResultVOUtils.error(500, billNo + ":" + "非已确认单据"); + continue; } } return submitToThrSys(billNo); diff --git a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java index ee60d88b4..7c9b708c8 100644 --- a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java +++ b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java @@ -274,7 +274,9 @@ public class SyncThirdSysTask implements SchedulingConfigurer { long curTime = new Date().getTime(); if (vo != null) { long lastTime = vo.getNextTime(); - if (curTime - lastTime < thrSystemDetailEntity.getTime().intValue() * 1000 * 60) { + + long timeInterval = Long.parseLong(thrSystemDetailEntity.getTime().intValue() + "") * 1000 * 60; + if (curTime - lastTime < timeInterval) { log.info("定时任务时间未到", taskKey); return false; } else { diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 5e417cb01..3d9e2f404 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -441,6 +441,11 @@ AND t1.thirdSys = #{thirdSys} + + = DATE_FORMAT(#{orderStartTime}, '%Y-%m-%d %H:%i:%S') + ]]> + From dad49893d392f6224ea41db612f4a233a37c753e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 3 Jul 2023 11:06:31 +0800 Subject: [PATCH 07/24] =?UTF-8?q?=E5=AE=9A=E6=95=B0=E5=8C=85=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BasicDestinyRelController.java | 271 +++++++++++++++++ .../api/dao/basic/BasicDestinyRelMapper.java | 16 +- ...inyRel.java => BasicDestinyRelEntity.java} | 2 +- .../api/req/basic/BasicDestinyRelRequest.java | 21 ++ .../api/res/basic/UdiRelevanceResponse.java | 3 + .../service/basic/BasicDestinyRelService.java | 17 ++ .../mapper/basic/BasicDestinyRelMapper.xml | 285 +++++++++++++++++- 7 files changed, 611 insertions(+), 4 deletions(-) rename src/main/java/com/glxp/api/entity/basic/{BasicDestinyRel.java => BasicDestinyRelEntity.java} (94%) create mode 100644 src/main/java/com/glxp/api/req/basic/BasicDestinyRelRequest.java diff --git a/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java b/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java index 3c8851174..c14fef462 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java @@ -1,7 +1,278 @@ package com.glxp.api.controller.basic; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.purchase.PurApplyDetailEntity; +import com.glxp.api.entity.thrsys.ThrProductsEntity; +import com.glxp.api.exception.JsonException; +import com.glxp.api.req.basic.BasicDestinyRelRequest; +import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest; +import com.glxp.api.req.basic.CompanyProductRelevanceRequest; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.service.auth.AuthAdminService; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.BasicDestinyRelService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.thrsys.ThrProductsService; +import com.glxp.api.util.BeanCopyUtils; +import com.glxp.api.util.udi.FilterUdiUtils; +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.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; @RestController public class BasicDestinyRelController { + + @Resource + private ThrProductsService thrProductsService; + @Resource + private CustomerService customerService; + @Resource + private UdiRelevanceService udiRelevanceService; + @Resource + private AuthAdminService authAdminService; + @Resource + private BasicDestinyRelService basicDestinyRelService; + + @GetMapping("/udiwms/basic/destiny/model/filter") + public BaseResponse filterModeldestiny(FilterThrProductsRequest filterThrProductsRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrProductsEntities = thrProductsService.filterThrProducts(filterThrProductsRequest); + PageInfo pageInfo = new PageInfo<>(thrProductsEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrProductsEntities); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/basic/destiny/model/addModeldestiny") + public BaseResponse addModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) { + + //判断名字和编号不能重复 + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("name", thrProductsEntity.getName()); + ew.eq("type", 2); + long count = thrProductsService.count(ew); + if (count > 0) { + return ResultVOUtils.error(999, "名称已存在!"); + } + ew.clear(); + ew.eq("code", thrProductsEntity.getCode()); + ew.eq("type", 2); + count = thrProductsService.count(ew); + if (count > 0) { + return ResultVOUtils.error(999, "编号已存在!"); + } + + AuthAdmin authAdmin = customerService.getUserBean(); + thrProductsEntity.setId(IdUtil.getSnowflakeNextId()); + thrProductsEntity.setType(2); + thrProductsEntity.setCreateTime(new Date()); + thrProductsEntity.setUpdateTime(new Date()); + thrProductsEntity.setCreateUser(authAdmin.getId() + ""); + thrProductsEntity.setUpdateUser(authAdmin.getId() + ""); + + Boolean falg = thrProductsService.insertThrProducts(thrProductsEntity); + if (!falg) { + return ResultVOUtils.error(999, "新增失败!"); + } + return ResultVOUtils.success(); + } + + @PostMapping("/udiwms/basic/destiny/model/editModeldestiny") + public BaseResponse editModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) { + + //判断名字和编号不能重复 + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("name", thrProductsEntity.getName()); + ew.eq("type", 2); + ThrProductsEntity thrProductsEntity1 = thrProductsService.getOne(ew); + if (thrProductsEntity1 != null && !thrProductsEntity1.getId().equals(thrProductsEntity.getId())) { + return ResultVOUtils.error(999, "名称已存在!"); + } + ew.clear(); + ew.eq("code", thrProductsEntity.getCode()); + ew.eq("type", 2); + thrProductsEntity1 = thrProductsService.getOne(ew); + if (thrProductsEntity1 != null && !thrProductsEntity1.getId().equals(thrProductsEntity.getId())) { + return ResultVOUtils.error(999, "编号已存在!"); + } + + AuthAdmin authAdmin = customerService.getUserBean(); + thrProductsEntity.setUpdateTime(new Date()); + thrProductsEntity.setUpdateUser(authAdmin.getId() + ""); + + Boolean falg = thrProductsService.updateById(thrProductsEntity); + if (!falg) { + return ResultVOUtils.error(999, "编辑失败!"); + } + return ResultVOUtils.success(); + } + + @PostMapping("/udiwms/basic/destiny/model/delectModeldestiny") + public BaseResponse delectModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) { + + Boolean falg = thrProductsService.deleteById(thrProductsEntity.getId() + ""); + if (!falg) { + return ResultVOUtils.error(999, "删除失败!"); + } + return ResultVOUtils.success(); + } + + //查询产品信息 + @AuthRuleAnnotation("") + @GetMapping("/udiwms/basic/destiny/model/product/filter") + public BaseResponse filterDestinyProduct(CompanyProductRelevanceRequest companyProductRelevanceRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getCustomerId())) { + String customerId = getCustomerId(); + if (customerId.equals("110")) { + companyProductRelevanceRequest.setCustomerId(null); + } + } + + companyProductRelevanceRequest.setIsDisable(false); + if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(companyProductRelevanceRequest.getUdiCode()); + if (udiEntity != null) { + companyProductRelevanceRequest.setNameCode(udiEntity.getUdi()); + companyProductRelevanceRequest.setUnionCode(udiEntity.getUdi()); + } + } + //如果输入DI标识,精确找到不同层级对应的产品信息 + if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUnionCode())) { + FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); + filterUdiInfoRequest.setNameCode(companyProductRelevanceRequest.getUnionCode()); + List temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + companyProductRelevanceRequest.setOriginUuid(temps.get(0).getOriginUuid()); + companyProductRelevanceRequest.setNameCode(filterUdiInfoRequest.getNameCode()); + companyProductRelevanceRequest.setUnionCode(null); + } + } else { + //只查找主标识产品信息 + companyProductRelevanceRequest.setDiType(1); + } + //查询详情id过滤 + List idList = basicDestinyRelService.filterDestinyRelIds(Long.valueOf(companyProductRelevanceRequest.getId())); + + List basicInstrumentMaintainRelevanceResponses = null; + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + BeanCopyUtils.copy(companyProductRelevanceRequest, filterUdiRelRequest); + if (idList.size() > 0) { + filterUdiRelRequest.setIds(idList); + } + basicInstrumentMaintainRelevanceResponses = basicDestinyRelService.filterUdiJoinSup(filterUdiRelRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(basicInstrumentMaintainRelevanceResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicInstrumentMaintainRelevanceResponses); + + return ResultVOUtils.success(pageSimpleResponse); + } + + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } + + @PostMapping("/udiwms/basic/destiny/model/addModeldestinyProduct") + public BaseResponse addModeldestinyProduct(@RequestBody BasicDestinyRelRequest basicDestinyRelRequest) { + + Boolean falg = basicDestinyRelService.addModeldestinyProduct(basicDestinyRelRequest); + + if (!falg) { + return ResultVOUtils.error(999, "选入失败!"); + } + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/destiny/model/filterDestinyDelect") + public BaseResponse filterDestinyDelect(FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrProductsEntities = new ArrayList<>(); + //查询详情id过滤 + List idList = basicDestinyRelService.filterDestinyRelIds(Long.valueOf(filterUdiRelRequest.getId())); + if (idList != null && idList.size() > 0) { + filterUdiRelRequest.setIds(idList); + filterUdiRelRequest.setDiType(1); + thrProductsEntities = basicDestinyRelService.filterDestinyProducts(filterUdiRelRequest); + int i=0; + for (UdiRelevanceResponse thrProductsEntity : thrProductsEntities) { + thrProductsEntity.setIndex(i); + i++; + } + } + PageInfo pageInfo = new PageInfo<>(thrProductsEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrProductsEntities); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/basic/destiny/model/delectModeldestinyProduct") + public BaseResponse delectModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) { + + Boolean falg = basicDestinyRelService.delectModeldestinyProduct(basicDestinyRelRequest); + + if (!falg) { + return ResultVOUtils.error(999, "删除失败!"); + } + return ResultVOUtils.success(); + } + + @PostMapping("/udiwms/basic/destiny/model/uploadModeldestinyProduct") + public BaseResponse uploadModeldestinyProduct(@RequestBody BasicDestinyRelRequest basicDestinyRelRequest) { + + Boolean falg = basicDestinyRelService.uploadModeldestinyProduct(basicDestinyRelRequest); + + if (!falg) { + return ResultVOUtils.error(999, "更新失败!"); + } + return ResultVOUtils.success(); + } + + + } diff --git a/src/main/java/com/glxp/api/dao/basic/BasicDestinyRelMapper.java b/src/main/java/com/glxp/api/dao/basic/BasicDestinyRelMapper.java index b1706ff09..f5bf24964 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicDestinyRelMapper.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicDestinyRelMapper.java @@ -1,9 +1,21 @@ package com.glxp.api.dao.basic; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.glxp.api.entity.basic.BasicDestinyRel; +import com.glxp.api.dao.BaseMapperPlus; +import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.entity.basic.BasicDestinyRelEntity; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper -public interface BasicDestinyRelMapper extends BaseMapper { +public interface BasicDestinyRelMapper extends BaseMapperPlus { + + List filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest); + + List filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest); + + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/basic/BasicDestinyRel.java b/src/main/java/com/glxp/api/entity/basic/BasicDestinyRelEntity.java similarity index 94% rename from src/main/java/com/glxp/api/entity/basic/BasicDestinyRel.java rename to src/main/java/com/glxp/api/entity/basic/BasicDestinyRelEntity.java index 47eeb9380..27938a843 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicDestinyRel.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicDestinyRelEntity.java @@ -11,7 +11,7 @@ import lombok.Data; */ @Data @TableName(value = "udi_wms.basic_destiny_rel") -public class BasicDestinyRel { +public class BasicDestinyRelEntity { @TableId(value = "id", type = IdType.INPUT) private Long id; diff --git a/src/main/java/com/glxp/api/req/basic/BasicDestinyRelRequest.java b/src/main/java/com/glxp/api/req/basic/BasicDestinyRelRequest.java new file mode 100644 index 000000000..79c2e4c70 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/BasicDestinyRelRequest.java @@ -0,0 +1,21 @@ +package com.glxp.api.req.basic; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; + +import java.util.List; + +@Data +public class BasicDestinyRelRequest { + private List list; + private Long pId; + private Long id; + private int count; + public List getList() { + return list; + } + + public Long getpId() { + return pId; + } +} diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index 47af0d2c3..dde051c2d 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -98,6 +98,7 @@ public class UdiRelevanceResponse { private Integer recentDateTime; private Integer isDateBy; private String relCode; + private int index; //关联查询字典 private String unitFk; //供应商ID @@ -120,6 +121,8 @@ public class UdiRelevanceResponse { private String syqsfxyjxmj; private String mjfs; private String categoryName; + private int count; + private Long deId; private Integer bpcrid; diff --git a/src/main/java/com/glxp/api/service/basic/BasicDestinyRelService.java b/src/main/java/com/glxp/api/service/basic/BasicDestinyRelService.java index 2ec8ac5ca..6cece5ef2 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicDestinyRelService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicDestinyRelService.java @@ -1,7 +1,24 @@ package com.glxp.api.service.basic; +import com.glxp.api.req.basic.BasicDestinyRelRequest; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; import org.springframework.stereotype.Service; +import java.util.List; + public interface BasicDestinyRelService{ + Boolean addModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest); + + List filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest); + + List filterDestinyRelIds(Long pId); + + List filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest); + + Boolean delectModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest); + + Boolean uploadModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest); + } diff --git a/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml index 64cbdd712..4eb4ee9c4 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml @@ -1,7 +1,7 @@ - + @@ -13,4 +13,287 @@ id, relId, pId, `count` + + + + + + + + + \ No newline at end of file From 70c4f26511d0a9b1c3ca01eb790c58fb15237edc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 3 Jul 2023 11:13:02 +0800 Subject: [PATCH 08/24] =?UTF-8?q?=E5=AE=9A=E6=95=B0=E5=8C=85=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BasicDestinyRelServiceImpl.java | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 src/main/java/com/glxp/api/service/basic/impl/BasicDestinyRelServiceImpl.java diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicDestinyRelServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicDestinyRelServiceImpl.java new file mode 100644 index 000000000..b90b5ff42 --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicDestinyRelServiceImpl.java @@ -0,0 +1,97 @@ +package com.glxp.api.service.basic.impl; + + +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.basic.BasicDestinyRelMapper; +import com.glxp.api.dao.basic.UdiRelevanceDao; +import com.glxp.api.entity.basic.BasicDestinyRelEntity; +import com.glxp.api.req.basic.BasicDestinyRelRequest; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.service.basic.BasicDestinyRelService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + + +@Service +public class BasicDestinyRelServiceImpl implements BasicDestinyRelService { + + @Resource + BasicDestinyRelMapper basicDestinyRelMapper; + + @Resource + UdiRelevanceDao udiRelevanceDao; + + @Override + public Boolean addModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) { + + List basicDestinyRelEntitList = new ArrayList<>(); + for (Long str : basicDestinyRelRequest.getList()) { + BasicDestinyRelEntity basicDestinyRelEntity = new BasicDestinyRelEntity(); + basicDestinyRelEntity.setId(IdUtil.getSnowflakeNextId()); + basicDestinyRelEntity.setRelId(str); + basicDestinyRelEntity.setPId(basicDestinyRelRequest.getpId()); + basicDestinyRelEntitList.add(basicDestinyRelEntity); + } + Boolean flag = basicDestinyRelMapper.insertBatch(basicDestinyRelEntitList); + return flag; + } + + @Override + public List filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest) { + if (filterUdiRelRequest == null) { + return Collections.emptyList(); + } + if (filterUdiRelRequest.getPage() != null) { + int offset = (filterUdiRelRequest.getPage() - 1) * filterUdiRelRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiRelRequest.getLimit()); + } + List data = basicDestinyRelMapper.filterUdiJoinSup(filterUdiRelRequest); + return data; + } + + @Override + public List filterDestinyRelIds(Long pId) { + + List stringList = new ArrayList<>(); + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("pId", pId); + List basicDestinyRelEntities = basicDestinyRelMapper.selectList(ew); + for (BasicDestinyRelEntity basicDestinyRelEntity : basicDestinyRelEntities) { + stringList.add(basicDestinyRelEntity.getRelId()); + } + return stringList; + } + + @Override + public List filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest) { + if (filterUdiRelRequest == null) { + return Collections.emptyList(); + } + if (filterUdiRelRequest.getPage() != null) { + int offset = (filterUdiRelRequest.getPage() - 1) * filterUdiRelRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiRelRequest.getLimit()); + } + List data = basicDestinyRelMapper.filterDestinyProducts(filterUdiRelRequest); + return data; + } + + @Override + public Boolean delectModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) { + return basicDestinyRelMapper.deleteById(basicDestinyRelRequest.getId()) > 0 ? true : false; + } + + @Override + public Boolean uploadModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) { + BasicDestinyRelEntity basicDestinyRelEntity=new BasicDestinyRelEntity(); + basicDestinyRelEntity.setId(basicDestinyRelRequest.getId()); + basicDestinyRelEntity.setCount(basicDestinyRelRequest.getCount()); + return basicDestinyRelMapper.updateById(basicDestinyRelEntity)> 0 ? true : false; + } +} From de55970ff8dd61c042f53c02546d814548a7fad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 3 Jul 2023 11:24:17 +0800 Subject: [PATCH 09/24] =?UTF-8?q?=E5=AE=9A=E6=95=B0=E5=8C=85=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E4=BB=A3=E7=A0=81=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/inout/IoDestinyProcessCodeMapper.java | 9 ++ .../inout/IoDestinyProcessDetailMapper.java | 9 ++ .../api/dao/inout/IoDestinyProcessMapper.java | 9 ++ .../inout/IoDestinyProcessCodeEntity.java | 82 ++++++++++++++++++ .../inout/IoDestinyProcessDetailEntity.java | 35 ++++++++ .../entity/inout/IoDestinyProcessEntity.java | 84 +++++++++++++++++++ .../inout/IoDestinyProcessCodeService.java | 8 ++ .../inout/IoDestinyProcessDetailService.java | 8 ++ .../inout/IoDestinyProcessService.java | 6 ++ .../impl/IoDestinyProcessCodeServiceImpl.java | 8 ++ .../IoDestinyProcessDetailServiceImpl.java | 11 +++ .../impl/IoDestinyProcessServiceImpl.java | 10 +++ .../inout/IoDestinyProcessCodeMapper.xml | 25 ++++++ .../inout/IoDestinyProcessDetailMapper.xml | 16 ++++ .../mapper/inout/IoDestinyProcessMapper.xml | 25 ++++++ 15 files changed, 345 insertions(+) create mode 100644 src/main/java/com/glxp/api/dao/inout/IoDestinyProcessCodeMapper.java create mode 100644 src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java create mode 100644 src/main/java/com/glxp/api/dao/inout/IoDestinyProcessMapper.java create mode 100644 src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java create mode 100644 src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java create mode 100644 src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java create mode 100644 src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java create mode 100644 src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java create mode 100644 src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java create mode 100644 src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java create mode 100644 src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml create mode 100644 src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml create mode 100644 src/main/resources/mybatis/mapper/inout/IoDestinyProcessMapper.xml diff --git a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessCodeMapper.java b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessCodeMapper.java new file mode 100644 index 000000000..01a97f2b2 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessCodeMapper.java @@ -0,0 +1,9 @@ +package com.glxp.api.dao.inout; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface IoDestinyProcessCodeMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java new file mode 100644 index 000000000..6c9c05b32 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java @@ -0,0 +1,9 @@ +package com.glxp.api.dao.inout; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface IoDestinyProcessDetailMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessMapper.java b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessMapper.java new file mode 100644 index 000000000..fc6c49cd5 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessMapper.java @@ -0,0 +1,9 @@ +package com.glxp.api.dao.inout; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.inout.IoDestinyProcessEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface IoDestinyProcessMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java new file mode 100644 index 000000000..0a1b789e3 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java @@ -0,0 +1,82 @@ +package com.glxp.api.entity.inout; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +/** + * 定速包加工明细表 + */ +@Data +@TableName(value = "io_destiny_process_code") +public class IoDestinyProcessCodeEntity { + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + /** + * 订单号外键 + */ + @TableField(value = "orderIdFk") + private String orderIdFk; + + /** + * 耗材字典ID外键 + */ + @TableField(value = "bindRlFk") + private String bindRlFk; + + /** + * DI信息UUID外键 + */ + @TableField(value = "uuidFk") + private String uuidFk; + + /** + * DI + */ + @TableField(value = "nameCode") + private String nameCode; + + /** + * 批次号 + */ + @TableField(value = "batchNo") + private String batchNo; + + /** + * 生产日期 + */ + @TableField(value = "productDate") + private String productDate; + + /** + * 失效日期 + */ + @TableField(value = "expireDate") + private String expireDate; + + /** + * 价格 + */ + @TableField(value = "price") + private BigDecimal price; + + /** + * 供应商ID外键 + */ + @TableField(value = "supId") + private String supId; + + /** + * 单据数量 + */ + @TableField(value = "`count`") + private Integer count; + + @TableField(value = "updateTime") + private Date updateTime; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java new file mode 100644 index 000000000..864eb342a --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java @@ -0,0 +1,35 @@ +package com.glxp.api.entity.inout; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 定数包产品关联表 + */ +@Data +@TableName(value = "io_destiny_process_detail") +public class IoDestinyProcessDetailEntity { + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + /** + * 耗材产品id + */ + @TableField(value = "relId") + private Long relId; + + /** + * 数量 + */ + @TableField(value = "`count`") + private Integer count; + + /** + * 实际数量 + */ + @TableField(value = "reCount") + private Integer reCount; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java new file mode 100644 index 000000000..4f502b5b2 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java @@ -0,0 +1,84 @@ +package com.glxp.api.entity.inout; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import lombok.Data; + +/** + * 定数包表 + */ +@Data +@TableName(value = "io_destiny_process") +public class IoDestinyProcessEntity { + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + /** + * 定数包模板id + */ + @TableField(value = "destinyId") + private Long destinyId; + + /** + * 唯一编码 + */ + @TableField(value = "destinyNo") + private Long destinyNo; + + /** + * 单据号 + */ + @TableField(value = "billNo") + private String billNo; + + /** + * 单据时间 + */ + @TableField(value = "billDate") + private Date billDate; + + /** + * 单前仓库 + */ + @TableField(value = "invCode") + private String invCode; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + /** + * 创建人 + */ + @TableField(value = "`createUser`") + private String createUser; + + /** + * 更新人 + */ + @TableField(value = "updateUser") + private String updateUser; + + /** + * 状态 0 :草稿 1:待校验 2:已校验 + */ + @TableField(value = "`status`") + private Integer status; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java new file mode 100644 index 000000000..76a0e54fb --- /dev/null +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java @@ -0,0 +1,8 @@ +package com.glxp.api.service.inout; + +import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; +import com.baomidou.mybatisplus.extension.service.IService; +public interface IoDestinyProcessCodeService{ + + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java new file mode 100644 index 000000000..b51861a54 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java @@ -0,0 +1,8 @@ +package com.glxp.api.service.inout; + +import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import com.baomidou.mybatisplus.extension.service.IService; +public interface IoDestinyProcessDetailService{ + + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java new file mode 100644 index 000000000..24633790e --- /dev/null +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java @@ -0,0 +1,6 @@ +package com.glxp.api.service.inout; + + +public interface IoDestinyProcessService{ + +} diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java new file mode 100644 index 000000000..e98d51ac2 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java @@ -0,0 +1,8 @@ +package com.glxp.api.service.inout.impl; + +import org.springframework.stereotype.Service; +import com.glxp.api.service.inout.IoDestinyProcessCodeService; +@Service +public class IoDestinyProcessCodeServiceImpl implements IoDestinyProcessCodeService { + +} diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java new file mode 100644 index 000000000..5812f8875 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java @@ -0,0 +1,11 @@ +package com.glxp.api.service.inout.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.dao.inout.IoDestinyProcessDetailMapper; +import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import com.glxp.api.service.inout.IoDestinyProcessDetailService; +@Service +public class IoDestinyProcessDetailServiceImpl implements IoDestinyProcessDetailService{ + +} diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java new file mode 100644 index 000000000..fa72cff7c --- /dev/null +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java @@ -0,0 +1,10 @@ +package com.glxp.api.service.inout.impl; + + +import com.glxp.api.service.inout.IoDestinyProcessService; +import org.springframework.stereotype.Service; + +@Service +public class IoDestinyProcessServiceImpl implements IoDestinyProcessService { + +} diff --git a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml new file mode 100644 index 000000000..cb71a6f81 --- /dev/null +++ b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + id, orderIdFk, bindRlFk, uuidFk, nameCode, batchNo, productDate, expireDate, price, + supId, `count`, updateTime + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml new file mode 100644 index 000000000..9357cd2dc --- /dev/null +++ b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + id, relId, `count`, reCount + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessMapper.xml b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessMapper.xml new file mode 100644 index 000000000..63cd8b7a6 --- /dev/null +++ b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + id, destinyId, destinyNo, billNo, billDate, invCode, remark, createTime, updateTime, + `createUser`, updateUser, `status` + + \ No newline at end of file From 375ff7aa5dcb9564e6dcdb345126d574e5dabb0a Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 3 Jul 2023 14:19:57 +0800 Subject: [PATCH 10/24] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=8D=95=E6=8D=AE=E4=B8=8A=E4=BC=A0=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/constant/Constant.java | 1 + .../impl/BasicBussinessTypeServiceImpl.java | 20 +++++++++++++++++++ .../java/com/glxp/api/task/SyncHeartTask.java | 18 ++++++++--------- .../com/glxp/api/task/SyncThirdSysTask.java | 2 +- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index e22166a49..c197d1e18 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -284,6 +284,7 @@ public class Constant { public static final String ORDER_ACTION_SUP_DELAUDIT = "supDelAudit"; public static final String ORDER_ACTION_SUP_INOUT = "supInout"; public static final String ORDER_ACTION_SUP_PREIN = "preInOrder"; + public static final String ORDER_THIRD_UPLOAD = "thirdUpload"; public static final String SYNC_REMARK = "syncRemark"; } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java index 79d9e52c6..9e3a6b811 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java @@ -10,16 +10,21 @@ import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantType; import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.inout.IoOrderDetailBizEntity; +import com.glxp.api.entity.thrsys.ThrOrderUploadBustypesEntity; import com.glxp.api.req.basic.FilterBussinessTypeRequest; import com.glxp.api.res.basic.BasicBussinessTypeResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.service.thrsys.ThrOrderUploadBustypesService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; @@ -34,6 +39,8 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl filterList(FilterBussinessTypeRequest filterBussinessTypeRequest) { @@ -257,6 +264,19 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl() .gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2) .eq("inStock", true).eq("mainAction", ConstantType.TYPE_PUT)); + break; + case Constant.ORDER_THIRD_UPLOAD: + + List thrOrderUploadBustypesEntities = thrOrderUploadBustypesService.list(); + List actions = new ArrayList<>(); + thrOrderUploadBustypesEntities.forEach(item -> + { + actions.add(item.getAction()); + }); + if (CollUtil.isNotEmpty(actions)) { + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper().in("action", actions)); + } + break; default: break; diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index 2dcc0989d..290f08b5b 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -8,6 +8,7 @@ import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.req.system.ScheduledRequest; import com.glxp.api.service.sync.HeartService; import com.glxp.api.util.RedisUtil; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.exception.ExceptionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -20,12 +21,11 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Arrays; - +@Slf4j @Component @EnableScheduling public class SyncHeartTask implements SchedulingConfigurer { - final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class); @Resource protected ScheduledDao scheduledDao; @Resource @@ -45,7 +45,7 @@ public class SyncHeartTask implements SchedulingConfigurer { ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); String cron = scheduledEntity.getCron(); if (cron.isEmpty()) { - logger.error("cron is null"); + log.error("cron is null"); } return new CronTrigger(cron).nextExecutionTime(triggerContext); }); @@ -54,12 +54,10 @@ public class SyncHeartTask implements SchedulingConfigurer { private void process() { - logger.info("数据同步心跳"); + log.info("数据同步心跳--"); //查询数据同步设置 SyncDataSetEntity syncDataSetEntity = syncDataSetDao.selectSet(); if (syncDataSetEntity.isDownstreamEnable()) { - - //定时上传最近更新基础数据至上游轮询时间 long timeInterval1 = syncDataSetEntity.getSyncTime() * 6 * 1000L; long curTime1 = System.currentTimeMillis(); @@ -82,7 +80,7 @@ public class SyncHeartTask implements SchedulingConfigurer { redisUtil.set("SPS_SYNC_UPLOAD_DATA", curTime1); } } catch (Exception e) { - logger.error(ExceptionUtils.getStackTrace(e)); + log.error(ExceptionUtils.getStackTrace(e)); e.printStackTrace(); } @@ -103,7 +101,7 @@ public class SyncHeartTask implements SchedulingConfigurer { redisUtil.set("SPS_SYNC_UPLOAD_ORDER", curTime2); } } catch (Exception e) { - logger.error(ExceptionUtils.getStackTrace(e)); + log.error(ExceptionUtils.getStackTrace(e)); e.printStackTrace(); } @@ -121,13 +119,13 @@ public class SyncHeartTask implements SchedulingConfigurer { heartService.dlAllOrder(); } catch (Exception e) { e.printStackTrace(); - logger.error(ExceptionUtils.getStackTrace(e)); + log.error(ExceptionUtils.getStackTrace(e)); } try { heartService.dlAllDiProducts(); } catch (Exception e) { e.printStackTrace(); - logger.error(ExceptionUtils.getStackTrace(e)); + log.error(ExceptionUtils.getStackTrace(e)); } Arrays.stream(BasicExportTypeEnum.values()).forEach(i -> { heartService.pullData(i); diff --git a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java index 7c9b708c8..fe6c696f3 100644 --- a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java +++ b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java @@ -277,7 +277,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer { long timeInterval = Long.parseLong(thrSystemDetailEntity.getTime().intValue() + "") * 1000 * 60; if (curTime - lastTime < timeInterval) { - log.info("定时任务时间未到", taskKey); + log.info("定时任务时间未到---" + taskKey); return false; } else { return true; From 768bb3953284bcff1da44ff12abf40f73eb19a18 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 3 Jul 2023 17:51:02 +0800 Subject: [PATCH 11/24] =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/util/udi/UdiInfoUtil.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/glxp/api/util/udi/UdiInfoUtil.java b/src/main/java/com/glxp/api/util/udi/UdiInfoUtil.java index 252bdbbc8..438491fde 100644 --- a/src/main/java/com/glxp/api/util/udi/UdiInfoUtil.java +++ b/src/main/java/com/glxp/api/util/udi/UdiInfoUtil.java @@ -28,6 +28,12 @@ public class UdiInfoUtil { if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhsxrq()) && "否".equals(udiProductEntity.getScbssfbhsxrq())) { udiProductEntity.setAllowNoExpire(true); } + if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhxlh()) && "否".equals(udiProductEntity.getScbssfbhxlh())) { + udiProductEntity.setAllowNoExpire(true); + } else if (StrUtil.isEmpty(udiProductEntity.getScbssfbhxlh())) { + udiProductEntity.setAllowNoExpire(true); + } + return udiProductEntity; } @@ -47,12 +53,17 @@ public class UdiInfoUtil { if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhsxrq()) && "否".equals(udiProductEntity.getScbssfbhsxrq())) { udiProductEntity.setAllowNoExpire(true); } - //名字转拼音 - if(StrUtil.isNotBlank(udiProductEntity.getCpmctymc())){ + if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhxlh()) && "否".equals(udiProductEntity.getScbssfbhxlh())) { + udiProductEntity.setAllowNoExpire(true); + } else if (StrUtil.isEmpty(udiProductEntity.getScbssfbhxlh())) { + udiProductEntity.setAllowNoExpire(true); + } + //名字转拼音 + if (StrUtil.isNotBlank(udiProductEntity.getCpmctymc())) { try { - String pinyin= PinyinUtils.converterToFirstSpell(udiProductEntity.getCpmctymc()); + String pinyin = PinyinUtils.converterToFirstSpell(udiProductEntity.getCpmctymc()); udiProductEntity.setPinyinInitial(pinyin); - }catch (Exception e){ + } catch (Exception e) { logger.error(ExceptionUtils.getStackTrace(e)); e.printStackTrace(); } From 0618f9b3174c421b17f4cbec989699536ab07b7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 3 Jul 2023 18:16:15 +0800 Subject: [PATCH 12/24] =?UTF-8?q?=E5=86=85=E9=83=A8=E7=A0=81=E6=89=AB?= =?UTF-8?q?=E7=A0=81bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/controller/inout/IoCodeTempController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 7abcef388..7d113c064 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -272,7 +272,7 @@ public class IoCodeTempController extends BaseController { checkSuccess = false; lostMsg = lostMsg + ",失效日期"; } - if (("是".equals(checkUdi.getScbssfbhxlh()) && StrUtil.isEmpty(udiEntity.getSerialNo())) + if (!checkUdi.getAllowNoSerial() && StrUtil.isEmpty(udiEntity.getSerialNo()) ) { checkSuccess = false; lostMsg = lostMsg + ",序列号"; From 87ee0073c11557081d07a3a56de501796a298c84 Mon Sep 17 00:00:00 2001 From: wj <1285151836@qq.com> Date: Tue, 4 Jul 2023 16:15:02 +0800 Subject: [PATCH 13/24] =?UTF-8?q?ReplaceBatch.java=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/glxp/api/config/ReplaceBatch.java | 9 ++++++--- src/main/java/com/glxp/api/dao/BaseMapperPlus.java | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/glxp/api/config/ReplaceBatch.java b/src/main/java/com/glxp/api/config/ReplaceBatch.java index 20194c696..f009e3478 100644 --- a/src/main/java/com/glxp/api/config/ReplaceBatch.java +++ b/src/main/java/com/glxp/api/config/ReplaceBatch.java @@ -39,9 +39,12 @@ public class ReplaceBatch extends AbstractMethod { KeyGenerator keyGenerator = new NoKeyGenerator(); CustomerSqlMethod sqlMethod = CustomerSqlMethod.REPLACE_ONE; List fieldList = tableInfo.getFieldList(); - String insertSqlColumn = tableInfo.getKeyInsertSqlColumn(true, true) + - this.filterTableFieldInfo(fieldList, predicate, TableFieldInfo::getInsertSqlColumn, EMPTY); - String columnScript = LEFT_BRACKET + insertSqlColumn.substring(0, insertSqlColumn.length() - 1) + RIGHT_BRACKET; + + String columnScript = SqlScriptUtils.convertTrim(tableInfo.getAllInsertSqlColumnMaybeIf(null), + LEFT_BRACKET, RIGHT_BRACKET, null, COMMA); +// String insertSqlColumn = tableInfo.getKeyInsertSqlColumn(true, true) + +// this.filterTableFieldInfo(fieldList, predicate, TableFieldInfo::getInsertSqlColumn, EMPTY); +// String columnScript = LEFT_BRACKET + insertSqlColumn.substring(0, insertSqlColumn.length() - 1) + RIGHT_BRACKET; String insertSqlProperty = tableInfo.getKeyInsertSqlProperty(true, ENTITY_DOT, true) + this.filterTableFieldInfo(fieldList, predicate, i -> i.getInsertSqlProperty(ENTITY_DOT), EMPTY); insertSqlProperty = LEFT_BRACKET + insertSqlProperty.substring(0, insertSqlProperty.length() - 1) + RIGHT_BRACKET; diff --git a/src/main/java/com/glxp/api/dao/BaseMapperPlus.java b/src/main/java/com/glxp/api/dao/BaseMapperPlus.java index 3d3a64bce..b6cc24ed6 100644 --- a/src/main/java/com/glxp/api/dao/BaseMapperPlus.java +++ b/src/main/java/com/glxp/api/dao/BaseMapperPlus.java @@ -314,7 +314,7 @@ public interface BaseMapperPlus extends BaseMapper { } } } catch (Exception e) { - log.error("insertIgnoreBatch fail", e); + log.error("replaceBatch fail", e); return false; } return true; From 86bd9ebc9cf65bcd5993f9f032e164db21fcf5a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Tue, 4 Jul 2023 17:05:03 +0800 Subject: [PATCH 14/24] =?UTF-8?q?=E5=BE=80=E6=9D=A5=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E6=98=AF=E5=AE=A2=E6=88=B7=E7=9A=84=E5=AE=A2=E6=88=B7=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=B8=BA=E6=82=A3=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/api/controller/basic/BasicCorpController.java | 8 ++++++-- .../api/req/basic/BasicUnitMaintainFilterRequest.java | 1 + src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml | 7 +++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java index 8277778d6..aada9dbca 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java @@ -81,7 +81,7 @@ public class BasicCorpController { //是供应商的时候拉客户和供应商 if (basicUnitMaintainFilterRequest.getCorpType() == null || basicUnitMaintainFilterRequest.getCorpType() == 2) { basicUnitMaintainFilterRequest.setCorpType(null); - basicUnitMaintainFilterRequest.setCorpTypeList(new ArrayList<>(Arrays.asList(1, 2))); + basicUnitMaintainFilterRequest.setCorpTypeLists(new ArrayList<>(Arrays.asList(1, 2))); } basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest); PageInfo pageInfo = new PageInfo<>(basicUnitMaintainEntities); @@ -126,7 +126,11 @@ public class BasicCorpController { BasicCorpEntity basicUnitMaintainEntity = new BasicCorpEntity(); BeanUtils.copyProperties(basicUnitMaintainSaveRequest, basicUnitMaintainEntity); basicUnitMaintainEntity.setErpId(CustomUtil.getId()); - basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_CUS); + if(basicUnitMaintainSaveRequest.getCorpType()==1){ + basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_SICK); + }else{ + basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_CUS); + } basicUnitMaintainEntity.setUpdateTime(new Date()); basicUnitMaintainEntity.setId(IdUtil.getSnowflakeNextId()); boolean b = basicUnitMaintainService.insert(basicUnitMaintainEntity); diff --git a/src/main/java/com/glxp/api/req/basic/BasicUnitMaintainFilterRequest.java b/src/main/java/com/glxp/api/req/basic/BasicUnitMaintainFilterRequest.java index 5988d335f..2b6ede471 100644 --- a/src/main/java/com/glxp/api/req/basic/BasicUnitMaintainFilterRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BasicUnitMaintainFilterRequest.java @@ -27,5 +27,6 @@ public class BasicUnitMaintainFilterRequest extends ListPageRequest { private Boolean isDownThrSys; private String lastUpdateTime; private List corpTypeList; + private List corpTypeLists;//用来往来单位查询 ListthrCorpEntities; } diff --git a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml index e7ce1c290..0d87032a9 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml @@ -37,6 +37,13 @@ ) and outType ]]> 1 + + AND (corpType in + + #{item} + + ) + AND (outType ]]> #{outType} or outType is NULL) From ecf449e0790081523ed1c9d3735105319eff040a Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Tue, 4 Jul 2023 17:07:04 +0800 Subject: [PATCH 15/24] =?UTF-8?q?yml=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-dev.yml | 4 ++-- src/main/resources/application-pro.yml | 4 ++-- src/main/resources/application.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index a87e0a10b..80b82dadf 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_w?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: root hikari: connection-timeout: 60000 maximum-pool-size: 20 diff --git a/src/main/resources/application-pro.yml b/src/main/resources/application-pro.yml index d0e3e25a6..7d2de19c9 100644 --- a/src/main/resources/application-pro.yml +++ b/src/main/resources/application-pro.yml @@ -3,9 +3,9 @@ server: spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - jdbc-url: jdbc:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:mysql://192.168.0.61:3306/udi_wms_w?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: Glxp@6066 + password: 123456 hikari: connection-timeout: 60000 maximum-pool-size: 60 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 788a2796b..80e18f1ee 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -8,7 +8,7 @@ spring: enabled: true max-file-size: 200MB max-request-size: 200MB - location: /tmp + location: D:/tmp mybatis-plus: mapper-locations: classpath:mybatis/mapper/*/*.xml From bec91b93ca2e6f41a56c1fc091fba35d96e5eca0 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 4 Jul 2023 18:46:33 +0800 Subject: [PATCH 16/24] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=8F=E8=B0=83?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E8=BF=BD=E6=BA=AF=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailResultController.java | 74 +++++++-- .../api/dao/inout/IoOrderDetailResultDao.java | 4 + .../glxp/api/req/inout/CptTraceRequest.java | 89 +++++++++++ .../api/res/inout/CptTraceOrderResponse.java | 21 +++ .../api/res/inout/CptTraceResultResponse.java | 146 ++++++++++++++++++ .../inout/IoOrderDetailResultService.java | 3 + .../impl/IoOrderDetailResultServiceImpl.java | 6 + src/main/resources/application-dev.yml | 2 +- .../mapper/inout/IoOrderDetailResultDao.xml | 31 ++++ 9 files changed, 365 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/inout/CptTraceRequest.java create mode 100644 src/main/java/com/glxp/api/res/inout/CptTraceOrderResponse.java create mode 100644 src/main/java/com/glxp/api/res/inout/CptTraceResultResponse.java diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index d4dbaf346..a7aea8de6 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -1,6 +1,7 @@ package com.glxp.api.controller.inout; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; @@ -15,15 +16,20 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.system.CompanyEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; +import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.req.inout.InspectionPDFTemplateRequest; +import com.glxp.api.res.inout.CptTraceOrderResponse; +import com.glxp.api.res.inout.CptTraceResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.service.system.CompanyService; import com.glxp.api.service.system.SystemPDFModuleService; import com.glxp.api.service.system.SystemPDFTemplateService; import com.glxp.api.util.JasperUtils; @@ -98,8 +104,8 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.success(""); } orderDetailResultRequest.setActions(actions); - AuthAdmin authAdmin= customerService.getUserBean(); - if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())){ + AuthAdmin authAdmin = customerService.getUserBean(); + if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())) { orderDetailResultRequest.setInvCode(authAdmin.getLocInvCode()); } List list = orderDetailResultService.filterOrderList(orderDetailResultRequest); @@ -196,8 +202,8 @@ public class IoOrderDetailResultController extends BaseController { */ @AuthRuleAnnotation("") @PostMapping("/udiwms/inout/resultDetail/filterOrderPrint") - public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { - List ioOrderDetailResultResponseList=new ArrayList<>(); + public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { + List ioOrderDetailResultResponseList = new ArrayList<>(); SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId()); //打印单号标签 Map data = new HashMap<>(1); @@ -205,9 +211,9 @@ public class IoOrderDetailResultController extends BaseController { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 //按选入打印 - if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){ - ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList(); - }else{ + if (filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size() > 0) { + ioOrderDetailResultResponseList = filterOrderDetailResultRequest.getList(); + } else { //按查询打印 FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType()); @@ -227,7 +233,7 @@ public class IoOrderDetailResultController extends BaseController { } } } - int i=1; + int i = 1; for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) { //组装数据 Map ioOrderDetailResultData = new HashMap<>(); @@ -244,7 +250,7 @@ public class IoOrderDetailResultController extends BaseController { ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec()); ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice()); ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount()); - ioOrderDetailResultData.put("reCount",ioOrderDetailResultResponse.getReCount()); + ioOrderDetailResultData.put("reCount", ioOrderDetailResultResponse.getReCount()); ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount()); ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount()); ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName()); @@ -257,10 +263,58 @@ public class IoOrderDetailResultController extends BaseController { data.put("data", list); String param = JSON.toJSONString(data); - JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); return ResultVOUtils.success(); } + @Resource + CompanyService companyService; + /** + * 提供UDI协调调用单据明细 + */ + @PostMapping("/udiCpt/inout/trace/search") + public BaseResponse cptTraceOrder(@RequestBody CptTraceRequest cptTraceRequest) { + if (StrUtil.isEmpty(cptTraceRequest.getBatchNo()) || CollUtil.isEmpty(cptTraceRequest.getDiList())) { + return ResultVOUtils.error(500, "参数有误!"); + } + CompanyEntity authCompany = companyService.findCompany(); + List cptTraceOrderResponses = orderDetailResultService.cptTrace(cptTraceRequest); + List cptTraceResultResponses = new ArrayList<>(); + if (CollUtil.isNotEmpty(cptTraceOrderResponses)) { + for (CptTraceOrderResponse cptTraceOrderResponse : cptTraceOrderResponses) { + CptTraceResultResponse cptTraceResultResponse = new CptTraceResultResponse(); + cptTraceResultResponse.setBillNo(cptTraceOrderResponse.getBillNo()); + cptTraceResultResponse.setBillDate(DateUtil.formatDate(cptTraceOrderResponse.getCreateTime())); + cptTraceResultResponse.setBillType(cptTraceOrderResponse.getBillType()); + if (cptTraceOrderResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + if (StrUtil.isNotEmpty(cptTraceOrderResponse.getFromInvCode())) + continue; + cptTraceResultResponse.setInOutType(2); + cptTraceResultResponse.setFromCorp(authCompany.getName()); + cptTraceResultResponse.setFromCorpCreditNum(authCompany.getCreditCode()); + + //往来单位为病人 + if (cptTraceOrderResponse.getCorpType() == 1 && cptTraceOrderResponse.getOutType() == 1) { + cptTraceResultResponse.setToUserInfo(cptTraceOrderResponse.getFromCorpName()); + } else { + cptTraceResultResponse.setToCorp(cptTraceOrderResponse.getFromCorpName()); + cptTraceResultResponse.setToCorpCreditNum(cptTraceOrderResponse.getCreditNo()); + } + } else { + cptTraceResultResponse.setInOutType(1); + cptTraceResultResponse.setFromCorp(cptTraceOrderResponse.getFromCorpName()); + cptTraceResultResponse.setFromCorpCreditNum(cptTraceOrderResponse.getCreditNo()); + cptTraceResultResponse.setToCorp(authCompany.getName()); + cptTraceResultResponse.setToCorpCreditNum(authCompany.getCreditCode()); + } + + cptTraceResultResponses.add(cptTraceResultResponse); + } + } + + return ResultVOUtils.success(cptTraceResultResponses); + + } } diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java index d4548eb7a..69683c5c9 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java @@ -2,7 +2,9 @@ package com.glxp.api.dao.inout; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; +import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import io.lettuce.core.dynamic.annotation.Param; @@ -32,4 +34,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus selectStatDataByTime(@Param("list") List orderIdFk); + + List cptTrace(CptTraceRequest cptTraceRequest); } diff --git a/src/main/java/com/glxp/api/req/inout/CptTraceRequest.java b/src/main/java/com/glxp/api/req/inout/CptTraceRequest.java new file mode 100644 index 000000000..64a3c849e --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/CptTraceRequest.java @@ -0,0 +1,89 @@ +package com.glxp.api.req.inout; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 客户端查询任务列表实体类 + */ +@Data +public class CptTraceRequest { + + + /** + * 按UDI码查询出入库信息 + */ + private String udiCode; + + /** + * 查询记录表ID外键 + */ + private Long produdctRecordIdFk; + + /** + * 任务类型 1:关联关系;2:入库;3:出库 + */ + private Integer taskType; + + /** + * DI标识列表,多级包装会有多个DI + * DI标识数组,逗号隔开 + */ + private List diList; + + /** + * 企业信息ID外键 + */ + private Long companyIdFk; + + /** + * 医疗器械注册人 + */ + private String ylqxzcrbarmc; + + /** + * 医疗器械注册人统一社会信用号 + */ + private String creditNum; + + /** + * 产品名称 + */ + private String cpmctymc; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 批次号 + */ + private String batchNo; + /** + * 生成日期 + */ + private String produceDate; + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 任务创建时间 + */ + private Date createTime; + /** + * 任务更新时间 + */ + private Date updateTime; + + +} diff --git a/src/main/java/com/glxp/api/res/inout/CptTraceOrderResponse.java b/src/main/java/com/glxp/api/res/inout/CptTraceOrderResponse.java new file mode 100644 index 000000000..53de6cace --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/CptTraceOrderResponse.java @@ -0,0 +1,21 @@ +package com.glxp.api.res.inout; + +import lombok.Data; + +import java.util.Date; + +@Data +public class CptTraceOrderResponse { + + private String billNo; + private Date createTime; + private String mainAction; + private String billType; + private String fromCorpName; + private String creditNo; + private String action; + private String fromInvCode; + private Integer outType; + private Integer corpType; + private Integer count; +} diff --git a/src/main/java/com/glxp/api/res/inout/CptTraceResultResponse.java b/src/main/java/com/glxp/api/res/inout/CptTraceResultResponse.java new file mode 100644 index 000000000..c8c6599dc --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/CptTraceResultResponse.java @@ -0,0 +1,146 @@ +package com.glxp.api.res.inout; + +import cn.hutool.core.util.StrUtil; +import lombok.Data; + +import java.util.Date; + +@Data +public class CptTraceResultResponse { + + + private Long id; + + /** + * 单据号 + */ + private String billNo; + + /** + * 单据时间 + */ + private String billDate; + + /** + * 1:入库;2:出库 + */ + private Integer inOutType; + + /** + * 单据类型 + */ + private String billType; + + /** + * 发货企业 + */ + private String fromCorp; + + /** + * 发货企业统一社会信用号 + */ + private String fromCorpCreditNum; + + /** + * 收货企业 + */ + private String toCorp; + + /** + * 收货企业统一社会信用号 + */ + private String toCorpCreditNum; + + private String toUserInfo; + + /** + * 单据创建者 + */ + private Long createUser; + + /** + * 当前企业信息ID外键 + */ + private Long companyIdFk; + + /** + * 当前企业名称 + */ + private String companyName; + + /** + * 当前企业统一社会信用号 + */ + private String companyCertNum; + + /** + * 客户端类型 + */ + private Integer clientType; + + /** + * 退货原因(退货时填写) + */ + private String returnReason; + + /** + * 销毁原因(销毁时填写) + */ + private String destoryReason; + + /** + * 执行销毁人(销毁时填写) + */ + private String excuseUser; + + /** + * 执行销毁人证件号(销毁时填写) + */ + private String excuseCode; + + /** + * 监督人姓名【销毁出库时填写】 + */ + private String superviserUser; + + /** + * 监督人证件号【销毁出库时填写】 + */ + private String superviserCode; + + /** + * 上传着ID + */ + private Long uploadUser; + + /** + * 备注 + */ + private String remark; + + /** + * 更新时间 + */ + private Date updateTime; + + //关联信息 + private String cpmctymc; + private String nameCode; + private String ggxh; + private String ylqxzcrbarmc; + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private String udiCode; + private String zczbhhzbapzbh; + private String recordCode; + private Integer count; + + public String getToCorp() { + if (StrUtil.isEmpty(toCorp)) + return toUserInfo; + return toCorp; + } + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java index fc8e1f92f..9f6affdf1 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java @@ -2,7 +2,9 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; +import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import java.util.List; @@ -24,4 +26,5 @@ public interface IoOrderDetailResultService { List filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest); + List cptTrace(CptTraceRequest cptTraceRequest); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java index 00f6e3669..23ba1b5ed 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java @@ -6,7 +6,9 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.dao.inout.IoOrderDetailResultDao; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; +import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.inout.IoOrderDetailResultService; import org.springframework.stereotype.Service; @@ -72,4 +74,8 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic return orderDetailResultDao.filterOrderList(orderDetailResultRequest); } + @Override + public List cptTrace(CptTraceRequest cptTraceRequest) { + return orderDetailResultDao.cptTrace(cptTraceRequest); + } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index a87e0a10b..6035f3d23 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_zyy?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root password: 123456 hikari: diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml index 4069e8825..cc532bb24 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml @@ -108,4 +108,35 @@ + + + From 95e7c673c99b0d6419f6d9dbf2bdf59059a42735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Wed, 5 Jul 2023 11:22:09 +0800 Subject: [PATCH 17/24] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E6=89=AB=E7=A0=81?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8F=B7=E4=B8=BA=E7=A9=BA=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/controller/inout/IoCodeTempController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 7d113c064..c98593566 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -272,7 +272,7 @@ public class IoCodeTempController extends BaseController { checkSuccess = false; lostMsg = lostMsg + ",失效日期"; } - if (!checkUdi.getAllowNoSerial() && StrUtil.isEmpty(udiEntity.getSerialNo()) + if (checkUdi.getAllowNoSerial()!=null && !checkUdi.getAllowNoSerial() && StrUtil.isEmpty(udiEntity.getSerialNo()) ) { checkSuccess = false; lostMsg = lostMsg + ",序列号"; From 7480c8edbe386e521b303e9f05df35ee71dce07d Mon Sep 17 00:00:00 2001 From: anthonywj Date: Wed, 5 Jul 2023 11:46:21 +0800 Subject: [PATCH 18/24] =?UTF-8?q?=E5=85=B3=E8=81=94DI=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=B8=8D=E8=A2=AB=E8=A6=86=E7=9B=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/UdiContrastController.java | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java index e47e57b41..f23c051ab 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java @@ -296,6 +296,57 @@ public class UdiContrastController { public void updateDi(UdiRelevanceEntity udiRelevanceEntity, String key) { List udiInfoEntities = udiDlHttpClient.getOrUpdateByUuid(key); + List originProductEntities = udiProductService.findByUuids(udiRelevanceEntity.getUuid()); + if (CollUtil.isNotEmpty(originProductEntities) && CollUtil.isNotEmpty(udiInfoEntities)) { + UdiProductEntity originProductEntity = originProductEntities.get(0); + for (UdiProductEntity udiProductEntity : udiInfoEntities) { + if (StrUtil.isEmpty(udiProductEntity.getSptm())) { + udiProductEntity.setSptm(originProductEntity.getSptm()); + } + if (StrUtil.isEmpty(udiProductEntity.getYbbm())) { + udiProductEntity.setYbbm(originProductEntity.getYbbm()); + } + if (StrUtil.isEmpty(udiProductEntity.getMeasname())) { + udiProductEntity.setMeasname(originProductEntity.getMeasname()); + } + if (StrUtil.isEmpty(udiProductEntity.getManufactory())) { + udiProductEntity.setManufactory(originProductEntity.getManufactory()); + } + if (StrUtil.isEmpty(udiProductEntity.getPrice())) { + udiProductEntity.setPrice(originProductEntity.getPrice()); + } + if (StrUtil.isEmpty(udiProductEntity.getSpmc())) { + udiProductEntity.setSpmc(originProductEntity.getSpmc()); + } + if (StrUtil.isEmpty(udiProductEntity.getCpms())) { + udiProductEntity.setCpms(originProductEntity.getCpms()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak1())) { + udiProductEntity.setBasicPrductRemak1(originProductEntity.getBasicPrductRemak1()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak2())) { + udiProductEntity.setBasicPrductRemak2(originProductEntity.getBasicPrductRemak2()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak3())) { + udiProductEntity.setBasicPrductRemak3(originProductEntity.getBasicPrductRemak3()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak4())) { + udiProductEntity.setBasicPrductRemak4(originProductEntity.getBasicPrductRemak4()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak5())) { + udiProductEntity.setBasicPrductRemak5(originProductEntity.getBasicPrductRemak5()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak6())) { + udiProductEntity.setBasicPrductRemak6(originProductEntity.getBasicPrductRemak6()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak7())) { + udiProductEntity.setBasicPrductRemak7(originProductEntity.getBasicPrductRemak7()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak8())) { + udiProductEntity.setBasicPrductRemak8(originProductEntity.getBasicPrductRemak8()); + } + } + } udiProductService.deleteByUuid(udiRelevanceEntity.getUuid()); udiRelevanceEntity.setUuid(udiInfoEntities.get(0).getUuid()); udiRelevanceEntity.setUpdateTime(new Date()); @@ -304,7 +355,6 @@ public class UdiContrastController { insertUdiInfos(udiInfoEntities); } - public UdiRelevanceEntity setThird(UdiCombineRequest udiCombineRequest, UdiRelevanceEntity udiRelevanceEntity) { FilterBasicThirdSysRequest request = new FilterBasicThirdSysRequest(); if ("thirdId".equals(udiCombineRequest.getThirdSys())) { From 883084f4c5da991d0f7a5a933e787ffda5d2dfed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Wed, 5 Jul 2023 14:33:32 +0800 Subject: [PATCH 19/24] =?UTF-8?q?=E5=AE=9A=E6=95=B0=E5=8C=85=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BasicDestinyRelController.java | 1 + .../inout/IoDestinyProcessController.java | 139 ++++++++++++ .../dao/inout/IoDestinyProcessCodeMapper.java | 6 + .../inout/IoDestinyProcessDetailMapper.java | 16 +- .../inout/IoDestinyProcessCodeEntity.java | 11 + .../inout/IoDestinyProcessDetailEntity.java | 11 + .../entity/inout/IoDestinyProcessEntity.java | 4 +- .../api/req/basic/FilterUdiRelRequest.java | 10 + .../req/inout/IodestinyProcessRequest.java | 15 ++ .../api/res/basic/UdiRelevanceResponse.java | 2 + .../res/inout/IodestinyProcessResponse.java | 101 +++++++++ .../inout/IoDestinyProcessCodeService.java | 7 + .../inout/IoDestinyProcessDetailService.java | 16 ++ .../inout/IoDestinyProcessService.java | 8 + .../impl/IoDestinyProcessCodeServiceImpl.java | 20 ++ .../IoDestinyProcessDetailServiceImpl.java | 212 +++++++++++++++++- .../impl/IoDestinyProcessServiceImpl.java | 45 ++++ .../mapper/basic/BasicDestinyRelMapper.xml | 4 + .../inout/IoDestinyProcessCodeMapper.xml | 25 +++ .../inout/IoDestinyProcessDetailMapper.xml | 76 +++++++ 20 files changed, 725 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java create mode 100644 src/main/java/com/glxp/api/req/inout/IodestinyProcessRequest.java create mode 100644 src/main/java/com/glxp/api/res/inout/IodestinyProcessResponse.java diff --git a/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java b/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java index c14fef462..ee5ca7b8b 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java @@ -234,6 +234,7 @@ public class BasicDestinyRelController { //查询详情id过滤 List idList = basicDestinyRelService.filterDestinyRelIds(Long.valueOf(filterUdiRelRequest.getId())); if (idList != null && idList.size() > 0) { + filterUdiRelRequest.setDestinyId(filterUdiRelRequest.getId()+""); filterUdiRelRequest.setIds(idList); filterUdiRelRequest.setDiType(1); thrProductsEntities = basicDestinyRelService.filterDestinyProducts(filterUdiRelRequest); diff --git a/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java b/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java new file mode 100644 index 000000000..495b85e5d --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java @@ -0,0 +1,139 @@ +package com.glxp.api.controller.inout; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.inout.IoCodeRelResponse; +import com.glxp.api.res.inout.IodestinyProcessResponse; +import com.glxp.api.service.basic.BasicDestinyRelService; +import com.glxp.api.service.inout.IoDestinyProcessCodeService; +import com.glxp.api.service.inout.IoDestinyProcessDetailService; +import com.glxp.api.service.inout.IoDestinyProcessService; +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 IoDestinyProcessController { + + @Resource + private BasicDestinyRelService basicDestinyRelService; + @Resource + private IoDestinyProcessDetailService ioDestinyProcessDetailService; + @Resource + private IoDestinyProcessCodeService ioDestinyProcessCodeService; + @Resource + private IoDestinyProcessService ioDestinyProcessService; + + + @PostMapping("/udiwms/basic/destiny/model/addDestinyDelect") + public BaseResponse addDestinyDelect(@RequestBody FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ioDestinyProcessDetailService.insertProcessDetail(filterUdiRelRequest); + + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessDelect") + public BaseResponse filterDestinyProcessDelect(FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiRelevanceResponseList = ioDestinyProcessDetailService.filterProcessDetail(filterUdiRelRequest); + + return ResultVOUtils.success(udiRelevanceResponseList); + } + + @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcess") + public BaseResponse filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List iodestinyProcessResponseList = ioDestinyProcessDetailService.filterDestinyProcess(iodestinyProcessRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(iodestinyProcessResponseList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(iodestinyProcessResponseList); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/basic/destiny/model/checkDestinyProcess") + public BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BaseResponse baseResponse = ioDestinyProcessDetailService.checkDestinyProcess(iodestinyProcessRequest); + + + return baseResponse; + } + + @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessCode") + public BaseResponse filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List iodestinyProcessResponseList = ioDestinyProcessCodeService.filterDestinyProcessCode(iodestinyProcessRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(iodestinyProcessResponseList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(iodestinyProcessResponseList); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/basic/destiny/model/addDestinyProcess") + public BaseResponse addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List ioDestinyProcessDetailEntityList= ioDestinyProcessDetailService.addDestinyProcess(iodestinyProcessRequest); + + for (IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity : ioDestinyProcessDetailEntityList) { + if(ioDestinyProcessDetailEntity.getCount()-ioDestinyProcessDetailEntity.getReCount()>0){ + return ResultVOUtils.error(999,"该单还未完全扫码校验!"); + } + } + //更新状态 + ioDestinyProcessService.uploadDestinyProcess(iodestinyProcessRequest); + + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/destiny/model/delectDestinyProcess") + public BaseResponse delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + //更新状态 + ioDestinyProcessService.delectDestinyProcess(iodestinyProcessRequest); + + return ResultVOUtils.success(); + } + +} diff --git a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessCodeMapper.java b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessCodeMapper.java index 01a97f2b2..f52bd6d16 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessCodeMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessCodeMapper.java @@ -2,8 +2,14 @@ package com.glxp.api.dao.inout; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.inout.IodestinyProcessResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface IoDestinyProcessCodeMapper extends BaseMapper { + + List filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest); } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java index 6c9c05b32..3c59f7e55 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java @@ -1,9 +1,23 @@ package com.glxp.api.dao.inout; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.dao.BaseMapperPlus; +import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.inout.IodestinyProcessResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper -public interface IoDestinyProcessDetailMapper extends BaseMapper { +public interface IoDestinyProcessDetailMapper extends BaseMapperPlus { + + List filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest); + + List filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java index 0a1b789e3..ab955ed8d 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java @@ -79,4 +79,15 @@ public class IoDestinyProcessCodeEntity { @TableField(value = "updateTime") private Date updateTime; + + @TableField(value = "code") + private String code; + + + @TableField(value = "serialNo") + private String serialNo; + + @TableField(value = "reCount") + private int reCount; + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java index 864eb342a..70970557c 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.util.Date; + /** * 定数包产品关联表 */ @@ -32,4 +34,13 @@ public class IoDestinyProcessDetailEntity { */ @TableField(value = "reCount") private Integer reCount; + + @TableField(value = "updateTime") + private Date updateTime; + + /** + * 订单号外键 + */ + @TableField(value = "orderIdFk") + private String orderIdFk; } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java index 4f502b5b2..96da4722a 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java @@ -20,13 +20,13 @@ public class IoDestinyProcessEntity { * 定数包模板id */ @TableField(value = "destinyId") - private Long destinyId; + private String destinyId; /** * 唯一编码 */ @TableField(value = "destinyNo") - private Long destinyNo; + private String destinyNo; /** * 单据号 diff --git a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java index 9d4ac2525..e793b3db6 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java @@ -3,6 +3,7 @@ package com.glxp.api.req.basic; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; +import java.util.Date; import java.util.List; @Data @@ -89,4 +90,13 @@ public class FilterUdiRelRequest extends ListPageRequest { private String basicPrductRemak7; private String basicPrductRemak8; + //定数包参数 + private String destinyId; + private String destinyNo; + private String billNo; + private Date billDate; + private String invCode; + private String remark; + + } diff --git a/src/main/java/com/glxp/api/req/inout/IodestinyProcessRequest.java b/src/main/java/com/glxp/api/req/inout/IodestinyProcessRequest.java new file mode 100644 index 000000000..5ef885472 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/IodestinyProcessRequest.java @@ -0,0 +1,15 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class IodestinyProcessRequest extends ListPageRequest { + + private String billNo; + + private String invCode; + + private String code; + +} diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index dde051c2d..4d588f774 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -100,6 +100,8 @@ public class UdiRelevanceResponse { private String relCode; private int index; + private int reCount; + //关联查询字典 private String unitFk; //供应商ID private String companyName; //供应商名称 diff --git a/src/main/java/com/glxp/api/res/inout/IodestinyProcessResponse.java b/src/main/java/com/glxp/api/res/inout/IodestinyProcessResponse.java new file mode 100644 index 000000000..0701fa134 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IodestinyProcessResponse.java @@ -0,0 +1,101 @@ +package com.glxp.api.res.inout; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class IodestinyProcessResponse { + + + private Long id; + + private String destinyId; + + private String destinyNo; + + private String billNo; + + private Date billDate; + + private String invCode; + + private String remark; + + private Date createTime; + + private Date updateTime; + + private String createUser; + + private String updateUser; + + private Integer status; + + private String invName; + + private String updateName; + private String createName; + private String code; + + private String serialNo; + private String productDate; + private String expireDate; + private BigDecimal price; + private String batchNo; + private int count; + private int reCount; + + + + + //产品 + private String originUuid; + private String nameCode; + private String deviceRecordKey; + private String packRatio; + private String packLevel; + private String packUnit; + private Integer bhxjsl; + private Integer bhzxxsbzsl; + private Integer zxxsbzbhsydysl; + private String bhxjcpbm; + private String bzcj; + private String cpmctymc; + private String cplb; + private String flbm; + private String ggxh; + private String qxlb; + private String tyshxydm; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String ylqxzcrbarywmc; + private String sydycpbs; + private String sjcpbm; + private Integer versionNumber; + private Integer diType; + private String ybbm; + private String sptm; + private String manufactory; + private String measname; + private Integer productType; + private String scbssfbhph; + private String scbssfbhxlh; + private String scbssfbhscrq; + private String scbssfbhsxrq; + private String cpms; + private Boolean allowNoBatch; + private Boolean allowNoExpire; + private Boolean allowNoProduct; + private Boolean allowNoSerial; + private String spmc; + private String cplx; + private String hchzsb; + private String cpdls; + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java index 76a0e54fb..c7abffd21 100644 --- a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java @@ -2,7 +2,14 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.inout.IodestinyProcessResponse; + +import java.util.List; + public interface IoDestinyProcessCodeService{ + List filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest); + } diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java index b51861a54..d6d1c6bad 100644 --- a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java @@ -1,8 +1,24 @@ package com.glxp.api.service.inout; +import com.glxp.api.common.res.BaseResponse; import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.inout.IodestinyProcessResponse; + +import java.util.List; + public interface IoDestinyProcessDetailService{ + Boolean insertProcessDetail(FilterUdiRelRequest filterUdiRelRequest); + + List addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + + List filterProcessDetail(FilterUdiRelRequest filterUdiRelRequest); + + List filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); } diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java index 24633790e..bdf36276a 100644 --- a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java @@ -1,6 +1,14 @@ package com.glxp.api.service.inout; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; + public interface IoDestinyProcessService{ + Boolean uploadDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + + Boolean delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java index e98d51ac2..621fd43b2 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java @@ -1,8 +1,28 @@ package com.glxp.api.service.inout.impl; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.inout.IodestinyProcessResponse; import org.springframework.stereotype.Service; import com.glxp.api.service.inout.IoDestinyProcessCodeService; + +import javax.annotation.Resource; +import java.util.List; + @Service public class IoDestinyProcessCodeServiceImpl implements IoDestinyProcessCodeService { + @Resource + IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper; + + @Override + public List filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest) { + + if (iodestinyProcessRequest.getPage() != null) { + int offset = (iodestinyProcessRequest.getPage() - 1) * iodestinyProcessRequest.getLimit(); + PageHelper.offsetPage(offset, iodestinyProcessRequest.getLimit()); + } + return ioDestinyProcessCodeMapper.filterDestinyProcessCode(iodestinyProcessRequest); + } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java index 5812f8875..b89b3c989 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java @@ -1,11 +1,221 @@ package com.glxp.api.service.inout.impl; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper; +import com.glxp.api.dao.inout.IoDestinyProcessMapper; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; +import com.glxp.api.entity.inout.IoDestinyProcessEntity; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.inout.IodestinyProcessResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.BasicDestinyRelService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.inout.IoDestinyProcessService; +import com.glxp.api.util.udi.FilterUdiUtils; +import com.glxp.api.util.udi.UdiCalCountUtil; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.inout.IoDestinyProcessDetailMapper; import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; import com.glxp.api.service.inout.IoDestinyProcessDetailService; + +import javax.annotation.Resource; +import java.awt.geom.QuadCurve2D; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + @Service -public class IoDestinyProcessDetailServiceImpl implements IoDestinyProcessDetailService{ +public class IoDestinyProcessDetailServiceImpl implements IoDestinyProcessDetailService { + + + @Resource + private BasicDestinyRelService basicDestinyRelService; + @Resource + private IoDestinyProcessDetailMapper ioDestinyProcessDetailMapper; + @Resource + private IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper; + + @Resource + CustomerService customerService; + @Resource + IoDestinyProcessMapper ioDestinyProcessMapper; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + UdiCalCountUtil udiCalCountUtil; + + + @Override + public Boolean insertProcessDetail(FilterUdiRelRequest filterUdiRelRequest) { + //删除原数据 + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",filterUdiRelRequest.getBillNo()); + long count= ioDestinyProcessDetailMapper.delete(ew); + + QueryWrapper ew1=new QueryWrapper<>(); + ew1.eq("orderIdFk",filterUdiRelRequest.getBillNo()); + ioDestinyProcessCodeMapper.delete(ew1); + filterUdiRelRequest.setDestinyId(filterUdiRelRequest.getDestinyId()); + filterUdiRelRequest.setDiType(1); + List thrProductsEntities = basicDestinyRelService.filterDestinyProducts(filterUdiRelRequest); + + AuthAdmin authAdmin= customerService.getUserBean(); + IoDestinyProcessEntity ioDestinyProcessEntity=new IoDestinyProcessEntity(); + // 插入主表 + if(count>0){ + QueryWrapper ew2=new QueryWrapper<>(); + ew2.eq("billNo",filterUdiRelRequest.getBillNo()); + ioDestinyProcessEntity=ioDestinyProcessMapper.selectOne(ew2); + ioDestinyProcessEntity.setCreateTime(new Date()); + ioDestinyProcessEntity.setUpdateTime(new Date()); + ioDestinyProcessEntity.setCreateUser(authAdmin.getId() + ""); + ioDestinyProcessEntity.setUpdateUser(authAdmin.getId() + ""); + ioDestinyProcessEntity.setInvCode(filterUdiRelRequest.getInvCode()); + ioDestinyProcessEntity.setRemark(filterUdiRelRequest.getRemark()); + ioDestinyProcessMapper.updateById(ioDestinyProcessEntity); + }else{ + ioDestinyProcessEntity.setId(IdUtil.getSnowflakeNextId()); + ioDestinyProcessEntity.setDestinyNo(filterUdiRelRequest.getDestinyNo()); + ioDestinyProcessEntity.setDestinyId(filterUdiRelRequest.getDestinyId()); + ioDestinyProcessEntity.setBillNo(filterUdiRelRequest.getBillNo()); + ioDestinyProcessEntity.setBillDate(filterUdiRelRequest.getBillDate()); + ioDestinyProcessEntity.setRemark(filterUdiRelRequest.getRemark()); + ioDestinyProcessEntity.setInvCode(filterUdiRelRequest.getInvCode()); + ioDestinyProcessEntity.setCreateTime(new Date()); + ioDestinyProcessEntity.setUpdateTime(new Date()); + ioDestinyProcessEntity.setCreateUser(authAdmin.getId() + ""); + ioDestinyProcessEntity.setUpdateUser(authAdmin.getId() + ""); + ioDestinyProcessEntity.setStatus(0); + ioDestinyProcessMapper.insert(ioDestinyProcessEntity); + } + + // 插入详情表 + List ioDestinyProcessDetailEntityList=new ArrayList<>(); + for (UdiRelevanceResponse thrProductsEntity : thrProductsEntities) { + IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity=new IoDestinyProcessDetailEntity(); + ioDestinyProcessDetailEntity.setId(IdUtil.getSnowflakeNextId()); + ioDestinyProcessDetailEntity.setCount(thrProductsEntity.getCount()); + ioDestinyProcessDetailEntity.setRelId(thrProductsEntity.getId()); + ioDestinyProcessDetailEntity.setReCount(0); + ioDestinyProcessDetailEntity.setUpdateTime(new Date()); + ioDestinyProcessDetailEntity.setOrderIdFk(ioDestinyProcessEntity.getBillNo()); + ioDestinyProcessDetailEntityList.add(ioDestinyProcessDetailEntity); + thrProductsEntity.setReCount(0); + } + ioDestinyProcessDetailMapper.insertBatch(ioDestinyProcessDetailEntityList); + + return true; + } + + @Override + public List addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + List ioDestinyProcessDetailEntity=ioDestinyProcessDetailMapper.selectList(ew); + return ioDestinyProcessDetailEntity; + } + + @Override + public List filterProcessDetail(FilterUdiRelRequest filterUdiRelRequest) { + //查询详情 + List thrProductsEntities = ioDestinyProcessDetailMapper.filterDestinyProducts(filterUdiRelRequest); + return thrProductsEntities; + } + + @Override + public List filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + if (iodestinyProcessRequest.getPage() != null) { + int offset = (iodestinyProcessRequest.getPage() - 1) * iodestinyProcessRequest.getLimit(); + PageHelper.offsetPage(offset, iodestinyProcessRequest.getLimit()); + } + return ioDestinyProcessDetailMapper.filterDestinyProcess(iodestinyProcessRequest); + } + + @Override + public BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + UdiEntity udiEntity = FilterUdiUtils.getUdi(iodestinyProcessRequest.getCode()); + UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); + if (checkUdi ==null){ + return ResultVOUtils.error(500, "耗材字典不存在此产品!"); + } + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + ew.eq("relId",checkUdi.getRelId()); + IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity=ioDestinyProcessDetailMapper.selectOne(ew); + if(ioDestinyProcessDetailEntity == null){ + return ResultVOUtils.error(500, "定数包不存在此产品!"); + } + if(ioDestinyProcessDetailEntity.getCount()-ioDestinyProcessDetailEntity.getReCount()<=0){ + return ResultVOUtils.error(500, "该产品已足够!"); + } + int count = udiCalCountUtil.getActCount(udiEntity.getUdi()); + ioDestinyProcessDetailEntity.setReCount(ioDestinyProcessDetailEntity.getReCount()+count); + ioDestinyProcessDetailMapper.updateById(ioDestinyProcessDetailEntity); + //判断有没有序列号 + //有 + if (udiEntity.getSerialNo()!=null){ + //插入详细表 + IoDestinyProcessCodeEntity ioDestinyProcessCodeEntity=new IoDestinyProcessCodeEntity(); + ioDestinyProcessCodeEntity.setCode(iodestinyProcessRequest.getCode()); + ioDestinyProcessCodeEntity.setId(IdUtil.getSnowflakeNextId()); + ioDestinyProcessCodeEntity.setOrderIdFk(iodestinyProcessRequest.getBillNo()); + ioDestinyProcessCodeEntity.setBindRlFk(checkUdi.getRelId() + ""); + ioDestinyProcessCodeEntity.setUuidFk(checkUdi.getUuid()); + ioDestinyProcessCodeEntity.setNameCode(checkUdi.getNameCode()); + ioDestinyProcessCodeEntity.setCount(1); + ioDestinyProcessCodeEntity.setReCount(count); + ioDestinyProcessCodeEntity.setProductDate(udiEntity.getProduceDate()); + ioDestinyProcessCodeEntity.setExpireDate(udiEntity.getExpireDate()); + ioDestinyProcessCodeEntity.setBatchNo(udiEntity.getBatchNo()); + ioDestinyProcessCodeEntity.setPrice(checkUdi.getPrice()); + ioDestinyProcessCodeEntity.setSerialNo(udiEntity.getSerialNo()); + ioDestinyProcessCodeEntity.setUpdateTime(new Date()); + ioDestinyProcessCodeMapper.insert(ioDestinyProcessCodeEntity); + }else{ + //无批次号的时候判断是不是第一次是第一次就插入不是第一此就更新 + QueryWrapper ew1=new QueryWrapper<>(); + ew1.eq("code",iodestinyProcessRequest.getCode()); + ew1.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + ew1.last("limit 1"); + IoDestinyProcessCodeEntity ioDestinyProcessCodeEntity=ioDestinyProcessCodeMapper.selectOne(ew1); + if(ioDestinyProcessCodeEntity==null){ + //插入详细表 + ioDestinyProcessCodeEntity=new IoDestinyProcessCodeEntity(); + ioDestinyProcessCodeEntity.setCode(iodestinyProcessRequest.getCode()); + ioDestinyProcessCodeEntity.setId(IdUtil.getSnowflakeNextId()); + ioDestinyProcessCodeEntity.setOrderIdFk(iodestinyProcessRequest.getBillNo()); + ioDestinyProcessCodeEntity.setBindRlFk(checkUdi.getRelId() + ""); + ioDestinyProcessCodeEntity.setUuidFk(checkUdi.getUuid()); + ioDestinyProcessCodeEntity.setNameCode(checkUdi.getNameCode()); + ioDestinyProcessCodeEntity.setCount(1); + ioDestinyProcessCodeEntity.setReCount(count); + ioDestinyProcessCodeEntity.setProductDate(udiEntity.getProduceDate()); + ioDestinyProcessCodeEntity.setExpireDate(udiEntity.getExpireDate()); + ioDestinyProcessCodeEntity.setBatchNo(udiEntity.getBatchNo()); + ioDestinyProcessCodeEntity.setPrice(checkUdi.getPrice()); + ioDestinyProcessCodeEntity.setSerialNo(udiEntity.getSerialNo()); + ioDestinyProcessCodeEntity.setUpdateTime(new Date()); + ioDestinyProcessCodeMapper.insert(ioDestinyProcessCodeEntity); + return ResultVOUtils.success(); + } + ioDestinyProcessCodeEntity.setCount(ioDestinyProcessCodeEntity.getReCount()+1); + ioDestinyProcessCodeEntity.setReCount(ioDestinyProcessCodeEntity.getReCount()+count); + ioDestinyProcessCodeMapper.updateById(ioDestinyProcessCodeEntity); + } + return ResultVOUtils.success(); + } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java index fa72cff7c..ced10c56e 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java @@ -1,10 +1,55 @@ package com.glxp.api.service.inout.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper; +import com.glxp.api.dao.inout.IoDestinyProcessDetailMapper; +import com.glxp.api.dao.inout.IoDestinyProcessMapper; +import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; +import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import com.glxp.api.entity.inout.IoDestinyProcessEntity; +import com.glxp.api.req.inout.IodestinyProcessRequest; import com.glxp.api.service.inout.IoDestinyProcessService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + @Service public class IoDestinyProcessServiceImpl implements IoDestinyProcessService { + @Resource + IoDestinyProcessMapper ioDestinyProcessMapper; + @Resource + private IoDestinyProcessDetailMapper ioDestinyProcessDetailMapper; + @Resource + private IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper; + + @Override + public Boolean uploadDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("billNo", iodestinyProcessRequest.getBillNo()); + IoDestinyProcessEntity ioDestinyProcessEntity = ioDestinyProcessMapper.selectOne(ew); + ioDestinyProcessEntity.setStatus(2); + ioDestinyProcessMapper.updateById(ioDestinyProcessEntity); + return null; + } + + @Override + public Boolean delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + long count= ioDestinyProcessDetailMapper.delete(ew); + + QueryWrapper ew1=new QueryWrapper<>(); + ew1.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + ioDestinyProcessCodeMapper.delete(ew1); + + QueryWrapper ew3 = new QueryWrapper<>(); + ew3.eq("billNo", iodestinyProcessRequest.getBillNo()); + ioDestinyProcessMapper.delete(ew3); + return null; + } } diff --git a/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml index 4eb4ee9c4..3013cca15 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml @@ -292,7 +292,11 @@ AND basic_products.cpmctymc like concat('%', #{cpmctymc}, '%') + + AND basic_destiny_rel.pId = #{destinyId} + + group by basic_products.uuid diff --git a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml index cb71a6f81..aa8ec5b29 100644 --- a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml @@ -22,4 +22,29 @@ id, orderIdFk, bindRlFk, uuidFk, nameCode, batchNo, productDate, expireDate, price, supId, `count`, updateTime + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml index 9357cd2dc..7f483b0a2 100644 --- a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml @@ -13,4 +13,80 @@ id, relId, `count`, reCount + + + + + + \ No newline at end of file From 23d7d1623f08e341e2d484598ed2aa501be8f770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Wed, 5 Jul 2023 14:38:20 +0800 Subject: [PATCH 20/24] =?UTF-8?q?=E5=AE=9A=E6=95=B0=E5=8C=85sql=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/schemas/schema_v2.1.sql | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index 5a136ca66..6cfabda69 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -531,3 +531,63 @@ CREATE TABLE if not exists `basic_destiny_rel` CALL Pro_Temp_ColumnWork('thr_products', 'type', 'int', 1); + +CREATE TABLE if not exists `io_destiny_process` +( + `id` bigint(0) NOT NULL, + `destinyId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '定数包模板id', + `destinyNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '唯一编码', + `billNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单据号', + `billDate` datetime(0) NULL DEFAULT NULL COMMENT '单据时间', + `invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单前仓库', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `status` int(0) NULL DEFAULT NULL COMMENT '状态 0 :草稿 1:待校验 2:已校验', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包表' + ROW_FORMAT = Dynamic; + +CREATE TABLE if not exists `io_destiny_process_code` +( + `id` bigint(0) NOT NULL, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单号外键', + `bindRlFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材字典ID外键', + `uuidFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'DI信息UUID外键', + `nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'DI', + `batchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号', + `productDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生产日期', + `expireDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失效日期', + `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格', + `supId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商ID外键', + `count` int(0) NULL DEFAULT NULL COMMENT '单据数量', + `updateTime` datetime(0) NULL DEFAULT NULL, + `serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `reCount` int(0) NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '定速包加工明细表' + ROW_FORMAT = Dynamic; + +CREATE TABLE if not exists `io_destiny_process_detail` +( + `id` bigint(0) NOT NULL, + `relId` bigint(0) NULL DEFAULT NULL COMMENT '耗材产品id', + `count` int(0) NULL DEFAULT NULL COMMENT '数量', + `reCount` int(0) NULL DEFAULT 0 COMMENT '实际数量', + `updateTime` datetime(0) NULL DEFAULT NULL, + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单号外键', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包产品关联表' + ROW_FORMAT = Dynamic; + + + From 1f260cb9dec86cce9646a722bf1a43043e7e50c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Wed, 5 Jul 2023 17:54:33 +0800 Subject: [PATCH 21/24] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=8B=89=E5=8F=96=E5=AE=A2=E6=88=B7=E4=BF=AE=E6=94=B9outType?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml index 0d87032a9..2988e29c1 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml @@ -362,6 +362,6 @@ SELECT * FROM basic_corp WHERE corpType = 1 - AND outType = 2; + AND outType = 1; From 1e29c762ce25d6802a1b991f2ac698d321f524d5 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Wed, 5 Jul 2023 22:17:28 +0800 Subject: [PATCH 22/24] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E4=BF=A1=E6=81=AF=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml index 3866964f7..d6ee52e4e 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml @@ -329,7 +329,7 @@ remark3 = #{remark3,jdbcType=VARCHAR}, price = #{price,jdbcType=VARCHAR}, manufactoryCode = #{manufactoryCode,jdbcType=VARCHAR}, - supCode = #{supCode,jdbcType=VARCHAR} + supCode = #{supCode,jdbcType=VARCHAR}, type = #{type,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} From b1fc3a50ef5ad7a05767ff3587e8a3bdc1184c8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Thu, 6 Jul 2023 09:18:39 +0800 Subject: [PATCH 23/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inout/IoOrderMutiController.java | 15 +++++++++++++++ .../api/entity/inout/IoOrderMutiUseEntity.java | 9 +++++++++ .../mybatis/mapper/inout/IoOrderMutiMapper.xml | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java index 7893e1ee9..cfcfd7fda 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java @@ -328,6 +328,21 @@ public class IoOrderMutiController { @PostMapping("/udiwms/inout/order/muti/addMutiDetail") public BaseResponse addMutiDetail(@RequestBody IoOrderMutiUseEntity ioOrderMutiUseEntity) { + + if (ioOrderMutiUseEntity.getCheckType() !=null && ioOrderMutiUseEntity.getCheckType() == 1) { + IoOrderMutiRequest ioOrderMutiRequest=new IoOrderMutiRequest(); + ioOrderMutiRequest.setStatus(0); + ioOrderMutiRequest.setUdiCode(ioOrderMutiUseEntity.getUdiCode()); + ioOrderMutiRequest.setMark(ioOrderMutiUseEntity.getMark()); + List ioOrderMutiEntityList = ioOrderMutiService.filterList(ioOrderMutiRequest); + if (ioOrderMutiEntityList.size() <= 0) { + return ResultVOUtils.error(999, "该产品不存在此标识!"); + } + if (ioOrderMutiEntityList.get(0).getReCount() <= 0) { + return ResultVOUtils.error(999, "该产品可使用数量不足!"); + } + } + //判断是不是个人使用 AuthAdmin authAdmin = customerService.getUserBean(); QueryWrapper setEw = new QueryWrapper<>(); diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java index 806bd3a48..f7989c410 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java @@ -64,4 +64,13 @@ public class IoOrderMutiUseEntity { @TableField(exist=false) private String createUserName; + + @TableField(exist = false) + private Integer checkType; + + @TableField(exist = false) + private String mark; + + @TableField(exist = false) + private String udiCode; } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml index 625cccb2d..780470d91 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml @@ -33,7 +33,7 @@ and b1.ggxh = #{ggxh} - and b1.cpmctymc = #{cpmctymc} + AND b1.cpmctymc LIKE CONCAT('%', #{cpmctymc}, '%') and io.status = #{status} From f1245c8fc9391d3813a6b2bb20b1e3a74394118a Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 6 Jul 2023 09:48:19 +0800 Subject: [PATCH 24/24] =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=88=86=E6=94=AF?= =?UTF-8?q?=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-dev.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 6035f3d23..73c3e77e0 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_zyy?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms_pzh?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: Glxp@6066 hikari: connection-timeout: 60000 maximum-pool-size: 20 @@ -44,7 +44,8 @@ ok: logging: level: - com.glxp.api.dao: debug + com.glxp.api.dao: debu + file_path: D:/udi/inUdiwms/udiwmsfile/ UDI_KEY: 6b137c66-6286-46c6-8efa-c2f5dd9237df