拆零管理大改

dev_no_inv
yewj 9 months ago committed by qyt
parent 648da62527
commit c557845d7d

@ -72,6 +72,11 @@ public class IoCollectOrderCodeMan implements Serializable {
private Integer scanCount; private Integer scanCount;
@TableField(value = "scanActCount")
@ApiModelProperty(value = "")
private Integer scanActCount;
@TableField(value = "remark") @TableField(value = "remark")
@ApiModelProperty(value = "") @ApiModelProperty(value = "")
private String remark; private String remark;
@ -95,6 +100,9 @@ public class IoCollectOrderCodeMan implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private Boolean removeFlag; private Boolean removeFlag;
@TableField(exist = false)
private Boolean splitFlag;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

@ -15,6 +15,7 @@ import com.glxp.api.dao.collect.IoCollectOrderCodeManMapper;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.auth.SysWorkplace; import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.entity.basic.SysWorkplacePutRel;
import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.collect.IoCollectOrderBiz;
@ -37,6 +38,7 @@ import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inout.IoSplitCodeService; import com.glxp.api.service.inout.IoSplitCodeService;
import com.glxp.api.service.inv.AnncmntProductService; import com.glxp.api.service.inv.AnncmntProductService;
import com.glxp.api.service.thrsys.IThrBusTypeOriginService; import com.glxp.api.service.thrsys.IThrBusTypeOriginService;
import com.glxp.api.service.thrsys.SysWorkplacePutRelService;
import com.glxp.api.service.thrsys.ThrSystemService; import com.glxp.api.service.thrsys.ThrSystemService;
import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil; import com.glxp.api.util.IntUtil;
@ -111,16 +113,21 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
@Resource @Resource
InvWarehouseService invWarehouseService; InvWarehouseService invWarehouseService;
@Resource
SysWorkplacePutRelService workplacePutRelService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public IoCollectOrder prescribeTagCode(AddTagCodeReqeust addTagCodeReqeust) { public IoCollectOrder prescribeTagCode(AddTagCodeReqeust addTagCodeReqeust) {
Long userId = customerService.getUserId(); Long userId = customerService.getUserId();
String userIds = customerService.getUserId() + ""; String userIds = customerService.getUserId() + "";
SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(addTagCodeReqeust.getWorkPlaceCode()); SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(addTagCodeReqeust.getWorkPlaceCode());
SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(workPlace.getWorkplaceId(), null);
Long putWorkPlaceCode = null;
if (sysWorkplacePutRel != null)
putWorkPlaceCode = sysWorkplacePutRel.getWorkPlaceCode();
if (workPlace == null) throw new JsonException(500, "请先选择工位"); if (workPlace == null) throw new JsonException(500, "请先选择工位");
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(workPlace.getWorkplaceId(), addTagCodeReqeust.getBusType()); SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(workPlace.getWorkplaceId(), addTagCodeReqeust.getBusType());
IoCollectOrderBiz collectOrderBiz = null; IoCollectOrderBiz collectOrderBiz = null;
IoCollectOrder collectOrder = null; IoCollectOrder collectOrder = null;
@ -154,7 +161,9 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
throw new JsonException(500, "当前产品不支持采集该包装层级追溯码!"); throw new JsonException(500, "当前产品不支持采集该包装层级追溯码!");
} }
} }
Integer circleCount = calCountUtil.getCirActCount(udiRelevanceResponse);
Integer useCount = calCountUtil.getUseActCount(udiRelevanceResponse);
Integer scanCount = 0;
IoCollectOrderCodeMan exitCode = this.findByCode(addTagCodeReqeust.getBillNo(), code); IoCollectOrderCodeMan exitCode = this.findByCode(addTagCodeReqeust.getBillNo(), code);
if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && exitCode != null) { if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && exitCode != null) {
@ -171,7 +180,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
throw new JsonException(500, "当前产品已过期!"); throw new JsonException(500, "当前产品已过期!");
} }
} }
IoSplitCodeEntity splitCodeEntity = splitCodeService.findByCode(code);
List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo()); List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo());
//2.校验是否处方单UDI码 //2.校验是否处方单UDI码
if (IntUtil.value(sysWorkplaceDocumentEntity.getScanType()) == WorkOperType.TYPE_GEN_ORDER) { if (IntUtil.value(sysWorkplaceDocumentEntity.getScanType()) == WorkOperType.TYPE_GEN_ORDER) {
@ -222,16 +231,20 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
collectOrder.setWorkPlaceCode(addTagCodeReqeust.getWorkPlaceCode()); collectOrder.setWorkPlaceCode(addTagCodeReqeust.getWorkPlaceCode());
if (collectOrder == null) if (collectOrder == null)
throw new JsonException(500, "单据不存在!"); throw new JsonException(500, "单据不存在!");
//3.校验该UDI码是否已经出库是否在预出库队列
// Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
// if (!b1) {
// return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
// }
IoSplitCodeEntity splitCodeEntity = splitCodeService.findByCode(code);
if (splitCodeEntity != null && StrUtil.isNotEmpty(splitCodeEntity.getSerialNo())) { if (splitCodeEntity != null && StrUtil.isNotEmpty(splitCodeEntity.getSerialNo())) {
throw new JsonException(500, "当前追溯码已被拆零!"); if (IntUtil.value(splitCodeEntity.getRemainCount()) < 1) {
throw new JsonException(500, "当前追溯码已被拆零!");
} else {
circleCount = splitCodeEntity.getRemainCount();
useCount = splitCodeEntity.getRemainCount();
}
} }
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
scanCount = circleCount;
} else {
scanCount = useCount;
}
CollectOrderCodeManRequest collectOrderCodeManRequest = new CollectOrderCodeManRequest(); CollectOrderCodeManRequest collectOrderCodeManRequest = new CollectOrderCodeManRequest();
collectOrderCodeManRequest.setUdiCode(code); collectOrderCodeManRequest.setUdiCode(code);
collectOrderCodeManRequest.setBusType(sysWorkplaceDocumentEntity.getDocumentTypeCode()); collectOrderCodeManRequest.setBusType(sysWorkplaceDocumentEntity.getDocumentTypeCode());
@ -248,12 +261,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo()); collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else { } else {
collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1); collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1);
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) { collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + scanCount);
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse));
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse));
}
} }
break; break;
case 2: //不插入 case 2: //不插入
@ -262,16 +270,12 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
int count = IntUtil.value(collectOrderBiz.getScanCount()) + 1; int count = IntUtil.value(collectOrderBiz.getScanCount()) + 1;
int actCount = 0; int actCount = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) { actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + scanCount;
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
if (actCount > IntUtil.value(collectOrderBiz.getCount())) { if (actCount > IntUtil.value(collectOrderBiz.getCount())) {
int needCount = IntUtil.value(collectOrderBiz.getCount()) - IntUtil.value(collectOrderBiz.getScanActCount()); int needCount = IntUtil.value(collectOrderBiz.getCount()) - IntUtil.value(collectOrderBiz.getScanActCount());
if (needCount > 0) { if (needCount > 0) {
if (vailInSplit(collectOrderBiz, collectOrder.getWorkPlaceCode(), needCount)) { if (vailInSplit(collectOrderBiz, putWorkPlaceCode, needCount)) {
throw new JsonException(502, collectOrderBiz.getCpmctymc() + "拆零数量还有剩余,是否继续添加?"); throw new JsonException(502, collectOrderBiz.getCpmctymc() + "拆零数量还有剩余,是否继续添加?");
} }
} }
@ -286,15 +290,11 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
throw new JsonException(502, addTagCodeReqeust.getCode() + "非此单据追溯码,是否继续添加!"); throw new JsonException(502, addTagCodeReqeust.getCode() + "非此单据追溯码,是否继续添加!");
int count1 = IntUtil.value(collectOrderBiz.getScanCount()) + 1; int count1 = IntUtil.value(collectOrderBiz.getScanCount()) + 1;
int actCount1 = 0; int actCount1 = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) { actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + scanCount;
actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
if (actCount1 > collectOrderBiz.getCount()) { if (actCount1 > collectOrderBiz.getCount()) {
int needCount = IntUtil.value(collectOrderBiz.getCount()) - IntUtil.value(collectOrderBiz.getScanActCount()); int needCount = IntUtil.value(collectOrderBiz.getCount()) - IntUtil.value(collectOrderBiz.getScanActCount());
if (needCount > 0) { if (needCount > 0) {
if (vailInSplit(collectOrderBiz, collectOrder.getWorkPlaceCode(), needCount)) { if (vailInSplit(collectOrderBiz, putWorkPlaceCode, needCount)) {
throw new JsonException(502, collectOrderBiz.getCpmctymc() + "拆零数量还有剩余,是否继续扫码?"); throw new JsonException(502, collectOrderBiz.getCpmctymc() + "拆零数量还有剩余,是否继续扫码?");
} }
} }
@ -336,9 +336,18 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
throw new JsonException(500, "当前追溯码已被其他单据关联!"); throw new JsonException(500, "当前追溯码已被其他单据关联!");
} }
IoSplitCodeEntity splitCodeEntity = splitCodeService.findByCode(code);
if (splitCodeEntity != null && StrUtil.isNotEmpty(splitCodeEntity.getSerialNo())) { if (splitCodeEntity != null && StrUtil.isNotEmpty(splitCodeEntity.getSerialNo())) {
throw new JsonException(500, "当前追溯码已被拆零!"); if (IntUtil.value(splitCodeEntity.getRemainCount()) < 1) {
throw new JsonException(500, "当前追溯码已被拆零!");
} else {
circleCount = splitCodeEntity.getRemainCount();
useCount = splitCodeEntity.getRemainCount();
}
}
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
scanCount = circleCount;
} else {
scanCount = useCount;
} }
switch (sysWorkplaceDocumentEntity.getCheckInsert()) { switch (sysWorkplaceDocumentEntity.getCheckInsert()) {
case 1: //插入 case 1: //插入
@ -347,11 +356,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo()); collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else { } else {
collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1); collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1);
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) { collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + scanCount);
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse));
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse));
}
} }
break; break;
case 2: //不插入 case 2: //不插入
@ -359,15 +364,11 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
throw new JsonException(500, "非此单据追溯码!"); throw new JsonException(500, "非此单据追溯码!");
int count = IntUtil.value(collectOrderBiz.getScanCount()) + 1; int count = IntUtil.value(collectOrderBiz.getScanCount()) + 1;
int actCount = 0; int actCount = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) { actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + scanCount;
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
if (actCount > IntUtil.value(collectOrderBiz.getCount())) { if (actCount > IntUtil.value(collectOrderBiz.getCount())) {
int needCount = IntUtil.value(collectOrderBiz.getCount()) - IntUtil.value(collectOrderBiz.getScanActCount()); int needCount = IntUtil.value(collectOrderBiz.getCount()) - IntUtil.value(collectOrderBiz.getScanActCount());
if (needCount > 0) { if (needCount > 0) {
if (vailInSplit(collectOrderBiz, collectOrder.getWorkPlaceCode(), needCount)) { if (vailInSplit(collectOrderBiz, putWorkPlaceCode, needCount)) {
throw new JsonException(502, "当前拆零数量还有剩余,是否继续扫码?"); throw new JsonException(502, "当前拆零数量还有剩余,是否继续扫码?");
} }
} }
@ -384,15 +385,11 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
throw new JsonException(502, addTagCodeReqeust.getCode() + "非此单据追溯码,是否继续添加?"); throw new JsonException(502, addTagCodeReqeust.getCode() + "非此单据追溯码,是否继续添加?");
int count1 = IntUtil.value(collectOrderBiz.getScanCount()) + 1; int count1 = IntUtil.value(collectOrderBiz.getScanCount()) + 1;
int actCount1 = 0; int actCount1 = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) { actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + scanCount;
actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
if (actCount1 > collectOrderBiz.getCount()) { if (actCount1 > collectOrderBiz.getCount()) {
int needCount = IntUtil.value(collectOrderBiz.getCount()) - IntUtil.value(collectOrderBiz.getScanActCount()); int needCount = IntUtil.value(collectOrderBiz.getCount()) - IntUtil.value(collectOrderBiz.getScanActCount());
if (needCount > 0) { if (needCount > 0) {
if (vailInSplit(collectOrderBiz, collectOrder.getWorkPlaceCode(), needCount)) { if (vailInSplit(collectOrderBiz, putWorkPlaceCode, needCount)) {
throw new JsonException(502, collectOrderBiz.getCpmctymc() + "拆零数量还有剩余,是否继续添加?"); throw new JsonException(502, collectOrderBiz.getCpmctymc() + "拆零数量还有剩余,是否继续添加?");
} }
} }
@ -406,11 +403,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo()); collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else { } else {
collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1); collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1);
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) { collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + scanCount);
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse));
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse));
}
} }
} }
break; break;
@ -421,8 +414,9 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
collectOrderBizService.saveOrUpdate(collectOrderBiz); collectOrderBizService.saveOrUpdate(collectOrderBiz);
if (StrUtil.isEmpty(udiEntity.getSerialNo()) && exitCode != null) { if (StrUtil.isEmpty(udiEntity.getSerialNo()) && exitCode != null) {
exitCode.setScanCount(IntUtil.value(exitCode.getScanCount()) + 1); exitCode.setScanCount(IntUtil.value(exitCode.getScanCount()) + scanCount);
exitCode.setBizIdFk(collectOrderBiz.getId()); exitCode.setBizIdFk(collectOrderBiz.getId());
this.updateById(exitCode); this.updateById(exitCode);
} else { } else {
@ -434,16 +428,18 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
.relId(collectOrderBiz.getRelId()) .relId(collectOrderBiz.getRelId())
.nameCode(udiRelevanceResponse.getNameCode()) .nameCode(udiRelevanceResponse.getNameCode())
.batchNo(udiEntity.getBatchNo()) .batchNo(udiEntity.getBatchNo())
.serialNo(udiEntity.getSerialNo())
.productDate(udiEntity.getProduceDate()) .productDate(udiEntity.getProduceDate())
.expireDate(udiEntity.getExpireDate()) .expireDate(udiEntity.getExpireDate())
.createTime(new Date()) .createTime(new Date())
.createUser(userId) .createUser(userId)
.updateTime(new Date()) .updateTime(new Date())
.updateUser(userId) .updateUser(userId)
.scanCount(1) .scanCount(scanCount)
.build(); .build();
this.save(collectOrderCodeMan); this.save(collectOrderCodeMan);
} }
collectOrder.setTagStatus(2); collectOrder.setTagStatus(2);
collectOrderService.updateById(collectOrder); collectOrderService.updateById(collectOrder);
return collectOrder; return collectOrder;

@ -302,7 +302,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
.updateTime(new Date()) .updateTime(new Date())
.orderCirType(sysWorkplaceDocumentEntity.getOrderCirType()) .orderCirType(sysWorkplaceDocumentEntity.getOrderCirType())
.splitStatus(0) .splitStatus(0)
.tagStatus(0) .tagStatus(1)
.build(); .build();
if (collectOrder.getWorkPlaceCode() != null) { if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1); collectOrder.setTagStatus(1);
@ -310,6 +310,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
save(collectOrder); save(collectOrder);
IoCollectOrderOrigin ioCollectOrderOrigin = new IoCollectOrderOrigin(); IoCollectOrderOrigin ioCollectOrderOrigin = new IoCollectOrderOrigin();
BeanUtils.copyProperties(collectOrder,ioCollectOrderOrigin); BeanUtils.copyProperties(collectOrder,ioCollectOrderOrigin);
ioCollectOrderOrigin.setTagStatus(2);
collectOrderOriginService.saveOrUpdate(ioCollectOrderOrigin); collectOrderOriginService.saveOrUpdate(ioCollectOrderOrigin);
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo()); List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo());

@ -75,7 +75,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
return ioSplitCodeEntities; return ioSplitCodeEntities;
} }
public IoSplitCodeEntity findByCode(String code, Long workPlaceCode, String busType) { public IoSplitCodeEntity findByCode(String code, Long workPlaceCode) {
List<IoSplitCodeEntity> ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper<IoSplitCodeEntity>() List<IoSplitCodeEntity> ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper<IoSplitCodeEntity>()
.eq(IoSplitCodeEntity::getCode, code) .eq(IoSplitCodeEntity::getCode, code)
.eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode) .eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode)
@ -252,6 +252,18 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
} }
} }
//判断拆零表里是否存在,如果存在则剔除
IoSplitCodeEntity splitCodeEntity = splitCodeService.findByCode(collectOrderCodeMan.getUdiCode(), putWorkPlaceCode);
if (splitCodeEntity != null && IntUtil.value(splitCodeEntity.getRemainCount()) > 0) {
if (IntUtil.value(splitCodeEntity.getRemainCount()) > IntUtil.value(collectOrderCodeMan.getScanCount())) {
splitCodeEntity.setRemainCount(IntUtil.value(splitCodeEntity.getRemainCount()) - IntUtil.value(collectOrderCodeMan.getScanActCount()));
} else {
splitCodeEntity.setRemainCount(0);
}
collectOrderCodeMan.setSplitFlag(true);
splitCodeService.updateById(splitCodeEntity);
}
} }
} }
List<Long> removeIds = new ArrayList<>(); List<Long> removeIds = new ArrayList<>();
@ -281,7 +293,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
} else { } else {
Optional<IoCollectOrderCodeMan> firstMatch1 = collectOrderCodeMEN.stream() Optional<IoCollectOrderCodeMan> firstMatch1 = collectOrderCodeMEN.stream()
.filter(item -> .filter(item ->
item.getBizIdFk().equals(collectOrderBiz.getId())) !IntUtil.value(item.getSplitFlag()) && item.getBizIdFk().equals(collectOrderBiz.getId()))
.findFirst(); .findFirst();
if (firstMatch1.isPresent()) { if (firstMatch1.isPresent()) {
result = firstMatch1.get(); result = firstMatch1.get();

@ -27,7 +27,7 @@ public class SysWorkplacePutRelService extends ServiceImpl<SysWorkplacePutRelMap
public SysWorkplacePutRel findPutWorkPlace(Long workPlaceCode, String busType) { public SysWorkplacePutRel findPutWorkPlace(Long workPlaceCode, String busType) {
List<SysWorkplacePutRel> sysWorkplacePutRelList = list(new LambdaQueryWrapper<SysWorkplacePutRel>().eq(SysWorkplacePutRel::getCollectWorkCode, workPlaceCode).eq(SysWorkplacePutRel::getCollectBusType, busType)); List<SysWorkplacePutRel> sysWorkplacePutRelList = list(new LambdaQueryWrapper<SysWorkplacePutRel>().eq(SysWorkplacePutRel::getCollectWorkCode, workPlaceCode).eq(busType != null, SysWorkplacePutRel::getCollectBusType, busType));
if (CollUtil.isNotEmpty(sysWorkplacePutRelList)) if (CollUtil.isNotEmpty(sysWorkplacePutRelList))
return sysWorkplacePutRelList.get(0); return sysWorkplacePutRelList.get(0);
else else
@ -46,8 +46,8 @@ public class SysWorkplacePutRelService extends ServiceImpl<SysWorkplacePutRelMap
.eq(SysWorkplacePutRel::getWorkPlaceCode, request.getWorkPlaceCode()) .eq(SysWorkplacePutRel::getWorkPlaceCode, request.getWorkPlaceCode())
.eq(SysWorkplacePutRel::getCollectWorkCode, request.getCollectWorkCodes().get(i)) .eq(SysWorkplacePutRel::getCollectWorkCode, request.getCollectWorkCodes().get(i))
.eq(SysWorkplacePutRel::getCollectBusType, request.getCollectBusTypes().get(i))); .eq(SysWorkplacePutRel::getCollectBusType, request.getCollectBusTypes().get(i)));
if (sysWorkplacePutRel != null){ if (sysWorkplacePutRel != null) {
return ResultVOUtils.error(500,"当前上货工位已绑定该采集工位"); return ResultVOUtils.error(500, "当前上货工位已绑定该采集工位");
} }
//开始绑定 //开始绑定
SysWorkplacePutRel sysWorkplacePutRel1 = new SysWorkplacePutRel(); SysWorkplacePutRel sysWorkplacePutRel1 = new SysWorkplacePutRel();
@ -61,8 +61,8 @@ public class SysWorkplacePutRelService extends ServiceImpl<SysWorkplacePutRelMap
sysWorkplacePutRel1.setCreateUser(userId + ""); sysWorkplacePutRel1.setCreateUser(userId + "");
sysWorkplacePutRel1.setUpdateUser(userId + ""); sysWorkplacePutRel1.setUpdateUser(userId + "");
int insert = sysWorkplacePutRelMapper.insert(sysWorkplacePutRel1); int insert = sysWorkplacePutRelMapper.insert(sysWorkplacePutRel1);
if (insert == 0){ if (insert == 0) {
return ResultVOUtils.error(500,"选入错误"); return ResultVOUtils.error(500, "选入错误");
} }
} }
return ResultVOUtils.success("选入成功"); return ResultVOUtils.success("选入成功");
@ -75,6 +75,6 @@ public class SysWorkplacePutRelService extends ServiceImpl<SysWorkplacePutRelMap
if (null != request.getPage() && null != request.getLimit()) { if (null != request.getPage() && null != request.getLimit()) {
PageHelper.offsetPage((request.getPage() - 1) * request.getLimit(), request.getLimit()); PageHelper.offsetPage((request.getPage() - 1) * request.getLimit(), request.getLimit());
} }
return super.baseMapper.filterList(request); return super.baseMapper.filterList(request);
} }
} }

@ -33,7 +33,7 @@
resultType="com.glxp.api.entity.collect.IoCollectOrderCodeMan"> resultType="com.glxp.api.entity.collect.IoCollectOrderCodeMan">
SELECT * SELECT *
FROM io_collect_order_code_man icocm FROM io_collect_order_code_man icocm
left join udi_wms_ct.io_collect_order bu on icocm.orderIdFk = bu.billNo left join io_collect_order bu on icocm.orderIdFk = bu.billNo
<where> <where>
<if test="udiCode != '' and udiCode != null"> <if test="udiCode != '' and udiCode != null">
AND udiCode = #{udiCode} AND udiCode = #{udiCode}

@ -4550,3 +4550,8 @@ CREATE TABLE IF NOT EXISTS `anncmnt_product`
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'productType', CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'productType',
' tinyint NULL DEFAULT NULL COMMENT ''单据类型; 1:器械单据 2:药品单据''', ' tinyint NULL DEFAULT NULL COMMENT ''单据类型; 1:器械单据 2:药品单据''',
1); 1);
CALL Pro_Temp_ColumnWork('io_collect_order_code_man', 'scanActCount',
'int NULL DEFAULT NULL COMMENT ''扫码实际数量''',
1);
Loading…
Cancel
Save