Commit 36df5d51e3955529a92cb7688949adf8f836978b

Authored by 房远帅
1 parent f21ffcc9

合同状态问题修复

@@ -74,6 +74,7 @@ import java.util.*; @@ -74,6 +74,7 @@ import java.util.*;
74 import java.util.List; 74 import java.util.List;
75 import java.util.function.Function; 75 import java.util.function.Function;
76 import java.util.stream.Collectors; 76 import java.util.stream.Collectors;
  77 +import java.util.stream.Stream;
77 78
78 /** 79 /**
79 * 经销标准合同 Controller 80 * 经销标准合同 Controller
@@ -261,51 +262,32 @@ public class ContractDistributorStandardController extends DefaultBaseController @@ -261,51 +262,32 @@ public class ContractDistributorStandardController extends DefaultBaseController
261 } 262 }
262 //合同状态(标准合同列表展示) 263 //合同状态(标准合同列表展示)
263 if (vo != null && "STANDARD".equals(vo.getStatus())) { 264 if (vo != null && "STANDARD".equals(vo.getStatus())) {
264 - //合同ID  
265 - String id = bo.getId();  
266 - QueryPurchaseOrderInfoVo vo1 = new QueryPurchaseOrderInfoVo();  
267 - vo1.setContractId(id);  
268 - vo1.setExamineStatus("AUDIT");  
269 - vo1.setType("PRODUCTION");  
270 - List<PurchaseOrderInfo> query1 = purchaseOrderInfoService.query(vo1);  
271 - if (CollectionUtils.isNotEmpty(query1)) {  
272 - bo.setShippingStatusName("审批中");  
273 - } else {  
274 - QueryPurchaseOrderInfoVo vo2 = new QueryPurchaseOrderInfoVo();  
275 - vo2.setContractId(id);  
276 - vo2.setStatus("ISSUED");  
277 - vo2.setType("PRODUCTION");  
278 - List<PurchaseOrderInfo> query2 = purchaseOrderInfoService.query(vo2);  
279 - if (CollectionUtils.isNotEmpty(query2)) {  
280 - bo.setShippingStatusName("生产中");  
281 - } else {  
282 - QueryPurchaseOrderInfoVo vo3 = new QueryPurchaseOrderInfoVo();  
283 - vo3.setContractId(id);  
284 - vo3.setStatus("TRANSIT");  
285 - vo3.setType("PRODUCTION");  
286 - List<PurchaseOrderInfo> query3 = purchaseOrderInfoService.query(vo3);  
287 - if (CollectionUtils.isNotEmpty(query3)) {  
288 - bo.setShippingStatusName("已发货");  
289 - } else {  
290 - QueryPurchaseOrderInfoVo vo4 = new QueryPurchaseOrderInfoVo();  
291 - vo4.setContractId(id);  
292 - vo4.setStatus("SHIPPED");  
293 - vo4.setType("PRODUCTION");  
294 - List<PurchaseOrderInfo> query4 = purchaseOrderInfoService.query(vo4);  
295 - if (CollectionUtils.isNotEmpty(query4)) {  
296 - bo.setShippingStatusName("已发货");  
297 - } else {  
298 - QueryPurchaseOrderInfoVo vo5 = new QueryPurchaseOrderInfoVo();  
299 - vo5.setContractId(id);  
300 - vo5.setStatus("DELIVERED");  
301 - vo5.setType("PRODUCTION");  
302 - List<PurchaseOrderInfo> query5 = purchaseOrderInfoService.query(vo5);  
303 - if (CollectionUtils.isNotEmpty(query5)) {  
304 - bo.setShippingStatusName("已签收");  
305 - }  
306 - }  
307 - }  
308 - } 265 + String contractId = bo.getId();
  266 + String shippingStatusName = Stream.of(
  267 + new Object[]{"AUDIT", null, "审批中"},
  268 + new Object[]{null, "ISSUED", "生产中"},
  269 + new Object[]{null, "WAIT", "生产中"},
  270 + new Object[]{null, "TRANSIT", "已发货"},
  271 + new Object[]{null, "SHIPPED", "已发货"},
  272 + new Object[]{null, "DELIVERED", "已签收"},
  273 + new Object[]{null, "CANCEL", "已取消"}
  274 + )
  275 + .filter(check -> {
  276 + QueryPurchaseOrderInfoVo queryVo = new QueryPurchaseOrderInfoVo();
  277 + queryVo.setContractId(contractId);
  278 + queryVo.setType("PRODUCTION");
  279 + if (check[0] != null) queryVo.setExamineStatus((String) check[0]);
  280 + if (check[1] != null) queryVo.setStatus((String) check[1]);
  281 +
  282 + List<PurchaseOrderInfo> query = purchaseOrderInfoService.query(queryVo);
  283 + return CollectionUtils.isNotEmpty(query);
  284 + })
  285 + .map(check -> (String) check[2])
  286 + .findFirst()
  287 + .orElse(null);
  288 +
  289 + if (shippingStatusName != null) {
  290 + bo.setShippingStatusName(shippingStatusName);
309 } 291 }
310 } 292 }
311 }); 293 });
@@ -425,49 +407,31 @@ public class ContractDistributorStandardController extends DefaultBaseController @@ -425,49 +407,31 @@ public class ContractDistributorStandardController extends DefaultBaseController
425 } 407 }
426 //合同状态(标准合同列表展示) 408 //合同状态(标准合同列表展示)
427 if ("STANDARD".equals(data.getStatus())) { 409 if ("STANDARD".equals(data.getStatus())) {
428 - QueryPurchaseOrderInfoVo vo1 = new QueryPurchaseOrderInfoVo();  
429 - vo1.setContractId(id);  
430 - vo1.setExamineStatus("AUDIT");  
431 - vo1.setType("PRODUCTION");  
432 - List<PurchaseOrderInfo> query1 = purchaseOrderInfoService.query(vo1);  
433 - if (CollectionUtils.isNotEmpty(query1)) {  
434 - result.setShippingStatusName("审批中");  
435 - } else {  
436 - QueryPurchaseOrderInfoVo vo2 = new QueryPurchaseOrderInfoVo();  
437 - vo2.setContractId(id);  
438 - vo2.setStatus("ISSUED");  
439 - vo2.setType("PRODUCTION");  
440 - List<PurchaseOrderInfo> query2 = purchaseOrderInfoService.query(vo2);  
441 - if (CollectionUtils.isNotEmpty(query2)) {  
442 - result.setShippingStatusName("生产中");  
443 - } else {  
444 - QueryPurchaseOrderInfoVo vo3 = new QueryPurchaseOrderInfoVo();  
445 - vo3.setContractId(id);  
446 - vo3.setStatus("TRANSIT");  
447 - vo3.setType("PRODUCTION");  
448 - List<PurchaseOrderInfo> query3 = purchaseOrderInfoService.query(vo3);  
449 - if (CollectionUtils.isNotEmpty(query3)) {  
450 - result.setShippingStatusName("已发货");  
451 - } else {  
452 - QueryPurchaseOrderInfoVo vo4 = new QueryPurchaseOrderInfoVo();  
453 - vo4.setContractId(id);  
454 - vo4.setStatus("SHIPPED");  
455 - vo4.setType("PRODUCTION");  
456 - List<PurchaseOrderInfo> query4 = purchaseOrderInfoService.query(vo4);  
457 - if (CollectionUtils.isNotEmpty(query4)) {  
458 - result.setShippingStatusName("已发货");  
459 - } else {  
460 - QueryPurchaseOrderInfoVo vo5 = new QueryPurchaseOrderInfoVo();  
461 - vo5.setContractId(id);  
462 - vo5.setStatus("DELIVERED");  
463 - vo5.setType("PRODUCTION");  
464 - List<PurchaseOrderInfo> query5 = purchaseOrderInfoService.query(vo5);  
465 - if (CollectionUtils.isNotEmpty(query5)) {  
466 - result.setShippingStatusName("已签收");  
467 - }  
468 - }  
469 - }  
470 - } 410 + String shippingStatusName = Stream.of(
  411 + new Object[]{"AUDIT", null, "审批中"},
  412 + new Object[]{null, "ISSUED", "生产中"},
  413 + new Object[]{null, "WAIT", "生产中"},
  414 + new Object[]{null, "TRANSIT", "已发货"},
  415 + new Object[]{null, "SHIPPED", "已发货"},
  416 + new Object[]{null, "DELIVERED", "已签收"},
  417 + new Object[]{null, "CANCEL", "已取消"}
  418 + )
  419 + .filter(check -> {
  420 + QueryPurchaseOrderInfoVo queryVo = new QueryPurchaseOrderInfoVo();
  421 + queryVo.setContractId(id);
  422 + queryVo.setType("PRODUCTION");
  423 + if (check[0] != null) queryVo.setExamineStatus((String) check[0]);
  424 + if (check[1] != null) queryVo.setStatus((String) check[1]);
  425 +
  426 + List<PurchaseOrderInfo> query = purchaseOrderInfoService.query(queryVo);
  427 + return CollectionUtils.isNotEmpty(query);
  428 + })
  429 + .map(check -> (String) check[2])
  430 + .findFirst()
  431 + .orElse(null);
  432 +
  433 + if (shippingStatusName != null) {
  434 + result.setShippingStatusName(shippingStatusName);
471 } 435 }
472 } 436 }
473 437