Jelajahi Sumber

Merge branch 'master' of http://124.70.58.209:3000/ytrd-project-management/purchase

sunhh 2 tahun lalu
induk
melakukan
fabe5976a5

+ 1 - 1
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseExpertController.java

@@ -98,7 +98,7 @@ public class BaseExpertController extends BaseController {
         List<BaseExpert> list = baseExpertService.list(lw);
         // IPage<BaseExpert> page = baseExpertService.page(new Page<BaseExpert>(baseExpertVo.getPageNum(), baseExpertVo.getPageSize()), lw);
         // List<BaseExpert> records = page.getRecords();
-        // todo 把 localArea 翻译为 省/市/县,存localAreaName中,(使用SysRegionService的getParentAdministrativeDivisionNames方法)
+        // 把 localArea 翻译为 省/市/县,存localAreaName中,(使用SysRegionService的getParentAdministrativeDivisionNames方法)
         List<BaseExpertVo> listVo = BeanUtils.entityListToVOList(list, BaseExpertVo.class);
         for (BaseExpertVo vo : listVo) {
             if (StringUtils.isNotNull(vo.getLocalArea())) {

+ 10 - 0
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmContractInfoController.java

@@ -2,8 +2,11 @@ package com.ozs.web.controller.pm;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ozs.common.annotation.Log;
+import com.ozs.common.constant.ModularConstans;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
 import com.ozs.common.enums.PmProjectStatus;
 import com.ozs.common.enums.SysFileRefEnum;
 import com.ozs.common.utils.StringUtils;
@@ -20,6 +23,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -49,6 +53,8 @@ public class PmContractInfoController extends BaseController {
      */
     @ApiOperation(value = "合同信息查询列表", notes = "参数非必传")
     @PostMapping("/list")
+    @PreAuthorize("@ss.hasPermi('pm:contractInfo:list')")
+    @Log(title = ModularConstans.contractInfo, businessType = BusinessType.QUERY)
     public AjaxResult list(@RequestBody PmDemandReqVo pmDemandReqVo) {
         IPage<PmDemandResVo> page  = pmDemandService.selectPmDemandList(pmDemandReqVo,4);
         return success(page);
@@ -56,6 +62,8 @@ public class PmContractInfoController extends BaseController {
 
     @ApiOperation(value = "合同信息填制",notes = "采购需求ID和上传附件必传")
     @PostMapping("/insertContractInfo")
+    @PreAuthorize("@ss.hasPermi('pm:contractInfo:insertContractInfo')")
+    @Log(title = ModularConstans.contractInfo, businessType = BusinessType.INSERT)
     public AjaxResult insertContractInfo(@NotEmpty(message = "数据为空") @RequestBody PmContractInfoReqVo pmContractInfoReqVo) {
         try {
             pmContractInfoReqVo.setCreateBy(getUserId().toString());
@@ -73,6 +81,8 @@ public class PmContractInfoController extends BaseController {
      */
     @ApiOperation(value = "查看详情", notes = "必传demandId和详情类型(1项目计划,2需求建档,3任务下达,4中标信息,5合同信息,6建设情况),其他字段不传")
     @PostMapping("/view")
+    @PreAuthorize("@ss.hasPermi('pm:contractInfo:view')")
+    @Log(title = ModularConstans.contractInfo, businessType = BusinessType.QUERY)
     public AjaxResult view(@RequestBody PmDemandReqVo pmDemandReqVo) {
         if(pmDemandReqVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");

+ 22 - 0
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmDemandController.java

@@ -2,7 +2,10 @@ package com.ozs.web.controller.pm;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ozs.common.annotation.Log;
+import com.ozs.common.constant.ModularConstans;
 import com.ozs.common.core.domain.model.LoginUser;
+import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.pm.doman.PmDemand;
@@ -13,6 +16,7 @@ import com.ozs.pm.service.IPmDemandService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -45,6 +49,8 @@ public class PmDemandController extends BaseController {
      */
     @ApiOperation(value = "查询采购需求列表", notes = "参数非必传")
     @PostMapping("/list")
+    @PreAuthorize("@ss.hasPermi('pm:demand:list')")
+    @Log(title = ModularConstans.demand, businessType = BusinessType.QUERY)
     public AjaxResult list(@RequestBody PmDemandReqVo pmDemandReqVo) {
         IPage<PmDemandResVo> page  = pmDemandService.selectPmDemandList(pmDemandReqVo,0);
         return success(page);
@@ -56,6 +62,8 @@ public class PmDemandController extends BaseController {
      */
     @ApiOperation(value = "查看详情", notes = "必传demandId和详情类型(1项目计划,2需求建档,3任务下达,4中标信息,5合同信息,6建设情况),其他字段不传")
     @PostMapping("/view")
+    @PreAuthorize("@ss.hasPermi('pm:demand:view')")
+    @Log(title = ModularConstans.demand, businessType = BusinessType.QUERY)
     public AjaxResult view(@RequestBody PmDemandReqVo pmDemandReqVo) {
         if(pmDemandReqVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");
@@ -71,6 +79,8 @@ public class PmDemandController extends BaseController {
      */
     @ApiOperation(value = "需求建档", notes = "必传demandId,根据项目类型必传pmDemandEngineeringResponseVo(3:工程类)、pmDemandEquipResponseVo(0:装备类)、pmDemandMaterialsResponseVo(1:物资类)、pmDemandServeResponseVo(2:服务类)其中之一")
     @PostMapping("/bookBuilding")
+    @PreAuthorize("@ss.hasPermi('pm:demand:bookBuilding')")
+    @Log(title = ModularConstans.demand, businessType = BusinessType.INSERT)
     public AjaxResult bookBuilding(@NotEmpty(message = "数据为空") @RequestBody PmBookBuildingReqVo pmBookBuildingReqVo, HttpServletRequest request) {
         try {
             if (pmBookBuildingReqVo.getDemandId() == null) {
@@ -93,6 +103,8 @@ public class PmDemandController extends BaseController {
 
     @ApiOperation(value = "提交采购需求", notes = "必传demandId,其他字段不传")
     @PostMapping("/commit")
+    @PreAuthorize("@ss.hasPermi('pm:demand:commit')")
+    @Log(title = ModularConstans.demand, businessType = BusinessType.UPDATE)
     public AjaxResult commit(@RequestBody PmDemandReqVo pmDemandReqVo, HttpServletRequest request) {
         if(pmDemandReqVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");
@@ -108,6 +120,8 @@ public class PmDemandController extends BaseController {
      */
     @ApiOperation(value = "查看流程图,获取当前阶段名字", notes = "必传demandId,其他字段不传")
     @PostMapping("/viewFlowChart")
+    @PreAuthorize("@ss.hasPermi('pm:demand:viewFlowChart')")
+    @Log(title = ModularConstans.demand, businessType = BusinessType.QUERY)
     public AjaxResult viewFlowChart(@RequestBody PmDemandReqVo pmRequestVo) {
         if(pmRequestVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");
@@ -120,6 +134,8 @@ public class PmDemandController extends BaseController {
      */
     @ApiOperation(value = "查看流程图,鼠标移到对应模块后,显示悬浮框提示", notes = "必传demandId和模块名称,其他字段不传")
     @PostMapping("/getModuleInfo")
+    @PreAuthorize("@ss.hasPermi('pm:demand:getModuleInfo')")
+    @Log(title = ModularConstans.demand, businessType = BusinessType.QUERY)
     public AjaxResult getModuleInfo(@RequestBody PmDemandReqVo pmRequestVo) {
         if(pmRequestVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");
@@ -136,6 +152,8 @@ public class PmDemandController extends BaseController {
      */
     @ApiOperation(value = "审核单位查询采购需求列表", notes = "参数非必传")
     @PostMapping("/examineList")
+    @PreAuthorize("@ss.hasPermi('pm:examine:list')")
+    @Log(title = ModularConstans.demandExamine, businessType = BusinessType.QUERY)
     public AjaxResult examineList(@RequestBody PmDemandReqVo pmDemandReqVo) {
         IPage<PmDemandResVo> page  = pmDemandService.selectPmDemandList(pmDemandReqVo,1);
         return success(page);
@@ -143,6 +161,8 @@ public class PmDemandController extends BaseController {
 
     @ApiOperation(value = "审核采购需求通过", notes = "必传demandId和上传附件,其他字段不传")
     @PostMapping("/reviewTo")
+    @PreAuthorize("@ss.hasPermi('pm:examine:reviewTo')")
+    @Log(title = ModularConstans.demandExamine, businessType = BusinessType.UPDATE)
     public AjaxResult reviewTo(@RequestBody PmDemandReqVo pmDemandReqVo, HttpServletRequest request) {
         if(pmDemandReqVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");
@@ -157,6 +177,8 @@ public class PmDemandController extends BaseController {
 
     @ApiOperation(value = "审核采购需求退回", notes = "必传demandId和退回原因,其他字段不传")
     @PostMapping("/reviewReturn")
+    @PreAuthorize("@ss.hasPermi('pm:examine:reviewReturn')")
+    @Log(title = ModularConstans.demandExamine, businessType = BusinessType.UPDATE)
     public AjaxResult reviewReturn(@RequestBody PmDemandReqVo pmDemandReqVo, HttpServletRequest request) {
         if(pmDemandReqVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");

+ 10 - 0
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmProjectConstructionController.java

@@ -2,8 +2,11 @@ package com.ozs.web.controller.pm;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ozs.common.annotation.Log;
+import com.ozs.common.constant.ModularConstans;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
 import com.ozs.common.enums.PmProjectStatus;
 import com.ozs.common.enums.SysFileRefEnum;
 import com.ozs.common.utils.StringUtils;
@@ -19,6 +22,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -49,6 +53,8 @@ public class PmProjectConstructionController extends BaseController {
      */
     @ApiOperation(value = "项目建设查询列表", notes = "参数非必传")
     @PostMapping("/list")
+    @PreAuthorize("@ss.hasPermi('pm:projectConstruction:list')")
+    @Log(title = ModularConstans.projectConstruction, businessType = BusinessType.QUERY)
     public AjaxResult list(@RequestBody PmDemandReqVo pmDemandReqVo) {
         IPage<PmDemandResVo> page  = pmDemandService.selectPmDemandList(pmDemandReqVo,5);
         return success(page);
@@ -56,6 +62,8 @@ public class PmProjectConstructionController extends BaseController {
 
     @ApiOperation(value = "建设文档填制",notes = "采购需求ID和上传附件必传")
     @PostMapping("/insertProjectConstruction")
+    @PreAuthorize("@ss.hasPermi('pm:projectConstruction:insertProjectConstruction')")
+    @Log(title = ModularConstans.projectConstruction, businessType = BusinessType.INSERT)
     public AjaxResult insertProjectConstruction(@NotEmpty(message = "数据为空") @RequestBody PmProjectConstructionReqVo pmProjectConstructionReqVo) {
         try {
             pmProjectConstructionReqVo.setCreateBy(getUserId().toString());
@@ -73,6 +81,8 @@ public class PmProjectConstructionController extends BaseController {
      */
     @ApiOperation(value = "查看详情", notes = "必传demandId和详情类型(1项目计划,2需求建档,3任务下达,4中标信息,5合同信息,6建设情况),其他字段不传")
     @PostMapping("/view")
+    @PreAuthorize("@ss.hasPermi('pm:projectConstruction:view')")
+    @Log(title = ModularConstans.projectConstruction, businessType = BusinessType.QUERY)
     public AjaxResult view(@RequestBody PmDemandReqVo pmDemandReqVo) {
         if(pmDemandReqVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");

+ 15 - 3
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java

@@ -64,6 +64,8 @@ public class PmPurchaseExecutionController extends BaseController {
      */
     @ApiOperation(value = "采购执行查询列表", notes = "参数非必传")
     @PostMapping("/list")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:list')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.QUERY)
     public AjaxResult list(@RequestBody PmDemandReqVo pmDemandReqVo) {
         IPage<PmDemandResVo> page  = pmDemandService.selectPmDemandList(pmDemandReqVo,3);
         return success(page);
@@ -74,6 +76,8 @@ public class PmPurchaseExecutionController extends BaseController {
      */
     @ApiOperation(value = "查询代理机构列表", notes = "采购需求ID必传")
     @GetMapping("/getAgencyList")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:getAgencyList')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.QUERY)
     public AjaxResult getAgencyList(@NotEmpty(message = "采购需求ID不能为空")
                                @RequestParam(value = "demandId", required = true) Long demandId) {
         PmDemand pmDemand = pmDemandService.getById(demandId);
@@ -92,6 +96,8 @@ public class PmPurchaseExecutionController extends BaseController {
      */
     @ApiOperation(value = "选取代理-选择填写招标代理机构信息",notes = "采购需求ID和代理机构ID必传")
     @GetMapping("/selectAgency")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:selectAgency')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.UPDATE)
     public AjaxResult selectAgency(@NotEmpty(message = "采购需求ID不能为空")
                                    @RequestParam(value = "demandId", required = true) Long demandId,
                                    @NotEmpty(message = "代理机构ID不能为空")
@@ -120,6 +126,8 @@ public class PmPurchaseExecutionController extends BaseController {
      */
     @ApiOperation(value = "选取代理-抽取招标代理机构信息",notes = "采购需求ID必传")
     @GetMapping("/extractAgency")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:extractAgency')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.UPDATE)
     public AjaxResult extractAgency(@NotEmpty(message = "采购需求id不能为空")
                                      @RequestParam(value = "demandId", required = true) Long demandId) {
 
@@ -149,6 +157,8 @@ public class PmPurchaseExecutionController extends BaseController {
 
     @ApiOperation(value = "上传招标文件",notes = "采购需求ID和上传附件必传")
     @PostMapping("/uploadBidFile")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:uploadBidFile')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.IMPORT)
     public AjaxResult uploadBidFile(@NotEmpty(message = "数据为空") @RequestBody PmPurchaseExecutionReqVo pmPurchaseExecutionReqVo) {
         Long demandId = pmPurchaseExecutionReqVo.getDemandId();
         if(ObjectUtils.isEmpty(demandId)){
@@ -178,6 +188,8 @@ public class PmPurchaseExecutionController extends BaseController {
 
     @ApiOperation(value = "发布公告")
     @PostMapping("/insertPmReleaseAnnouncement")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:insertPmReleaseAnnouncement')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.INSERT)
     public AjaxResult insertPmReleaseAnnouncement(@NotEmpty(message = "数据为空")
                                        @RequestBody PmReleaseAnnouncementReqVo pmReleaseAnnouncementReqVo) {
         try {
@@ -228,14 +240,14 @@ public class PmPurchaseExecutionController extends BaseController {
         if(ObjectUtils.isEmpty(pmDemand)){
             return error("参数错误");
         }
-        LambdaQueryWrapper<BaseExpert> lw = new LambdaQueryWrapper<BaseExpert>();
+        LambdaQueryWrapper<BaseExpert> lw = new LambdaQueryWrapper<>();
         lw.eq(BaseExpert::getIdNumber,idNumber);
         BaseExpert baseExpert = baseExpertService.getOne(lw);
         if(baseExpert != null){
-            if(baseExpert.getStatus().equals(NameListType.WHITE.getCode())){
+            if(NameListType.BLACK.getCode().equals(baseExpert.getStatus())){
                 return error("该专家属于黑名单");
             }
-            if(pmDemand.getProjectType().equals(baseExpert.getVarietyPurchase())){
+            if(!ObjectUtils.isEmpty(pmDemand.getProjectType()) && !pmDemand.getProjectType().equals(baseExpert.getVarietyPurchase())){
                 return error("该专家所属采购品种和项目类型不匹配");
             }
         }

+ 10 - 0
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmTaskReleaseController.java

@@ -2,9 +2,12 @@ package com.ozs.web.controller.pm;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ozs.common.annotation.Log;
+import com.ozs.common.constant.ModularConstans;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.model.LoginUser;
+import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.pm.doman.vo.requestVo.PmBookBuildingReqVo;
@@ -14,6 +17,7 @@ import com.ozs.pm.service.IPmDemandService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -41,6 +45,8 @@ public class PmTaskReleaseController extends BaseController {
      */
     @ApiOperation(value = "任务下达查询列表", notes = "参数非必传")
     @PostMapping("/list")
+    @PreAuthorize("@ss.hasPermi('pm:taskRelease:list')")
+    @Log(title = ModularConstans.taskRelease, businessType = BusinessType.QUERY)
     public AjaxResult list(@RequestBody PmDemandReqVo pmDemandReqVo) {
         IPage<PmDemandResVo> page  = pmDemandService.selectPmDemandList(pmDemandReqVo,2);
         return success(page);
@@ -48,6 +54,8 @@ public class PmTaskReleaseController extends BaseController {
 
     @ApiOperation(value = "下达任务", notes = "必传demandId和上传附件,其他字段不传")
     @PostMapping("/releaseTask")
+    @PreAuthorize("@ss.hasPermi('pm:taskRelease:releaseTask')")
+    @Log(title = ModularConstans.taskRelease, businessType = BusinessType.UPDATE)
     public AjaxResult releaseTask(@RequestBody PmDemandReqVo pmDemandReqVo, HttpServletRequest request) {
         if(pmDemandReqVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");
@@ -65,6 +73,8 @@ public class PmTaskReleaseController extends BaseController {
      */
     @ApiOperation(value = "查看详情", notes = "必传demandId和详情类型(1项目计划,2需求建档,3任务下达,4中标信息,5合同信息,6建设情况),其他字段不传")
     @PostMapping("/view")
+    @PreAuthorize("@ss.hasPermi('pm:taskRelease:view')")
+    @Log(title = ModularConstans.taskRelease, businessType = BusinessType.QUERY)
     public AjaxResult view(@RequestBody PmDemandReqVo pmDemandReqVo) {
         if(pmDemandReqVo.getDemandId() == null){
             return AjaxResult.error("demandId不能为空");

+ 1 - 1
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -790,7 +790,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                     baseExpert.setStatus(NameListType.WHITE.getCode());
                 }
             }
-            if (pmDemand.getProjectType().equals(baseExpert.getVarietyPurchase())) {
+            if (ObjectUtils.isEmpty(baseExpert.getVarietyPurchase()) || !baseExpert.getVarietyPurchase().contains(pmDemand.getProjectType())) {
                 throw new Exception("该专家(身份证号:" + baseExpert.getIdNumber() + ")所属采购品种和项目类型不匹配");
             }
             if (ObjectUtils.isEmpty(baseExpert.getCreated())) {