Browse Source

包件维护物料信息同步至暂存单数据

dev
汤建军 2 weeks ago
parent
commit
8531c811b7
  1. 5
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java
  2. 47
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java
  3. 8
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java
  4. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java
  5. 33
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java

5
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java

@ -3,6 +3,7 @@ package com.logpm.trunkline.feign;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
@FeignClient(
value = ModuleNameConstant.APPLICATION_TRUNKLINE_NAME
@ -43,4 +45,7 @@ public interface ITrunklineAdvanceDetailClient {
@GetMapping(API_PREFIX+"/saveBasicdataZero")
void saveBasicdataZero(@RequestParam String waybillNo);
@PostMapping(API_PREFIX + "/maintainMaterial")
R maintainMaterial(@RequestBody Map<String,Object> map);
}

47
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java

@ -16,6 +16,7 @@
*/
package com.logpm.distribution.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@ -31,6 +32,8 @@ import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionParcelListZeroVO;
import com.logpm.distribution.wrapper.DistributionParcelListVOWrapper;
import com.logpm.distribution.wrapper.DistributionParcelListWrapper;
import com.logpm.oldproject.feign.IAdvanceDetailClient;
import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -48,8 +51,11 @@ import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 在库订单包件清单 控制器
@ -65,6 +71,7 @@ public class DistributionParcelListController extends BladeController {
private final IDistributionParcelListService distributionParcelListService;
private final IBasicMaterialClient basicMaterialClient;
private final ITrunklineAdvanceDetailClient advanceDetailClient;
/**
* 在库订单包件清单 详情
@ -225,15 +232,39 @@ public class DistributionParcelListController extends BladeController {
public R update(@Valid @RequestBody DistributionParcelListDTO distributionParcelListDTO) {
if(ObjectUtils.isNotNull(distributionParcelListDTO.getMaterialId())){
BasicMaterialEntity materialOwnId = basicMaterialClient.getMaterialOwnId(distributionParcelListDTO.getMaterialId());
List<String> orderPackages = new ArrayList<>();
if(ObjectUtils.isNotNull(materialOwnId)){
distributionParcelListDTO.getIds().forEach( i ->{
distributionParcelListDTO.setId(Long.parseLong(i));
distributionParcelListDTO.setMaterialCode(materialOwnId.getProductCode());
distributionParcelListDTO.setMaterialName(materialOwnId.getName());
distributionParcelListDTO.setMaterialUnit(materialOwnId.getLogpmUnit());
distributionParcelListDTO.setSku(materialOwnId.getSku());
distributionParcelListService.updateById(distributionParcelListDTO);
});
List<String> ids = distributionParcelListDTO.getIds();
List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListService.listByIds(ids);
if (distributionParcelListEntities.isEmpty()) {
return R.fail("查询包件信息错误");
}
List<String> packageCodes = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.toList());
if (!packageCodes.isEmpty()) {
orderPackages.addAll(packageCodes);
}
List<DistributionParcelListEntity> updateList = new ArrayList<>();
for (String id : ids) {
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
parcelListEntity.setId(Long.parseLong(id));
parcelListEntity.setMaterialCode(materialOwnId.getProductCode());
parcelListEntity.setMaterialName(materialOwnId.getName());
parcelListEntity.setMaterialUnit(materialOwnId.getLogpmUnit());
updateList.add(parcelListEntity);
}
if (!updateList.isEmpty()) {
distributionParcelListService.updateBatchById(updateList);
}
if (!orderPackages.isEmpty()) {
Map<String,Object> map = new HashMap<>();
map.put("orderPackageCodes",orderPackages);
map.put("materialName",materialOwnId.getName());
map.put("materialCode",materialOwnId.getProductCode());
map.put("materialId",materialOwnId.getId());
R r = advanceDetailClient.maintainMaterial(map);
}
//维护完成之后需要对暂存单详情进行物料补充
return R.status(true);
}else{
return R.fail("操作失败!!");

8
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java

@ -8,10 +8,12 @@ import com.logpm.trunkline.service.ITrunklineAdvanceDetailService;
import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
@Slf4j
@ApiIgnore()
@ -64,4 +66,10 @@ public class TrunklineAdvanceDetailClient implements ITrunklineAdvanceDetailClie
public void saveBasicdataZero(String waybillNo) {
advanceDetailService.saveBasicdataZero(waybillNo);
}
@Override
public R maintainMaterial(Map<String,Object> map) {
return advanceDetailService.maintainMaterial(map);
}
}

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java

@ -122,4 +122,10 @@ public interface ITrunklineAdvanceDetailService extends BaseService<TrunklineAdv
void saveBasicdataZero(String waybillNo);
/**
* 维护物料信息
* @param map
* @return
*/
R maintainMaterial(Map<String, Object> map);
}

33
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java

@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basic.entity.BasicPrintTemplateEntity;
import com.logpm.basic.feign.IBasicPrintTemplateClient;
@ -940,4 +941,36 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline
}
}
@Override
public R maintainMaterial(Map<String, Object> map) {
if (Objects.isNull(map)){
return R.fail("信息缺失!!!");
}
if (Objects.isNull(map.get("orderPackageCodes"))){
return R.fail("orderPackageCodes信息缺失!!!");
}
if (Objects.isNull(map.get("materialName"))){
return R.fail("materialName信息缺失!!!");
}
if (Objects.isNull(map.get("materialCode"))){
return R.fail("materialCode信息缺失!!!");
}
if (Objects.isNull(map.get("materialId"))){
return R.fail("materialId信息缺失!!!");
}
List<String> orderPackageCodes = (List<String>) map.get("orderPackageCodes");
String materialName = (String) map.get("materialName");
String materialCode = (String) map.get("materialCode");
Long materialId = (Long) map.get("materialId");
this.update(Wrappers.<TrunklineAdvanceDetailEntity>update().lambda()
.in(TrunklineAdvanceDetailEntity::getOrderPackageCode,orderPackageCodes)
.set(TrunklineAdvanceDetailEntity::getMaterialName,materialName)
.set(TrunklineAdvanceDetailEntity::getMaterialCode,materialCode)
.set(TrunklineAdvanceDetailEntity::getMaterialId,materialId)
);
return R.success("操作成功");
}
}

Loading…
Cancel
Save