From e9540c0167279800796a5821aa8f2d443cbd6544 Mon Sep 17 00:00:00 2001 From: x_z Date: Mon, 29 Aug 2022 17:28:23 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=BA=93=E5=AD=98=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98=202.=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E7=AC=AC=E4=B8=89=E6=96=B9=E7=B3=BB=E7=BB=9F=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8D=95=E6=8D=AE=E7=B1=BB=E5=9E=8B=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BussinessOriginTypeController.java | 3 +- .../thrsys/ThrOrderReceiveController.java | 4 ++- .../dao/basic/BussinessOriginTypeDao.java | 2 ++ .../basic/BussinessOriginTypeService.java | 10 ++++-- .../impl/BussinessOriginTypeServiceImpl.java | 5 +++ .../inventory/impl/InvProductServiceImpl.java | 36 +++++++++++++++---- .../mapper/basic/BussinessOriginTypeDao.xml | 7 ++++ 7 files changed, 55 insertions(+), 12 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessOriginTypeController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessOriginTypeController.java index 5457090..9fcfcec 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessOriginTypeController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessOriginTypeController.java @@ -109,11 +109,10 @@ public class BussinessOriginTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (bussinessTypeEntity != null) { - BussinessOriginTypeEntity bussinessOriginTypeEntity = bussinessOriginTypeService.findByAction(bussinessTypeEntity.getAction()); + BussinessOriginTypeEntity bussinessOriginTypeEntity = bussinessOriginTypeService.findByActionAndSysId(bussinessTypeEntity.getAction(), bussinessTypeEntity.getThirdSys()); if (bussinessOriginTypeEntity != null) { return ResultVOUtils.error(500, "单据类型已存在!"); } - bussinessOriginTypeService.insertBusOriginType(bussinessTypeEntity); } else { return ResultVOUtils.error(999, "参数错误"); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderReceiveController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderReceiveController.java index b35924c..7d0bf43 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderReceiveController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderReceiveController.java @@ -1,6 +1,8 @@ package com.glxp.sale.admin.controller.thrsys; //领用单 +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity; import com.glxp.sale.admin.entity.thrsys.ThrOrderDetailEntity; @@ -49,7 +51,7 @@ public class ThrOrderReceiveController { stockOrderEntity.setCreateUser(userId + ""); stockOrderEntity.setType(1);//领用单据 stockOrderEntity.setUpdateTime(new Date()); - stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); + stockOrderEntity.setBilldate(DateUtil.parse(stockOrderEntity.getBilldate(), DatePattern.NORM_DATETIME_PATTERN).toString()); ThrOrderEntity temp = thrOrderService.findByUnique(stockOrderEntity.getBillNo(), stockOrderEntity.getThirdSysFk()); if (temp != null) { stockOrderEntity.setId(temp.getId()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessOriginTypeDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessOriginTypeDao.java index 3fbe818..0d0d79f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessOriginTypeDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessOriginTypeDao.java @@ -22,4 +22,6 @@ public interface BussinessOriginTypeDao { boolean insertBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity); boolean deleteById(@Param("id") String id); + + BussinessOriginTypeEntity findByActionAndSysId(@Param("action") String action, @Param("thirdSysId") String thirdSysId); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessOriginTypeService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessOriginTypeService.java index 6015606..717162e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessOriginTypeService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessOriginTypeService.java @@ -1,9 +1,7 @@ package com.glxp.sale.admin.service.basic; import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity; -import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.sale.admin.entity.basic.BussinessOriginTypeEntity; -import com.glxp.sale.admin.req.basic.BussinessLocalTypeFilterRequest; import com.glxp.sale.admin.req.basic.BussinessOriginTypeFilterRequest; import com.glxp.sale.admin.res.basic.BussinessOriginTypeResponse; @@ -38,4 +36,12 @@ public interface BussinessOriginTypeService { boolean deleteById(String id); + /** + * 根据单据类型代码和系统ID标识查询第三方单据类型 + * + * @param action + * @param thirdSysId + * @return + */ + BussinessOriginTypeEntity findByActionAndSysId(String action, String thirdSysId); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java index 0fee3c6..7208f3b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java @@ -132,4 +132,9 @@ public class BussinessOriginTypeServiceImpl implements BussinessOriginTypeServic public boolean deleteById(String id) { return bussinessOriginTypeDao.deleteById(id); } + + @Override + public BussinessOriginTypeEntity findByActionAndSysId(String action, String thirdSysId) { + return bussinessOriginTypeDao.findByActionAndSysId(action, thirdSysId); + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java index 7104aee..06a2922 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java @@ -107,16 +107,38 @@ public class InvProductServiceImpl implements InvProductService { relIdFkSet.add(invProductResponse.getRelIdFk()); }); + //按照产品批次分组 + Set batchNoSet = new HashSet<>(); + data.forEach(invProductResponse -> { + batchNoSet.add(invProductResponse.getBatchNo()); + }); + + List result = new ArrayList<>(); for (String relIdFk : relIdFkSet) { - InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0); - int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum(); - int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum(); - invProductResponse.setInCount(inCount); - invProductResponse.setOutCount(outCount); - invProductResponse.setReCount(inCount - outCount); - result.add(invProductResponse); + if (CollUtil.isNotEmpty(batchNoSet)) { + for (String batchNo : batchNoSet) { + List list = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(list)) { + InvProductResponse invProductResponse = list.get(0); + int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).mapToInt(InvProductResponse::getInCount).sum(); + int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).mapToInt(InvProductResponse::getOutCount).sum(); + invProductResponse.setInCount(inCount); + invProductResponse.setOutCount(outCount); + invProductResponse.setReCount(inCount - outCount); + result.add(invProductResponse); + } + } + } else { + InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0); + int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum(); + int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum(); + invProductResponse.setInCount(inCount); + invProductResponse.setOutCount(outCount); + invProductResponse.setReCount(inCount - outCount); + result.add(invProductResponse); + } } return result; } diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml index 52d91f0..e3ddba2 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml @@ -73,6 +73,13 @@ + + replace