diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java index 9dbca19c2..3b29d2bd6 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java @@ -1,23 +1,31 @@ package com.glxp.api.controller.collect; +import cn.hutool.core.util.StrUtil; 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.IoCollectOrderBiz; +import com.glxp.api.entity.collect.IoCollectOrderCodeAuto; import com.glxp.api.entity.inout.IoSplitCodeEntity; +import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderCodeAutoRequest; import com.glxp.api.req.inout.IoSplitCodeRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.CollectOrderCodeAutoResponse; +import com.glxp.api.service.collect.IoCollectOrderBizService; import com.glxp.api.service.collect.IoCollectOrderCodeAutoService; import com.glxp.api.service.inout.IoSplitCodeService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -72,6 +80,45 @@ public class IoCollectOrderCodeAutoController extends BaseController { return ResultVOUtils.success(pageSimpleResponse); } + @Resource + IoCollectOrderBizService collectOrderBizService; + + /** + * 器械拆零按单查询赋码明细 + * + * @return + */ + @GetMapping("/udiwms/ioSplit/collect/auto/order/result") + public BaseResponse filterResultByBillNo(CollectOrderBizRequest collectOrderBizRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List collectOrderBizs = collectOrderBizService.filterList(collectOrderBizRequest); + List collectOrderCodeAutos = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), collectOrderBizRequest.getFifoSplit()); + List collectOrderBizResponses = new ArrayList<>(); + for (CollectOrderBizResponse collectOrderBiz : collectOrderBizs) { + CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse(); + BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse); + for (IoCollectOrderCodeAuto collectOrderCodeAuto : collectOrderCodeAutos) { + if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && + (StrUtil.isNotEmpty(collectOrderBiz.getBatchNo()) && collectOrderBiz.getBatchNo().equals(collectOrderCodeAuto.getBatchNo()))) { + collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); + } + } + if (StrUtil.isNotEmpty(collectOrderBizResponse.getUdiCode())) { + collectOrderBizResponse.setUdiCode(collectOrderBizResponse.getUdiCode().substring(1)); + } + collectOrderBizResponses.add(collectOrderBizResponse); + } + PageInfo pageInfo = new PageInfo<>(collectOrderBizResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(collectOrderBizResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** * 器械拆零按扫码查询处方赋码明细 * diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java index 07df7d5ac..f5b16d2b1 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java @@ -101,6 +101,8 @@ public class IoCollectOrderCodeManController extends BaseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(addTagCodeReqeust.getWorkPlaceCode()); + if (workPlace == null) + return ResultVOUtils.error(500, "请先选择工位"); IoCollectOrderBiz collectOrderBiz = null; IoCollectOrder collectOrder = null; @@ -150,10 +152,10 @@ public class IoCollectOrderCodeManController extends BaseController { if (collectOrder == null) return ResultVOUtils.error(500, "单据不存在!"); //3.校验该UDI码是否已经出库(是否在预出库队列) - Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode()); - if (!b1) { - return ResultVOUtils.error(500, "该追溯码未上货,无法使用!"); - } +// Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode()); +// if (!b1) { +// return ResultVOUtils.error(500, "该追溯码未上货,无法使用!"); +// } collectOrderBiz = vailByBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity); @@ -188,10 +190,10 @@ public class IoCollectOrderCodeManController extends BaseController { if (collectOrder == null) return ResultVOUtils.error(500, "单据不存在!"); //3.校验该UDI码是否已经出库(是否在预出库队列) - Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode()); - if (!b1) { - return ResultVOUtils.error(500, "该追溯码未上货,无法使用!"); - } +// Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode()); +// if (!b1) { +// return ResultVOUtils.error(500, "该追溯码未上货,无法使用!"); +// } //按单不校验三期 collectOrderBiz = vailNoBatchNo(udiRelevanceResponses, collectOrderBizs); diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java index b42f0aa19..bbdd9a995 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java @@ -184,5 +184,6 @@ public class IoCollectOrderBiz implements Serializable { private Integer unTagCount; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderBizRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderBizRequest.java index f9afb6b77..451fd416a 100644 --- a/src/main/java/com/glxp/api/req/collect/CollectOrderBizRequest.java +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderBizRequest.java @@ -114,4 +114,6 @@ public class CollectOrderBizRequest extends ListPageRequest { private Date updateTime; private Long relId; + + private Integer fifoSplit; } diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java index ccdd05735..f980f7a6b 100644 --- a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java @@ -110,4 +110,11 @@ public class CollectOrderBizResponse { */ private Date updateTime; + /** + * 绑定的UDI码 + */ + private String udiCode; + private Long relId; + private Integer unTagCount; + } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeAutoService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeAutoService.java index 84dee24aa..6db12b198 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeAutoService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeAutoService.java @@ -1,5 +1,6 @@ package com.glxp.api.service.collect; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.req.collect.CollectOrderCodeAutoRequest; import com.glxp.api.res.collect.CollectOrderCodeAutoResponse; @@ -19,6 +20,13 @@ public class IoCollectOrderCodeAutoService extends ServiceImpl listByBillNo(String billNo, Integer fifo) { + return collectOrderCodeAutoMapper.selectList(new LambdaQueryWrapper() + .eq(IoCollectOrderCodeAuto::getOrderIdFk, billNo) + .eq(fifo != null, IoCollectOrderCodeAuto::getFifoSplit, fifo)); + } + public List filterList(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest) { if (collectOrderCodeAutoRequest == null) { return Collections.emptyList(); diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java index 75a1a2602..079bb66d6 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -174,8 +174,9 @@ public class IoSplitCodeService extends ServiceImpl addSplitCodeEntities = new ArrayList<>(); List removeIds = new ArrayList<>(); for (IoSplitFifoCodeEntity splitFifoCodeEntity : splitFifoCodeEntities) { - count = IntUtil.value(splitFifoCodeEntity.getTotalCount()) + count; IoSplitCodeEntity splitCodeEntity = new IoSplitCodeEntity(); BeanUtils.copyProperties(splitFifoCodeEntity, splitCodeEntity); - splitCodeEntity.setRemainCount(splitCodeEntity.getTotalCount()); + if (IntUtil.value(splitFifoCodeEntity.getFifoSplit()) == 1) { + //拆零 + count = IntUtil.value(splitFifoCodeEntity.getTotalCount()) + count; + splitCodeEntity.setRemainCount(splitCodeEntity.getTotalCount()); + } else { + //整取 + count = IntUtil.value(splitFifoCodeEntity.getScanCount()) + count; + splitCodeEntity.setRemainCount(splitCodeEntity.getScanCount()); + } splitCodeEntity.setStatus(1); + splitCodeEntity.setFifoSplit(splitFifoCodeEntity.getFifoSplit()); splitCodeEntity.setId(null); addSplitCodeEntities.add(splitCodeEntity); removeIds.add(splitFifoCodeEntity.getId());