|  |  | @ -9,15 +9,19 @@ import com.glxp.api.common.enums.ResultEnum; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.common.res.BaseResponse; |  |  |  | import com.glxp.api.common.res.BaseResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.common.util.ResultVOUtils; |  |  |  | import com.glxp.api.common.util.ResultVOUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.constant.Constant; |  |  |  | import com.glxp.api.constant.Constant; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.constant.ConstantStatus; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.constant.ConstantType; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.controller.BaseController; |  |  |  | import com.glxp.api.controller.BaseController; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.auth.AuthAdmin; |  |  |  | import com.glxp.api.entity.auth.AuthAdmin; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.auth.InvWarehouseEntity; |  |  |  | import com.glxp.api.entity.auth.InvWarehouseEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.entity.basic.BasicProductsEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.UdiProductEntity; |  |  |  | import com.glxp.api.entity.basic.UdiProductEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 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.PurReceiveDetailEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.inout.PurReceiveEntity; |  |  |  | import com.glxp.api.entity.inout.PurReceiveEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.purchase.PurApplyDetailEntity; |  |  |  | import com.glxp.api.entity.purchase.*; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.purchase.PurOrderDetailEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.purchase.PurPlanDetailEntity; |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.inout.AddReceiveDetailRequest; |  |  |  | import com.glxp.api.req.inout.AddReceiveDetailRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.inout.FilterReceiveDetailRequest; |  |  |  | import com.glxp.api.req.inout.FilterReceiveDetailRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.inout.FilterReceiveRequest; |  |  |  | import com.glxp.api.req.inout.FilterReceiveRequest; | 
			
		
	
	
		
		
			
				
					|  |  | @ -28,10 +32,14 @@ import com.glxp.api.res.inout.ReceiveDetailResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.inout.ReceiveResponse; |  |  |  | import com.glxp.api.res.inout.ReceiveResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.CustomerService; |  |  |  | import com.glxp.api.service.auth.CustomerService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.InvWarehouseService; |  |  |  | import com.glxp.api.service.auth.InvWarehouseService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.service.basic.IBasicBusTypeChangeService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.basic.UdiProductService; |  |  |  | import com.glxp.api.service.basic.UdiProductService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.service.inout.IoOrderDetailBizService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.service.inout.IoOrderService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.inout.ReceiveService; |  |  |  | import com.glxp.api.service.inout.ReceiveService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.inout.ReceivedetailService; |  |  |  | import com.glxp.api.service.inout.ReceivedetailService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.purchase.PurApplyDetailService; |  |  |  | import com.glxp.api.service.purchase.*; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.util.CustomUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.GennerOrderUtils; |  |  |  | import com.glxp.api.util.GennerOrderUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.OrderNoTypeBean; |  |  |  | import com.glxp.api.util.OrderNoTypeBean; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.beans.BeanUtils; |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
	
		
		
			
				
					|  |  | @ -42,9 +50,8 @@ import org.springframework.web.bind.annotation.RequestBody; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.web.bind.annotation.RestController; |  |  |  | import org.springframework.web.bind.annotation.RestController; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.annotation.Resource; |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.ArrayList; |  |  |  | import java.math.BigDecimal; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.Date; |  |  |  | import java.util.*; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.List; |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | import java.util.stream.Collectors; |  |  |  | import java.util.stream.Collectors; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | @RestController |  |  |  | @RestController | 
			
		
	
	
		
		
			
				
					|  |  | @ -63,6 +70,23 @@ public class PurOrderReceiveController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |     PurApplyDetailService purApplyDetailService; |  |  |  |     PurApplyDetailService purApplyDetailService; | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |     UdiProductService udiProductService; |  |  |  |     UdiProductService udiProductService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     IBasicBusTypeChangeService basicBusTypeChangeService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     PurApplyService purApplyService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     PurPlanService purPlanService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     PurPlanDetailService purPlanDetailService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     PurOrderService purOrderService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     PurOrderDetailService purOrderDetailService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     IoOrderService ioOrderService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     IoOrderDetailBizService ioOrderDetailBizService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @AuthRuleAnnotation("") |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
		
			
				
					
					|  |  |  |     @PostMapping("/udiwms/thrsys/order/insertWeb") |  |  |  |     @PostMapping("/udiwms/thrsys/order/insertWeb") | 
			
		
	
	
		
		
			
				
					|  |  | @ -218,17 +242,215 @@ public class PurOrderReceiveController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); |  |  |  |             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         Long userId = customerService.getUserId(); |  |  |  | //        Long userId = customerService.getUserId();
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         purReceiveEntity.setStatus(purReceiveEntity.getStatus()); |  |  |  | //        purReceiveEntity.setStatus(purReceiveEntity.getStatus());
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         purReceiveEntity.setUpdateUser(userId + ""); |  |  |  | //        purReceiveEntity.setUpdateUser(userId + "");
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         purReceiveEntity.setAuditRemark(purReceiveEntity.getAuditRemark()); |  |  |  | //        purReceiveEntity.setAuditRemark(purReceiveEntity.getAuditRemark());
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         purReceiveEntity.setAuditTime(new Date()); |  |  |  | //        purReceiveEntity.setAuditTime(new Date());
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         purReceiveEntity.setAuditUser(userId + ""); |  |  |  | //        purReceiveEntity.setAuditUser(userId + "");
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         purReceiveEntity.setUpdateTime(new Date()); |  |  |  | //        purReceiveEntity.setUpdateTime(new Date());
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         receiveService.updateOrder(purReceiveEntity); |  |  |  | //        receiveService.updateOrder(purReceiveEntity);
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |        if(purReceiveEntity.getStatus()==3){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |            generateDocument(purReceiveEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |        } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ResultVOUtils.success("成功"); |  |  |  |         return ResultVOUtils.success("成功"); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     //根据单据生成新单据
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public Boolean generateDocument(PurReceiveEntity purReceiveEntity){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //查询耗材表
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         purReceiveEntity=receiveService.selectById(purReceiveEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //查询耗材详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<PurReceiveDetailEntity> purReceiveDetailEntityList=receivedetailService.selectByOrderId(purReceiveEntity.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         PurApplyEntity purApplyEntity=new PurApplyEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //查询耗材要生成的业务单
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         BasicBusTypeChangeEntity basicBusTypeChangeEntity=new  BasicBusTypeChangeEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         basicBusTypeChangeEntity=basicBusTypeChangeService.selectByOriginAction("HCLY"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(basicBusTypeChangeEntity!=null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable()==true){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.SG_ORDER, "yyyyMMdd"))); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setBillDate(purReceiveEntity.getBillDate()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setStatus(basicBusTypeChangeEntity.getBusAuditStatus()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setRemark(purReceiveEntity.getRemark()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setInvCode(purReceiveEntity.getTargetInvCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setDeptCode(purReceiveEntity.getTargetDeptCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setTargetInvCode(purReceiveEntity.getInvCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setTargetDeptCode(purReceiveEntity.getDeptCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setCreateUser(purReceiveEntity.getAuditUser()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setCreateTime(timeProcess(purReceiveEntity.getCreateTime(),basicBusTypeChangeEntity.getBusBeforeTime())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setUpdateUser(purReceiveEntity.getAuditUser()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyEntity.setUpdateTime(timeProcess(purReceiveEntity.getCreateTime(),basicBusTypeChangeEntity.getBusBeforeTime())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if(purApplyEntity.getStatus()==3){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 purApplyEntity.setAuditUser(""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 purApplyEntity.setAuditTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //插入申购主表
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |            purApplyService.insert(purApplyEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //用stream流复制list
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             List<PurApplyDetailEntity> purApplyDetailEntityList = purReceiveDetailEntityList.stream().map(e -> { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         PurApplyDetailEntity d = new PurApplyDetailEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setOrderIdFk(purApplyEntity.getId()+""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setProductId(e.getRelIdFk().intValue()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         UdiProductEntity udiProductEntity=udiProductService.findByNameCode(e.getNameCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setProductName(udiProductEntity.getCpmctymc()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setCount(e.getCount()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setSupId(e.getSupId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setZczbhhzbapzbh(udiProductEntity.getZczbhhzbapzbh()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         return d; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     }) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     .collect(Collectors.toList()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             purApplyDetailService.insertPurApplyDetailEntity(purApplyDetailEntityList); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //---------------------------------判断申购为已审核就生成计划单-------------------------------------------//
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             PurPlanEntity purPlanEntity=new PurPlanEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             List<PurPlanDetailEntity> purPlanDetailEntityList=new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if(purApplyEntity.getStatus()==3){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 basicBusTypeChangeEntity=basicBusTypeChangeService.selectByOriginAction("CPSG"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if(basicBusTypeChangeEntity!=null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable()==true){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.JH_ORDER, "yyyyMMdd"))); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setBillDate(purReceiveEntity.getBillDate()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setStatus(basicBusTypeChangeEntity.getBusAuditStatus()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setRemark(purReceiveEntity.getRemark()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setInvCode(purReceiveEntity.getInvCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setDeptCode(purReceiveEntity.getDeptCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setCreateUser(purReceiveEntity.getAuditUser()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setCreateTime(timeProcess(purReceiveEntity.getCreateTime(),basicBusTypeChangeEntity.getBusBeforeTime())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setUpdateUser(purReceiveEntity.getAuditUser()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanEntity.setUpdateTime(timeProcess(purReceiveEntity.getCreateTime(),basicBusTypeChangeEntity.getBusBeforeTime())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     if(purPlanEntity.getStatus()==3){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         purPlanEntity.setAuditUser(""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         purPlanEntity.setAuditTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     //插入计划主表
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanService.insert(purPlanEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     //用stream流复制list
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanDetailEntityList = purReceiveDetailEntityList.stream().map(e -> { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         PurPlanDetailEntity d = new PurPlanDetailEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setOrderIdFk(purPlanEntity.getId()+""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setProductId(e.getRelIdFk().intValue()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         UdiProductEntity udiProductEntity=udiProductService.findByNameCode(e.getNameCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setProductName(udiProductEntity.getCpmctymc()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setCount(e.getCount()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setSupId(e.getSupId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         d.setZczbhhzbapzbh(udiProductEntity.getZczbhhzbapzbh()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         return d; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     }).collect(Collectors.toList()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purPlanDetailService.insertPurPlanDetailEntity(purPlanDetailEntityList); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     //更新申购表信息插入计划单号
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     PurApplyEntity purApplyEntity1=new PurApplyEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purApplyEntity1.setId(purApplyEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purApplyEntity1.setPlanBillNo(purPlanEntity.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purApplyEntity1.setGeneratePlan(true); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     purApplyService.update(purApplyEntity1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     //---------------------------------判断计划为已审核就生成计划单-------------------------------------------//\
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     PurOrderEntity purOrderEntity=new PurOrderEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     if(purPlanEntity.getStatus()==3){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         basicBusTypeChangeEntity=basicBusTypeChangeService.selectByOriginAction("CGJH"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if(basicBusTypeChangeEntity!=null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable()==true){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.CG_ORDER, "yyyyMMdd"))); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setBillDate(purReceiveEntity.getBillDate()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setStatus(basicBusTypeChangeEntity.getBusAuditStatus()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setRemark(purReceiveEntity.getRemark()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setInvCode(purReceiveEntity.getInvCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setDeptCode(purReceiveEntity.getDeptCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setCreateUser(purReceiveEntity.getAuditUser()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setCreateTime(timeProcess(purReceiveEntity.getCreateTime(),basicBusTypeChangeEntity.getBusBeforeTime())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setUpdateUser(purReceiveEntity.getAuditUser()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderEntity.setUpdateTime(timeProcess(purReceiveEntity.getCreateTime(),basicBusTypeChangeEntity.getBusBeforeTime())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             if(purOrderEntity.getStatus()==3){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 purOrderEntity.setAuditUser(""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 purOrderEntity.setAuditTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             //插入订单主表
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderService.insert(purOrderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             //用stream流复制list
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             List<PurOrderDetailEntity> purOrderDetailEntityList = purReceiveDetailEntityList.stream().map(e -> { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 PurOrderDetailEntity d = new PurOrderDetailEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 d.setOrderIdFk(purOrderEntity.getId()+""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 d.setProductId(e.getRelIdFk().intValue()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 UdiProductEntity udiProductEntity=udiProductService.findByNameCode(e.getNameCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 d.setProductName(udiProductEntity.getCpmctymc()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 d.setCount(e.getCount()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 d.setSupId(e.getSupId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 d.setZczbhhzbapzbh(udiProductEntity.getZczbhhzbapzbh()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 return d; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             }).collect(Collectors.toList()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purOrderDetailService.insertPurOrderDetailEntity(purOrderDetailEntityList); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  //                           更新计划表信息插入订单单号
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             PurPlanEntity purPlanEntity1=new PurPlanEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purPlanEntity1.setId(purPlanEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purPlanEntity1.setStockOrderNo(purOrderEntity.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                            purPlanEntity.sets(true);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purPlanService.update(purPlanEntity1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //---------------------------------判断计划为已审核就生成采购入库单-------------------------------------------//\
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //查询申购单详情
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         List<PurPlanDetailEntity> purPlanDetailEntities=purPlanDetailService.findByOrderId(purPlanEntity.getId()+""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //对计划单里面的供应商进行分组
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         Map<String, List<PurPlanDetailEntity>> map = purPlanDetailEntities.stream().collect(Collectors.groupingBy(PurPlanDetailEntity::getSupId)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         String billNo=""; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if(basicBusTypeChangeEntity!=null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetAction()) && basicBusTypeChangeEntity.isEnable()==true){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             for (Map.Entry<String, List<PurPlanDetailEntity>> 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(basicBusTypeChangeEntity.getTargetAction()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setFromCorp(m.getKey()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setFromType(ConstantStatus.FROM_PLAN); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setStatus(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setDealStatus(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setOrderType(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setCreateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setCreateUser(purReceiveEntity.getCreateUser()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setUpdateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setUpdateUser(purReceiveEntity.getCreateUser()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setCustomerId("110"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setDeptCode(purReceiveEntity.getInvCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 ioOrderEntity.setInvCode(purReceiveEntity.getDeptCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 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); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             PurPlanEntity purPlanEntity1=new PurPlanEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purPlanEntity1.setId(purPlanEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purPlanEntity1.setStockOrderNo(billNo.substring(0,billNo.length()-1)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             purPlanService.update(purPlanEntity1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return true; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     /** |  |  |  |     /** | 
			
		
	
		
		
			
				
					
					|  |  |  |      * 添加申购单到采购单里面 |  |  |  |      * 添加申购单到采购单里面 | 
			
		
	
		
		
			
				
					
					|  |  |  |      */ |  |  |  |      */ | 
			
		
	
	
		
		
			
				
					|  |  | @ -288,5 +510,13 @@ public class PurOrderReceiveController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public Date timeProcess(Date date,Integer timeCount) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         Calendar rightNow = Calendar.getInstance(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         rightNow.setTime(date); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         rightNow.add(Calendar.HOUR,timeCount); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         Date dt1 = rightNow.getTime(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return dt1; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |