关联关系问题修改

dev_unify
yewj 8 months ago
parent 8e716c53dd
commit c72e45c9ff

@ -12,6 +12,7 @@ import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.collect.IoCollectCode; import com.glxp.api.entity.collect.IoCollectCode;
import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderOrigin; import com.glxp.api.entity.collect.IoCollectOrderOrigin;
import com.glxp.api.entity.collect.RelCodeDetail;
import com.glxp.api.exception.JsonException; import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.collect.CollectOrderRequest;
@ -1564,6 +1565,15 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setFifoSplit(addOrderRequest.getFifoSplit()); codeEnttity.setFifoSplit(addOrderRequest.getFifoSplit());
codeEnttity.setProductType(2); codeEnttity.setProductType(2);
codeEnttity.setCount(1); codeEnttity.setCount(1);
RelCodeDetailResponse codeRelEntity = relCodeDetailService.findByCode(code);
if (codeRelEntity != null) {
codeEnttity.setParentCode(codeRelEntity.getParentCode());
RelCodeDetail relCodeDetail = relCodeDetailService.getOneByCode(codeRelEntity.getParentCode());
if (relCodeDetail != null) {
codeEnttity.setGrantPaCode(relCodeDetail.getParentCode());
}
}
String unitFk = null; String unitFk = null;
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
unitFk = addOrderRequest.getFromCorp(); unitFk = addOrderRequest.getFromCorp();
@ -1832,6 +1842,7 @@ public class IoCodeTempController extends BaseController {
if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) { if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) {
udiEntity.setSerialNo(addOrderRequest.getSerialNo()); udiEntity.setSerialNo(addOrderRequest.getSerialNo());
} }
RelCodeDetailResponse codeRelEntity = null;
if (StrUtil.isEmpty(udiEntity.getBatchNo())) { if (StrUtil.isEmpty(udiEntity.getBatchNo())) {
IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code); IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code);
if (codeLostEntity != null) { if (codeLostEntity != null) {
@ -1839,7 +1850,7 @@ public class IoCodeTempController extends BaseController {
udiEntity.setProduceDate(codeLostEntity.getProduceDate()); udiEntity.setProduceDate(codeLostEntity.getProduceDate());
udiEntity.setExpireDate(codeLostEntity.getExpireDate()); udiEntity.setExpireDate(codeLostEntity.getExpireDate());
} else { } else {
RelCodeDetailResponse codeRelEntity = relCodeDetailService.findByCode(code); codeRelEntity = relCodeDetailService.findByCode(code);
if (codeRelEntity != null) { if (codeRelEntity != null) {
udiEntity.setBatchNo(codeRelEntity.getBatchNo()); udiEntity.setBatchNo(codeRelEntity.getBatchNo());
udiEntity.setProduceDate(MsDateUtil.formatDate(codeRelEntity.getMadeDate(), "yyMMdd")); udiEntity.setProduceDate(MsDateUtil.formatDate(codeRelEntity.getMadeDate(), "yyMMdd"));

@ -220,4 +220,11 @@ public class IoCodeTempEntity {
*/ */
@TableField(value = "parentCode") @TableField(value = "parentCode")
private String parentCode; private String parentCode;
/**
*
*/
@TableField(value = "grantPaCode")
private String grantPaCode;
} }

@ -122,12 +122,26 @@ public class RelCodeDetailService extends ServiceImpl<RelCodeDetailMapper, RelCo
public RelCodeDetailResponse findByCode(String code) { public RelCodeDetailResponse findByCode(String code) {
RelCodeDetailRequest relCodeDetailRequest = new RelCodeDetailRequest(); RelCodeDetailRequest relCodeDetailRequest = new RelCodeDetailRequest();
relCodeDetailRequest.setCurCode(code); relCodeDetailRequest.setCurCode(code);
List<RelCodeDetailResponse> relCodeDetailResponse = filterList(relCodeDetailRequest); List<RelCodeDetailResponse> relCodeDetailResponses = filterList(relCodeDetailRequest);
if (CollUtil.isNotEmpty(relCodeDetailResponse)) { if (CollUtil.isNotEmpty(relCodeDetailResponses)) {
return relCodeDetailResponse.get(0); return relCodeDetailResponses.get(0);
} else { } else {
return null; relCodeDetailRequest.setCurCode(null);
relCodeDetailRequest.setParentCode(code);
relCodeDetailResponses = filterList(relCodeDetailRequest);
if (CollUtil.isNotEmpty(relCodeDetailResponses)) {
RelCodeDetailResponse relCodeDetailResponse = relCodeDetailResponses.get(0);
relCodeDetailResponse.setCurCode(code);
relCodeDetailResponse.setParentCode(null);
return relCodeDetailResponse;
}
} }
return null;
}
public RelCodeDetail getOneByCode(String code) {
RelCodeDetail relCodeDetail = getOne(new LambdaQueryWrapper<RelCodeDetail>().eq(RelCodeDetail::getCurCode, code));
return relCodeDetail;
} }

@ -14,6 +14,7 @@ import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.inout.FilterCodeRequest; import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.RelCodeDetailResponse;
import com.glxp.api.res.inout.IoCodeResponse; import com.glxp.api.res.inout.IoCodeResponse;
import com.glxp.api.res.inout.IoCodeTempResponse; import com.glxp.api.res.inout.IoCodeTempResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
@ -259,16 +260,25 @@ public class IoCodeTempService {
public boolean ieExitRel(String code, String orderId) { public boolean ieExitRel(String code, String orderId) {
boolean ret = false; boolean ret = false;
RelCodeDetail relCodeDetail = relCodeDetailService.getOne(new LambdaQueryWrapper<RelCodeDetail>().eq(RelCodeDetail::getCurCode, code)); RelCodeDetailResponse relCodeDetail = relCodeDetailService.findByCode(code);
if (relCodeDetail != null) { if (relCodeDetail != null) {
ret = ioCodeTempDao.exists(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getCode, relCodeDetail.getParentCode())); //判断是否存在关联关系1.先判断当前单号是否存在父码,若存在则表示存在关联关系重复扫码
if (StrUtil.isNotEmpty(relCodeDetail.getParentCode())) {
ret = ioCodeTempDao.exists(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getCode, relCodeDetail.getParentCode()));
if (!ret) {
relCodeDetail = relCodeDetailService.findByCode(relCodeDetail.getParentCode());
ret = ioCodeTempDao.exists(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getCode, relCodeDetail.getParentCode()));
}
}
if (ret)
return true;
//若父码不存在,判断当前单号是否存在当前码的子码,若存在则表示存在关联关系重复扫码
ret = ioCodeTempDao.exists(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getParentCode, code));
if (!ret) { if (!ret) {
ret = ioCodeTempDao.exists(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getParentCode, code)); ret = ioCodeTempDao.exists(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getGrantPaCode, code));
} }
} }
return ret; return ret;
} }
} }

@ -511,7 +511,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
public void preAutoTagCode(IoCollectOrder collectOrder) { public void preAutoTagCode(IoCollectOrder collectOrder) {
Long putWorkPlaceCode = null; Long putWorkPlaceCode = null;
//获取上货工位 //获取上货工位
SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType()); SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
if (sysWorkplacePutRel != null) if (sysWorkplacePutRel != null)
putWorkPlaceCode = sysWorkplacePutRel.getWorkPlaceCode(); putWorkPlaceCode = sysWorkplacePutRel.getWorkPlaceCode();

@ -105,7 +105,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
public int insert(IoOrderDetailBizEntity orderDetailBizEntity) { public int insert(IoOrderDetailBizEntity orderDetailBizEntity) {
if (orderDetailBizEntity.getId() == null) if (orderDetailBizEntity.getId() == null)
orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId());
return ioOrderDetailBizDao.insert(orderDetailBizEntity); return ioOrderDetailBizDao.insertIgnore(orderDetailBizEntity);
} }
@Override @Override
@ -299,7 +299,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
// } // }
// } // }
if (bussinessTypeEntity != null && udiRelevanceResponse != null){ if (bussinessTypeEntity != null && udiRelevanceResponse != null) {
//是否校验耗材材质 1高值耗材2.普通耗材 //是否校验耗材材质 1高值耗材2.普通耗材
if (IntUtil.value(bussinessTypeEntity.getVailHcType()) == 1) { if (IntUtil.value(bussinessTypeEntity.getVailHcType()) == 1) {
if (IntUtil.value(udiRelevanceResponse.getHcType()) != 1) { if (IntUtil.value(udiRelevanceResponse.getHcType()) != 1) {
@ -312,11 +312,11 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
} }
//是否开启校验扫码 0:不校验1:只允许录入扫码产品2:只允许录入不扫码产品 //是否开启校验扫码 0:不校验1:只允许录入扫码产品2:只允许录入不扫码产品
if (IntUtil.value(bussinessTypeEntity.getCodeCheck() )== 1){ if (IntUtil.value(bussinessTypeEntity.getCodeCheck()) == 1) {
if (IntUtil.value(udiRelevanceResponse.getRequireScanCode()) != 1) { if (IntUtil.value(udiRelevanceResponse.getRequireScanCode()) != 1) {
throw new JsonException("单据只允许录入需要扫码产品" + ",请检查后重试!"); throw new JsonException("单据只允许录入需要扫码产品" + ",请检查后重试!");
} }
}else if (IntUtil.value(bussinessTypeEntity.getCodeCheck()) == 2) { } else if (IntUtil.value(bussinessTypeEntity.getCodeCheck()) == 2) {
if (IntUtil.value(udiRelevanceResponse.getRequireScanCode()) != 0) { if (IntUtil.value(udiRelevanceResponse.getRequireScanCode()) != 0) {
throw new JsonException("单据只允许录入不需要扫码产品" + ",请检查后重试!"); throw new JsonException("单据只允许录入不需要扫码产品" + ",请检查后重试!");
} }
@ -324,7 +324,6 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
} }
if (udiRelevanceResponse.getPurType() == 2) { if (udiRelevanceResponse.getPurType() == 2) {
if (StrUtil.isEmpty(item.getZczbhhzbapzbh())) { if (StrUtil.isEmpty(item.getZczbhhzbapzbh())) {
throw new JsonException("预验收产品必须填写预验收批次号"); throw new JsonException("预验收产品必须填写预验收批次号");
@ -407,7 +406,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
IoOrderDetailBizEntity ioOrderDetailBizEntity1 = new IoOrderDetailBizEntity(); IoOrderDetailBizEntity ioOrderDetailBizEntity1 = new IoOrderDetailBizEntity();
BeanUtils.copyProperties(ioOrderDetailBizEntity, ioOrderDetailBizEntity1); BeanUtils.copyProperties(ioOrderDetailBizEntity, ioOrderDetailBizEntity1);
UdiProductEntity drug = udiProductDao.findByNameCode(ioOrderDetailBizEntity1.getNameCode()); UdiProductEntity drug = udiProductDao.findByNameCode(ioOrderDetailBizEntity1.getNameCode());
if (drug.getProductsType() == 2){ if (drug.getProductsType() == 2) {
//药品添加药品数据 //药品添加药品数据
ioOrderDetailBizEntity1.setBzgg(drug.getBzgg()); ioOrderDetailBizEntity1.setBzgg(drug.getBzgg());
ioOrderDetailBizEntity1.setPrepnUnit(drug.getPrepnUnit()); ioOrderDetailBizEntity1.setPrepnUnit(drug.getPrepnUnit());

@ -80,7 +80,7 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
if (orderDetailCodeEntity.getId() == null) { if (orderDetailCodeEntity.getId() == null) {
orderDetailCodeEntity.setId(IdUtil.getSnowflakeNextId()); orderDetailCodeEntity.setId(IdUtil.getSnowflakeNextId());
} }
return ioOrderDetailCodeDao.insert(orderDetailCodeEntity); return ioOrderDetailCodeDao.insertIgnore(orderDetailCodeEntity);
} }
@Override @Override

@ -40,7 +40,7 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
@Override @Override
public int insert(IoOrderDetailResultEntity orderDetailResultEntity) { public int insert(IoOrderDetailResultEntity orderDetailResultEntity) {
orderDetailResultEntity.setId(null); orderDetailResultEntity.setId(null);
return orderDetailResultDao.insert(orderDetailResultEntity); return orderDetailResultDao.insertIgnore(orderDetailResultEntity);
} }
@Override @Override

@ -1,68 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.collect.RelCodeDetailMapper"> <mapper namespace="com.glxp.api.dao.collect.RelCodeDetailMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.collect.RelCodeDetail"> <resultMap id="BaseResultMap" type="com.glxp.api.entity.collect.RelCodeDetail">
<!--@mbg.generated--> <!--@mbg.generated-->
<!--@Table udi_wms_ywj.rel_code_detail--> <!--@Table udi_wms_ywj.rel_code_detail-->
<id column="id" jdbcType="INTEGER" property="id" /> <id column="id" jdbcType="INTEGER" property="id"/>
<result column="curCode" jdbcType="VARCHAR" property="curCode" /> <result column="curCode" jdbcType="VARCHAR" property="curCode"/>
<result column="packLayer" jdbcType="TINYINT" property="packLayer" /> <result column="packLayer" jdbcType="TINYINT" property="packLayer"/>
<result column="parentCode" jdbcType="VARCHAR" property="parentCode" /> <result column="parentCode" jdbcType="VARCHAR" property="parentCode"/>
<result column="flag" jdbcType="TINYINT" property="flag" /> <result column="flag" jdbcType="TINYINT" property="flag"/>
<result column="batchIdFk" jdbcType="INTEGER" property="batchIdFk" /> <result column="batchIdFk" jdbcType="INTEGER" property="batchIdFk"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, curCode, packLayer, parentCode, flag, batchIdFk id,
</sql> curCode,
packLayer,
<select id="filterList" parameterType="com.glxp.api.req.collect.RelCodeDetailRequest" resultType="com.glxp.api.res.collect.RelCodeDetailResponse"> parentCode,
select flag,
rcd.id, batchIdFk
rcd.curCode, </sql>
rcd.packLayer, <select id="filterList" parameterType="com.glxp.api.req.collect.RelCodeDetailRequest"
rcd.parentCode, resultType="com.glxp.api.res.collect.RelCodeDetailResponse">
rcd.flag, select rcd.id,
rcd.batchIdFk, rcd.curCode,
rcb.productCode, rcd.packLayer,
rcb.subTypeNo, rcd.parentCode,
rcb.cascadeRatio, rcd.flag,
rcb.packageSpec, rcd.batchIdFk,
rcb.comment, rcb.productCode,
rcb.batchNo, rcb.subTypeNo,
rcb.madeDate, rcb.cascadeRatio,
rcb.validateDate, rcb.packageSpec,
rcb.workShop, rcb.comment,
rcb.lineName, rcb.batchNo,
rcb.lineManager, rcb.madeDate,
rcb.createTime, rcb.validateDate,
rcb.createUser, rcb.workShop,
rcb.updateTime, rcb.lineName,
rcb.updateUser rcb.lineManager,
from rel_code_detail rcd rcb.createTime,
left join rel_code_batch rcb on rcb.id = rcd.batchIdFk rcb.createUser,
<where> rcb.updateTime,
<if test="productCode != '' and productCode != null"> rcb.updateUser
AND rcb.productCode LIKE concat('%', #{productCode}, '%') from rel_code_detail rcd
</if> left join rel_code_batch rcb on rcb.id = rcd.batchIdFk
<if test=" batchIdFk != null"> <where>
AND rcb.id = #{batchIdFk} <if test="productCode != '' and productCode != null">
</if> AND rcb.productCode LIKE concat('%', #{productCode}, '%')
<if test="batchNo != null and batchNo != ''"> </if>
AND rcb.batchNo = #{batchNo} <if test="batchIdFk != null">
</if> AND rcb.id = #{batchIdFk}
<if test="keyWords != '' and keyWords != null"> </if>
and ( <if test="curCode != null">
rcb.productCode LIKE concat('%', #{keyWords}, '%') AND rcd.curCode = #{curCode}
or rcb.subTypeNo LIKE concat('%', #{keyWords}, '%') </if>
or rcb.packageSpec LIKE concat('%', #{keyWords}, '%')) <if test="parentCode != null">
</if> AND rcd.parentCode = #{parentCode}
<if test="lineName != '' and lineName != null"> </if>
AND rcb.lineName LIKE concat('%', #{lineName}, '%') <if test="batchNo != null and batchNo != ''">
</if> AND rcb.batchNo = #{batchNo}
<if test="lineManager != '' and lineManager != null"> </if>
AND rcb.lineManager LIKE concat('%', #{lineManager}, '%') <if test="keyWords != '' and keyWords != null">
</if> and (
</where> rcb.productCode LIKE concat('%', #{keyWords}, '%')
</select> or rcb.subTypeNo LIKE concat('%', #{keyWords}, '%')
or rcb.packageSpec LIKE concat('%', #{keyWords}, '%'))
</if>
<if test="lineName != '' and lineName != null">
AND rcb.lineName LIKE concat('%', #{lineName}, '%')
</if>
<if test="lineManager != '' and lineManager != null">
AND rcb.lineManager LIKE concat('%', #{lineManager}, '%')
</if>
</where>
</select>
</mapper> </mapper>

@ -4721,3 +4721,14 @@ CALL Pro_Temp_ColumnWork('sys_workplace_queue', 'relId',
CALL Pro_Temp_ColumnWork('thr_yb_setup', 'signData', CALL Pro_Temp_ColumnWork('thr_yb_setup', 'signData',
'char(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''签到时间''', 'char(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''签到时间''',
1); 1);
CALL Pro_Temp_ColumnWork('io_code_temp', 'grantPaCode',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''爷级编码''',
1);
CALL Pro_Temp_ColumnWork('io_code', 'parentCode',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''父级编码''',
1);
CALL Pro_Temp_ColumnWork('io_code', 'grantPaCode',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''爷级编码''',
1);

Loading…
Cancel
Save