diff --git a/src/main/java/com/srq/modules/orderIssure/controller/IssureNotifyController.java b/src/main/java/com/srq/modules/orderIssure/controller/IssureNotifyController.java index 147f26a..5e4413d 100644 --- a/src/main/java/com/srq/modules/orderIssure/controller/IssureNotifyController.java +++ b/src/main/java/com/srq/modules/orderIssure/controller/IssureNotifyController.java @@ -45,6 +45,12 @@ public class IssureNotifyController { return R.ok().put("rows",rows); } + @PostMapping("/pick/detail/issued") + public R pickDetailIssued(@RequestBody List pickDetailList) { + issureNotifyService.pickDetailIssued(pickDetailList); + return R.ok("操作成功"); + } + /** * @Description 新增提货单 * @Title receiveIssureNotify diff --git a/src/main/java/com/srq/modules/orderIssure/entity/PickDetail.java b/src/main/java/com/srq/modules/orderIssure/entity/PickDetail.java index d2c34a0..bb30026 100644 --- a/src/main/java/com/srq/modules/orderIssure/entity/PickDetail.java +++ b/src/main/java/com/srq/modules/orderIssure/entity/PickDetail.java @@ -49,4 +49,6 @@ public class PickDetail { private String requireQty; private String endTime; private String status; + + private String handlingUnitId; } diff --git a/src/main/java/com/srq/modules/orderIssure/service/IssureNotifyService.java b/src/main/java/com/srq/modules/orderIssure/service/IssureNotifyService.java index 17c1394..ba00d70 100644 --- a/src/main/java/com/srq/modules/orderIssure/service/IssureNotifyService.java +++ b/src/main/java/com/srq/modules/orderIssure/service/IssureNotifyService.java @@ -20,4 +20,6 @@ public interface IssureNotifyService { List queryPickDetail(ProductionWarehousingEntity params); List getBillLadingDetail(IssureNotifyEntity issureNotifyEntity); + + void pickDetailIssued(List pickDetailList); } diff --git a/src/main/java/com/srq/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java b/src/main/java/com/srq/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java index 2118384..4dbf379 100644 --- a/src/main/java/com/srq/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java +++ b/src/main/java/com/srq/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java @@ -15,8 +15,10 @@ import org.springframework.stereotype.Service; import com.srq.modules.base.utils.HttpClientUtil; import com.srq.modules.base.utils.ResponseData; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; import java.util.*; +import java.util.stream.Collectors; @Service @@ -186,4 +188,27 @@ public class IssureNotifyServiceImpl implements IssureNotifyService { } return issureNotifyList; } + + @Override + public void pickDetailIssued(List pickDetailList) { + // 后台处理状态为已下发 + for (PickDetail detail : pickDetailList) { + if (StringUtils.isEmpty(detail.getIssueQty()) || "0".equals(detail.getIssueQty())) { + throw new RuntimeException("零件"+detail.getRmPartDesc()+"下发数量不能为零"); + } + detail.setStatus("已下发"); + } + String api = apiUrl + "/order/issuePickOrderDetailMerge"; + List errorList = new ArrayList<>(); + // 开始发送请求 + for (PickDetail detail : pickDetailList) { + ResponseData result = HttpClientUtil.doPostByRawWithSRQ(api,detail); + if (!"200".equals(result.getCode())) { + errorList.add(detail); + } + } + if (!errorList.isEmpty()){ + throw new RuntimeException("零件\""+errorList.stream().map(PickDetail::getRmPartDesc).collect(Collectors.joining(";"))+"\"下发失败"); + } + } }