diff --git a/src/main/java/com/glxp/api/controller/purchase/PurPlanController.java b/src/main/java/com/glxp/api/controller/purchase/PurPlanController.java index 330ce38cb..cacb3d302 100644 --- a/src/main/java/com/glxp/api/controller/purchase/PurPlanController.java +++ b/src/main/java/com/glxp/api/controller/purchase/PurPlanController.java @@ -168,58 +168,61 @@ public class PurPlanController { purApplyEntity.setAuditUser(userId + ""); purApplyEntity.setStatus(postPurPlanRequest.getEditStatus()); purPlanService.update(purApplyEntity); - + String billNo=""; List purPlanDetailEntities = purPlanDetailService.findByOrderId(purApplyEntity.getId() + ""); + //对计划单里面的供应商进行分组 + Map> map = purPlanDetailEntities.stream().collect(Collectors.groupingBy(PurPlanDetailEntity::getSupId)); + if (postPurPlanRequest.getEditStatus() == ConstantStatus.APPLY_AUDIT_ED) { if (CollUtil.isNotEmpty(purPlanDetailEntities) && postPurPlanRequest.isAutoPurchase()==true && StrUtil.isNotEmpty(postPurPlanRequest.getTargetSubInv()) && StrUtil.isNotEmpty(postPurPlanRequest.getTargetBillAction()) ) { - //生产单据表信息 - IoOrderEntity ioOrderEntity=new IoOrderEntity(); - ioOrderEntity.setBillNo(gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER ,"yyyyMMdd"))); - ioOrderEntity.setCorpOrderId(CustomUtil.getDate()); - ioOrderEntity.setMainAction(ConstantType.TYPE_PUT); - ioOrderEntity.setAction(postPurPlanRequest.getTargetBillAction()); - ioOrderEntity.setFromCorp("1111"); - ioOrderEntity.setFromType(ConstantStatus.FROM_PLAN); - ioOrderEntity.setStatus(1); - ioOrderEntity.setDealStatus(1); - ioOrderEntity.setCreateTime(new Date()); - ioOrderEntity.setCreateUser(postPurPlanRequest.getPurPlanEntity().getAuditUser()); - ioOrderEntity.setUpdateTime(new Date()); - ioOrderEntity.setUpdateUser(postPurPlanRequest.getPurPlanEntity().getAuditUser()); - ioOrderEntity.setCustomerId("110"); - ioOrderEntity.setDeptCode(postPurPlanRequest.getTargetDeptCode()); - ioOrderEntity.setInvCode(postPurPlanRequest.getTargetSubInv()); - ioOrderService.insertOrder(ioOrderEntity); - //插入业务单表 - //查询详情表 - List purPlanDetailEntityList=purPlanDetailService.findByOrderId(postPurPlanRequest.getPurPlanEntity().getId()+""); - for (PurPlanDetailEntity obj:purPlanDetailEntityList){ - - BasicProductsEntity basicProductsEntity=purPlanDetailService.selectIoOrderDetailBiz(obj.getId()); - - IoOrderDetailBizEntity ioOrderDetailBizEntity=new IoOrderDetailBizEntity(); - ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getId()+""); - ioOrderDetailBizEntity.setBindRlFk(Long.valueOf(obj.getProductId())); - ioOrderDetailBizEntity.setCount(obj.getCount()); - ioOrderDetailBizEntity.setUuidFk(basicProductsEntity.getUuid()); - ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode()); - ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc()); - ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh()); - ioOrderDetailBizEntity.setYlqxzcrbarmc(basicProductsEntity.getYlqxzcrbarmc()); - ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory()); - ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname()); - ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh()); - if(basicProductsEntity.getPrice()!=null) { - ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice())); - } - ioOrderDetailBizEntity.setSupId(obj.getSupId()); - ioOrderDetailBizService.insert(ioOrderDetailBizEntity); - } - - purApplyEntity.setStockOrderNo(ioOrderEntity.getBillNo()); + + for (Map.Entry> m:map.entrySet()) { + //生产单据表信息 + IoOrderEntity ioOrderEntity=new IoOrderEntity(); + ioOrderEntity.setBillNo(gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER ,"yyyyMMdd"))); + ioOrderEntity.setCorpOrderId(CustomUtil.getDate()); + ioOrderEntity.setMainAction(ConstantType.TYPE_PUT); + ioOrderEntity.setAction(postPurPlanRequest.getTargetBillAction()); + ioOrderEntity.setFromCorp(m.getKey()); + ioOrderEntity.setFromType(ConstantStatus.FROM_PLAN); + ioOrderEntity.setStatus(1); + ioOrderEntity.setDealStatus(1); + ioOrderEntity.setOrderType(1); + ioOrderEntity.setCreateTime(new Date()); + ioOrderEntity.setCreateUser(postPurPlanRequest.getPurPlanEntity().getAuditUser()); + ioOrderEntity.setUpdateTime(new Date()); + ioOrderEntity.setUpdateUser(postPurPlanRequest.getPurPlanEntity().getAuditUser()); + ioOrderEntity.setCustomerId("110"); + ioOrderEntity.setDeptCode(postPurPlanRequest.getTargetDeptCode()); + ioOrderEntity.setInvCode(postPurPlanRequest.getTargetSubInv()); + ioOrderService.insertOrder(ioOrderEntity); + billNo+=ioOrderEntity.getBillNo()+","; + //插入业务单表 + for (PurPlanDetailEntity obj:m.getValue()) { + BasicProductsEntity basicProductsEntity = purPlanDetailService.selectIoOrderDetailBiz(obj.getId()); + IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); + ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo()); + ioOrderDetailBizEntity.setBindRlFk(Long.valueOf(obj.getProductId())); + ioOrderDetailBizEntity.setCount(obj.getCount()); + ioOrderDetailBizEntity.setUuidFk(basicProductsEntity.getUuid()); + ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode()); + ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc()); + ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh()); + ioOrderDetailBizEntity.setYlqxzcrbarmc(basicProductsEntity.getYlqxzcrbarmc()); + ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory()); + ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname()); + ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh()); + if (basicProductsEntity.getPrice() != null) { + ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice())); + } + ioOrderDetailBizEntity.setSupId(obj.getSupId()); + ioOrderDetailBizService.insert(ioOrderDetailBizEntity); + } + } + purApplyEntity.setStockOrderNo(billNo.substring(0,billNo.length()-1)); purPlanService.update(purApplyEntity); } } diff --git a/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml b/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml index 28b284b9b..2da818df5 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml @@ -46,7 +46,7 @@ AND supId = #{supId} - + GROUP BY basic_products.uuid - + GROUP BY uuid \ No newline at end of file