|  |  | @ -6,6 +6,8 @@ import com.github.pagehelper.PageInfo; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.annotation.AuthRuleAnnotation; |  |  |  | import com.glxp.api.annotation.AuthRuleAnnotation; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.common.res.BaseResponse; |  |  |  | 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.ConstantStatus; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.controller.BaseController; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.BasicBussinessTypeEntity; |  |  |  | import com.glxp.api.entity.basic.BasicBussinessTypeEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.inout.IoCodeTempEntity; |  |  |  | import com.glxp.api.entity.inout.IoCodeTempEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.inout.IoOrderDetailBizEntity; |  |  |  | import com.glxp.api.entity.inout.IoOrderDetailBizEntity; | 
			
		
	
	
		
		
			
				
					|  |  | @ -25,12 +27,13 @@ import org.springframework.web.bind.annotation.RequestBody; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.web.bind.annotation.RestController; |  |  |  | import org.springframework.web.bind.annotation.RestController; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | import javax.annotation.Resource; |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import java.util.Date; | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.List; |  |  |  | import java.util.List; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | @Slf4j |  |  |  | @Slf4j | 
			
		
	
		
		
			
				
					
					|  |  |  | @RestController |  |  |  | @RestController | 
			
		
	
		
		
			
				
					
					|  |  |  | public class IoOrderController { |  |  |  | public class IoOrderController extends BaseController { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |     private IoOrderService orderService; |  |  |  |     private IoOrderService orderService; | 
			
		
	
	
		
		
			
				
					|  |  | @ -49,7 +52,6 @@ public class IoOrderController { | 
			
		
	
		
		
			
				
					
					|  |  |  |      * 查询单据列表 |  |  |  |      * 查询单据列表 | 
			
		
	
		
		
			
				
					
					|  |  |  |      * |  |  |  |      * | 
			
		
	
		
		
			
				
					
					|  |  |  |      * @param filterOrderRequest |  |  |  |      * @param filterOrderRequest | 
			
		
	
		
		
			
				
					
					|  |  |  |      * @param bindingResult |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |      * @return |  |  |  |      * @return | 
			
		
	
		
		
			
				
					
					|  |  |  |      */ |  |  |  |      */ | 
			
		
	
		
		
			
				
					
					|  |  |  |     @GetMapping("/udiwms/inout/order/filter") |  |  |  |     @GetMapping("/udiwms/inout/order/filter") | 
			
		
	
	
		
		
			
				
					|  |  | @ -101,8 +103,63 @@ public class IoOrderController { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |     IoAddInoutService ioAddInoutService; |  |  |  |     IoAddInoutService ioAddInoutService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     IoCheckInoutService ioCheckInoutService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     //新增业务单据提交
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @PostMapping("warehouse/inout/submitBiz") | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public BaseResponse submitBiz(@RequestBody AddOrderRequest addOrderRequest) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //校验单据是否已完成
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CollUtil.isEmpty(orderDetailBizEntities)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.error(500, "请先录入产品!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (orderDetailBizEntity.getBindRlFk() == null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "该产品未指定唯一耗材编码!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (StrUtil.isEmpty(orderDetailBizEntity.getSupId())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "该产品未指定供应商!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         orderEntity.setUpdateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         orderEntity.setUpdateUser(getUserId() + ""); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         orderService.update(orderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return ResultVOUtils.success("提交成功!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     //单据提交
 |  |  |  |     //新增扫码单据提交
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @PostMapping("warehouse/inout/submitCodes") | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public BaseResponse submitCodes(@RequestBody AddOrderRequest addOrderRequest) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //校验单据是否已完成
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (CollUtil.isEmpty(orderDetailCodeEntities)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.error(500, "单据还未扫码!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ioAddInoutService.dealProcess(orderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //不需要手动校验,则走正常单据校验处理流程
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (!ioCheckInoutService.checkManual(orderEntity.getBillNo())) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             ioCheckInoutService.check(orderEntity.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return ResultVOUtils.success("提交成功,等待处理!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     //处理后单据提交
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @AuthRuleAnnotation("") |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
		
			
				
					
					|  |  |  |     @PostMapping("warehouse/inout/submitOrderWeb") |  |  |  |     @PostMapping("warehouse/inout/submitOrderWeb") | 
			
		
	
		
		
			
				
					
					|  |  |  |     public BaseResponse submitOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { |  |  |  |     public BaseResponse submitOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -115,19 +172,24 @@ public class IoOrderController { | 
			
		
	
		
		
			
				
					
					|  |  |  |             return ResultVOUtils.error(500, "单据还未扫码!"); |  |  |  |             return ResultVOUtils.error(500, "单据还未扫码!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (CollUtil.isNotEmpty(orderDetailBizEntities)) { |  |  |  |         if (checkInoutService.checkManual(addOrderRequest.getBillNo())) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             String errMsg = checkInoutService.bizOrderCheck(orderDetailBizEntities, orderDetailCodeEntities); |  |  |  |             if (CollUtil.isNotEmpty(orderDetailBizEntities)) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             if (StrUtil.isNotEmpty(errMsg)) { |  |  |  |                 String errMsg = checkInoutService.bizOrderCheck(orderDetailBizEntities, orderDetailCodeEntities); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 return ResultVOUtils.error(500, "单据未校验完成,请检查后重新提交!"); |  |  |  |                 if (StrUtil.isNotEmpty(errMsg)) { | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     return ResultVOUtils.error(500, "单据未校验完成,请检查后重新提交!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 saveOrderWeb(addOrderRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 checkInoutService.check(addOrderRequest.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 return ResultVOUtils.error(500, "单据未校验完成,请先录入业务单据!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             saveOrderWeb(addOrderRequest); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             checkInoutService.check(addOrderRequest.getBillNo()); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } else { |  |  |  |         } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |             IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); |  |  |  |             IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             ioAddInoutService.dealProcess(orderEntity); |  |  |  |             ioAddInoutService.dealProcess(orderEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             checkInoutService.check(addOrderRequest.getBillNo()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return ResultVOUtils.success("提交成功!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ResultVOUtils.success("提交成功!"); |  |  |  |         return ResultVOUtils.success("提交成功!"); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |