package com.glxp.api.controller.collect; import cn.hutool.core.collection.CollUtil; 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.controller.BaseController; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.req.collect.CollectOrderCodeManRequest; import com.glxp.api.req.inout.AddTagCodeReqeust; import com.glxp.api.req.inout.DeleteTageCodeRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.collect.CollectOrderCodeManResponse; import com.glxp.api.res.inout.VailCodeResultResponse; import com.glxp.api.res.inout.VailTagResultResponse; import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.collect.IoCollectOrderBizService; import com.glxp.api.service.collect.IoCollectOrderCodeManService; import com.glxp.api.service.collect.IoCollectOrderService; import com.glxp.api.util.GennerOrderUtils; import lombok.extern.slf4j.Slf4j; import org.json.JSONException; 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 javax.validation.Valid; import java.util.ArrayList; import java.util.List; @Slf4j @RestController public class IoCollectOrderCodeManController extends BaseController { @Resource IoCollectOrderService collectOrderService; @Resource IoCollectOrderCodeManService collectOrderCodeManService; /** * 器械拆零处方赋码明细 * * @return */ @GetMapping("/udiwms/ioSplit/collect/manual/code/list") public BaseResponse manuCodeList(CollectOrderCodeManRequest collectOrderCodeManRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List collectOrderCodeManResponses = collectOrderCodeManService.filterList(collectOrderCodeManRequest); PageInfo pageInfo = new PageInfo<>(collectOrderCodeManResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(collectOrderCodeManResponses); return ResultVOUtils.success(pageSimpleResponse); } /** * 器械拆零处方赋码(手动赋码) * * @return */ @PostMapping("/udiwms/ioSplit/collect/order/tagCode") public BaseResponse prescribeTagCode(@RequestBody @Valid AddTagCodeReqeust addTagCodeReqeust, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } IoCollectOrder collectOrder = collectOrderCodeManService.prescribeTagCode(addTagCodeReqeust); return ResultVOUtils.success(collectOrder); } /** * 器械拆零处方赋码(批量赋码) * * @return */ @PostMapping("/udiwms/ioSplit/collect/order/batchAddCode") public BaseResponse batchAddCode(@RequestBody @Valid AddTagCodeReqeust addTagCodeReqeust, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } IoCollectOrder collectOrder = null; VailTagResultResponse vailTagResultResponse = new VailTagResultResponse(); List vailCodeResultResponses = new ArrayList<>(); if (CollUtil.isNotEmpty(addTagCodeReqeust.getCodeList())) { for (String code : addTagCodeReqeust.getCodeList()) { VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse(); addTagCodeReqeust.setCode(code); vailCodeResultResponse.setCode(code); try { collectOrder = collectOrderCodeManService.prescribeTagCode(addTagCodeReqeust); } catch (Exception e) { vailCodeResultResponse.setErrMsg(e.getMessage()); vailCodeResultResponse.setStatus(2); } vailCodeResultResponses.add(vailCodeResultResponse); } } vailTagResultResponse.setCollectOrder(collectOrder); vailTagResultResponse.setVailCodeResultResponses(vailCodeResultResponses); return ResultVOUtils.success(vailTagResultResponse); } @PostMapping("/udiwms/ioSplit/collect/code/remove") public BaseResponse removeCode(@RequestBody @Valid DeleteTageCodeRequest deleteTageCodeRequest, BindingResult bindingResult) { collectOrderService.removeCode(deleteTageCodeRequest); return ResultVOUtils.success("操作成功!"); } }