|
|
|
@ -20,6 +20,7 @@ import com.glxp.api.entity.basic.UdiEntity;
|
|
|
|
|
import com.glxp.api.entity.collect.IoCollectOrder;
|
|
|
|
|
import com.glxp.api.entity.collect.IoCollectOrderBiz;
|
|
|
|
|
import com.glxp.api.entity.collect.IoCollectOrderCodeMan;
|
|
|
|
|
import com.glxp.api.entity.collect.RelCodeDetail;
|
|
|
|
|
import com.glxp.api.entity.inout.IoCodeTempEntity;
|
|
|
|
|
import com.glxp.api.entity.inout.IoSplitCodeEntity;
|
|
|
|
|
import com.glxp.api.entity.inv.AnncmntProductEntity;
|
|
|
|
@ -30,6 +31,7 @@ import com.glxp.api.req.collect.CollectOrderCodeManRequest;
|
|
|
|
|
import com.glxp.api.req.inout.AddTagCodeReqeust;
|
|
|
|
|
import com.glxp.api.res.basic.UdiRelevanceResponse;
|
|
|
|
|
import com.glxp.api.res.collect.CollectOrderCodeManResponse;
|
|
|
|
|
import com.glxp.api.res.collect.RelCodeDetailResponse;
|
|
|
|
|
import com.glxp.api.service.auth.CustomerService;
|
|
|
|
|
import com.glxp.api.service.auth.InvWarehouseService;
|
|
|
|
|
import com.glxp.api.service.auth.SysWorkplaceService;
|
|
|
|
@ -153,9 +155,11 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
|
|
|
|
|
if (IntUtil.value(udiRelevanceResponse.getPackLevel()) < IntUtil.value(udiRelevanceResponse.getUseLevel())) {
|
|
|
|
|
throw new JsonException(500, "当前产品不支持采集该包装层级追溯码!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (udiRelevanceResponse.getUseMaxLevel() == null && IntUtil.value(udiRelevanceResponse.getPackLevel()) > 1) {
|
|
|
|
|
throw new JsonException(500, "当前产品不支持采集该包装层级追溯码!");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (IntUtil.value(udiRelevanceResponse.getDistributeMaxLevel()) < IntUtil.value(udiRelevanceResponse.getPackLevel())) {
|
|
|
|
|
if (udiRelevanceResponse.getDistributeMaxLevel() != null && IntUtil.value(udiRelevanceResponse.getDistributeMaxLevel()) < IntUtil.value(udiRelevanceResponse.getPackLevel())) {
|
|
|
|
|
throw new JsonException(500, "当前产品不支持采集该包装层级追溯码!");
|
|
|
|
|
}
|
|
|
|
|
if (IntUtil.value(udiRelevanceResponse.getPackLevel()) < IntUtil.value(udiRelevanceResponse.getDistributeLevel())) {
|
|
|
|
@ -438,6 +442,9 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
|
|
|
|
|
exitCode.setBizIdFk(collectOrderBiz.getId());
|
|
|
|
|
this.updateById(exitCode);
|
|
|
|
|
} else {
|
|
|
|
|
if (isExitRel(code, collectOrder.getBillNo())) {
|
|
|
|
|
throw new JsonException(500, "当前追溯码已上传关联关系,请勿重复扫码!");
|
|
|
|
|
}
|
|
|
|
|
IoCollectOrderCodeMan collectOrderCodeMan =
|
|
|
|
|
IoCollectOrderCodeMan.builder()
|
|
|
|
|
.udiCode(code)
|
|
|
|
@ -458,6 +465,14 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
|
|
|
|
|
.isSplitCode(addTagCodeReqeust.getIsSplitCode())
|
|
|
|
|
.scanActCount(scanCount)
|
|
|
|
|
.build();
|
|
|
|
|
RelCodeDetailResponse codeRelEntity = relCodeDetailService.findByCode(code);
|
|
|
|
|
if (codeRelEntity != null) {
|
|
|
|
|
collectOrderCodeMan.setParentCode(codeRelEntity.getParentCode());
|
|
|
|
|
RelCodeDetail relCodeDetail = relCodeDetailService.getOneByCode(codeRelEntity.getParentCode());
|
|
|
|
|
if (relCodeDetail != null) {
|
|
|
|
|
collectOrderCodeMan.setGrantPaCode(relCodeDetail.getParentCode());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.save(collectOrderCodeMan);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -467,6 +482,33 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
RelCodeDetailService relCodeDetailService;
|
|
|
|
|
|
|
|
|
|
public boolean isExitRel(String code, String orderId) {
|
|
|
|
|
boolean ret = false;
|
|
|
|
|
RelCodeDetailResponse relCodeDetail = relCodeDetailService.findByCode(code);
|
|
|
|
|
if (relCodeDetail != null) {
|
|
|
|
|
//判断是否存在关联关系:1.先判断当前单号是否存在父码,若存在则表示存在关联关系重复扫码
|
|
|
|
|
if (StrUtil.isNotEmpty(relCodeDetail.getParentCode())) {
|
|
|
|
|
ret = collectOrderCodeManMapper.exists(new LambdaQueryWrapper<IoCollectOrderCodeMan>().eq(IoCollectOrderCodeMan::getOrderIdFk, orderId).eq(IoCollectOrderCodeMan::getUdiCode, relCodeDetail.getParentCode()));
|
|
|
|
|
if (!ret) {
|
|
|
|
|
relCodeDetail = relCodeDetailService.findByCode(relCodeDetail.getParentCode());
|
|
|
|
|
ret = collectOrderCodeManMapper.exists(new LambdaQueryWrapper<IoCollectOrderCodeMan>().eq(IoCollectOrderCodeMan::getOrderIdFk, orderId).eq(IoCollectOrderCodeMan::getUdiCode, relCodeDetail.getParentCode()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (ret)
|
|
|
|
|
return true;
|
|
|
|
|
//若父码不存在,判断当前单号是否存在当前码的子码,若存在则表示存在关联关系重复扫码
|
|
|
|
|
ret = collectOrderCodeManMapper.exists(new LambdaQueryWrapper<IoCollectOrderCodeMan>().eq(IoCollectOrderCodeMan::getOrderIdFk, orderId).eq(IoCollectOrderCodeMan::getParentCode, code));
|
|
|
|
|
if (!ret) {
|
|
|
|
|
ret = collectOrderCodeManMapper.exists(new LambdaQueryWrapper<IoCollectOrderCodeMan>().eq(IoCollectOrderCodeMan::getOrderIdFk, orderId).eq(IoCollectOrderCodeMan::getGrantPaCode, code));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 校验当前产品是否拆零表库存
|
|
|
|
|
*/
|
|
|
|
|