|
@@ -14,6 +14,8 @@ import com.fjhx.common.constant.SourceConstant;
|
|
import com.fjhx.common.utils.Assert;
|
|
import com.fjhx.common.utils.Assert;
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
|
+import com.fjhx.kd100.entity.company.po.CompanyInfo;
|
|
|
|
+import com.fjhx.kd100.service.company.CompanyInfoService;
|
|
import com.fjhx.kd100.util.KD100Util;
|
|
import com.fjhx.kd100.util.KD100Util;
|
|
import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
|
|
import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
|
|
import com.fjhx.purchase.entity.arrival.vo.ArrivalDetailVo;
|
|
import com.fjhx.purchase.entity.arrival.vo.ArrivalDetailVo;
|
|
@@ -119,6 +121,8 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
private QualityDetailsService qualityDetailsService;
|
|
private QualityDetailsService qualityDetailsService;
|
|
@Autowired
|
|
@Autowired
|
|
private PurchaseDetailMapper purchaseDetailMapper;
|
|
private PurchaseDetailMapper purchaseDetailMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private CompanyInfoService companyInfoService;
|
|
|
|
|
|
@Value("${spring.profiles.active}")
|
|
@Value("${spring.profiles.active}")
|
|
private String active;
|
|
private String active;
|
|
@@ -127,11 +131,39 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
@Override
|
|
@Override
|
|
public Page<DeliverGoodsVo> getPage(DeliverGoodsSelectDto dto) {
|
|
public Page<DeliverGoodsVo> getPage(DeliverGoodsSelectDto dto) {
|
|
IWrapper<DeliverGoods> wrapper = getWrapper();
|
|
IWrapper<DeliverGoods> wrapper = getWrapper();
|
|
|
|
+
|
|
|
|
+ wrapper.eq("dg", DeliverGoods::getPurchaseId, dto.getPurchaseId());
|
|
|
|
+
|
|
wrapper.orderByDesc("dg", DeliverGoods::getId);
|
|
wrapper.orderByDesc("dg", DeliverGoods::getId);
|
|
Page<DeliverGoodsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
Page<DeliverGoodsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
|
+ List<DeliverGoodsVo> records = page.getRecords();
|
|
|
|
+ if (ObjectUtil.isEmpty(records)) {
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+ setInfo(records);
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ void setInfo(List<DeliverGoodsVo> lsit) {
|
|
|
|
+ if (ObjectUtil.isEmpty(lsit)) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //赋值物流公司名称
|
|
|
|
+ List<String> companyCode = lsit.stream().map(DeliverGoodsVo::getLogisticsCompanyCode).collect(Collectors.toList());
|
|
|
|
+ List<CompanyInfo> companyInfoList = companyInfoService.list(q -> q.in(CompanyInfo::getCode, companyCode));
|
|
|
|
+ Map<String, String> companyInfoMap = companyInfoList.stream().collect(Collectors.toMap(CompanyInfo::getCode, CompanyInfo::getName));
|
|
|
|
+
|
|
|
|
+ List<Long> ids = lsit.stream().map(DeliverGoods::getId).collect(Collectors.toList());
|
|
|
|
+ List<DeliverGoodsDetailsVo> list = deliverGoodsDetailsService.getList(IWrapper.<DeliverGoodsDetails>getWrapper().in(DeliverGoodsDetails::getDeliverGoodsId, ids));
|
|
|
|
+ Map<Long, List<DeliverGoodsDetailsVo>> collect = list.stream().collect(Collectors.groupingBy(DeliverGoodsDetails::getDeliverGoodsId));
|
|
|
|
+ for (DeliverGoodsVo deliverGoods : lsit) {
|
|
|
|
+ deliverGoods.setDeliverGoodsDetailsList(collect.getOrDefault(deliverGoods.getId(), new ArrayList<>()));
|
|
|
|
+
|
|
|
|
+ deliverGoods.setLogisticsCompanyName(companyInfoMap.get(deliverGoods.getLogisticsCompanyCode()));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<DeliverGoodsDetailsVo> detail(Long id) {
|
|
public List<DeliverGoodsDetailsVo> detail(Long id) {
|
|
Assert.notEmpty(id, "发货id不能为空");
|
|
Assert.notEmpty(id, "发货id不能为空");
|
|
@@ -218,10 +250,11 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
DynamicDataSourceContextHolder.push(SourceConstant.KD100);
|
|
DynamicDataSourceContextHolder.push(SourceConstant.KD100);
|
|
//只在生产环境调用Kd100
|
|
//只在生产环境调用Kd100
|
|
String activeProfile = SpringUtil.getActiveProfile();
|
|
String activeProfile = SpringUtil.getActiveProfile();
|
|
- Integer state = !"prod".equals(activeProfile) ? -1 : KD100Util.monitor(logisticsInfos.getLogisticsCompanyCode(), logisticsInfos.getCode(),logisticsInfos.getPhone(), logisticsInfos.getId(), 1, LogisticsInfos.class).getState();
|
|
|
|
|
|
+ Integer state = !"prod".equals(activeProfile) ? -1 : KD100Util.monitor(logisticsInfos.getLogisticsCompanyCode(), logisticsInfos.getCode(), logisticsInfos.getPhone(), logisticsInfos.getId(), 1, LogisticsInfos.class).getState();
|
|
DynamicDataSourceContextHolder.poll();
|
|
DynamicDataSourceContextHolder.poll();
|
|
logisticsInfos.setIsKd100(1);
|
|
logisticsInfos.setIsKd100(1);
|
|
logisticsInfos.setLogisticsStatus(state);
|
|
logisticsInfos.setLogisticsStatus(state);
|
|
|
|
+ logisticsInfos.setDeliverGoodsId(deliverGoodsDto.getId());
|
|
|
|
|
|
logisticsInfosService.save(logisticsInfos);
|
|
logisticsInfosService.save(logisticsInfos);
|
|
|
|
|
|
@@ -229,6 +262,11 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
List<LogisticsDetails> logisticsDetailsList = new ArrayList<>();
|
|
List<LogisticsDetails> logisticsDetailsList = new ArrayList<>();
|
|
|
|
|
|
for (DeliverGoodsDetails deliverGoodsDetails : deliverGoodsDetailsList) {
|
|
for (DeliverGoodsDetails deliverGoodsDetails : deliverGoodsDetailsList) {
|
|
|
|
+ deliverGoodsDetails.setId(IdWorker.getId());
|
|
|
|
+
|
|
|
|
+ PurchaseDetail byId = purchaseDetailService.getById(deliverGoodsDetails.getPurchaseDetailId());
|
|
|
|
+ deliverGoodsDetails.setProductId(byId.getBussinessId());
|
|
|
|
+
|
|
deliverGoodsDetails.setDeliverGoodsId(deliverGoodsDto.getId());
|
|
deliverGoodsDetails.setDeliverGoodsId(deliverGoodsDto.getId());
|
|
|
|
|
|
LogisticsDetails logisticsDetails = new LogisticsDetails();
|
|
LogisticsDetails logisticsDetails = new LogisticsDetails();
|
|
@@ -237,6 +275,7 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
logisticsDetails.setPurchaseId(purchase.getId());
|
|
logisticsDetails.setPurchaseId(purchase.getId());
|
|
logisticsDetails.setPurchaseDetailsId(deliverGoodsDetails.getPurchaseDetailId());
|
|
logisticsDetails.setPurchaseDetailsId(deliverGoodsDetails.getPurchaseDetailId());
|
|
logisticsDetails.setShipmentQuantity(deliverGoodsDetails.getDeliverGoodsQuantity());
|
|
logisticsDetails.setShipmentQuantity(deliverGoodsDetails.getDeliverGoodsQuantity());
|
|
|
|
+ logisticsDetails.setDeliverGoodsDetailsId(deliverGoodsDetails.getId());
|
|
logisticsDetailsList.add(logisticsDetails);
|
|
logisticsDetailsList.add(logisticsDetails);
|
|
}
|
|
}
|
|
deliverGoodsDetailsService.saveBatch(deliverGoodsDetailsList);
|
|
deliverGoodsDetailsService.saveBatch(deliverGoodsDetailsList);
|
|
@@ -244,8 +283,27 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @DSTransactional
|
|
public void edit(DeliverGoodsDto deliverGoodsDto) {
|
|
public void edit(DeliverGoodsDto deliverGoodsDto) {
|
|
this.updateById(deliverGoodsDto);
|
|
this.updateById(deliverGoodsDto);
|
|
|
|
+
|
|
|
|
+ LogisticsInfos logisticsInfos = logisticsInfosService.getOne(q -> q.eq(LogisticsInfos::getBusinessId, deliverGoodsDto.getId())
|
|
|
|
+ .or().eq(LogisticsInfos::getDeliverGoodsId, deliverGoodsDto.getId()));
|
|
|
|
+
|
|
|
|
+ //发起快递100订阅
|
|
|
|
+ DynamicDataSourceContextHolder.push(SourceConstant.KD100);
|
|
|
|
+ //只在生产环境调用Kd100
|
|
|
|
+ String activeProfile = SpringUtil.getActiveProfile();
|
|
|
|
+ Integer state = !"prod".equals(activeProfile) ? -1 : KD100Util.monitor(deliverGoodsDto.getLogisticsCompanyCode(), deliverGoodsDto.getCode(), deliverGoodsDto.getPhone(), logisticsInfos.getId(), 1, LogisticsInfos.class).getState();
|
|
|
|
+ DynamicDataSourceContextHolder.poll();
|
|
|
|
+
|
|
|
|
+ logisticsInfos.setLogisticsCompanyCode(deliverGoodsDto.getLogisticsCompanyCode());
|
|
|
|
+ logisticsInfos.setCode(deliverGoodsDto.getCode());
|
|
|
|
+ logisticsInfos.setSubCode(deliverGoodsDto.getSubCode());
|
|
|
|
+ logisticsInfos.setStatus(state);
|
|
|
|
+
|
|
|
|
+ logisticsInfosService.updateById(logisticsInfos);
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -256,7 +314,7 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
@Override
|
|
@Override
|
|
public List<DeliverGoodsVo> list(Long id) {
|
|
public List<DeliverGoodsVo> list(Long id) {
|
|
//根据采购id查发货列表
|
|
//根据采购id查发货列表
|
|
- List<DeliverGoodsVo> list = baseMapper.getList(IWrapper.getWrapper().eq("dg",DeliverGoods::getPurchaseId, id).eq("dg",DeliverGoods::getStatus, 0));
|
|
|
|
|
|
+ List<DeliverGoodsVo> list = baseMapper.getList(IWrapper.getWrapper().eq("dg", DeliverGoods::getPurchaseId, id).eq("dg", DeliverGoods::getStatus, 0));
|
|
return list;
|
|
return list;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -497,7 +555,7 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<DeliverGoodsDetailsVo> listDeliverGoodsDetails(IWrapper<DeliverGoods> wrapper){
|
|
|
|
|
|
+ public List<DeliverGoodsDetailsVo> listDeliverGoodsDetails(IWrapper<DeliverGoods> wrapper) {
|
|
return baseMapper.listDeliverGoodsDetails(wrapper);
|
|
return baseMapper.listDeliverGoodsDetails(wrapper);
|
|
}
|
|
}
|
|
|
|
|