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 71245def6..284468f32 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -1047,17 +1047,17 @@ public class IoCodeTempController extends BaseController { genDetaiEntity.setCount(1); if (bussinessTypeEntity.isUse()) { - genDetaiEntity.setReCount( udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); + genDetaiEntity.setReCount(udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); } else { - genDetaiEntity.setReCount( udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); + genDetaiEntity.setReCount(udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); } exitLocalEntity.setCount(exitLocalEntity.getMyCount() + 1); if (bussinessTypeEntity.isUse()) { - exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); + exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); } else { - exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); + exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); } if (!StringUtils.isBlank(exitLocalEntity.getSerialNo())) { @@ -1188,9 +1188,9 @@ public class IoCodeTempController extends BaseController { //计算实际数量 if (bussinessTypeEntity.isUse()) { - codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponse)); + codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getUseActCount(udiRelevanceResponses.get(0))); } else { - codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponse)); + codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); } } else if (udiRelevanceResponses.size() == 0) { if (unitFk == null) diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java index b4af15f3d..ad6093180 100644 --- a/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java @@ -28,4 +28,6 @@ public class CollectOrderCodeManRequest extends ListPageRequest { private Long updateUser; + private Long bizIdFk; + } diff --git a/src/main/java/com/glxp/api/service/basic/BasicCollectBustypeService.java b/src/main/java/com/glxp/api/service/basic/BasicCollectBustypeService.java index 71c35a350..787c3bb3b 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicCollectBustypeService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicCollectBustypeService.java @@ -40,6 +40,11 @@ public class BasicCollectBustypeService extends ServiceImpl().eq(BasicCollectBustypeEntity::getCode, code).last("limit 1 ")); } + public BasicCollectBustypeEntity findByFromCode(String code) { + return basicCollectBustypeMapper.selectOne(new LambdaQueryWrapper().eq(BasicCollectBustypeEntity::getFromBusTypeCode, code).last("limit 1 ")); + } + + public BasicCollectBustypeEntity findByAddr(String addr) { return basicCollectBustypeMapper.selectOne(new LambdaQueryWrapper().eq(BasicCollectBustypeEntity::getFromInterAddress, addr).last("limit 1 ")); } diff --git a/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java b/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java index 0c6338e88..31fac7939 100644 --- a/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java +++ b/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java @@ -34,6 +34,9 @@ public class SysWorkplaceDocumentService extends ServiceImpl().eq(SysWorkplaceDocumentEntity::getDocumentTypeCode, busType).last("limit 1")); + } public SysWorkplaceDocumentEntity findByWorkplaceCode(Long workplaceCode, String busType) { return sysWorkplaceDocumentDao.selectOne(new LambdaQueryWrapper() diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java index c4f177366..982544064 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java @@ -97,6 +97,9 @@ public class IoCollectOrderCodeManService extends ServiceImpl collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo()); //2.校验是否处方单UDI码 - if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_GEN_ORDER) { + if (IntUtil.value(sysWorkplaceDocumentEntity.getScanType()) == WorkOperType.TYPE_GEN_ORDER) { if (StrUtil.isEmpty(addTagCodeReqeust.getBillNo())) { String orderNo = gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); - SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(workPlace.getWorkplaceId(), addTagCodeReqeust.getBusType()); - collectOrder = IoCollectOrder.builder() .billNo(orderNo) .busType(sysWorkplaceDocumentEntity.getDocumentTypeCode()) @@ -147,7 +148,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl list = orderService.filterList(filterOrderRequest); @@ -151,9 +149,11 @@ public class IoCollectOrderService extends ServiceImpl sysWorkplaces = sysWorkplaceService.getAllByBusType(ioOrderEntity.getAction()); - //自动分配工位 final Long[] defaultWorkplace = {null}; if (CollUtil.isNotEmpty(sysWorkplaces)) { @@ -240,15 +240,19 @@ public class IoCollectOrderService extends ServiceImpl collectOrderList = new ArrayList<>(); for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) { - BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByCode(String.valueOf(basicSkPrescribeEntity.getAddr())); - if (collectBustypeEntity == null) - continue; +// BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByFromCode(String.valueOf(basicSkPrescribeEntity.getAddr())); +// if (collectBustypeEntity == null) +// continue; if (collectOrderMapper.exists(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, basicSkPrescribeEntity.getCode()))) { continue; } + + SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(basicSkPrescribeEntity.getAddr()); + if (sysWorkplaceDocumentEntity == null) + continue; //自动分配工位 final Long[] defaultWorkplace = {null}; - List sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); + List sysWorkplaces = sysWorkplaceService.getAllByBusType(basicSkPrescribeEntity.getAddr()); if (CollUtil.isNotEmpty(sysWorkplaces)) { if (sysWorkplaces.size() == 1) { defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId(); @@ -276,8 +280,8 @@ public class IoCollectOrderService extends ServiceImpl() .eq(IoCollectOrderBiz::getId, bizIdFk)); if (bizServiceOne == null) throw new JsonException("扫码详情未查找到"); + //反差单据类型 查看是否来源业务单 + String orderIdFk = bizServiceOne.getOrderIdFk(); + IoCollectOrder ioCollectOrder = collectOrderMapper.selectOne(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, orderIdFk)); + if (ioCollectOrder == null) throw new JsonException("反差单据失败"); + String busType = ioCollectOrder.getBusType(); + Long workPlaceCode = ioCollectOrder.getWorkPlaceCode(); + SysWorkplaceDocumentEntity byWorkplaceCode = sysWorkplaceDocumentService.findByWorkplaceCode(workPlaceCode, busType); + if (byWorkplaceCode == null) throw new JsonException("反差工位单据类型失败"); + Integer scanType = byWorkplaceCode.getScanType(); Integer oneScanCount = bizServiceOne.getScanCount(); Integer newCount = oneScanCount - delCount; - bizServiceOne.setScanCount(newCount); - collectOrderBizService.updateById(bizServiceOne); + if (scanType == 1 && newCount <= 0){ + collectOrderBizService.removeById(bizServiceOne); + }else { + bizServiceOne.setScanCount(newCount); + collectOrderBizService.updateById(bizServiceOne); + } } } diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 0073beb2e..486e453d2 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -1253,7 +1253,7 @@ public class IoCheckInoutService { BeanUtils.copyProperties(codeEntity, splitCodeEntity); splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo()); splitCodeEntity.setScanCount(codeEntity.getCount()); - ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getTotalCount() + codeEntity.getReCount()); + splitCodeEntity.setTotalCount(IntUtil.value(splitCodeEntity.getTotalCount()) + codeEntity.getReCount()); splitCodeEntity.setSupId(Long.parseLong(codeEntity.getSupId())); splitCodeEntity.setWorkPlaceCode(orderEntity.getWorkPlaceCode()); splitCodeEntity.setFifoSplit(codeEntity.getFifoSplit()); diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeAutoMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeAutoMapper.xml index b106822f2..692c3b0ff 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeAutoMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeAutoMapper.xml @@ -4,16 +4,17 @@ SELECT icocm.*, - bp.cpmctymc, - bp.ggxh, - bp.zczbhhzbapzbh, - bp.manufactory + bp.cpmctymc, + COALESCE(bp.ggxh, bp.bzgg) AS ggxh, + bp.bzgg, + bp.zczbhhzbapzbh, + bp.manufactory FROM io_collect_order_code_man icocm - left join basic_udirel bu on icocm.relId = bu.id - left join basic_products bp on bu.uuid = bp.uuid + left join basic_udirel bu on icocm.relId = bu.id + left join basic_products bp on bu.uuid = bp.uuid AND icocm.orderIdFk = #{orderIdFk} @@ -21,6 +22,9 @@ AND icocm.relId = #{relId} + + AND icocm.bizIdFk = #{bizIdFk} + diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml index 3824c0a34..938ba1d95 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml @@ -41,7 +41,7 @@ AND tagStatus = #{tagStatus} - AND workPlaceCode = #{workPlaceCode} + AND ico.workPlaceCode = #{workPlaceCode} and tagStatus in