|  |  |  | @ -36,7 +36,6 @@ import com.glxp.api.service.inout.IoSplitCodeService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.Excel.ExcelHandler; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.Excel.Exception.RenException; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.IntUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.StringUtils; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.udi.FilterUdiUtils; | 
			
		
	
		
			
				
					|  |  |  |  | import lombok.extern.slf4j.Slf4j; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
	
		
			
				
					|  |  |  | @ -81,9 +80,7 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |             request.setUserId(userId.toString()); | 
			
		
	
		
			
				
					|  |  |  |  |             page = basicCollectUserService.filterList(request); | 
			
		
	
		
			
				
					|  |  |  |  |             if (page != null && page.size() > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                 workPlaceCodes = page.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                         .map(UserWorkResponse::getWorkplaceId) | 
			
		
	
		
			
				
					|  |  |  |  |                         .collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |                 workPlaceCodes = page.stream().map(UserWorkResponse::getWorkplaceId).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             //通过工位列表 获取出 业务列表
 | 
			
		
	
		
			
				
					|  |  |  |  |             workBindBusTypeRequest.setWorkPlaceCodes(workPlaceCodes); | 
			
		
	
	
		
			
				
					|  |  |  | @ -99,9 +96,7 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)) { | 
			
		
	
		
			
				
					|  |  |  |  |             Set<String> uniqueDocumentTypeCodesLinkedHashSet = sysWorkplaceDocumentResponses.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                     .map(SysWorkplaceDocumentResponse::getDocumentTypeCode) | 
			
		
	
		
			
				
					|  |  |  |  |                     .collect(Collectors.toCollection(LinkedHashSet::new)); | 
			
		
	
		
			
				
					|  |  |  |  |             Set<String> uniqueDocumentTypeCodesLinkedHashSet = sysWorkplaceDocumentResponses.stream().map(SysWorkplaceDocumentResponse::getDocumentTypeCode).collect(Collectors.toCollection(LinkedHashSet::new)); | 
			
		
	
		
			
				
					|  |  |  |  |             List<String> documentTypeCodes = new ArrayList<>(uniqueDocumentTypeCodesLinkedHashSet); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderRequest.setDocumentTypeCodes(documentTypeCodes); | 
			
		
	
	
		
			
				
					|  |  |  | @ -129,8 +124,7 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         request.setBusType(collectOrderRequest.getBusType()); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setTagStatusList(List.of(1)); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(orderResponses)) | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(orderResponses)) return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.error(500, "该工位已无待处理单据"); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  |  | @ -155,20 +149,17 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         request.setUpdateUser(getUserId()); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setTagStatus(2); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(orderResponses)) | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(orderResponses)) return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |         else { | 
			
		
	
		
			
				
					|  |  |  |  |             request.setTagStatus(-1); | 
			
		
	
		
			
				
					|  |  |  |  |             orderResponses = collectOrderService.filterList(request); | 
			
		
	
		
			
				
					|  |  |  |  |             if (CollUtil.isNotEmpty(orderResponses)) | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |             if (CollUtil.isNotEmpty(orderResponses)) return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |             else { | 
			
		
	
		
			
				
					|  |  |  |  |                 IoCollectSet collectSet = collectSetService.getSet(); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (IntUtil.value(collectSet.getAutoAllotOrder())) { | 
			
		
	
		
			
				
					|  |  |  |  |                     request.setTagStatus(1); | 
			
		
	
		
			
				
					|  |  |  |  |                     orderResponses = collectOrderService.filterList(request); | 
			
		
	
		
			
				
					|  |  |  |  |                     if (CollUtil.isNotEmpty(orderResponses)) | 
			
		
	
		
			
				
					|  |  |  |  |                         return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |                     if (CollUtil.isNotEmpty(orderResponses)) return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  |  | @ -193,13 +184,11 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         request.setLimit(1); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setBillNo(collectOrderRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(orderResponses)) | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(orderResponses)) return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |         else { | 
			
		
	
		
			
				
					|  |  |  |  |             request.setTagStatus(-1); | 
			
		
	
		
			
				
					|  |  |  |  |             orderResponses = collectOrderService.filterList(request); | 
			
		
	
		
			
				
					|  |  |  |  |             if (CollUtil.isNotEmpty(orderResponses)) | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |             if (CollUtil.isNotEmpty(orderResponses)) return ResultVOUtils.success(orderResponses.get(0)); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.error(500, "未查到待处理单据"); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  |  | @ -415,13 +404,24 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |     @PostMapping("/udiwms/basic/collect/order/finish") | 
			
		
	
		
			
				
					|  |  |  |  |     @Transactional(rollbackFor = Exception.class) | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse saveFinishOrder(@RequestBody CollectOrderRequest collectOrderRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         List<String> billNos = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isEmpty(collectOrderRequest.getBillNo())) return ResultVOUtils.error(500, "单号不能为空!"); | 
			
		
	
		
			
				
					|  |  |  |  |         IoCollectOrder collectOrder = collectOrderService.getByBillNo(collectOrderRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(collectOrder.getSummaryNo())) { | 
			
		
	
		
			
				
					|  |  |  |  |             billNos = collectOrderService.getBillBySummary(collectOrder.getSummaryNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  |             billNos.add(collectOrderRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         boolean isAllTag = true; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (!IntUtil.value(collectOrderRequest.getConfirmFinish())) { | 
			
		
	
		
			
				
					|  |  |  |  |             //1.校验是否全部自动赋码
 | 
			
		
	
		
			
				
					|  |  |  |  |             CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |             List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest); | 
			
		
	
		
			
				
					|  |  |  |  |             boolean isAllTag = true; | 
			
		
	
		
			
				
					|  |  |  |  |             String msg = ""; | 
			
		
	
		
			
				
					|  |  |  |  |             for (String billNo : billNos) { | 
			
		
	
		
			
				
					|  |  |  |  |                 collectOrderBizRequest.setOrderIdFk(billNo); | 
			
		
	
		
			
				
					|  |  |  |  |                 List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (CollUtil.isNotEmpty(collectOrderBizResponses)) { | 
			
		
	
		
			
				
					|  |  |  |  |                     for (int i = 0; i < collectOrderBizResponses.size(); i++) { | 
			
		
	
		
			
				
					|  |  |  |  |                         CollectOrderBizResponse collectOrderBizResponse = collectOrderBizResponses.get(i); | 
			
		
	
	
		
			
				
					|  |  |  | @ -434,12 +434,24 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             if (!isAllTag) { | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.error(502, "该业务单据未全部赋码【" + msg.replaceAll(";$", "") + "】,是否强制完成单据?"); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(billNos)) { | 
			
		
	
		
			
				
					|  |  |  |  |             List<IoCollectOrder> collectOrders = collectOrderService.list(new LambdaQueryWrapper<IoCollectOrder>().in(IoCollectOrder::getBillNo, billNos)); | 
			
		
	
		
			
				
					|  |  |  |  |             if (CollUtil.isNotEmpty(collectOrders)) { | 
			
		
	
		
			
				
					|  |  |  |  |                 for (IoCollectOrder temp : collectOrders) { | 
			
		
	
		
			
				
					|  |  |  |  |                     CollectOrderRequest tempRequest = new CollectOrderRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |                     BeanUtils.copyProperties(temp, tempRequest); | 
			
		
	
		
			
				
					|  |  |  |  |                     collectOrderService.finishOrder(tempRequest, getUser(), false); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderService.finishOrder(collectOrderRequest, getUser(), false); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -453,9 +465,14 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |             if (collectOrderRequest.getIsCheckFinish() != null) { | 
			
		
	
		
			
				
					|  |  |  |  |                 collectOrderBizRequest.setIsOrderCheck(collectOrderRequest.getIsCheckFinish()); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             IoCollectOrder collectOrder = collectOrderService.getByBillNo(collectOrderRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |             if (StrUtil.isNotEmpty(collectOrder.getSummaryNo())) { | 
			
		
	
		
			
				
					|  |  |  |  |                 collectOrderBizRequest.setSummaryNo(collectOrder.getSummaryNo()); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest); | 
			
		
	
		
			
				
					|  |  |  |  |             boolean isAllTag = collectOrderBizResponses.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                     .allMatch(obj -> StrUtil.isNotEmpty(obj.getFinishUdiCode()) || obj.getAutoTagStatus() == 2); | 
			
		
	
		
			
				
					|  |  |  |  |             boolean isAllTag = collectOrderBizResponses.stream().allMatch(obj -> StrUtil.isNotEmpty(obj.getFinishUdiCode()) || obj.getAutoTagStatus() == 2); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         collectOrderService.finishOrder(collectOrderRequest, getUser(), false); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(); | 
			
		
	
	
		
			
				
					|  |  |  | @ -480,8 +497,7 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         if (!IntUtil.value(collectSet.getGetSplitConfirm())) { | 
			
		
	
		
			
				
					|  |  |  |  |             confirmOrderBiz.setSkipSplitConfirm(true); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         ConfirmResponse splitInfo = splitCodeService.confirmBizAutiTagCode(confirmOrderBiz, confirmOrderBiz.getQueueCode(), | 
			
		
	
		
			
				
					|  |  |  |  |                 confirmOrderBiz.getConfirmSplitCode(), confirmOrderBiz.getSkipSplitConfirm()); | 
			
		
	
		
			
				
					|  |  |  |  |         ConfirmResponse splitInfo = splitCodeService.confirmBizAutiTagCode(confirmOrderBiz, confirmOrderBiz.getQueueCode(), confirmOrderBiz.getConfirmSplitCode(), confirmOrderBiz.getSkipSplitConfirm()); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(splitInfo); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -498,8 +514,7 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "单据号不能为空!"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(collectOrderRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         boolean allConfirmed = CollUtil.isNotEmpty(collectOrderBizs) && | 
			
		
	
		
			
				
					|  |  |  |  |                 collectOrderBizs.stream().allMatch(biz -> IntUtil.value(biz.getGetConfirm())); | 
			
		
	
		
			
				
					|  |  |  |  |         boolean allConfirmed = CollUtil.isNotEmpty(collectOrderBizs) && collectOrderBizs.stream().allMatch(biz -> IntUtil.value(biz.getGetConfirm())); | 
			
		
	
		
			
				
					|  |  |  |  |         if (allConfirmed) { | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderService.confirmFinishOrder(collectOrderRequest, getUser()); | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.success("单据完成!"); | 
			
		
	
	
		
			
				
					|  |  |  | @ -634,8 +649,7 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |     @PostMapping("/udiwms/basic/collect/order/finishReturnOrder") | 
			
		
	
		
			
				
					|  |  |  |  |     @Transactional(rollbackFor = Exception.class) | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse finishReturnOrder(@RequestBody CollectOrderRequest collectOrderRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         return collectOriginService.finishReturnOrder(collectOrderRequest); | 
			
		
	
		
			
				
					|  |  |  |  | //        return  collectOriginService.submitreturnOrder(collectOrderRequest,1);
 | 
			
		
	
		
			
				
					|  |  |  |  |         return  collectOriginService.submitreturnOrder(collectOrderRequest,1); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |