suntianwu 2 yıl önce
ebeveyn
işleme
0f3a8b2c48

+ 78 - 0
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java

@@ -65,6 +65,10 @@ public class PmPurchaseExecutionController extends BaseController {
     private PmBidOpeningService pmBidOpeningService;
     @Autowired
     private PmBidOpeningHisService pmBidOpeningHisService;
+    @Autowired
+    private PmBidWinningOpeningRefService pmBidWinningOpeningRefService;
+    @Autowired
+    private PmBidWinningOpeningRefHisService pmBidWinningOpeningRefHisService;
 
     @Autowired
     private BaseProfessionalService baseProfessionalService;
@@ -753,6 +757,9 @@ public class PmPurchaseExecutionController extends BaseController {
                                            @RequestParam(value = "returnOrderNumber", required = true) Integer returnOrderNumber,
                                         @NotEmpty(message = "选取时间不能为空")
                                         @RequestParam(value = "accessTime", required = true) String accessTime) {
+        if( 0 == returnOrderNumber){
+            return getBaseExpertList(demandId,accessTime);
+        }
         LambdaQueryWrapper<PmDemandExpertRefHis> pmDemandExpertRefLambdaQueryWrapper = new LambdaQueryWrapper<>();
         pmDemandExpertRefLambdaQueryWrapper.eq(PmDemandExpertRefHis::getDemandId,demandId);
         pmDemandExpertRefLambdaQueryWrapper.eq(PmDemandExpertRefHis::getReturnOrderNumber,returnOrderNumber);
@@ -828,10 +835,81 @@ public class PmPurchaseExecutionController extends BaseController {
                                            @RequestParam(value = "returnOrderNumber", required = true) Integer returnOrderNumber,
                                         @NotEmpty(message = "开标时间不能为空")
                                         @RequestParam(value = "openBidTime", required = true) String openBidTime) {
+        if( 0 == returnOrderNumber){
+            return getBidOpeningList(demandId,openBidTime);
+        }
         LambdaQueryWrapper<PmBidOpeningHis> pmBidOpeningLambdaQueryWrapper = new LambdaQueryWrapper<>();
         pmBidOpeningLambdaQueryWrapper.eq(PmBidOpeningHis::getDemandId,demandId).eq(PmBidOpeningHis::getReturnOrderNumber,returnOrderNumber)
                 .eq(PmBidOpeningHis::getOpenBidTime,openBidTime).orderByDesc(PmBidOpeningHis::getScore);
         List<PmBidOpeningHis> pmBidOpeningList = pmBidOpeningHisService.list(pmBidOpeningLambdaQueryWrapper);
         return success(pmBidOpeningList);
     }
+
+    /**
+     * 评标结果公告详情查看中标单位列表
+     */
+    @ApiOperation(value = "评标结果公告详情查看中标单位列表", notes = "必传选需求ID和中标ID")
+    @GetMapping("/getBidWinningUnitList")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:getBidWinningUnitList')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.QUERY)
+    public AjaxResult getBidWinningUnitList(@NotEmpty(message = "需求ID不能为空")
+                                        @RequestParam(value = "demandId", required = true) Long demandId,
+                                        @NotEmpty(message = "开中标ID不能为空")
+                                        @RequestParam(value = "winningId", required = true) Long winningId) {
+
+        LambdaQueryWrapper<PmBidWinningOpeningRef> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(PmBidWinningOpeningRef::getDemandId,demandId).eq(PmBidWinningOpeningRef::getWinningId,winningId);
+        List<PmBidWinningOpeningRef> pmBidWinningOpeningRefList = pmBidWinningOpeningRefService.list(lambdaQueryWrapper);
+        if(ObjectUtils.isEmpty(pmBidWinningOpeningRefList)){
+            return AjaxResult.error("中标单位列表为空");
+        }
+
+        List<Long> idList = new ArrayList<>();
+        for (PmBidWinningOpeningRef pmBidWinningOpeningRef : pmBidWinningOpeningRefList) {
+            idList.add(pmBidWinningOpeningRef.getOpeningId());
+        }
+
+        LambdaQueryWrapper<PmBidOpening> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper1.in(PmBidOpening::getId,idList).orderByDesc(PmBidOpening::getScore);
+        List<PmBidOpening> pmBidOpeningList = this.pmBidOpeningService.list(lambdaQueryWrapper1);
+
+        return success(pmBidOpeningList);
+    }
+
+    /**
+     * 历史评标结果公告详情查看中标单位列表
+     */
+    @ApiOperation(value = "历史评标结果公告详情查看历史中标单位列表", notes = "必传选需求ID、回退序号和中标ID")
+    @GetMapping("/getBidWinningUnitHisList")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:getBidWinningUnitHisList')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.QUERY)
+    public AjaxResult getBidWinningUnitHisList(@NotEmpty(message = "需求ID不能为空")
+                                            @RequestParam(value = "demandId", required = true) Long demandId,
+                                               @NotEmpty(message = "回退序号不能为空")
+                                               @RequestParam(value = "returnOrderNumber", required = true) Integer returnOrderNumber,
+                                            @NotEmpty(message = "开中标ID不能为空")
+                                            @RequestParam(value = "winningId", required = true) Long winningId) {
+        if( 0 == returnOrderNumber){
+            return getBidWinningUnitList(demandId,winningId);
+        }
+        LambdaQueryWrapper<PmBidWinningOpeningRefHis> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(PmBidWinningOpeningRefHis::getDemandId,demandId).eq(PmBidWinningOpeningRefHis::getReturnOrderNumber,returnOrderNumber)
+                .eq(PmBidWinningOpeningRefHis::getWinningId,winningId);
+        List<PmBidWinningOpeningRefHis> pmBidWinningOpeningRefHisList = pmBidWinningOpeningRefHisService.list(lambdaQueryWrapper);
+        if(ObjectUtils.isEmpty(pmBidWinningOpeningRefHisList)){
+            return AjaxResult.error("中标单位列表为空");
+        }
+
+        List<Long> idList = new ArrayList<>();
+        for (PmBidWinningOpeningRefHis pmBidWinningOpeningRefHis : pmBidWinningOpeningRefHisList) {
+            idList.add(pmBidWinningOpeningRefHis.getOpeningId());
+        }
+
+        LambdaQueryWrapper<PmBidOpeningHis> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper1.in(PmBidOpeningHis::getId,idList).eq(PmBidOpeningHis::getReturnOrderNumber,returnOrderNumber)
+                .orderByDesc(PmBidOpeningHis::getScore);
+        List<PmBidOpeningHis> pmBidOpeningHisList = this.pmBidOpeningHisService.list(lambdaQueryWrapper1);
+
+        return success(pmBidOpeningHisList);
+    }
 }