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 07becdd80..c9e610788 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java @@ -102,7 +102,7 @@ public class IoCollectOrderCodeAutoController extends BaseController { BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse); for (IoCollectOrderCodeAuto collectOrderCodeAuto : collectOrderCodeAutos) { if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && - (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && collectOrderBiz.getBatchNo().equals(collectOrderCodeAuto.getBatchNo()))) { + (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.emptyIfNull(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java index 387bcdf54..5660b5329 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -156,7 +156,7 @@ public class IoCollectOrderController extends BaseController { //拆零 for (IoCollectOrderCodeAuto collectOrderCodeAuto : splitCodes) { if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && - (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && collectOrderBiz.getBatchNo().equals(collectOrderCodeAuto.getBatchNo()))) { + (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); @@ -168,7 +168,7 @@ public class IoCollectOrderController extends BaseController { //整取 for (IoCollectOrderCodeAuto collectOrderCodeAuto : unSplitCodes) { if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && - (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && collectOrderBiz.getBatchNo().equals(collectOrderCodeAuto.getBatchNo()))) { + (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); @@ -180,7 +180,7 @@ public class IoCollectOrderController extends BaseController { //手动 for (IoCollectOrderCodeMan collectOrderCodeAuto : manList) { if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && - (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && collectOrderBiz.getBatchNo().equals(collectOrderCodeAuto.getBatchNo()))) { + (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); @@ -274,7 +274,7 @@ public class IoCollectOrderController extends BaseController { collectOrder.setTagStatus(3); collectOrder.setUpdateTime(new Date()); collectOrder.setUpdateUser(getUserId()); - collectOrderService.updateById(collectOrder); + collectOrderService.updateByBillNo(collectOrder); return ResultVOUtils.success(); } diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index e576c505f..de38229dc 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -635,10 +635,10 @@ public class IoCodeTempController extends BaseController { BeanUtils.copyProperties(exitLocalEntity, genDetaiEntity); genDetaiEntity.setCount(1); - genDetaiEntity.setReCount(udiCalCountUtil.getActCount(udiRelevanceResponses.get(0))); + genDetaiEntity.setReCount(udiCalCountUtil.getSplitActCount(udiRelevanceResponses.get(0))); exitLocalEntity.setCount(exitLocalEntity.getMyCount() + 1); - exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponses.get(0))); + exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getSplitActCount(udiRelevanceResponses.get(0))); if (!StringUtils.isBlank(exitLocalEntity.getSerialNo())) { @@ -770,7 +770,7 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); } //计算实际数量 - codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse)); + codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getSplitActCount(udiRelevanceResponse)); } else if (udiRelevanceResponses.size() == 0) { if (unitFk == null) return ResultVOUtils.error(500, "耗材字典不存在此产品!"); @@ -1031,10 +1031,10 @@ public class IoCodeTempController extends BaseController { BeanUtils.copyProperties(exitLocalEntity, genDetaiEntity); genDetaiEntity.setCount(1); - genDetaiEntity.setReCount(udiCalCountUtil.getActCount(udiRelevanceResponses.get(0))); + genDetaiEntity.setReCount(udiCalCountUtil.getSplitActCount(udiRelevanceResponses.get(0))); exitLocalEntity.setCount(exitLocalEntity.getMyCount() + 1); - exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponses.get(0))); + exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getSplitActCount(udiRelevanceResponses.get(0))); if (!StringUtils.isBlank(exitLocalEntity.getSerialNo())) { @@ -1163,7 +1163,7 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); } //计算实际数量 - codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse)); + codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getSplitActCount(udiRelevanceResponse)); } else if (udiRelevanceResponses.size() == 0) { if (unitFk == null) return ResultVOUtils.error(500, "耗材字典不存在此产品!"); diff --git a/src/main/java/com/glxp/api/controller/inout/IoSplitController.java b/src/main/java/com/glxp/api/controller/inout/IoSplitController.java index 3fb7fd9f9..bffe3486f 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoSplitController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoSplitController.java @@ -126,7 +126,7 @@ public class IoSplitController extends BaseController { * @return */ @PostMapping("/udiwms/ioSplit/material/order/split") - public BaseResponse startSplit(@RequestBody AddTagCodeReqeust addTagCodeReqeust, + public BaseResponse startSplit(@RequestBody AddTagCodeReqeust addTagCodeReqeust, BindingResult bindingResult) { IoCollectOrder collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo()); if (collectOrder == null) { diff --git a/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java b/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java index 995436a85..3577e5eb4 100644 --- a/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java +++ b/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java @@ -20,4 +20,7 @@ public interface SysWorkplaceDao extends BaseMapper { Long selectMaxWorkplaceId(); List filterList(@Param("request") SysWorkplaceRequest request); + + List getAllByBusType(String busTypeCode); + } diff --git a/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java b/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java index 183e7a565..5700678f1 100644 --- a/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java +++ b/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java @@ -1,5 +1,6 @@ package com.glxp.api.res.collect; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; @@ -91,6 +92,14 @@ public class IoCollectOrderResponse { private String fromTypeName; private String fromCorpName; private String workplaceName; + private String fromName; + public String getFromName() { + if (StrUtil.isNotEmpty(fromCorpName)) + return fromCorpName; + if (StrUtil.isNotEmpty(fromCorp)) + return fromCorp; + return fromName; + } } diff --git a/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java b/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java index dd0cba035..038fc365a 100644 --- a/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java +++ b/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java @@ -11,6 +11,7 @@ import com.glxp.api.req.auth.SysWorkplaceRequest; import com.glxp.api.res.basic.SysWorkplaceResponse; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Collections; import java.util.List; @@ -21,7 +22,8 @@ import java.util.List; */ @Service public class SysWorkplaceService extends ServiceImpl { - + @Resource + SysWorkplaceDao sysWorkplaceDao; public Long maxWorkplaceId() { return super.baseMapper.selectMaxWorkplaceId(); @@ -49,8 +51,9 @@ public class SysWorkplaceService extends ServiceImpl().eq(SysWorkplace::getOrderId, code).last("limit 1")); } - public List getAllByBusType(String code) { + + //sysWorkplaceDao.getAllByBusType(code); 切换成单据类型关联的 return super.baseMapper.selectList( new LambdaQueryWrapper().eq(SysWorkplace::getOrderId, code)); } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index b066b1dd4..c8b0fab0f 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -1,11 +1,10 @@ package com.glxp.api.service.collect; import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; -import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.dao.collect.IoCollectOrderMapper; import com.glxp.api.entity.auth.SysWorkplace; import com.glxp.api.entity.basic.BasicCollectBustypeEntity; @@ -24,10 +23,7 @@ import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.service.auth.SysWorkplaceService; -import com.glxp.api.service.basic.BasicCollectBustypeService; -import com.glxp.api.service.basic.BasicSkPrescirbeDetailService; -import com.glxp.api.service.basic.BasicSkPrescribeService; -import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.basic.*; import com.glxp.api.service.inout.IoCodeTempService; import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderService; @@ -52,6 +48,11 @@ public class IoCollectOrderService extends ServiceImpl().eq(IoCollectOrder::getBillNo, billNo).last("limit 1")); } + public int updateByBillNo(IoCollectOrder collectOrder) { + return collectOrderMapper.update(collectOrder, new UpdateWrapper().eq("billNo", collectOrder.getBillNo())); + } + + public List filterList(CollectOrderRequest collectOrderRequest) { if (collectOrderRequest == null) { return Collections.emptyList(); @@ -126,6 +127,10 @@ public class IoCollectOrderService extends ServiceImpl list = orderService.filterList(filterOrderRequest); List collectOrderList = new ArrayList<>(); for (IoOrderResponse ioOrderEntity : list) { - BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction()); - if (collectBustypeEntity == null) - continue; + if (collectOrderMapper.exists(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) { continue; } + BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction()); + if (collectBustypeEntity == null) + continue; + List sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); + //自动分配工位 final Long[] defaultWorkplace = {null}; - List sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); if (CollUtil.isNotEmpty(sysWorkplaces)) { if (sysWorkplaces.size() == 1) { defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId(); 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 b6b4ed5cd..a3d2c1ac6 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -152,7 +152,9 @@ public class IoSplitCodeService extends ServiceImpl collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { - + if (IntUtil.value(collectOrderBiz.getTagStatus()) == 3) { + continue; + } //1.按照先进先出原则,查询拆零表,获取拆零表ID List ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); @@ -238,6 +240,9 @@ public class IoSplitCodeService extends ServiceImpl list) { boolean hasTwo = false; boolean hasOne = false; + boolean hasNone = true; for (IoCollectOrderBiz di : list) { int tagStatus = di.getTagStatus(); if (tagStatus == 2) { @@ -328,6 +334,15 @@ public class IoSplitCodeService extends ServiceImpl - + + + diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml index dd43223c7..600d4844b 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml @@ -3,16 +3,19 @@