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 e2f40b0..745e5f8 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 b475432..7604669 100644 --- a/src/main/java/com/srq/modules/orderIssure/service/IssureNotifyService.java +++ b/src/main/java/com/srq/modules/orderIssure/service/IssureNotifyService.java @@ -26,4 +26,6 @@ public interface IssureNotifyService { void refreshPickOrder(IssureNotifyEntity issureNotifyEntity); void pickOrderCancelReservation(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 f28f1b2..ea9dfba 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 @@ -233,4 +235,27 @@ public class IssureNotifyServiceImpl implements IssureNotifyService { pickOrderCancelReservationResponse.getMsg()); } } + + @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(";"))+"\"下发失败"); + } + } }