关联关系问题修改

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

@ -220,4 +220,11 @@ public class IoCodeTempEntity {
*/
@TableField(value = "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) {
RelCodeDetailRequest relCodeDetailRequest = new RelCodeDetailRequest();
relCodeDetailRequest.setCurCode(code);
List<RelCodeDetailResponse> relCodeDetailResponse = filterList(relCodeDetailRequest);
if (CollUtil.isNotEmpty(relCodeDetailResponse)) {
return relCodeDetailResponse.get(0);
List<RelCodeDetailResponse> relCodeDetailResponses = filterList(relCodeDetailRequest);
if (CollUtil.isNotEmpty(relCodeDetailResponses)) {
return relCodeDetailResponses.get(0);
} 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.req.inout.FilterCodeRequest;
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.IoCodeTempResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
@ -259,16 +260,25 @@ public class IoCodeTempService {
public boolean ieExitRel(String code, String orderId) {
boolean ret = false;
RelCodeDetail relCodeDetail = relCodeDetailService.getOne(new LambdaQueryWrapper<RelCodeDetail>().eq(RelCodeDetail::getCurCode, code));
RelCodeDetailResponse relCodeDetail = relCodeDetailService.findByCode(code);
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) {
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;
}
}

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

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

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

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

@ -1,68 +1,78 @@
<?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">
<mapper namespace="com.glxp.api.dao.collect.RelCodeDetailMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.collect.RelCodeDetail">
<!--@mbg.generated-->
<!--@Table udi_wms_ywj.rel_code_detail-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="curCode" jdbcType="VARCHAR" property="curCode" />
<result column="packLayer" jdbcType="TINYINT" property="packLayer" />
<result column="parentCode" jdbcType="VARCHAR" property="parentCode" />
<result column="flag" jdbcType="TINYINT" property="flag" />
<result column="batchIdFk" jdbcType="INTEGER" property="batchIdFk" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, curCode, packLayer, parentCode, flag, batchIdFk
</sql>
<select id="filterList" parameterType="com.glxp.api.req.collect.RelCodeDetailRequest" resultType="com.glxp.api.res.collect.RelCodeDetailResponse">
select
rcd.id,
rcd.curCode,
rcd.packLayer,
rcd.parentCode,
rcd.flag,
rcd.batchIdFk,
rcb.productCode,
rcb.subTypeNo,
rcb.cascadeRatio,
rcb.packageSpec,
rcb.comment,
rcb.batchNo,
rcb.madeDate,
rcb.validateDate,
rcb.workShop,
rcb.lineName,
rcb.lineManager,
rcb.createTime,
rcb.createUser,
rcb.updateTime,
rcb.updateUser
from rel_code_detail rcd
left join rel_code_batch rcb on rcb.id = rcd.batchIdFk
<where>
<if test="productCode != '' and productCode != null">
AND rcb.productCode LIKE concat('%', #{productCode}, '%')
</if>
<if test=" batchIdFk != null">
AND rcb.id = #{batchIdFk}
</if>
<if test="batchNo != null and batchNo != ''">
AND rcb.batchNo = #{batchNo}
</if>
<if test="keyWords != '' and keyWords != null">
and (
rcb.productCode LIKE concat('%', #{keyWords}, '%')
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>
<resultMap id="BaseResultMap" type="com.glxp.api.entity.collect.RelCodeDetail">
<!--@mbg.generated-->
<!--@Table udi_wms_ywj.rel_code_detail-->
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="curCode" jdbcType="VARCHAR" property="curCode"/>
<result column="packLayer" jdbcType="TINYINT" property="packLayer"/>
<result column="parentCode" jdbcType="VARCHAR" property="parentCode"/>
<result column="flag" jdbcType="TINYINT" property="flag"/>
<result column="batchIdFk" jdbcType="INTEGER" property="batchIdFk"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id,
curCode,
packLayer,
parentCode,
flag,
batchIdFk
</sql>
<select id="filterList" parameterType="com.glxp.api.req.collect.RelCodeDetailRequest"
resultType="com.glxp.api.res.collect.RelCodeDetailResponse">
select rcd.id,
rcd.curCode,
rcd.packLayer,
rcd.parentCode,
rcd.flag,
rcd.batchIdFk,
rcb.productCode,
rcb.subTypeNo,
rcb.cascadeRatio,
rcb.packageSpec,
rcb.comment,
rcb.batchNo,
rcb.madeDate,
rcb.validateDate,
rcb.workShop,
rcb.lineName,
rcb.lineManager,
rcb.createTime,
rcb.createUser,
rcb.updateTime,
rcb.updateUser
from rel_code_detail rcd
left join rel_code_batch rcb on rcb.id = rcd.batchIdFk
<where>
<if test="productCode != '' and productCode != null">
AND rcb.productCode LIKE concat('%', #{productCode}, '%')
</if>
<if test="batchIdFk != null">
AND rcb.id = #{batchIdFk}
</if>
<if test="curCode != null">
AND rcd.curCode = #{curCode}
</if>
<if test="parentCode != null">
AND rcd.parentCode = #{parentCode}
</if>
<if test="batchNo != null and batchNo != ''">
AND rcb.batchNo = #{batchNo}
</if>
<if test="keyWords != '' and keyWords != null">
and (
rcb.productCode LIKE concat('%', #{keyWords}, '%')
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>

@ -4721,3 +4721,14 @@ CALL Pro_Temp_ColumnWork('sys_workplace_queue', 'relId',
CALL Pro_Temp_ColumnWork('thr_yb_setup', 'signData',
'char(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''签到时间''',
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