处理单据,关联关系问题等

dev_unify
yewj 8 months ago
parent 7ddccf734f
commit 55beb3b285

@ -451,7 +451,6 @@ public class IoCollectOrderController extends BaseController {
/** /**
*
* *
* @param collectOrderRequest * @param collectOrderRequest
* @return * @return

@ -415,8 +415,6 @@ public class BasicProductsEntity {
private String matrial; private String matrial;
/** /**
* 1: 2: * 1: 2:
*/ */
@ -546,7 +544,11 @@ public class BasicProductsEntity {
*/ */
@TableField(value = "xjdw") @TableField(value = "xjdw")
private String xjdw; private String xjdw;
/**
*
*/
@TableField(value = "detailSort")
private Integer detailSort;
public static final String COL_ID = "id"; public static final String COL_ID = "id";

@ -21,6 +21,7 @@ import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.entity.collect.IoCollectOrderCodeMan; import com.glxp.api.entity.collect.IoCollectOrderCodeMan;
import com.glxp.api.entity.collect.RelCodeDetail; import com.glxp.api.entity.collect.RelCodeDetail;
import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoSplitCodeEntity; import com.glxp.api.entity.inout.IoSplitCodeEntity;
import com.glxp.api.entity.inv.AnncmntProductEntity; import com.glxp.api.entity.inv.AnncmntProductEntity;
@ -38,6 +39,7 @@ import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.BasicCollectBustypeService; import com.glxp.api.service.basic.BasicCollectBustypeService;
import com.glxp.api.service.basic.SysWorkplaceDocumentService; import com.glxp.api.service.basic.SysWorkplaceDocumentService;
import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inout.IoCodeLostService;
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;
@ -118,6 +120,8 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
InvWarehouseService invWarehouseService; InvWarehouseService invWarehouseService;
@Resource @Resource
SysWorkplacePutRelService workplacePutRelService; SysWorkplacePutRelService workplacePutRelService;
@Resource
IoCodeLostService codeLostService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public IoCollectOrder prescribeTagCode(AddTagCodeReqeust addTagCodeReqeust) { public IoCollectOrder prescribeTagCode(AddTagCodeReqeust addTagCodeReqeust) {
@ -187,7 +191,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
throw new JsonException(500, "当前产品已过期!"); throw new JsonException(500, "当前产品已过期!");
} }
} }
IoSplitCodeEntity splitCodeEntity = splitCodeService.findByCode(code); IoSplitCodeEntity splitCodeEntity = splitCodeService.findByCode(code, putWorkPlaceCode);
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) {
@ -256,6 +260,13 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
collectOrderCodeManRequest.setUdiCode(code); collectOrderCodeManRequest.setUdiCode(code);
collectOrderCodeManRequest.setBusType(sysWorkplaceDocumentEntity.getDocumentTypeCode()); collectOrderCodeManRequest.setBusType(sysWorkplaceDocumentEntity.getDocumentTypeCode());
IoCollectOrderCodeMan collectOrderCodeMan = collectOrderCodeManMapper.exitCode(collectOrderCodeManRequest); IoCollectOrderCodeMan collectOrderCodeMan = collectOrderCodeManMapper.exitCode(collectOrderCodeManRequest);
IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code);
if (codeLostEntity != null) {
udiEntity.setBatchNo(codeLostEntity.getBatchNo());
udiEntity.setProduceDate(codeLostEntity.getProduceDate());
udiEntity.setExpireDate(codeLostEntity.getExpireDate());
}
if (collectOrderCodeMan != null && StrUtil.isNotEmpty(collectOrderCodeMan.getSerialNo())) { if (collectOrderCodeMan != null && StrUtil.isNotEmpty(collectOrderCodeMan.getSerialNo())) {
throw new JsonException(500, "当前追溯码已被其他单据关联!"); throw new JsonException(500, "当前追溯码已被其他单据关联!");
} }

@ -78,6 +78,9 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
} }
public IoSplitCodeEntity findByCode(String code, Long workPlaceCode) { public IoSplitCodeEntity findByCode(String code, Long workPlaceCode) {
if (workPlaceCode == null) {
return null;
}
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)

@ -1,11 +1,16 @@
package com.glxp.api.service.inout.impl; package com.glxp.api.service.inout.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.req.inout.IoCodeLostRequest; import com.glxp.api.req.inout.IoCodeLostRequest;
import com.glxp.api.res.collect.RelCodeDetailResponse;
import com.glxp.api.res.inout.IoCodeLostResponse; import com.glxp.api.res.inout.IoCodeLostResponse;
import com.glxp.api.service.collect.RelCodeBatchService;
import com.glxp.api.service.collect.RelCodeDetailService;
import com.glxp.api.util.MsDateUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -38,13 +43,26 @@ public class IoCodeLostServiceImpl extends ServiceImpl<IoCodeLostMapper, IoCodeL
return codeLostEntityMapper.selectLost(ioCodeLostRequest); return codeLostEntityMapper.selectLost(ioCodeLostRequest);
} }
@Override @Resource
RelCodeBatchService relCodeBatchService;
@Resource
RelCodeDetailService relCodeDetailService;
public IoCodeLostEntity findByCode(String code) { public IoCodeLostEntity findByCode(String code) {
List<IoCodeLostEntity> codeLostEntities = codeLostEntityMapper.selectList(new QueryWrapper<IoCodeLostEntity>().like("code", code).last("limit 1")); List<IoCodeLostEntity> codeLostEntities = codeLostEntityMapper.selectList(new QueryWrapper<IoCodeLostEntity>().like("code", code).last("limit 1"));
if (CollUtil.isNotEmpty(codeLostEntities)) { if (CollUtil.isNotEmpty(codeLostEntities)) {
return codeLostEntities.get(0); return codeLostEntities.get(0);
} }
RelCodeDetailResponse codeRelEntity = relCodeDetailService.findByCode(code);
if (codeRelEntity != null) {
IoCodeLostEntity udiEntity = new IoCodeLostEntity();
udiEntity.setBatchNo(codeRelEntity.getBatchNo());
udiEntity.setCode(code);
udiEntity.setProduceDate(MsDateUtil.formatDate(codeRelEntity.getMadeDate(), "yyMMdd"));
udiEntity.setExpireDate(MsDateUtil.formatDate(codeRelEntity.getValidateDate(), "yyMMdd"));
return udiEntity;
}
return null; return null;
} }

Loading…
Cancel
Save