|  |  |  | @ -30,6 +30,7 @@ import org.springframework.stereotype.Service; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.transaction.annotation.Transactional; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.ArrayList; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Collections; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Date; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.List; | 
			
		
	
	
		
			
				
					|  |  |  | @ -187,7 +188,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDetailEntity.setRecordId(recordId); | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDetailEntity.setBatchNo(batchNo); | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDetailEntity.setRelId(relId+""); | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDetailEntity.setRelId(relId + ""); | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDetailEntity.setNameCode(nameCode); | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDetailEntity.setExpireDate(expireDate); | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDetailEntity.setProduceDate(produceDate); | 
			
		
	
	
		
			
				
					|  |  |  | @ -215,7 +216,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setRecordId(bindInvSpaceRequest.getOrderId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setBatchNo(batchNo); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setRelId(relId+""); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setRelId(relId + ""); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setNameCode(nameCode); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setExpireDate(expireDate); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setProduceDate(produceDate); | 
			
		
	
	
		
			
				
					|  |  |  | @ -232,6 +233,131 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(recordId); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse bindInvSpaceAll(BindInvSpaceRequest bindInvSpaceRequest) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<FilterInvPlaceOrderRequest> filterInvPlaceOrderRequestList = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("code", bindInvSpaceRequest.getInvCode())); | 
			
		
	
		
			
				
					|  |  |  |  |         if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { | 
			
		
	
		
			
				
					|  |  |  |  |             QueryWrapper<InvPreInProductDetailEntity> ew = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |             ew.eq("orderId", bindInvSpaceRequest.getOId()); | 
			
		
	
		
			
				
					|  |  |  |  |             ew.eq("mainAction", "WareHouseIn"); | 
			
		
	
		
			
				
					|  |  |  |  |             List<InvPreInProductDetailEntity> invPreInProductDetailEntityList = invPreInProductDetailDao.selectList(ew); | 
			
		
	
		
			
				
					|  |  |  |  |             if (invPreInProductDetailEntityList.size() == 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.error(999, "该单号不存在可以上架产品!"); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntityList) { | 
			
		
	
		
			
				
					|  |  |  |  |                 FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setBatchNo(invPreInProductDetailEntity.getBatchNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setCount(invPreInProductDetailEntity.getReCount()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setExpireDate(invPreInProductDetailEntity.getExpireDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setRelId(invPreInProductDetailEntity.getRelId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setNameCode(invPreInProductDetailEntity.getNameCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setSerialNo(invPreInProductDetailEntity.getSerialNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setProduceDate(invPreInProductDetailEntity.getProduceDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setSupId(invPreInProductDetailEntity.getSupId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setCode(invPreInProductDetailEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { | 
			
		
	
		
			
				
					|  |  |  |  |             QueryWrapper<InvPreProductDetailEntity> ew = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |             ew.eq("orderId", bindInvSpaceRequest.getOId()); | 
			
		
	
		
			
				
					|  |  |  |  |             ew.eq("mainAction", "WareHouseIn"); | 
			
		
	
		
			
				
					|  |  |  |  |             List<InvPreProductDetailEntity> invPreProductDetailEntityList = invPreProductDetailDao.selectList(ew); | 
			
		
	
		
			
				
					|  |  |  |  |             for (InvPreProductDetailEntity invPreProductDetailEntity : invPreProductDetailEntityList) { | 
			
		
	
		
			
				
					|  |  |  |  |                 FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setBatchNo(invPreProductDetailEntity.getBatchNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setExpireDate(invPreProductDetailEntity.getExpireDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setRelId(invPreProductDetailEntity.getRelId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setNameCode(invPreProductDetailEntity.getNameCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setSerialNo(invPreProductDetailEntity.getSerialNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setProduceDate(invPreProductDetailEntity.getProduceDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setCount(invPreProductDetailEntity.getReCount()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setSupId(invPreProductDetailEntity.getSupId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setCode(invPreProductDetailEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) { | 
			
		
	
		
			
				
					|  |  |  |  |             QueryWrapper<InvProductDetailEntity> ew = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |             ew.eq("orderId", bindInvSpaceRequest.getOId()); | 
			
		
	
		
			
				
					|  |  |  |  |             ew.eq("mainAction", "WareHouseIn"); | 
			
		
	
		
			
				
					|  |  |  |  |             List<InvProductDetailEntity> invProductDetailEntityList = invProductDetailDao.selectList(ew); | 
			
		
	
		
			
				
					|  |  |  |  |             for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntityList) { | 
			
		
	
		
			
				
					|  |  |  |  |                 FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setBatchNo(invProductDetailEntity.getBatchNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setExpireDate(invProductDetailEntity.getExpireDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setRelId(invProductDetailEntity.getRelId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setNameCode(invProductDetailEntity.getNameCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setCount(invProductDetailEntity.getReCount()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setSerialNo(invProductDetailEntity.getSerialNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setProduceDate(invProductDetailEntity.getProduceDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setSupId(invProductDetailEntity.getSupId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequest.setCode(invProductDetailEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //判断是不是第一次进行添加 是就插入一条主表
 | 
			
		
	
		
			
				
					|  |  |  |  |         String recordId = ""; | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isEmpty(bindInvSpaceRequest.getOrderId())) { | 
			
		
	
		
			
				
					|  |  |  |  |             //操作人ID
 | 
			
		
	
		
			
				
					|  |  |  |  |             String userId = customerService.getUserIdStr(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd")); | 
			
		
	
		
			
				
					|  |  |  |  |             InvPlaceOrderEntity orderEntity = new InvPlaceOrderEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setRecordId(recordId); | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setType(2); | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setOrderId(bindInvSpaceRequest.getOId()); | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setCreateUser(userId); | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setCreateTime(new Date()); | 
			
		
	
		
			
				
					|  |  |  |  |             orderEntity.setUpdateTime(new Date()); | 
			
		
	
		
			
				
					|  |  |  |  |             invPlaceOrderDao.insert(orderEntity); | 
			
		
	
		
			
				
					|  |  |  |  |             //插入附表
 | 
			
		
	
		
			
				
					|  |  |  |  |             for (FilterInvPlaceOrderRequest filterInvPlaceOrderRequest : filterInvPlaceOrderRequestList) { | 
			
		
	
		
			
				
					|  |  |  |  |                 InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setRecordId(recordId); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+""); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setSupId(filterInvPlaceOrderRequest.getSupId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setSerialNo(filterInvPlaceOrderRequest.getSerialNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setCount(filterInvPlaceOrderRequest.getCount()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  |             //插入附表
 | 
			
		
	
		
			
				
					|  |  |  |  |             for (FilterInvPlaceOrderRequest filterInvPlaceOrderRequest : filterInvPlaceOrderRequestList) { | 
			
		
	
		
			
				
					|  |  |  |  |                 InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setRecordId(recordId); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+""); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setSupId(filterInvPlaceOrderRequest.getSupId()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setSerialNo(filterInvPlaceOrderRequest.getSerialNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailEntity.setCount(filterInvPlaceOrderRequest.getCount()); | 
			
		
	
		
			
				
					|  |  |  |  |                 invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(recordId); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public List<InvPlaceOrderDetailResponse> filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         if (null == filterInvPlaceOrderRequest) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |