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