|  |  | @ -28,10 +28,7 @@ import com.glxp.api.req.basic.BasicEntrustRecRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.inout.*; |  |  |  | import com.glxp.api.req.inout.*; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.system.DeleteRequest; |  |  |  | import com.glxp.api.req.system.DeleteRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.PageSimpleResponse; |  |  |  | import com.glxp.api.res.PageSimpleResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.inout.IoCodeTempResponse; |  |  |  | import com.glxp.api.res.inout.*; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.inout.IoOrderDetailBizResponse; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.inout.IoOrderResponse; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.inout.PdaBusOrderResponse; |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.CustomerService; |  |  |  | import com.glxp.api.service.auth.CustomerService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.InvBusUserService; |  |  |  | import com.glxp.api.service.auth.InvBusUserService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.InvWarehouseService; |  |  |  | import com.glxp.api.service.auth.InvWarehouseService; | 
			
		
	
	
		
		
			
				
					|  |  | @ -45,6 +42,7 @@ import com.glxp.api.util.IntUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.OrderNoTypeBean; |  |  |  | import com.glxp.api.util.OrderNoTypeBean; | 
			
		
	
		
		
			
				
					
					|  |  |  | import lombok.extern.slf4j.Slf4j; |  |  |  | import lombok.extern.slf4j.Slf4j; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.beans.BeanUtils; |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import org.springframework.transaction.annotation.Transactional; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.validation.BindingResult; |  |  |  | import org.springframework.validation.BindingResult; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.web.bind.annotation.*; |  |  |  | import org.springframework.web.bind.annotation.*; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -388,6 +386,7 @@ public class IoOrderController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |     //待校验提交,以比对结果提交
 |  |  |  |     //待校验提交,以比对结果提交
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @RepeatSubmit() |  |  |  |     @RepeatSubmit() | 
			
		
	
		
		
			
				
					
					|  |  |  |     @AuthRuleAnnotation("") |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Transactional(rollbackFor = Exception.class) | 
			
		
	
		
		
			
				
					
					|  |  |  |     @PostMapping("warehouse/inout/codeCheck/submitOrderWeb") |  |  |  |     @PostMapping("warehouse/inout/codeCheck/submitOrderWeb") | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Log(title = "单据管理", businessType = BusinessType.UPDATE) |  |  |  |     @Log(title = "单据管理", businessType = BusinessType.UPDATE) | 
			
		
	
		
		
			
				
					
					|  |  |  |     public BaseResponse submitByCheckResult(@RequestBody AddOrderRequest addOrderRequest) { |  |  |  |     public BaseResponse submitByCheckResult(@RequestBody AddOrderRequest addOrderRequest) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -398,26 +397,28 @@ public class IoOrderController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |             return tempResponse; |  |  |  |             return tempResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         //校验单据是否已完成
 |  |  |  |         //校验单据是否已完成
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<IoCodeTempEntity> codeEntities = codeTempService.findByOrderId(addOrderRequest.getBillNo()); |  |  |  |         List<IoCodeResponse> codeEntities = codeTempService.findJoinByOrderId(addOrderRequest.getBillNo()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         if (CollUtil.isEmpty(codeEntities)) { |  |  |  |         if (CollUtil.isEmpty(codeEntities)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             return ResultVOUtils.error(500, "单据还未扫码或和扫码校验存在异常无法提交!"); |  |  |  |             return ResultVOUtils.error(500, "单据还未扫码或和扫码校验存在异常无法提交!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<IoCodeTempEntity> codeTempEntities = getCheckRusultCode(addOrderRequest.getBillNo(), codeEntities); |  |  |  |         List<IoCodeResponse> codeTempEntities = getCheckRusultCode(addOrderRequest.getBillNo(), codeEntities); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         for (IoCodeTempEntity codeTempEntity : codeTempEntities) { |  |  |  |         for (IoCodeResponse codeTempEntity : codeTempEntities) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             if (codeTempEntity.getCheckStatus() == 2) { |  |  |  |             if (IntUtil.value(codeTempEntity.getCheckStatus()) == 2) { | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 return ResultVOUtils.error(501, "存在多余条码,请先剔除后重新提交!"); |  |  |  |                 return ResultVOUtils.error(501, "存在多余条码,请先剔除后重新提交!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         codeTempService.deleteByBillNo(addOrderRequest.getBillNo()); |  |  |  |         codeTempService.deleteByBillNo(addOrderRequest.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         for (IoCodeTempEntity codeTempEntity : codeTempEntities) { |  |  |  |         for (IoCodeResponse codeResponse : codeTempEntities) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             if (codeTempEntity.getCheckStatus() == 0) { |  |  |  |             if (IntUtil.value(codeResponse.getCheckStatus()) == 0) { | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 BeanUtil.copyProperties(codeResponse, codeTempEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempService.insert(codeTempEntity); |  |  |  |                 codeTempService.insert(codeTempEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         orderEntity.setStatus(ORDER_STATUS_CHECK_PROCESS); |  |  |  |         orderEntity.setStatus(ORDER_STATUS_CHECK_PROCESS); | 
			
		
	
		
		
			
				
					
					|  |  |  |         ioAddInoutService.dealProcess(orderEntity); |  |  |  |         ioAddInoutService.dealProcess(orderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |         checkInoutService.check(addOrderRequest.getBillNo()); |  |  |  |         checkInoutService.checkRightResult(addOrderRequest.getBillNo()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         return ResultVOUtils.success("提交成功!"); |  |  |  |         return ResultVOUtils.success("提交成功!"); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
	
		
		
			
				
					|  |  | @ -441,9 +442,9 @@ public class IoOrderController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |     @GetMapping("admin/warehouse/inout/findCheckCode") |  |  |  |     @GetMapping("admin/warehouse/inout/findCheckCode") | 
			
		
	
		
		
			
				
					
					|  |  |  |     public BaseResponse findCheckCode(FilterCodeRequest filterCodeRequest) { |  |  |  |     public BaseResponse findCheckCode(FilterCodeRequest filterCodeRequest) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         //校验单据是否已完成
 |  |  |  |         //校验单据是否已完成
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(filterCodeRequest.getOrderId()); |  |  |  |         List<IoCodeResponse> codeTempEntities = codeTempService.findJoinByOrderId(filterCodeRequest.getOrderId()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         List<IoCodeTempEntity> codeEntities = getCheckRusultCode(filterCodeRequest.getOrderId(), codeTempEntities); |  |  |  |         List<IoCodeResponse> codeEntities = getCheckRusultCode(filterCodeRequest.getOrderId(), codeTempEntities); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         PageSimpleResponse<IoCodeTempEntity> pageSimpleResponse = new PageSimpleResponse<>(); |  |  |  |         PageSimpleResponse<IoCodeResponse> pageSimpleResponse = new PageSimpleResponse<>(); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         pageSimpleResponse.setTotal(0l); |  |  |  |         pageSimpleResponse.setTotal(0l); | 
			
		
	
		
		
			
				
					
					|  |  |  |         pageSimpleResponse.setList(codeEntities); |  |  |  |         pageSimpleResponse.setList(codeEntities); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ResultVOUtils.success(pageSimpleResponse); |  |  |  |         return ResultVOUtils.success(pageSimpleResponse); | 
			
		
	
	
		
		
			
				
					|  |  | @ -484,26 +485,47 @@ public class IoOrderController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return otherCodes; |  |  |  |         return otherCodes; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public List<IoCodeTempEntity> getCheckRusultCode(String billNo, List<IoCodeTempEntity> codeEntities) { |  |  |  |     public List<IoCodeResponse> getCheckRusultCode(String billNo, List<IoCodeResponse> codeEntities) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         List<IoCodeTempEntity> otherCodes = getOtherCode(billNo, codeEntities); |  |  |  |         List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(billNo); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         for (IoCodeTempEntity codeTempEntity : otherCodes) { |  |  |  |         List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(billNo); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             boolean isTure = false; |  |  |  |         List<IoOrderCheckResultResponse> orderCheckResultResponses = ioCheckInoutService.combineCheck(orderDetailBizEntities, orderDetailCodeEntities); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             for (IoCodeTempEntity codeEntity : codeEntities) { |  |  |  |         if (CollUtil.isNotEmpty(orderCheckResultResponses)) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 if (IntUtil.value(codeTempEntity.getId()) != IntUtil.value(codeEntity.getId())) { |  |  |  |             for (IoOrderCheckResultResponse orderCheckResultResponse : orderCheckResultResponses) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     if (StrUtil.nullToEmpty(codeTempEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) { |  |  |  |                 for (IoCodeResponse codeTempEntity : codeEntities) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         codeEntity.setCheckStatus(2); |  |  |  |                     if (IntUtil.value(codeTempEntity.getRelId()) == IntUtil.value(orderCheckResultResponse.getBindRlFk()) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         isTure = true; |  |  |  |                             && (StrUtil.nullToEmpty(codeTempEntity.getBatchNo()).equals(StrUtil.nullToEmpty(orderCheckResultResponse.getBBatchNo())) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             || StrUtil.nullToEmpty(codeTempEntity.getBatchNo()).equals(StrUtil.nullToEmpty(orderCheckResultResponse.getSBatchNo()) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     ))) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         if (orderCheckResultResponse.getCount() < 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             codeTempEntity.setCheckStatus(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } else if (orderCheckResultResponse.getCount() < orderCheckResultResponse.getScanCount()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             codeTempEntity.setCheckStatus(2); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } else { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (IntUtil.value(codeTempEntity.getReCount()) != IntUtil.value(codeEntity.getReCount()) || isTure) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         codeEntity.setCheckStatus(2); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         isTure = true; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (!isTure) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 codeTempEntity.setCheckStatus(1); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //        List<IoCodeTempEntity> otherCodes = getOtherCode(billNo, codeEntities);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //        for (IoCodeTempEntity codeTempEntity : otherCodes) {
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //            boolean isTure = false;
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //            for (IoCodeTempEntity codeEntity : codeEntities) {
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                if (IntUtil.value(codeTempEntity.getId()) != IntUtil.value(codeEntity.getId())) {
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                    if (StrUtil.nullToEmpty(codeTempEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) {
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                        codeEntity.setCheckStatus(2);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                        isTure = true;
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                    }
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                } else {
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                    if (IntUtil.value(codeTempEntity.getReCount()) != IntUtil.value(codeEntity.getReCount()) || isTure) {
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                        codeEntity.setCheckStatus(2);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                        isTure = true;
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                    }
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                }
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //            }
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //            if (!isTure)
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //                codeTempEntity.setCheckStatus(1);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //        }
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         return codeEntities; |  |  |  |         return codeEntities; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |