|  |  | @ -294,20 +294,28 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CollUtil.isNotEmpty(inCodes)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             log.info("开始生成盘盈单据"); |  |  |  |             log.info("开始生成盘盈单据"); | 
			
		
	
		
		
			
				
					
					|  |  |  |             //开始生成盘盈单据
 |  |  |  |             //开始生成盘盈单据
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             String inOrderId = buildOrder(invCountOrder, inCodes, inBusType); |  |  |  |             String inOrderId = buildOrder(invCountOrder, inCodes, inBusType); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             log.info("盘点单据:{} 生成的盘盈入库单据号:{}", invCountOrder.getOrderId(), inOrderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |             invCountOrder.setInOrderIds(inOrderId); |  |  |  |             invCountOrder.setInOrderIds(inOrderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //更新单据号
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             invCountOrderDao.updateById(invCountOrder); | 
			
		
	
		
		
			
				
					
					|  |  |  |             log.info("盘盈单据生成成功"); |  |  |  |             log.info("盘盈单据生成成功"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CollUtil.isNotEmpty(outCodes)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             //开始生成盘亏单据
 |  |  |  |             //开始生成盘亏单据
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             log.info("开始生成盘亏单据"); |  |  |  |             log.info("开始生成盘亏单据"); | 
			
		
	
		
		
			
				
					
					|  |  |  |             String outOrderId = buildOrder(invCountOrder, outCodes, outBusType); |  |  |  |             String outOrderId = buildOrder(invCountOrder, outCodes, outBusType); | 
			
		
	
		
		
			
				
					
					|  |  |  |         invCountOrder.setOrderId(outOrderId); |  |  |  |             log.info("盘点单据:{} 生成的盘亏出库单据号:{}", invCountOrder.getOrderId(), outOrderId); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             invCountOrder.setOutOrderIds(outOrderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //更新单据号
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             invCountOrderDao.updateById(invCountOrder); | 
			
		
	
		
		
			
				
					
					|  |  |  |             log.info("盘亏单据生成成功"); |  |  |  |             log.info("盘亏单据生成成功"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         //更新盘点单据的出入库单据信息
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         invCountOrderDao.updateById(invCountOrder); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     /** |  |  |  |     /** | 
			
		
	
	
		
		
			
				
					|  |  | @ -315,32 +323,35 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { | 
			
		
	
		
		
			
				
					
					|  |  |  |      * |  |  |  |      * | 
			
		
	
		
		
			
				
					
					|  |  |  |      * @param invCountOrder 盘点单据 |  |  |  |      * @param invCountOrder 盘点单据 | 
			
		
	
		
		
			
				
					
					|  |  |  |      * @param codeTempList  单据码明细 |  |  |  |      * @param codeTempList  单据码明细 | 
			
		
	
		
		
			
				
					
					|  |  |  |      * @param inBusType     单据类型 |  |  |  |      * @param busType       单据类型 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |      */ |  |  |  |      */ | 
			
		
	
		
		
			
				
					
					|  |  |  |     private String buildOrder(InvCountOrderEntity invCountOrder, List<IoCodeTempEntity> codeTempList, BasicBussinessTypeEntity inBusType) { |  |  |  |     private String buildOrder(InvCountOrderEntity invCountOrder, List<IoCodeTempEntity> codeTempList, BasicBussinessTypeEntity busType) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         if (CollUtil.isNotEmpty(codeTempList)) { |  |  |  |         if (CollUtil.isNotEmpty(codeTempList)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             //构造单据数据
 |  |  |  |             //构造单据数据
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             IoOrderEntity order = new IoOrderEntity(); |  |  |  |             IoOrderEntity order = new IoOrderEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setMainAction(inBusType.getMainAction()); |  |  |  |             order.setMainAction(busType.getMainAction()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             order.setAction(inBusType.getAction()); |  |  |  |             order.setAction(busType.getAction()); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             Date date = new Date(); |  |  |  |             Date date = new Date(); | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setCreateTime(date); |  |  |  |             order.setCreateTime(date); | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setUpdateTime(date); |  |  |  |             order.setUpdateTime(date); | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setDeptCode(invCountOrder.getDeptCode()); |  |  |  |             order.setDeptCode(invCountOrder.getDeptCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setInvCode(invCountOrder.getInvCode()); |  |  |  |             order.setInvCode(invCountOrder.getInvCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             //查询单据往来单位信息
 |  |  |  |             //查询单据往来单位信息
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setFromCorp(inBusType.getDefaultUnit()); |  |  |  |             order.setFromCorp(busType.getDefaultUnit()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             order.setFromType(ConstantStatus.FROM_COUNT); |  |  |  |             order.setFromType(ConstantStatus.FROM_COUNT); | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setCorpOrderId(CustomUtil.getId() + "x"); |  |  |  |             order.setCorpOrderId(CustomUtil.getId() + "x"); | 
			
		
	
		
		
			
				
					
					|  |  |  |             //设置为草稿状态
 |  |  |  |             //设置为草稿状态
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setStatus(1); |  |  |  |             order.setStatus(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setDealStatus(1); |  |  |  |             order.setDealStatus(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             order.setOrderType(3); //正常单据
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             //设置上传状态为未上传
 |  |  |  |             //设置上传状态为未上传
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             order.setExportStatus(0); |  |  |  |             order.setExportStatus(0); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             String prefix = StrUtil.trim(busType.getPrefix()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             prefix = Constant.SCAN_ORDER + (StrUtil.isBlank(prefix) ? "" : prefix); | 
			
		
	
		
		
			
				
					
					|  |  |  |             //生成单据号
 |  |  |  |             //生成单据号
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trim(inBusType.getPrefix()), "yyyyMMdd")); |  |  |  |             String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(prefix, "yyyyMMdd")); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             order.setBillNo(orderNo); |  |  |  |             order.setBillNo(orderNo); | 
			
		
	
		
		
			
				
					
					|  |  |  |             //对条码统一设置创建时间,单号等信息
 |  |  |  |             //对条码统一设置创建时间,单号等信息
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             codeTempList.forEach(codeTemp -> { |  |  |  |             codeTempList.forEach(codeTemp -> { | 
			
		
	
	
		
		
			
				
					|  |  | @ -440,9 +451,9 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { |  |  |  |                     for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (!countCodeList.contains(invProductDetailEntity.getCode()) && !verifyCodeExist(codeList, invProductDetailEntity.getCode())) { |  |  |  |                         if (!countCodeList.contains(invProductDetailEntity.getCode()) && !verifyCodeExist(codeList, invProductDetailEntity.getCode())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                             InvCountOrderDetailEntity orderDetailEntity = new InvCountOrderDetailEntity(); |  |  |  |                             InvCountOrderDetailEntity orderDetailEntity = new InvCountOrderDetailEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             orderDetailEntity.setRelId(invCountOrderDetailEntity.getRelId()); |  |  |  |                             BeanUtil.copyProperties(invCountOrderDetailEntity, orderDetailEntity); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                             orderDetailEntity.setStatus(0); |  |  |  |                             orderDetailEntity.setStatus(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             IoCodeTempEntity codeTempEntity = buildCodeTempEntity(invCountOrder, invProductDetailEntity.getCode(), orderDetailEntity); |  |  |  |                             IoCodeTempEntity codeTempEntity = buildCodeTempEntity(invCountOrder, invProductDetailEntity.getCode(), invCountOrderDetailEntity); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                             codeList.add(codeTempEntity); |  |  |  |                             codeList.add(codeTempEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
	
		
		
			
				
					|  |  | @ -552,10 +563,11 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (CollUtil.isNotEmpty(list)) { |  |  |  |         if (CollUtil.isNotEmpty(list)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             List<BasicBussinessTypeEntity> busTypes = new ArrayList<>(2); |  |  |  |             List<BasicBussinessTypeEntity> busTypes = new ArrayList<>(2); | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (BasicBusTypeChangeEntity basicBusTypeChangeEntity : list) { |  |  |  |             for (BasicBusTypeChangeEntity basicBusTypeChangeEntity : list) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if ("PDRK".equals(basicBusTypeChangeEntity.getOriginAction()) || "PDCK".equals(basicBusTypeChangeEntity.getOriginAction())) { |  |  |  |                 if ("PYRK".equals(basicBusTypeChangeEntity.getOriginAction().toUpperCase()) || "PKCK".equals(basicBusTypeChangeEntity.getOriginAction().toUpperCase())) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     busTypes.add(bussinessTypeDao.selectOne(new QueryWrapper<BasicBussinessTypeEntity>().eq("action", basicBusTypeChangeEntity.getTargetAction()))); |  |  |  |                     busTypes.add(bussinessTypeDao.selectOne(new QueryWrapper<BasicBussinessTypeEntity>().eq("action", basicBusTypeChangeEntity.getTargetAction()))); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return busTypes; | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |         return null; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |