|  |  | @ -10,6 +10,7 @@ import com.glxp.api.admin.entity.info.SystemParamConfigEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inout.*; |  |  |  | import com.glxp.api.admin.entity.inout.*; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; |  |  |  | import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inventory.InvProductEntity; |  |  |  | import com.glxp.api.admin.entity.inventory.InvProductEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; |  |  |  | import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; |  |  |  | import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; |  |  |  | import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; | 
			
		
	
	
		
		
			
				
					|  |  | @ -21,6 +22,7 @@ import com.glxp.api.admin.service.info.SystemParamConfigService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.inout.*; |  |  |  | import com.glxp.api.admin.service.inout.*; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.service.inventory.*; |  |  |  | import com.glxp.api.admin.service.inventory.*; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.admin.util.*; |  |  |  | import com.glxp.api.admin.util.*; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import lombok.extern.slf4j.Slf4j; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.beans.BeanUtils; |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.scheduling.annotation.Async; |  |  |  | import org.springframework.scheduling.annotation.Async; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.stereotype.Service; |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
	
		
		
			
				
					|  |  | @ -28,6 +30,7 @@ import org.springframework.stereotype.Service; | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.annotation.Resource; |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.*; |  |  |  | import java.util.*; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | @Slf4j | 
			
		
	
		
		
			
				
					
					|  |  |  | @Service |  |  |  | @Service | 
			
		
	
		
		
			
				
					
					|  |  |  | public class InvProductsTrService { |  |  |  | public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -72,9 +75,17 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |     InvWarehouseService invWarehouseService; |  |  |  |     InvWarehouseService invWarehouseService; | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |     GennerOrderUtils gennerOrderUtils; |  |  |  |     GennerOrderUtils gennerOrderUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     InvSubWarehouseService invSubWarehouseService; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Async |  |  |  |     @Async | 
			
		
	
		
		
			
				
					
					|  |  |  |     public void genInvProducts(String orderId) { |  |  |  |     public void genInvProducts(String orderId) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //导入订单状态
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         IOOrderStatusEntity ioOrderStatusEntity = new IOOrderStatusEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ioOrderStatusEntity.setStatus(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ioOrderStatusEntity.setUpdateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ioOrderStatusEntity.setOrderId(orderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ioOrderStatusService.insertOrderStatus(ioOrderStatusEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         OrderEntity orderEntity = orderService.findById(orderId); |  |  |  |         OrderEntity orderEntity = orderService.findById(orderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && |  |  |  |         if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && | 
			
		
	
	
		
		
			
				
					|  |  | @ -198,31 +209,35 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             //单据流转
 |  |  |  |             //单据流转
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             List<BussinessChangeTypeEntity> bussinessChangeTypeEntitys = bussinessChangeTypeService.findByAction(bussinessLocalTypeEntity.getLocalAction()); |  |  |  |             BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeService.findOriginAction(bussinessLocalTypeEntity.getLocalAction()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             if ((bussinessChangeTypeEntitys != null && bussinessChangeTypeEntitys.size() > 0) && bussinessLocalTypeEntity.isChangeEnable()) { |  |  |  |             if (bussinessChangeTypeEntity != null && bussinessLocalTypeEntity.isChangeEnable()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 if (orderEntity.isOutChangeEnable()) {//是否缺量补单
 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     //普通出库
 |  |  |  |                 addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntity); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys); |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     } else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) |  |  |  | //                if (orderEntity.isOutChangeEnable()) {//是否缺量补单
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     //普通入库补单
 |  |  |  | //                    //普通出库
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     { |  |  |  | //                    if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) {
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); |  |  |  | //                        addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         List<WarehouseEntity> datas = addPutOrder(orderEntity, mInvProductDetailEntities); |  |  |  | //                    } else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType())
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         List<WarehouseEntity> temps = filterMapCodes(datas); |  |  |  | //                    //普通入库补单
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         buildPreOutOrder(bussinessChangeTypeEntity, temps, orderEntity);   //3.生成流转单据
 |  |  |  | //                    {
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { |  |  |  | //                        BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         //寄售出库补单
 |  |  |  | //                        List<WarehouseEntity> datas = addPutOrder(orderEntity, mInvProductDetailEntities);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); |  |  |  | //                        List<WarehouseEntity> temps = filterMapCodes(datas);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         List<WarehouseEntity> datas = addPreOutOrder(orderEntity, mInvProductDetailEntities); |  |  |  | //                        buildPreOutOrder(bussinessChangeTypeEntity, temps, orderEntity);   //3.生成流转单据
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         List<WarehouseEntity> temps = filterMapCodes(datas); |  |  |  | //                    } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) {
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity);   //3.生成流转单据
 |  |  |  | //                        //寄售出库补单
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     } else { |  |  |  | //                        BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
 |  |  |  | //                        List<WarehouseEntity> datas = addPreOutOrder(orderEntity, mInvProductDetailEntities);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  | //                        List<WarehouseEntity> temps = filterMapCodes(datas);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 } else { |  |  |  | //                        buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity);   //3.生成流转单据
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
 |  |  |  | //                    } else {
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  | //                        insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                    }
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                } else {
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                    insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                }
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             } else { |  |  |  |             } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
 |  |  |  |                 insetInv(bussinessTypeEntity, mInvProductDetailEntities);//2.插入当前库存
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -232,14 +247,13 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     //普通出库补单-- //补采购入库,调拨入库,寄售转入
 |  |  |  |     //普通出库补单-- //补采购入库,调拨入库,寄售转入
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public void addUseOutOrder(OrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities, List<BussinessChangeTypeEntity> bussinessChangeTypeEntities) { |  |  |  |     public void addUseOutOrder(OrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities, BussinessChangeTypeEntity bussinessChangeTypeEntity) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntity = bussinessChangeTypeEntities.get(0); |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); |  |  |  |         List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<WarehouseEntity> inList = new ArrayList<>(); |  |  |  |         List<WarehouseEntity> inList = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<WarehouseEntity> preiInList = new ArrayList<>(); |  |  |  |         List<WarehouseEntity> preiInList = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         //缺量补单时是否全量补单
 |  |  |  |         //缺量补单时是否全量补单
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         BussinessTypeEntity bussinessTypeEntity1 = bussinessTypeService.findBTByAction(orderEntity.getAction()); |  |  |  |         BussinessTypeEntity bussinessTypeEntity1 = bussinessTypeService.findBTByAction(orderEntity.getAction()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (bussinessTypeEntity1.isSupplementAll()) { |  |  |  |         if (bussinessChangeTypeEntity.isSupplementAll()) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             insetInv(bussinessTypeEntity1, invProductDetailEntities);//2.插入当前库存
 |  |  |  |             insetInv(bussinessTypeEntity1, invProductDetailEntities);//2.插入当前库存
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             WarehouseEntity warehouseEntity = warehouseEntities.get(0); |  |  |  |             WarehouseEntity warehouseEntity = warehouseEntities.get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |             InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode()); |  |  |  |             InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode()); | 
			
		
	
	
		
		
			
				
					|  |  | @ -249,10 +263,9 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } else { |  |  |  |             } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (locWarehouseEntity.getLevel() > 1) { |  |  |  |                 if (locWarehouseEntity.getLevel() > 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     InvWarehouseEntity pInWarehouseEntity = invWarehouseService.selectByCode(locWarehouseEntity.getPcode()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     for (WarehouseEntity tempEntity : warehouseEntities) { |  |  |  |                     for (WarehouseEntity tempEntity : warehouseEntities) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         tempEntity.setFromCorp(pInWarehouseEntity.getName()); |  |  |  |                         tempEntity.setFromCorp(bussinessChangeTypeEntity.getDefaultInv()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         tempEntity.setFromCorpId(pInWarehouseEntity.getCode()); |  |  |  |                         tempEntity.setFromCorpId(bussinessChangeTypeEntity.getDefaultSubInv()); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                         inList.add(tempEntity); |  |  |  |                         inList.add(tempEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } else { |  |  |  |                 } else { | 
			
		
	
	
		
		
			
				
					|  |  | @ -275,7 +288,7 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                  * else(仓库等级>1) |  |  |  |                  * else(仓库等级>1) | 
			
		
	
		
		
			
				
					
					|  |  |  |                  * {可能需要补录的入库单据有一种:《调拨入库》} |  |  |  |                  * {可能需要补录的入库单据有一种:《调拨入库》} | 
			
		
	
		
		
			
				
					
					|  |  |  |                  */ |  |  |  |                  */ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode()); |  |  |  |                 InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(bussinessChangeTypeEntity.getLocInv()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 if (locWarehouseEntity.getLevel() == 1 && isAdavnce(warehouseEntity)) {//补寄售转入
 |  |  |  |                 if (locWarehouseEntity.getLevel() == 1 && isAdavnce(warehouseEntity)) {//补寄售转入
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     //获取当前条码实际数量
 |  |  |  |                     //获取当前条码实际数量
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     int actCount = getActCount(warehouseEntity); |  |  |  |                     int actCount = getActCount(warehouseEntity); | 
			
		
	
	
		
		
			
				
					|  |  | @ -323,24 +336,27 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     String code = warehouseEntity.getCode(); |  |  |  |                     String code = warehouseEntity.getCode(); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     int count = actCount * warehouseEntity.getCount(); |  |  |  |                     int count = actCount * warehouseEntity.getCount(); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     int invCount = 0; |  |  |  |                     int invCount = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (locWarehouseEntity.getLevel() > 1) {//补调拨入库
 |  |  |  |                     if (locWarehouseEntity.getLevel() == 1 && StrUtil.isEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         /** |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                          * 调拨入库》往来单位:出库单据的当前仓库的父级仓库,当前仓库:出库单据的当前仓库; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                          */ |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         InvWarehouseEntity pInWarehouseEntity = invWarehouseService.selectByCode(locWarehouseEntity.getPcode()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         warehouseEntity.setFromCorp(pInWarehouseEntity.getName()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         warehouseEntity.setFromCorpId(pInWarehouseEntity.getCode()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         invCount = getCountByOrder(null, warehouseEntity); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } else {            //补供应商入库
 |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                         /** |  |  |  |                         /** | 
			
		
	
		
		
			
				
					
					|  |  |  |                          * 供应商入库》往来单位:根据产品指定的供应商,当前仓库:出库单据的当前仓库; |  |  |  |                          * 供应商入库》往来单位:根据产品指定的供应商,当前仓库:出库单据的当前仓库; | 
			
		
	
		
		
			
				
					
					|  |  |  |                          */ |  |  |  |                          */ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         //供应商
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         warehouseEntity.setFromCorpId(warehouseEntity.getSupId()); |  |  |  |                         warehouseEntity.setFromCorpId(warehouseEntity.getSupId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(warehouseEntity.getSupId()); |  |  |  |                         BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(warehouseEntity.getSupId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         warehouseEntity.setFromCorp(basicUnitMaintainEntity.getName()); |  |  |  |                         warehouseEntity.setFromCorp(basicUnitMaintainEntity.getName()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         invCount = getCountByOrder(null, warehouseEntity); |  |  |  |                         invCount = getCountByOrder(null, warehouseEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } else if (StrUtil.isNotEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         /** | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                          * 调拨入库》往来单位:出库单据的当前仓库的父级仓库,当前仓库:出库单据的当前仓库; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                          */ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         InvSubWarehouseEntity subWarehouseEntity = invSubWarehouseService.findByInvSubByCode(bussinessChangeTypeEntity.getDefaultSubInv()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         warehouseEntity.setFromCorp(subWarehouseEntity.getName()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         warehouseEntity.setFromCorpId(subWarehouseEntity.getParentId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         warehouseEntity.setFromSubInvCode(subWarehouseEntity.getCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         invCount = getCountByOrder(null, warehouseEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         //无法补单,补单失败!
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         log.error("无法补单,补单失败!,单据流转设置未设置补单往来信息(" + orderEntity.getId() + ")"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         return; | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (invCount > 0) {//仓库已存在该产品
 |  |  |  |                     if (invCount > 0) {//仓库已存在该产品
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -648,7 +664,9 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |             } else |  |  |  |             } else | 
			
		
	
		
		
			
				
					
					|  |  |  |                 unkonwCorpList.add(warehouseEntity); |  |  |  |                 unkonwCorpList.add(warehouseEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessChangeTypeEntity.getScAction()); |  |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessChangeTypeEntity.getAction()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessLocalTypeEntity.getAction()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         //根据往来单位生成入库单
 |  |  |  |         //根据往来单位生成入库单
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         for (String corpName : filterSupMaps.keySet()) { |  |  |  |         for (String corpName : filterSupMaps.keySet()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             List<WarehouseEntity> temps; |  |  |  |             List<WarehouseEntity> temps; | 
			
		
	
	
		
		
			
				
					|  |  | @ -658,8 +676,8 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setSupplementNo(null);//补单需置空
 |  |  |  |             outOrder.setSupplementNo(null);//补单需置空
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); |  |  |  |             outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setCreateTime(outOrder.getActDate()); |  |  |  |             outOrder.setCreateTime(outOrder.getActDate()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setAction(bussinessChangeTypeEntity.getScAction()); |  |  |  |             outOrder.setAction(bussinessTypeEntity.getAction()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setMainAction(ConstantType.TYPE_PUT); |  |  |  |             outOrder.setMainAction(bussinessTypeEntity.getMainAction()); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); |  |  |  |             outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); |  |  |  |             outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setErpFk(null); |  |  |  |             outOrder.setErpFk(null); | 
			
		
	
	
		
		
			
				
					|  |  | @ -668,14 +686,13 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setId(orderNo); |  |  |  |             outOrder.setId(orderNo); | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setFromCorpId(corpName); |  |  |  |             outOrder.setFromCorpId(corpName); | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setFromCorp(temps.get(0).getFromCorp()); |  |  |  |             outOrder.setFromCorp(temps.get(0).getFromCorp()); | 
			
		
	
		
		
			
				
					
					|  |  |  | //            BussinessTypeEntity originBT = bussinessTypeService.findBTByAction(orderEntity.getAction());
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (StrUtil.isNotEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) { |  |  |  |             if (StrUtil.isNotEmpty(bussinessChangeTypeEntity.getDefaultSubInv())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 outOrder.setFromSubInvCode(bussinessChangeTypeEntity.getDefaultSubInv()); |  |  |  |                 outOrder.setFromSubInvCode(bussinessChangeTypeEntity.getDefaultSubInv()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setCorpOrderId(CustomUtil.getId() + "x"); |  |  |  |             outOrder.setCorpOrderId(CustomUtil.getId() + "x"); | 
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); |  |  |  |             outOrder.setLocStorageCode(bussinessChangeTypeEntity.getLocInv()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             outOrder.setInvStorageCode(orderEntity.getLocStorageCode()); |  |  |  |             outOrder.setInvStorageCode(bussinessChangeTypeEntity.getLocInv()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |             outOrder.setInvWarehouseCode(bussinessChangeTypeEntity.getLocSubInv()); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); |  |  |  |             SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); | 
			
		
	
		
		
			
				
					
					|  |  |  |             if ("1".equals(systemParamConfigEntity.getParamValue())) { |  |  |  |             if ("1".equals(systemParamConfigEntity.getParamValue())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); |  |  |  |                 outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); | 
			
		
	
	
		
		
			
				
					|  |  | @ -700,8 +717,8 @@ public class InvProductsTrService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); |  |  |  |                 warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); |  |  |  |                 warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 warehouseEntity.setInvWarehouseCode(outOrder.getInvWarehouseCode()); |  |  |  |                 warehouseEntity.setInvWarehouseCode(outOrder.getInvWarehouseCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); |  |  |  |                 warehouseEntity.setAction(outOrder.getAction()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 warehouseEntity.setMainAction(ConstantType.TYPE_PUT); |  |  |  |                 warehouseEntity.setMainAction(outOrder.getMainAction()); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             codesTempService.insertCodesTemp(temps); |  |  |  |             codesTempService.insertCodesTemp(temps); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |