|  |  | @ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.github.pagehelper.PageHelper; |  |  |  | import com.github.pagehelper.PageHelper; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.common.enums.ResultEnum; |  |  |  | import com.glxp.api.common.enums.ResultEnum; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.common.res.BaseResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.common.util.ResultVOUtils; |  |  |  | import com.glxp.api.common.util.ResultVOUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.constant.Constant; |  |  |  | import com.glxp.api.constant.Constant; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.constant.WorkOperType; |  |  |  | import com.glxp.api.constant.WorkOperType; | 
			
		
	
	
		
		
			
				
					|  |  | @ -17,10 +18,7 @@ import com.glxp.api.entity.auth.SysWorkplace; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; |  |  |  | import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.SysWorkplacePutRel; |  |  |  | import com.glxp.api.entity.basic.SysWorkplacePutRel; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.UdiEntity; |  |  |  | import com.glxp.api.entity.basic.UdiEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.collect.IoCollectOrder; |  |  |  | import com.glxp.api.entity.collect.*; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.collect.IoCollectOrderBiz; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.collect.IoCollectOrderCodeMan; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.collect.RelCodeDetail; |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.inout.IoCodeLostEntity; |  |  |  | import com.glxp.api.entity.inout.IoCodeLostEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.inout.IoCodeTempEntity; |  |  |  | import com.glxp.api.entity.inout.IoCodeTempEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.inout.IoSplitCodeEntity; |  |  |  | import com.glxp.api.entity.inout.IoSplitCodeEntity; | 
			
		
	
	
		
		
			
				
					|  |  | @ -33,6 +31,8 @@ import com.glxp.api.req.inout.AddTagCodeReqeust; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.basic.UdiRelevanceResponse; |  |  |  | import com.glxp.api.res.basic.UdiRelevanceResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.collect.CollectOrderCodeManResponse; |  |  |  | import com.glxp.api.res.collect.CollectOrderCodeManResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.collect.RelCodeDetailResponse; |  |  |  | import com.glxp.api.res.collect.RelCodeDetailResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.res.inout.AddEnterCodeResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.res.inout.VailCodeResultResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.CustomerService; |  |  |  | import com.glxp.api.service.auth.CustomerService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.InvWarehouseService; |  |  |  | import com.glxp.api.service.auth.InvWarehouseService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.SysWorkplaceService; |  |  |  | import com.glxp.api.service.auth.SysWorkplaceService; | 
			
		
	
	
		
		
			
				
					|  |  | @ -52,6 +52,7 @@ import com.glxp.api.util.OrderNoTypeBean; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.udi.FilterUdiUtils; |  |  |  | import com.glxp.api.util.udi.FilterUdiUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.udi.UdiCalCountUtil; |  |  |  | import com.glxp.api.util.udi.UdiCalCountUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.apache.commons.lang3.StringUtils; |  |  |  | import org.apache.commons.lang3.StringUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.stereotype.Service; |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.transaction.annotation.Transactional; |  |  |  | import org.springframework.transaction.annotation.Transactional; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -653,4 +654,63 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode | 
			
		
	
		
		
			
				
					
					|  |  |  |         ew.in("udiCode", codes); |  |  |  |         ew.in("udiCode", codes); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return collectOrderCodeManMapper.selectList(ew); |  |  |  |         return collectOrderCodeManMapper.selectList(ew); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public BaseResponse CheckCode(CollectOrderCodeManRequest request) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         String orderId = request.getOrderIdFk(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         IoCollectOrder ioCollectOrder = collectOrderService.getByBillNo(orderId); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (ioCollectOrder == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.error(500, "单据不存在"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //判断
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (StrUtil.isNotEmpty(request.getUdiCode())){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             IoCollectOrderCodeMan ioCollectOrderCodeMan = collectOrderCodeManMapper.selectOne(new LambdaQueryWrapper<IoCollectOrderCodeMan>() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     .eq(IoCollectOrderCodeMan::getOrderIdFk, request.getOrderIdFk()) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     .eq(IoCollectOrderCodeMan::getUdiCode, request.getUdiCode())); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (ioCollectOrderCodeMan == null){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 BaseResponse response = new BaseResponse(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 response.setData(request.getUdiCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 response.setCode(500); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 response.setMessage("追溯码不存在"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 return  response; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             UdiEntity udiEntity = FilterUdiUtils.getUdi(request.getUdiCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             udiEntity.setCode(request.getUdiCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             AddEnterCodeResponse addEnterCodeResponse = setAddEnterCodeResponse(udiEntity, udiRelevanceResponse); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.success(addEnterCodeResponse); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         }else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             List<VailCodeResultResponse> vailCodeResultResponses = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             for (String code : request.getUdiCodeList()){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 IoCollectOrderCodeMan ioCollectOrderCodeMan = collectOrderCodeManMapper.selectOne(new LambdaQueryWrapper<IoCollectOrderCodeMan>() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         .eq(IoCollectOrderCodeMan::getOrderIdFk, request.getOrderIdFk()) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         .eq(IoCollectOrderCodeMan::getUdiCode, code)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (ioCollectOrderCodeMan != null){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     vailCodeResultResponse.setStatus(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     vailCodeResultResponse.setCode(code); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     vailCodeResultResponse.setSucMsg("校验成功"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     vailCodeResultResponses.add(vailCodeResultResponse); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 }else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     vailCodeResultResponse.setStatus(2); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     vailCodeResultResponse.setCode(code); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     vailCodeResultResponse.setErrMsg("追溯码不存在"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     vailCodeResultResponses.add(vailCodeResultResponse); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.success(vailCodeResultResponses); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public AddEnterCodeResponse setAddEnterCodeResponse(UdiEntity udiEntity, UdiRelevanceResponse checkUdi) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddEnterCodeResponse addEnterCodeResponse = new AddEnterCodeResponse(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         BeanUtils.copyProperties(udiEntity, addEnterCodeResponse); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         addEnterCodeResponse.setBzgg(checkUdi.getBzgg()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         addEnterCodeResponse.setCpmctymc(checkUdi.getCpmctymc()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         addEnterCodeResponse.setPrepnSpec(checkUdi.getPrepnSpec()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         addEnterCodeResponse.setPrepnUnit(checkUdi.getPrepnUnit()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         addEnterCodeResponse.setPackUnit(checkUdi.getPackUnit()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         addEnterCodeResponse.setGgxh(checkUdi.getGgxh()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return addEnterCodeResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |