diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java index c691980fe..ac642dcee 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java +++ b/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 map); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java index ec32310bb..25fc05f74 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java +++ b/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 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 ids = distributionParcelListDTO.getIds(); + List distributionParcelListEntities = distributionParcelListService.listByIds(ids); + if (distributionParcelListEntities.isEmpty()) { + return R.fail("查询包件信息错误"); + } + List packageCodes = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.toList()); + if (!packageCodes.isEmpty()) { + orderPackages.addAll(packageCodes); + } + List 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 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("操作失败!!"); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java index 125a370fd..870e7df29 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java +++ b/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 map) { + + return advanceDetailService.maintainMaterial(map); + } } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java index 059787c98..84b0e0f72 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java @@ -122,4 +122,10 @@ public interface ITrunklineAdvanceDetailService extends BaseService map); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java index 1c99f8dd7..b6c8b4bb7 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java +++ b/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 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 orderPackageCodes = (List) map.get("orderPackageCodes"); + String materialName = (String) map.get("materialName"); + String materialCode = (String) map.get("materialCode"); + Long materialId = (Long) map.get("materialId"); + this.update(Wrappers.update().lambda() + .in(TrunklineAdvanceDetailEntity::getOrderPackageCode,orderPackageCodes) + .set(TrunklineAdvanceDetailEntity::getMaterialName,materialName) + .set(TrunklineAdvanceDetailEntity::getMaterialCode,materialCode) + .set(TrunklineAdvanceDetailEntity::getMaterialId,materialId) + ); + + + return R.success("操作成功"); + } }