|  |  |  | @ -6,6 +6,7 @@ import cn.hutool.core.util.ArrayUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.util.StrUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
			
		
	
		
			
				
					|  |  |  |  | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | 
			
		
	
		
			
				
					|  |  |  |  | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | 
			
		
	
		
			
				
					|  |  |  |  | import com.github.pagehelper.PageInfo; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.common.enums.ResultEnum; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.common.res.BaseResponse; | 
			
		
	
	
		
			
				
					|  |  |  | @ -15,6 +16,7 @@ import com.glxp.api.controller.BaseController; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.BasicSkPrescribeEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.collect.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.basic.BasicCollectUserRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.basic.PrescribeBindWorkRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.basic.WorkBindBusTypeRequest; | 
			
		
	
	
		
			
				
					|  |  |  | @ -32,6 +34,7 @@ import com.glxp.api.service.basic.BasicCollectUserService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.basic.SysWorkplaceDocumentService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.collect.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.IntUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.MsDateUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.stereotype.Controller; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.transaction.annotation.Transactional; | 
			
		
	
	
		
			
				
					|  |  |  | @ -92,7 +95,7 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  | //            collectOrderRequest.setWorkPlaceCode(null);
 | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (collectOrderRequest.getTagStatus() != null && collectOrderRequest.getTagStatus() == -2 ){ | 
			
		
	
		
			
				
					|  |  |  |  |         if (collectOrderRequest.getTagStatus() != null && collectOrderRequest.getTagStatus() == -2) { | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderRequest.setExcludeWorkCode(String.valueOf(collectOrderRequest.getWorkPlaceCode())); | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderRequest.setWorkPlaceCode(null); | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderRequest.setTagStatus(1); | 
			
		
	
	
		
			
				
					|  |  |  | @ -123,12 +126,13 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @GetMapping("/udiwms/basic/collect/order/next") | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse getNextOrder(CollectOrderRequest collectOrderRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         if (collectOrderRequest.getWorkPlaceCode() == null) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "工位不能为空!"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | //        if (collectOrderRequest.getWorkPlaceCode() == null) {
 | 
			
		
	
		
			
				
					|  |  |  |  | //            return ResultVOUtils.error(500, "工位不能为空!");
 | 
			
		
	
		
			
				
					|  |  |  |  | //        }
 | 
			
		
	
		
			
				
					|  |  |  |  |         CollectOrderRequest request = new CollectOrderRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setLimit(1); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setBusType(collectOrderRequest.getBusType()); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setTagStatusList(List.of(1)); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(orderResponses)) | 
			
		
	
	
		
			
				
					|  |  |  | @ -148,9 +152,9 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @GetMapping("/udiwms/basic/collect/order/current") | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse getCurrentOrder(CollectOrderRequest collectOrderRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         if (collectOrderRequest.getWorkPlaceCode() == null) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "工位不能为空!"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | //        if (collectOrderRequest.getWorkPlaceCode() == null) {
 | 
			
		
	
		
			
				
					|  |  |  |  | //            return ResultVOUtils.error(500, "工位不能为空!");
 | 
			
		
	
		
			
				
					|  |  |  |  | //        }
 | 
			
		
	
		
			
				
					|  |  |  |  |         CollectOrderRequest request = new CollectOrderRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setPage(1); | 
			
		
	
		
			
				
					|  |  |  |  |         request.setLimit(1); | 
			
		
	
	
		
			
				
					|  |  |  | @ -343,6 +347,13 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         collectOrder.setTagStatus(1); | 
			
		
	
		
			
				
					|  |  |  |  |         collectOrder.setUpdateTime(new Date()); | 
			
		
	
		
			
				
					|  |  |  |  |         collectOrder.setUpdateUser(getUserId()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | //        collectOrderService.list(Wrappers.lambdaQuery(IoCollectOrder.class)
 | 
			
		
	
		
			
				
					|  |  |  |  | //                .eq(IoCollectOrder::getBusType, collectOrder.getBusType())
 | 
			
		
	
		
			
				
					|  |  |  |  | //                .eq(IoCollectOrder::getTagStatus, 1)
 | 
			
		
	
		
			
				
					|  |  |  |  | //                .orderByAsc(true,"orderTime").last("limit 1"));
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         collectOrderService.updateById(collectOrder); | 
			
		
	
		
			
				
					|  |  |  |  |         collectOrderCodeManService.removeByBillNo(collectOrder.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -411,9 +422,10 @@ public class IoCollectOrderController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |         List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         boolean isAllTag = collectOrderBizResponses.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                 .allMatch(obj -> StrUtil.isNotEmpty(obj.getFinishUdiCode()) || obj.getAutoTagStatus() == 2); | 
			
		
	
		
			
				
					|  |  |  |  |                 .allMatch(obj -> obj.getAutoTagStatus() == 2); | 
			
		
	
		
			
				
					|  |  |  |  | //        StrUtil.isNotEmpty(obj.getFinishUdiCode()) ||
 | 
			
		
	
		
			
				
					|  |  |  |  |         boolean isAllTag2 = collectOrderBizResponses.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                 .allMatch(obj -> IntUtil.value(obj.getActCount()) >= IntUtil.value(obj.getCount())); | 
			
		
	
		
			
				
					|  |  |  |  |                 .allMatch(obj -> IntUtil.value(obj.getScanActCount()) >= IntUtil.value(obj.getCount())); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(isAllTag || isAllTag2); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |