|
|
|
@ -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)) {
|
|
|
|
|
|
|
|
|
|