集采问题,库存校验问题

busUser
anthonywj 2 years ago
parent 1741926b77
commit 2230a46356

@ -745,7 +745,8 @@ public class WareHouseController {
}
}
}
} else //是否查询库存
} else
//是否查询库存
if (addOrderRequest.isVailInv()) {
if (bussinessTypeEntity.isAdvanceType()) {
int count = invPreProductDetailService.vailStockCount(code);

@ -49,4 +49,5 @@ public class CompanyProductRelevanceRequest extends ListPageRequest {
private String corpId;
private String billType;
private Boolean groupBuy;
private Boolean dispatch;
}

@ -63,4 +63,5 @@ public class FilterUdiInfoRequest extends ListPageRequest {
private String supId;
private Boolean groupBuy;
private Boolean dispatch;
}

@ -3,15 +3,21 @@ package com.glxp.api.admin.service.inventory.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.constant.ConstantType;
import com.glxp.api.admin.dao.business.InvSpaceDao;
import com.glxp.api.admin.dao.inventory.InvProductDetailDao;
import com.glxp.api.admin.entity.basic.UdiEntity;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvProductDetailEntity;
import com.glxp.api.admin.req.inventory.BindInvSpaceRequest;
import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest;
import com.glxp.api.admin.res.basic.UdiRelevanceResponse;
import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse;
import com.glxp.api.admin.res.inventory.InvProductDetailPlaceResponse;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.inventory.InvProductDetailService;
import com.glxp.api.admin.util.FilterUdiUtils;
import com.glxp.api.common.enums.ResultEnum;
@ -139,6 +145,31 @@ public class InvProductDetailServiceImpl implements InvProductDetailService {
return null;
}
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
UdiInfoService udiInfoService;
public UdiInfoEntity getMinDi(String code) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
List<UdiInfoEntity> udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid());
if (udiInfoBean != null) {
for (UdiInfoEntity udiInfoEntity : udiInfoEntities) {
if (udiInfoBean.getIsUseDy() == 1) {
if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY) {
return udiInfoEntity;
}
} else {
if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_MAIN) {
return udiInfoEntity;
}
}
udiInfoEntity.setRelId(udiInfoBean.getId() + "");
}
}
return null;
}
@Override
public int vailStockCount(String code) {
@ -146,19 +177,25 @@ public class InvProductDetailServiceImpl implements InvProductDetailService {
return 0;
}
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
filterInvProductDetailRequest.setOriginCode(code);
List<InvProductDetailEntity> datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
if (CollUtil.isEmpty(datas)) {
filterInvProductDetailRequest.setOriginCode(null);
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
if (StrUtil.isNotEmpty(udiEntity.getBatchNo()))
filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo());
else
filterInvProductDetailRequest.setBatchNo("empty");
filterInvProductDetailRequest.setProductionDate(udiEntity.getProduceDate());
filterInvProductDetailRequest.setExpireDate(udiEntity.getExpireDate());
datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
UdiInfoEntity udiInfoEntity = getMinDi(code);
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY
|| (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) {
udiEntity.setUdi(udiInfoEntity.getNameCode());
code = FilterUdiUtils.transGlxpNoSerStr(udiEntity);
}
filterInvProductDetailRequest.setOriginCode(null);
filterInvProductDetailRequest.setCode(code);
if (StrUtil.isNotEmpty(udiEntity.getBatchNo()))
filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo());
else
filterInvProductDetailRequest.setBatchNo("empty");
filterInvProductDetailRequest.setProductionDate(udiEntity.getProduceDate());
filterInvProductDetailRequest.setExpireDate(udiEntity.getExpireDate());
List<InvProductDetailEntity>
datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
// }
int count = 0;
if (CollUtil.isNotEmpty(datas)) {

@ -214,6 +214,9 @@
<if test="groupBuy != null">
and basic_udirel.groupBuy = #{groupBuy}
</if>
<if test="dispatch != null">
and basic_udirel.dispatch = #{dispatch}
</if>
</where>
ORDER BY basic_udirel.updateTime DESC
</select>

@ -460,6 +460,12 @@
<if test="supId != null and supId != ''">
AND company_product_relevance.customerId = #{supId}
</if>
<if test="groupBuy != null">
and basic_udirel.groupBuy = #{groupBuy}
</if>
<if test="dispatch != null">
and basic_udirel.dispatch = #{dispatch}
</if>
</where>
ORDER BY modifyTime DESC
</select>

@ -40,7 +40,7 @@
AND supId = #{supId}
</if>
<if test="code != '' and code != null">
AND originCode = #{code}
AND code = #{code}
</if>
<if test="originCode != '' and originCode != null">
AND originCode = #{originCode}
@ -404,11 +404,12 @@
where invStorageCode = #{invStorageCode}
and invWarehouseCode = #{invWarehouseCode}
and originCode = #{code}
limit 1
limit 1
</select>
<select id="selectCodeByInvCodeAndProductId" resultType="java.lang.String">
select originCode from inv_product_detail
select originCode
from inv_product_detail
<where>
<if test="invStorageCode != null and invStorageCode != ''">
AND invStorageCode = #{invStorageCode}
@ -434,6 +435,9 @@
</select>
<select id="selectSupIdByCode" resultType="java.lang.String">
select supId from inv_product_detail where originCode = #{code} limit 1
select supId
from inv_product_detail
where originCode = #{code}
limit 1
</select>
</mapper>
</mapper>

Loading…
Cancel
Save