package com.glxp.api.controller.inout; import com.github.pagehelper.PageInfo; 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.entity.inout.IoDestinyProcessDetailEntity; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.inout.IodestinyProcessRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.IoCodeRelResponse; import com.glxp.api.res.inout.IodestinyProcessResponse; import com.glxp.api.service.basic.BasicDestinyRelService; import com.glxp.api.service.inout.IoDestinyProcessCodeService; import com.glxp.api.service.inout.IoDestinyProcessDetailService; import com.glxp.api.service.inout.IoDestinyProcessService; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @RestController public class IoDestinyProcessController { @Resource private BasicDestinyRelService basicDestinyRelService; @Resource private IoDestinyProcessDetailService ioDestinyProcessDetailService; @Resource private IoDestinyProcessCodeService ioDestinyProcessCodeService; @Resource private IoDestinyProcessService ioDestinyProcessService; @PostMapping("/udiwms/basic/destiny/model/addDestinyDelect") public BaseResponse addDestinyDelect(@RequestBody FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } ioDestinyProcessDetailService.insertProcessDetail(filterUdiRelRequest); return ResultVOUtils.success(); } @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessDelect") public BaseResponse filterDestinyProcessDelect(FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List udiRelevanceResponseList = ioDestinyProcessDetailService.filterProcessDetail(filterUdiRelRequest); return ResultVOUtils.success(udiRelevanceResponseList); } @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcess") public BaseResponse filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List iodestinyProcessResponseList = ioDestinyProcessDetailService.filterDestinyProcess(iodestinyProcessRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(iodestinyProcessResponseList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(iodestinyProcessResponseList); return ResultVOUtils.success(pageSimpleResponse); } @GetMapping("/udiwms/basic/destiny/model/checkDestinyProcess") public BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } BaseResponse baseResponse = ioDestinyProcessDetailService.checkDestinyProcess(iodestinyProcessRequest); return baseResponse; } @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessCode") public BaseResponse filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List iodestinyProcessResponseList = ioDestinyProcessCodeService.filterDestinyProcessCode(iodestinyProcessRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(iodestinyProcessResponseList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(iodestinyProcessResponseList); return ResultVOUtils.success(pageSimpleResponse); } @GetMapping("/udiwms/basic/destiny/model/addDestinyProcess") public BaseResponse addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List ioDestinyProcessDetailEntityList= ioDestinyProcessDetailService.addDestinyProcess(iodestinyProcessRequest); for (IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity : ioDestinyProcessDetailEntityList) { if(ioDestinyProcessDetailEntity.getCount()-ioDestinyProcessDetailEntity.getReCount()>0){ return ResultVOUtils.error(999,"该单还未完全扫码校验!"); } } //更新状态 ioDestinyProcessService.uploadDestinyProcess(iodestinyProcessRequest); return ResultVOUtils.success(); } @GetMapping("/udiwms/basic/destiny/model/delectDestinyProcess") public BaseResponse delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } //更新状态 ioDestinyProcessService.delectDestinyProcess(iodestinyProcessRequest); return ResultVOUtils.success(); } }