|  |  |  | @ -17,6 +17,7 @@ import com.glxp.api.controller.BaseController; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.auth.InvBusUserEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.auth.InvWarehouseEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.BasicBussinessTypeEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.BasicCorpEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.EntrustReceEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.inout.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.http.sync.SpGetHttpClient; | 
			
		
	
	
		
			
				
					|  |  |  | @ -31,6 +32,7 @@ import com.glxp.api.res.inout.IoOrderResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.res.inout.PdaBusOrderResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.auth.InvBusUserService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.auth.InvWarehouseService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.basic.BasicCorpService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.basic.EntrustReceService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.basic.IBasicBussinessTypeService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.inout.*; | 
			
		
	
	
		
			
				
					|  |  |  | @ -45,10 +47,8 @@ import org.springframework.web.bind.annotation.*; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
			
				
					|  |  |  |  | import java.math.BigDecimal; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.ArrayList; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Arrays; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Date; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.List; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.*; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.stream.Collectors; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import static com.glxp.api.constant.ConstantStatus.ORDER_STATUS_CHECK_PROCESS; | 
			
		
	
	
		
			
				
					|  |  |  | @ -75,6 +75,8 @@ public class IoOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |     IoAddInoutService ioAddInoutService; | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     IoCheckInoutService ioCheckInoutService; | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     BasicCorpService basicCorpService; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * 查询单据列表 | 
			
		
	
	
		
			
				
					|  |  |  | @ -270,10 +272,27 @@ public class IoOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         IoOrderEntity orderEntity = new IoOrderEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isEmpty(addOrderRequest.getAction())) | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "单据类型不能为空"); | 
			
		
	
		
			
				
					|  |  |  |  |         orderEntity.setAction(addOrderRequest.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         BasicCorpEntity basicCorpEntity = new BasicCorpEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |         //要是特殊往来信息没有就创建
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { | 
			
		
	
		
			
				
					|  |  |  |  |             basicCorpEntity = basicCorpService.selectByName(orderEntity.getFromCorp()); | 
			
		
	
		
			
				
					|  |  |  |  |             if (basicCorpEntity == null) { | 
			
		
	
		
			
				
					|  |  |  |  |                 basicCorpEntity = new BasicCorpEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |                 basicCorpEntity.setErpId(CustomUtil.getUnitId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK); | 
			
		
	
		
			
				
					|  |  |  |  |                 basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK); | 
			
		
	
		
			
				
					|  |  |  |  |                 basicCorpEntity.setName(addOrderRequest.getFromCorp()); | 
			
		
	
		
			
				
					|  |  |  |  |                 basicCorpEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 basicCorpService.insert(basicCorpEntity); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setFromCorp(basicCorpEntity.getErpId()); | 
			
		
	
		
			
				
					|  |  |  |  |         }else { | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setFromCorp(addOrderRequest.getFromCorp()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         orderEntity.setAction(addOrderRequest.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); | 
			
		
	
		
			
				
					|  |  |  |  |         orderEntity.setRemark(addOrderRequest.getRemark()); | 
			
		
	
		
			
				
					|  |  |  |  |         orderEntity.setFromInvCode(addOrderRequest.getFromInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  |         orderEntity.setDeptCode(addOrderRequest.getDeptCode()); | 
			
		
	
	
		
			
				
					|  |  |  | @ -746,11 +765,17 @@ public class IoOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         originOrder.setReplicateNo(orderNo); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCodeTempEntity> supplementCodes = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //            生成业务单
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCodeEntity> products = addOrderChangeRequest.getProducts(); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(originOrder.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(orderDetailBizEntities)) { | 
			
		
	
		
			
				
					|  |  |  |  |             for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) { | 
			
		
	
		
			
				
					|  |  |  |  |         // 计算出两个集合之间产品批次号组成的差异
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailBizEntity> IoStatDayEntityList = orderDetailBizEntities.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                 .filter(comment -> products.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                         .anyMatch(p -> Objects.equals(p.getBatchNo(), comment.getBatchNo()) // 使用 Objects.equals 来进行非空判断
 | 
			
		
	
		
			
				
					|  |  |  |  |                                 && Objects.equals(p.getRelId(), comment.getBindRlFk()))) | 
			
		
	
		
			
				
					|  |  |  |  |                 .collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |         //生成业务单
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(IoStatDayEntityList)) { | 
			
		
	
		
			
				
					|  |  |  |  |             for (IoOrderDetailBizEntity orderDetailBizEntity : IoStatDayEntityList) { | 
			
		
	
		
			
				
					|  |  |  |  |                 orderDetailBizEntity.setOrderIdFk(newOrder.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 orderDetailBizService.insert(orderDetailBizEntity); | 
			
		
	
	
		
			
				
					|  |  |  | @ -758,7 +783,7 @@ public class IoOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCodeEntity> products = addOrderChangeRequest.getProducts(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         originCodes.forEach( | 
			
		
	
		
			
				
					|  |  |  |  |                 code -> { | 
			
		
	
		
			
				
					|  |  |  |  |                     //复制选中的产品
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |