Explorar o código

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

sunhh %!s(int64=2) %!d(string=hai) anos
pai
achega
6a4cdba4e4
Modificáronse 20 ficheiros con 452 adicións e 193 borrados
  1. 2 2
      purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java
  2. 1 2
      purchase-admin/src/main/java/com/ozs/web/controller/pm/PmContractInfoController.java
  3. 1 1
      purchase-admin/src/main/java/com/ozs/web/controller/pm/PmDemandController.java
  4. 132 6
      purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java
  5. 1 5
      purchase-admin/src/main/java/com/ozs/web/controller/system/SysProcurementStandardController.java
  6. 54 2
      purchase-common/src/main/java/com/ozs/common/core/domain/entity/SysDept.java
  7. 1 0
      purchase-common/src/main/java/com/ozs/common/core/domain/entity/SysProcurementStandard.java
  8. 2 1
      purchase-common/src/main/java/com/ozs/common/enums/SysFileRefEnum.java
  9. 1 1
      purchase-system/src/main/java/com/ozs/plan/doman/PlanQuarter.java
  10. 1 1
      purchase-system/src/main/java/com/ozs/plan/doman/PlanYears.java
  11. 1 1
      purchase-system/src/main/java/com/ozs/plan/doman/ProvisionalPlan.java
  12. 22 19
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java
  13. 21 19
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java
  14. 6 6
      purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java
  15. 36 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmPurchaseExecutionReqVo.java
  16. 82 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmReleaseAnnouncementReqVo.java
  17. 7 0
      purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java
  18. 45 125
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java
  19. 20 0
      purchase-system/src/main/java/com/ozs/system/domain/vo/responseVo/SysDeptResponseVo.java
  20. 16 2
      purchase-system/src/main/resources/mapper/system/SysDeptMapper.xml

+ 2 - 2
purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java

@@ -59,7 +59,7 @@ public class ProvisionalPlanController extends BaseController {
     public AjaxResult insertProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan, HttpServletRequest request) {
         //获取采购单位
         LoginUser loginUser = tokenService.getLoginUser(request);
-        provisionalPlan.setPurchaseDeptId(loginUser.getDeptId());
+        provisionalPlan.setPurchaseDeptId(String.valueOf(loginUser.getDeptId()));
         provisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
         provisionalPlan.setCreateTime(new Date());
         // planType计划类型(0:季度计划,1:临时计划)
@@ -142,7 +142,7 @@ public class ProvisionalPlanController extends BaseController {
         return success(provisionalPlan);
     }
 
-    @ApiOperation(value = "导入临时计划")
+    @ApiOperation(value = "导入临时计划")
     @PostMapping("/importProvisionalPlan")
     @PreAuthorize("@ss.hasPermi('base:provisionalPlan:importProvisionalPlan')")
     @Log(title = ModularConstans.policy, businessType = BusinessType.INSERT)

+ 1 - 2
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmContractInfoController.java

@@ -28,8 +28,7 @@ import org.springframework.web.bind.annotation.RestController;
 public class PmContractInfoController extends BaseController {
     @Autowired
     private IPmDemandService pmDemandService;
-    @Autowired
-    private TokenService tokenService;
+
 
     /**
      * 合同信息查询列表

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

@@ -66,7 +66,7 @@ public class PmDemandController extends BaseController {
     /**
      * 需求建档
      */
-    @ApiOperation(value = "需求建档", notes = "必传demandId,根据项目类型必传pmDemandEngineeringResponseVo、pmDemandEquipResponseVo、pmDemandMaterialsResponseVo、pmDemandServeResponseVo")
+    @ApiOperation(value = "需求建档", notes = "必传demandId,根据项目类型必传pmDemandEngineeringResponseVo(3:工程类)、pmDemandEquipResponseVo(0:装备类)、pmDemandMaterialsResponseVo(1:物资类)、pmDemandServeResponseVo(2:服务类)其中之一")
     @PostMapping("/bookBuilding")
     public AjaxResult bookBuilding(@RequestBody PmBookBuildingReqVo pmBookBuildingReqVo, HttpServletRequest request) {
         if(pmBookBuildingReqVo.getDemandId() == null){

+ 132 - 6
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java

@@ -1,20 +1,36 @@
 package com.ozs.web.controller.pm;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ozs.base.domain.BaseAgency;
+import com.ozs.base.service.BaseAgencyService;
+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.framework.web.service.TokenService;
+import com.ozs.common.enums.BusinessType;
+import com.ozs.common.enums.SysFileRefEnum;
+import com.ozs.pm.doman.PmDemand;
+import com.ozs.pm.doman.PmReleaseAnnouncement;
 import com.ozs.pm.doman.vo.requestVo.PmDemandReqVo;
+import com.ozs.pm.doman.vo.requestVo.PmPurchaseExecutionReqVo;
+import com.ozs.pm.doman.vo.requestVo.PmReleaseAnnouncementReqVo;
 import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
 import com.ozs.pm.service.IPmDemandService;
+import com.ozs.pm.service.PmReleaseAnnouncementService;
+import com.ozs.system.domain.SysFileRef;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import org.springframework.util.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.Date;
+import java.util.List;
+import java.util.Optional;
 
 /**
  * 采购执行Controller
@@ -29,7 +45,8 @@ public class PmPurchaseExecutionController extends BaseController {
     @Autowired
     private IPmDemandService pmDemandService;
     @Autowired
-    private TokenService tokenService;
+    private BaseAgencyService baseAgencyService;
+
 
     /**
      * 采购执行查询列表
@@ -40,4 +57,113 @@ public class PmPurchaseExecutionController extends BaseController {
         IPage<PmDemandResVo> page  = pmDemandService.selectPmDemandList(pmDemandReqVo,3);
         return success(page);
     }
+
+    /**
+     * 查询代理机构列表
+     */
+    @ApiOperation(value = "查询代理机构列表", notes = "采购需求ID必传")
+    @PostMapping("/getAgencyList")
+    public AjaxResult getAgencyList(@NotEmpty(message = "采购需求ID不能为空")
+                               @RequestParam(value = "demandId", required = true) Long demandId) {
+        PmDemand pmDemand = pmDemandService.getById(demandId);
+        if(ObjectUtils.isEmpty(pmDemand)){
+            return error("参数错误");
+        }
+        LambdaQueryWrapper<BaseAgency> lw = new LambdaQueryWrapper<>();
+        lw.eq(BaseAgency::getCompanyType,pmDemand.getProjectType());
+        lw.eq(BaseAgency::getStatus,0);
+        List<BaseAgency> agencyList = baseAgencyService.list(lw);
+        return success(agencyList);
+    }
+
+    /**
+     * 选取代理-选择填写招标代理机构信息
+     */
+    @ApiOperation(value = "选取代理-选择填写招标代理机构信息",notes = "采购需求ID和代理机构ID必传")
+    @PostMapping("/selectAgency")
+    public AjaxResult selectAgency(@NotEmpty(message = "采购需求ID不能为空")
+                                   @RequestParam(value = "demandId", required = true) Long demandId,
+                                   @NotEmpty(message = "代理机构ID不能为空")
+                                   @RequestParam(value = "agencyId", required = true) Long agencyId) {
+
+        PmDemand pmDemand = pmDemandService.getById(demandId);
+        if(ObjectUtils.isEmpty(pmDemand)){
+            return error("参数错误");
+        }
+        BaseAgency baseAgency = baseAgencyService.getById(agencyId);
+        if(ObjectUtils.isEmpty(baseAgency)){
+            return error("参数错误");
+        }
+        PmDemand pmDemandUpdate = new PmDemand();
+        pmDemandUpdate.setDemandId(demandId);
+        pmDemandUpdate.setAgencyId(agencyId);
+        pmDemandUpdate.setExtractAgencyTime(new Date());
+        pmDemandUpdate.setUpdateTime(pmDemandUpdate.getExtractAgencyTime());
+        pmDemandUpdate.setUpdateBy(getUserId().toString());
+        return success(pmDemandService.updateById(pmDemandUpdate));
+    }
+
+    /**
+     * 选取代理-抽取招标代理机构信息
+     */
+    @ApiOperation(value = "选取代理-抽取招标代理机构信息",notes = "采购需求ID必传")
+    @PostMapping("/extractAgency")
+    public AjaxResult extractAgency(@NotEmpty(message = "采购需求id不能为空")
+                                     @RequestParam(value = "demandId", required = true) Long demandId) {
+
+        PmDemand pmDemand = pmDemandService.getById(demandId);
+        if(ObjectUtils.isEmpty(pmDemand)){
+            return error("参数错误");
+        }
+        LambdaQueryWrapper<BaseAgency> lw = new LambdaQueryWrapper<>();
+        lw.eq(BaseAgency::getCompanyType,pmDemand.getProjectType());
+        lw.eq(BaseAgency::getStatus,0);
+        Optional<BaseAgency> any = baseAgencyService.list(lw).stream().findAny();
+        if(ObjectUtils.isEmpty(any)){
+            return error("没有符合的招标代理机构,抽取失败!");
+        }
+        PmDemand pmDemandUpdate = new PmDemand();
+        pmDemandUpdate.setDemandId(demandId);
+        pmDemandUpdate.setAgencyId(any.get().getId());
+        pmDemandUpdate.setExtractAgencyTime(new Date());
+        pmDemandUpdate.setUpdateTime(pmDemandUpdate.getExtractAgencyTime());
+        pmDemandUpdate.setUpdateBy(getUserId().toString());
+        return success(pmDemandService.updateById(pmDemandUpdate));
+    }
+
+    @ApiOperation(value = "上传招标文件",notes = "采购需求ID和上传附件必传")
+    @PostMapping("/upLoadBidFile")
+    public AjaxResult upLoadBidFile(@NotEmpty(message = "数据为空") @RequestBody PmPurchaseExecutionReqVo pmPurchaseExecutionReqVo) {
+        Long demandId = pmPurchaseExecutionReqVo.getDemandId();
+        if(ObjectUtils.isEmpty(demandId)){
+            return error("参数错误");
+        }
+
+        PmDemand pmDemand = pmDemandService.getById(demandId);
+        if(ObjectUtils.isEmpty(pmDemand)){
+            return error("参数错误");
+        }
+
+        List<SysFileRef> sysFileRefs = pmPurchaseExecutionReqVo.getSysFileRefs();
+        if(ObjectUtils.isEmpty(sysFileRefs)){
+            return error("参数错误");
+        }
+        if (pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_BID_FILE.getType(),sysFileRefs,getUserId().toString())) {
+            return AjaxResult.success();
+        } else {
+            return error("上传失败");
+        }
+    }
+
+    @ApiOperation(value = "发布公告")
+    @PostMapping("/insertBaseAgency")
+    public AjaxResult insertBaseAgency(@NotEmpty(message = "数据为空")
+                                       @RequestBody PmReleaseAnnouncementReqVo pmReleaseAnnouncementReqVo) {
+        pmReleaseAnnouncementReqVo.setCreateBy(getUserId().toString());
+        pmReleaseAnnouncementReqVo.setCreateTime(new Date());
+        pmReleaseAnnouncementReqVo.setUpdateBy(pmReleaseAnnouncementReqVo.getCreateBy());
+        pmReleaseAnnouncementReqVo.setUpdateTime(pmReleaseAnnouncementReqVo.getCreateTime());
+        return toAjax(pmDemandService.insertBaseAgency(pmReleaseAnnouncementReqVo));
+    }
+
 }

+ 1 - 5
purchase-admin/src/main/java/com/ozs/web/controller/system/SysProcurementStandardController.java

@@ -59,13 +59,9 @@ public class SysProcurementStandardController {
     public R<String> update(@RequestBody List<SysProcurementStandardVo> sysProcurementStandardVoList) {
         boolean isSuccess = false;
         SysProcurementStandard sysProcurementStandard = new SysProcurementStandard();
-        LambdaQueryWrapper<SysProcurementStandard> lw = new LambdaQueryWrapper<>();
         for (SysProcurementStandardVo sysProcurementStandardVo : sysProcurementStandardVoList) {
             BeanUtils.copyProperties(sysProcurementStandardVo, sysProcurementStandard);
-            if(sysProcurementStandard.getProcurementStandardId()>-1L){
-                lw.eq(SysProcurementStandard::getProcurementStandardId,sysProcurementStandard.getProcurementStandardId());
-            }
-            isSuccess = sysProcurementStandardService.update(sysProcurementStandard,lw);
+            isSuccess = sysProcurementStandardService.updateById(sysProcurementStandard);
             if (!isSuccess) {
                 return R.fail();
             }

+ 54 - 2
purchase-common/src/main/java/com/ozs/common/core/domain/entity/SysDept.java

@@ -34,13 +34,13 @@ public class SysDept extends BaseEntity
     /** 显示顺序 */
     private Integer orderNum;
 
-    /** 负责人 */
+    /** 法定代表人 */
     private String leader;
 
     /** 联系电话 */
     private String phone;
 
-    /** 邮 */
+    /** 邮政编码 */
     private String email;
 
     /** 部门状态:0正常,1停用 */
@@ -62,6 +62,54 @@ public class SysDept extends BaseEntity
      * 地址
      */
     private String address;
+    /**
+     * 项目联系人
+     */
+    private String projectContact;
+    /**
+     * 银行账户名称
+     */
+    private String bankAccountName;
+    /**
+     * 开户银行
+     */
+    private String bankOfDeposit;
+    /**
+     * 账号
+     */
+    private String accountNumber;
+
+    public String getProjectContact() {
+        return projectContact;
+    }
+
+    public void setProjectContact(String projectContact) {
+        this.projectContact = projectContact;
+    }
+
+    public String getBankAccountName() {
+        return bankAccountName;
+    }
+
+    public void setBankAccountName(String bankAccountName) {
+        this.bankAccountName = bankAccountName;
+    }
+
+    public String getBankOfDeposit() {
+        return bankOfDeposit;
+    }
+
+    public void setBankOfDeposit(String bankOfDeposit) {
+        this.bankOfDeposit = bankOfDeposit;
+    }
+
+    public String getAccountNumber() {
+        return accountNumber;
+    }
+
+    public void setAccountNumber(String accountNumber) {
+        this.accountNumber = accountNumber;
+    }
 
     public String getRemarks() {
         return remarks;
@@ -224,6 +272,10 @@ public class SysDept extends BaseEntity
             .append("updateTime", getUpdateTime())
             .append("remarks",getRemarks())
             .append("address",getAddress())
+            .append("projectContact", getProjectContact())
+            .append("bankAccountName", getBankAccountName())
+            .append("bankOfDeposit", getBankOfDeposit())
+            .append("accountNumber", getAccountNumber())
             .toString();
     }
 }

+ 1 - 0
purchase-common/src/main/java/com/ozs/common/core/domain/entity/SysProcurementStandard.java

@@ -21,6 +21,7 @@ public class SysProcurementStandard implements Serializable {
     
     @ApiModelProperty(value = "采购标准ID")
     @TableField("procurement_standard_id")
+    @TableId(type = IdType.AUTO)
     private Long procurementStandardId;
     
     @ApiModelProperty(value = "部门ID")

+ 2 - 1
purchase-common/src/main/java/com/ozs/common/enums/SysFileRefEnum.java

@@ -18,7 +18,8 @@ public enum SysFileRefEnum {
     PM_DEMAND_SERVE(7, "采购需求服务类附件"),
     PM_DEMAND_ENGINEERING(8, "采购需求工程类附件"),
     PM_DEMAND_EXAMINE(9, "采购需求审核文件"),
-    PM_TAST_RELEASE(10, "任务下达文件")
+    PM_TAST_RELEASE(10, "任务下达文件"),
+    PM_BID_FILE(11, "招标文件")
     ;
 
     private Integer type;

+ 1 - 1
purchase-system/src/main/java/com/ozs/plan/doman/PlanQuarter.java

@@ -37,7 +37,7 @@ public class PlanQuarter {
      * 采购单位(登录账号的单位)
      */
     @NotNull(message = "采购单位不能为空")
-    private Long purchaseDeptId;
+    private String purchaseDeptId;
 
     @Excel(name = "采购单位")
     @TableField(exist = false)

+ 1 - 1
purchase-system/src/main/java/com/ozs/plan/doman/PlanYears.java

@@ -29,7 +29,7 @@ public class PlanYears {
      * 采购单位(登录账号的单位)
      */
     @NotNull(message = "采购单位不能为空")
-    private Long purchaseDeptId;
+    private String purchaseDeptId;
 
     @Excel(name = "采购单位")
     @TableField(exist = false)

+ 1 - 1
purchase-system/src/main/java/com/ozs/plan/doman/ProvisionalPlan.java

@@ -26,7 +26,7 @@ public class ProvisionalPlan {
     @NotNull(message = "采购单位不能为空")
     @ApiModelProperty(value = "采购单位(登录账号的单位)")
     @TableField("purchase_dept_id")
-    private Long purchaseDeptId;
+    private String purchaseDeptId;
 
     @Excel(name = "采购单位")
     @TableField(exist = false)

+ 22 - 19
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java

@@ -235,11 +235,11 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
         if (byId == null) {
             return AjaxResult.error("数据查询失败");
         }
-        SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(byId.getPurchaseDeptId()).get("sysDept");
+        SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(byId.getPurchaseDeptId())).get("sysDept");
         byId.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
         HashMap<String, Object> map = new HashMap<>();
         map.put("red_id", byId.getPlanPracticalId());
-        map.put("type", "1");
+        map.put("type", SysFileRefEnum.PLAN_TEMPORARY.getType());
         List<SysFileRef> fileRefs = sysFileRefMapper.selectByMap(map);
         List<SysFileInfo> fileInfos = new ArrayList<>();
         BeanUtils.copyProperties(byId, responseVo);
@@ -271,7 +271,7 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
         List<SysFileRef> sysFileRefs = quarterStandardVo.getSysFileRefs();
         HashMap<String, Object> map = new HashMap<>();
         map.put("red_id", quarters.getPlanPracticalId());
-        map.put("type", "1");
+        map.put("type", SysFileRefEnum.PLAN_TEMPORARY.getType());
         sysFileRefMapper.deleteByMap(map);
         if (!ObjectUtils.isEmpty(sysFileRefs)) {
             for (SysFileRef ref : sysFileRefs) {
@@ -318,7 +318,7 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
                     //采购单位
                     SysDept info = deptMapper.checkDeptNameOnlyOne(ofYear.getPurchaseDeptName());
                     if (!ObjectUtils.isEmpty(info)) {
-                        ofYear.setPurchaseDeptId(info.getDeptId());
+                        ofYear.setPurchaseDeptId(String.valueOf(info.getDeptId()));
                     } else {
                         ++failureNum;
                         failureMsg.append("*" + failureNum + "*采购单位“" + ofYear.getPurchaseDeptName() + "”不存在");
@@ -413,6 +413,7 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
         if (ObjectUtils.isEmpty(byId.getPlanYearId())) {
             PlanYears ofYears = new PlanYears();
             BeanUtils.copyProperties(vo, ofYears);
+            ofYears.setProjectStatus(ProjectStatus.PLANTOEXAMINE.getCode());
             planYearsMapper.insertPlanYears(ofYears);
             quarters.setPlanYearId(ofYears.getPlanYearId());
         }
@@ -526,7 +527,7 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
         HashMap<String, String> purchaseServices = planEnums.get("purchaseServices");
         List<PlanQuarter> list = new ArrayList<PlanQuarter>();
         for (PlanQuarter planYear : planQuarter) {
-            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(planYear.getPurchaseDeptId()).get("sysDept");
+            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(planYear.getPurchaseDeptId())).get("sysDept");
             planYear.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
 
             for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {
@@ -542,25 +543,27 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
                 }
             }
             //项目属性是拼接的
-            if (planYear.getProjectAttr().length() > 1) {
-                StringBuilder builder = new StringBuilder();
-                String[] split = planYear.getProjectAttr().split(",");
-                for (String s : split) {
+            if (!ObjectUtils.isEmpty(planYear.getProjectAttr())) {
+                if (planYear.getProjectAttr().length() > 1) {
+                    StringBuilder builder = new StringBuilder();
+                    String[] split = planYear.getProjectAttr().split(",");
+                    for (String s : split) {
+                        for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
+                            if (s.equals(entry.getValue())) {
+                                builder.append(entry.getKey() + ",");
+                                break;
+                            }
+                        }
+                    }
+                    planYear.setProjectAttrStr(builder.toString());
+                } else {
                     for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
-                        if (s.equals(entry.getValue())) {
-                            builder.append(entry.getKey() + ",");
+                        if (planYear.getProjectAttr().equals(entry.getValue())) {
+                            planYear.setProjectAttrStr(entry.getKey());
                             break;
                         }
                     }
                 }
-                planYear.setProjectAttrStr(builder.toString());
-            } else {
-                for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
-                    if (planYear.getProjectAttr().equals(entry.getValue())) {
-                        planYear.setProjectAttrStr(entry.getKey());
-                        break;
-                    }
-                }
             }
             for (Map.Entry<String, String> entry : purchaseServices.entrySet()) {
                 if (planYear.getPurchaseServices().equals(entry.getValue())) {

+ 21 - 19
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -106,7 +106,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         PlanYears ofYears = new PlanYears();
         List<PlanYears> planYears;
         List<PlanYears> planYearsList = new ArrayList<>();
-        PageHelper.startPage(vo.getPageNum().intValue(), vo.getPageSize().intValue());
+        PageHelper.startPage(vo.getPageNum().intValue(), vo.getPageSize().intValue(), true);
         try {
             BeanUtils.copyProperties(vo, ofYears);
             planYears = planYearsMapper.selectPlanYearsList(ofYears);
@@ -269,11 +269,11 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         if (byId == null) {
             return AjaxResult.error("数据查询失败");
         }
-        SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(byId.getPurchaseDeptId()).get("sysDept");
+        SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(byId.getPurchaseDeptId())).get("sysDept");
         byId.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
         HashMap<String, Object> map = new HashMap<>();
         map.put("red_id", byId.getPlanYearId());
-        map.put("type", "1");
+        map.put("type", SysFileRefEnum.PLAN_YEAR.getType());
         List<SysFileRef> fileRefs = sysFileRefMapper.selectByMap(map);
         List<SysFileInfo> fileInfos = new ArrayList<>();
         BeanUtils.copyProperties(byId, responseVo);
@@ -353,7 +353,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                     //采购单位
                     SysDept info = deptMapper.checkDeptNameOnlyOne(ofYear.getPurchaseDeptName());
                     if (!ObjectUtils.isEmpty(info)) {
-                        ofYear.setPurchaseDeptId(info.getDeptId());
+                        ofYear.setPurchaseDeptId(String.valueOf(info.getDeptId()));
                     } else {
                         ++failureNum;
                         failureMsg.append("*" + failureNum + "*采购单位“" + ofYear.getPurchaseDeptName() + "”不存在");
@@ -826,7 +826,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         HashMap<String, String> purchaseServices = planEnums.get("purchaseServices");
         List<PlanYears> list = new ArrayList<PlanYears>();
         for (PlanYears planYear : planYears) {
-            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(planYear.getPurchaseDeptId()).get("sysDept");
+            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(planYear.getPurchaseDeptId())).get("sysDept");
             planYear.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
 
             for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {
@@ -842,25 +842,27 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                 }
             }
             //项目属性是拼接的
-            if (planYear.getProjectAttr().length() > 1) {
-                StringBuilder builder = new StringBuilder();
-                String[] split = planYear.getProjectAttr().split(",");
-                for (String s : split) {
+            if (!ObjectUtils.isEmpty(planYear.getProjectAttr())) {
+                if (planYear.getProjectAttr().length() > 1) {
+                    StringBuilder builder = new StringBuilder();
+                    String[] split = planYear.getProjectAttr().split(",");
+                    for (String s : split) {
+                        for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
+                            if (s.equals(entry.getValue())) {
+                                builder.append(entry.getKey() + ",");
+                                break;
+                            }
+                        }
+                    }
+                    planYear.setProjectAttrStr(builder.toString());
+                } else {
                     for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
-                        if (s.equals(entry.getValue())) {
-                            builder.append(entry.getKey() + ",");
+                        if (planYear.getProjectAttr().equals(entry.getValue())) {
+                            planYear.setProjectAttrStr(entry.getKey());
                             break;
                         }
                     }
                 }
-                planYear.setProjectAttrStr(builder.toString());
-            } else {
-                for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
-                    if (planYear.getProjectAttr().equals(entry.getValue())) {
-                        planYear.setProjectAttrStr(entry.getKey());
-                        break;
-                    }
-                }
             }
             for (Map.Entry<String, String> entry : purchaseServices.entrySet()) {
                 if (planYear.getPurchaseServices().equals(entry.getValue())) {

+ 6 - 6
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -86,17 +86,17 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                     //采购单位
                     SysDept info = deptMapper.checkDeptNameOnlyOne(ofProvisionalPlan.getPurchaseDeptName());
                     if (StringUtils.isNotNull(info)) {
-                        ofProvisionalPlan.setPurchaseDeptId(info.getDeptId());
+                        ofProvisionalPlan.setPurchaseDeptId(String.valueOf(info.getDeptId()));
                     }
                     ofProvisionalPlan.setProjectType(projectTypesMap.get(ofProvisionalPlan.getProjectType()));
                     ofProvisionalPlan.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
                     ofProvisionalPlan.setPurchaseMode(planPurchaseModesMap.get(ofProvisionalPlan.getPurchaseMode()));
                     //项目属性是多选字段
                     StringBuilder builder = new StringBuilder();
-                    if (ofProvisionalPlan.getProjectAttr().contains("")) {
-                        String[] split = ofProvisionalPlan.getProjectAttr().split("");
+                    if (ofProvisionalPlan.getProjectAttr().contains(",")) {
+                        String[] split = ofProvisionalPlan.getProjectAttr().split(",");
                         for (String s : split) {
-                            builder.append(projectAttributes.get(s) + "");
+                            builder.append(projectAttributes.get(s) + ",");
                         }
                     } else {
                         builder.append(projectAttributes.get(ofProvisionalPlan.getProjectAttr()));
@@ -274,7 +274,7 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
         HashMap<String, String> projectAttributes = planEnums.get("projectAttributes");
         HashMap<String, String> purchaseServices = planEnums.get("purchaseServices");
         if (provisionalPlan.getPurchaseDeptId() != null) {
-            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(provisionalPlan.getPurchaseDeptId()).get("sysDept");
+            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(provisionalPlan.getPurchaseDeptId())).get("sysDept");
             provisionalPlan.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
         }
         for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {
@@ -329,7 +329,7 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
         List<ProvisionalPlan> list = new ArrayList<ProvisionalPlan>();
         for (ProvisionalPlan provisionalPlan : provisionalPlans) {
             if (provisionalPlan.getPurchaseDeptId() != null) {
-                SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(provisionalPlan.getPurchaseDeptId()).get("sysDept");
+                SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(provisionalPlan.getPurchaseDeptId())).get("sysDept");
                 provisionalPlan.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
             }
             for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {

+ 36 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmPurchaseExecutionReqVo.java

@@ -0,0 +1,36 @@
+package com.ozs.pm.doman.vo.requestVo;
+
+
+import com.ozs.system.domain.SysFileRef;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+
+/**
+ * 采购执行查询对象
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel("采购执行查询对象")
+public class PmPurchaseExecutionReqVo {
+    /** 采购需求ID */
+    @ApiModelProperty("采购需求ID")
+    private Long demandId;
+
+    /**
+     * 上传附件
+     */
+    @ApiModelProperty("上传附件")
+    private List<SysFileRef> sysFileRefs;
+}

+ 82 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmReleaseAnnouncementReqVo.java

@@ -0,0 +1,82 @@
+package com.ozs.pm.doman.vo.requestVo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.system.domain.SysFileRef;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 发布公告表(PmReleaseAnnouncement)实体类
+ *
+ * @author makejava
+ * @since 2023-02-02 00:47:23
+ */
+
+@Data
+@ApiModel(value = "发布公告表", description = "")
+public class PmReleaseAnnouncementReqVo implements Serializable {
+    private static final long serialVersionUID = 403614463746791218L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty("需求ID")
+    private Long demandId;
+
+
+    @ApiModelProperty("发布公告平台,1:军队采购网,2:全军武器装备采购网")
+    private String announcementPlatform;
+
+
+    @ApiModelProperty("发布时间 yyyy-MM-dd")
+    private String releaseTime;
+
+
+    @ApiModelProperty("开标地点")
+    private String bidOpenPlace;
+
+
+    @ApiModelProperty("报名截止时间 yyyy-MM-dd")
+    private String enrollCloseTime;
+
+
+    @ApiModelProperty("开标时间 yyyy-MM-dd")
+    private String tenderOpenTime;
+
+    @ApiModelProperty("备注")
+    private String remarks;
+
+    /** 创建者 */
+    @ApiModelProperty("创建者")
+    private String createBy;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+    /** 更新者 */
+    @ApiModelProperty("更新者")
+    private String updateBy;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("更新时间")
+    private Date updateTime;
+
+    /**
+     * 上传附件
+     */
+    @ApiModelProperty("上传附件")
+    private List<SysFileRef> sysFileRefs;
+}

+ 7 - 0
purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java

@@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.pm.doman.PmDemand;
 import com.ozs.pm.doman.vo.requestVo.PmBookBuildingReqVo;
 import com.ozs.pm.doman.vo.requestVo.PmDemandReqVo;
+import com.ozs.pm.doman.vo.requestVo.PmReleaseAnnouncementReqVo;
 import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
 import com.ozs.pm.doman.vo.responseVo.PmFlowChartResVo;
+import com.ozs.system.domain.SysFileRef;
 
+import java.util.List;
 
 
 /**
@@ -106,4 +109,8 @@ public interface IPmDemandService extends IService<PmDemand>
      * @return 结果
      */
     public int releaseTask(PmDemandReqVo pmDemandReqVo);
+
+    boolean uploadFile(Long redId,Integer fileType, List<SysFileRef> sysFileRefs,String upateBy);
+
+    boolean insertBaseAgency(PmReleaseAnnouncementReqVo pmReleaseAnnouncementReqVo);
 }

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

@@ -61,6 +61,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     private SysFileRefService sysFileRefService;
     @Autowired
     private IPmFlowChartService iPmFlowChartService;
+    @Autowired
+    private PmReleaseAnnouncementService pmReleaseAnnouncementService;
+
     /**
      * 查询采购需求
      *
@@ -439,33 +442,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 pmDemandEquip.setCreateBy(vo.getUpdateBy());
                 pmDemandEquip.setCreateTime(new Date());
                 pmDemandEquip.setUpdateBy(vo.getUpdateBy());
-                pmDemandEquip.setUpdateTime(new Date());
+                pmDemandEquip.setUpdateTime(pmDemandEquip.getCreateTime());
                 iPmDemandEquipService.insertPmDemandEquip(pmDemandEquip);
             }
 
             List<SysFileRef> sysFileRefs = pmDemandEquipReqVo.getSysFileRefs();
-            if (!ObjectUtils.isEmpty(sysFileRefs)) {
-                for (SysFileRef ref : sysFileRefs) {
-                    if(ref.getFileId() == null){
-                        continue;
-                    }
-                    QueryWrapper<SysFileRef> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.lambda().eq(SysFileRef::getFileId,ref.getFileId())
-                            .eq(SysFileRef::getRedId,pmDemandEquip.getDemandEquipId())
-                            .eq(SysFileRef::getType,SysFileRefEnum.PM_DEMAND_EQUIP.getType());
-                    List<SysFileRef> sysFileRefList = sysFileRefService.list(queryWrapper);
-                    if(!CollectionUtils.isEmpty(sysFileRefList)){
-                        sysFileRefService.remove(queryWrapper);
-                    }
-                    ref.setRedId(pmDemandEquip.getDemandEquipId());
-                    ref.setType(SysFileRefEnum.PM_DEMAND_EQUIP.getType());
-                    ref.setCreated(vo.getUpdateBy());
-                    ref.setCreateTime(new Date());
-                    ref.setUpdated(vo.getUpdateBy());
-                    ref.setUpdateTime(new Date());
-                    sysFileRefService.save(ref);
-                }
-            }
+            uploadFile(pmDemandEquip.getDemandEquipId(),SysFileRefEnum.PM_DEMAND_EQUIP.getType(),sysFileRefs,vo.getUpdateBy());
+
         } else if(ProjectTypes.MATERIALTYPE.getCode().equals(projectType)) { //物资类
             PmDemandMaterialsReqVo pmDemandMaterialsReqVo =  vo.getPmDemandMaterialsReqVo();
             PmDemandMaterials pmDemandMaterialsReq = new PmDemandMaterials();
@@ -485,33 +468,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 pmDemandMaterials.setCreateBy(vo.getUpdateBy());
                 pmDemandMaterials.setCreateTime(new Date());
                 pmDemandMaterials.setUpdateBy(vo.getUpdateBy());
-                pmDemandMaterials.setUpdateTime(new Date());
+                pmDemandMaterials.setUpdateTime(pmDemandMaterials.getCreateTime());
                 iPmDemandMaterialsService.insertPmDemandMaterials(pmDemandMaterials);
             }
 
             List<SysFileRef> sysFileRefs = pmDemandMaterialsReqVo.getSysFileRefs();
-            if (!ObjectUtils.isEmpty(sysFileRefs)) {
-                for (SysFileRef ref : sysFileRefs) {
-                    if(ref.getFileId() == null){
-                        continue;
-                    }
-                    QueryWrapper<SysFileRef> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.lambda().eq(SysFileRef::getFileId,ref.getFileId())
-                            .eq(SysFileRef::getRedId,pmDemandMaterials.getDemandMaterialsId())
-                            .eq(SysFileRef::getType,SysFileRefEnum.PM_DEMAND_MATERIALS.getType());
-                    List<SysFileRef> sysFileRefList = sysFileRefService.list(queryWrapper);
-                    if(!CollectionUtils.isEmpty(sysFileRefList)){
-                        sysFileRefService.remove(queryWrapper);
-                    }
-                    ref.setRedId(pmDemandMaterials.getDemandMaterialsId());
-                    ref.setType(SysFileRefEnum.PM_DEMAND_MATERIALS.getType());
-                    ref.setCreated(vo.getUpdateBy());
-                    ref.setCreateTime(new Date());
-                    ref.setUpdated(vo.getUpdateBy());
-                    ref.setUpdateTime(new Date());
-                    sysFileRefService.save(ref);
-                }
-            }
+            uploadFile(pmDemandMaterials.getDemandMaterialsId(),SysFileRefEnum.PM_DEMAND_MATERIALS.getType(),sysFileRefs,vo.getUpdateBy());
+
         } else if(ProjectTypes.SERVICESTYPE.getCode().equals(projectType)) { //服务类
             PmDemandServeReqVo pmDemandServeReqVo =  vo.getPmDemandServeReqVo();
             PmDemandServe pmDemandServeReq = new PmDemandServe();
@@ -531,32 +494,12 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 pmDemandServe.setCreateBy(vo.getUpdateBy());
                 pmDemandServe.setCreateTime(new Date());
                 pmDemandServe.setUpdateBy(vo.getUpdateBy());
-                pmDemandServe.setUpdateTime(new Date());
+                pmDemandServe.setUpdateTime(pmDemandServe.getCreateTime());
                 iPmDemandServeService.insertPmDemandServe(pmDemandServe);
             }
             List<SysFileRef> sysFileRefs = pmDemandServeReqVo.getSysFileRefs();
-            if (!ObjectUtils.isEmpty(sysFileRefs)) {
-                for (SysFileRef ref : sysFileRefs) {
-                    if(ref.getFileId() == null){
-                        continue;
-                    }
-                    QueryWrapper<SysFileRef> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.lambda().eq(SysFileRef::getFileId,ref.getFileId())
-                            .eq(SysFileRef::getRedId,pmDemandServe.getDemandServeId())
-                            .eq(SysFileRef::getType,SysFileRefEnum.PM_DEMAND_SERVE.getType());
-                    List<SysFileRef> sysFileRefList = sysFileRefService.list(queryWrapper);
-                    if(!CollectionUtils.isEmpty(sysFileRefList)){
-                        sysFileRefService.remove(queryWrapper);
-                    }
-                    ref.setRedId(pmDemandServe.getDemandServeId());
-                    ref.setType(SysFileRefEnum.PM_DEMAND_SERVE.getType());
-                    ref.setCreated(vo.getUpdateBy());
-                    ref.setCreateTime(new Date());
-                    ref.setUpdated(vo.getUpdateBy());
-                    ref.setUpdateTime(new Date());
-                    sysFileRefService.save(ref);
-                }
-            }
+            uploadFile(pmDemandServe.getDemandServeId(),SysFileRefEnum.PM_DEMAND_SERVE.getType(),sysFileRefs,vo.getUpdateBy());
+
         } else if(ProjectTypes.PLANTOEXAMINETYPE.getCode().equals(projectType)) { //工程类
             PmDemandEngineeringReqVo pmDemandEngineeringReqVo =  vo.getPmDemandEngineeringReqVo();
             PmDemandEngineering pmDemandEngineeringReq = new PmDemandEngineering();
@@ -576,32 +519,12 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 pmDemandEngineering.setCreateBy(vo.getUpdateBy());
                 pmDemandEngineering.setCreateTime(new Date());
                 pmDemandEngineering.setUpdateBy(vo.getUpdateBy());
-                pmDemandEngineering.setUpdateTime(new Date());
+                pmDemandEngineering.setUpdateTime(pmDemandEngineering.getCreateTime());
                 iPmDemandEngineeringService.insertPmDemandEngineering(pmDemandEngineering);
             }
             List<SysFileRef> sysFileRefs = pmDemandEngineeringReqVo.getSysFileRefs();
-            if (!ObjectUtils.isEmpty(sysFileRefs)) {
-                for (SysFileRef ref : sysFileRefs) {
-                    if(ref.getFileId() == null){
-                        continue;
-                    }
-                    QueryWrapper<SysFileRef> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.lambda().eq(SysFileRef::getFileId,ref.getFileId())
-                            .eq(SysFileRef::getRedId,pmDemandEngineering.getDemandEngineeringId())
-                            .eq(SysFileRef::getType,SysFileRefEnum.PM_DEMAND_ENGINEERING.getType());
-                    List<SysFileRef> sysFileRefList = sysFileRefService.list(queryWrapper);
-                    if(!CollectionUtils.isEmpty(sysFileRefList)){
-                        sysFileRefService.remove(queryWrapper);
-                    }
-                    ref.setRedId(pmDemandEngineering.getDemandEngineeringId());
-                    ref.setType(SysFileRefEnum.PM_DEMAND_ENGINEERING.getType());
-                    ref.setCreated(vo.getUpdateBy());
-                    ref.setCreateTime(new Date());
-                    ref.setUpdated(vo.getUpdateBy());
-                    ref.setUpdateTime(new Date());
-                    sysFileRefService.save(ref);
-                }
-            }
+            uploadFile(pmDemandEngineering.getDemandEngineeringId(),SysFileRefEnum.PM_DEMAND_ENGINEERING.getType(),sysFileRefs,vo.getUpdateBy());
+
         }
 
         pmDemand.setUpdateBy(vo.getUpdateBy());
@@ -770,28 +693,8 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         pmDemand.setDemandId(pmDemandReqVo.getDemandId());
         pmDemand.setProjectStatus(Long.parseLong(PmProjectStatus.TASK_WAIT_RELEASE.getCode()));
         List<SysFileRef> sysFileRefs = pmDemandReqVo.getSysFileRefs();
-        if (!ObjectUtils.isEmpty(sysFileRefs)) {
-            for (SysFileRef ref : sysFileRefs) {
-                if(ref.getFileId() == null){
-                    continue;
-                }
-                QueryWrapper<SysFileRef> queryWrapper = new QueryWrapper<>();
-                queryWrapper.lambda().eq(SysFileRef::getFileId,ref.getFileId())
-                        .eq(SysFileRef::getRedId,pmDemandReqVo.getDemandId())
-                        .eq(SysFileRef::getType,SysFileRefEnum.PM_DEMAND_EXAMINE.getType());
-                List<SysFileRef> sysFileRefList = sysFileRefService.list(queryWrapper);
-                if(!CollectionUtils.isEmpty(sysFileRefList)){
-                    sysFileRefService.remove(queryWrapper);
-                }
-                ref.setRedId(pmDemandReqVo.getDemandId());
-                ref.setType(SysFileRefEnum.PM_DEMAND_EXAMINE.getType());
-                ref.setCreated(pmDemandReqVo.getUpdateBy());
-                ref.setCreateTime(new Date());
-                ref.setUpdated(pmDemandReqVo.getUpdateBy());
-                ref.setUpdateTime(new Date());
-                sysFileRefService.save(ref);
-            }
-        }
+        uploadFile(pmDemandReqVo.getDemandId(),SysFileRefEnum.PM_DEMAND_EXAMINE.getType(),sysFileRefs,pmDemandReqVo.getUpdateBy());
+
         pmDemand.setUpdateBy(pmDemandReqVo.getUpdateBy());
         pmDemand.setUpdateTime(DateUtils.getNowDate());
         pmDemand.setAuditTime(DateUtils.getNowDate());
@@ -828,6 +731,17 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         pmDemand.setDemandId(pmDemandReqVo.getDemandId());
         pmDemand.setProjectStatus(Long.parseLong(PmProjectStatus.WAIT_SELECT_AGENT.getCode()));
         List<SysFileRef> sysFileRefs = pmDemandReqVo.getSysFileRefs();
+
+        uploadFile(pmDemandReqVo.getDemandId(),SysFileRefEnum.PM_TAST_RELEASE.getType(),sysFileRefs,pmDemandReqVo.getUpdateBy());
+        pmDemand.setUpdateBy(pmDemandReqVo.getUpdateBy());
+        pmDemand.setUpdateTime(DateUtils.getNowDate());
+        pmDemand.setAuditTime(DateUtils.getNowDate());
+        return pmDemandMapper.updatePmDemand(pmDemand);
+    }
+
+
+    public boolean uploadFile(Long redId,Integer fileType, List<SysFileRef> sysFileRefs,String upateBy){
+
         if (!ObjectUtils.isEmpty(sysFileRefs)) {
             for (SysFileRef ref : sysFileRefs) {
                 if(ref.getFileId() == null){
@@ -835,25 +749,31 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 }
                 QueryWrapper<SysFileRef> queryWrapper = new QueryWrapper<>();
                 queryWrapper.lambda().eq(SysFileRef::getFileId,ref.getFileId())
-                        .eq(SysFileRef::getRedId,pmDemandReqVo.getDemandId())
-                        .eq(SysFileRef::getType,SysFileRefEnum.PM_TAST_RELEASE.getType());
+                        .eq(SysFileRef::getRedId,redId)
+                        .eq(SysFileRef::getType,fileType);
                 List<SysFileRef> sysFileRefList = sysFileRefService.list(queryWrapper);
                 if(!CollectionUtils.isEmpty(sysFileRefList)){
                     sysFileRefService.remove(queryWrapper);
                 }
-                ref.setRedId(pmDemandReqVo.getDemandId());
-                ref.setType(SysFileRefEnum.PM_TAST_RELEASE.getType());
-                ref.setCreated(pmDemandReqVo.getUpdateBy());
+                ref.setRedId(redId);
+                ref.setType(fileType);
+                ref.setCreated(upateBy);
                 ref.setCreateTime(new Date());
-                ref.setUpdated(pmDemandReqVo.getUpdateBy());
-                ref.setUpdateTime(new Date());
+                ref.setUpdated(upateBy);
+                ref.setUpdateTime(ref.getCreateTime());
                 sysFileRefService.save(ref);
             }
+            return true;
+        } else {
+            return false;
         }
-        pmDemand.setUpdateBy(pmDemandReqVo.getUpdateBy());
-        pmDemand.setUpdateTime(DateUtils.getNowDate());
-        pmDemand.setAuditTime(DateUtils.getNowDate());
-        return pmDemandMapper.updatePmDemand(pmDemand);
+
     }
 
+    public boolean insertBaseAgency(PmReleaseAnnouncementReqVo pmReleaseAnnouncementReqVo){
+        uploadFile(pmReleaseAnnouncementReqVo.getDemandId(), SysFileRefEnum.PM_BID_FILE.getType(),pmReleaseAnnouncementReqVo.getSysFileRefs(),pmReleaseAnnouncementReqVo.getUpdateBy());
+        PmReleaseAnnouncement pmReleaseAnnouncement = new PmReleaseAnnouncement();
+        BeanUtils.copyProperties(pmReleaseAnnouncementReqVo,pmReleaseAnnouncement);
+        return pmReleaseAnnouncementService.save(pmReleaseAnnouncement);
+    }
 }

+ 20 - 0
purchase-system/src/main/java/com/ozs/system/domain/vo/responseVo/SysDeptResponseVo.java

@@ -43,4 +43,24 @@ public class SysDeptResponseVo implements Serializable {
      * 地址
      */
     private String address;
+    /**
+     * 项目联系人
+     */
+    private String projectContact;
+    /**
+     * 银行账户名称
+     */
+    private String bankAccountName;
+    /**
+     * 开户银行
+     */
+    private String bankOfDeposit;
+    /**
+     * 账号
+     */
+    private String accountNumber;
+    /** 法定代表人 */
+    private String leader;
+    /** 邮政编码 */
+    private String email;
 }

+ 16 - 2
purchase-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -23,7 +23,8 @@
     </resultMap>
 
     <sql id="selectDeptVo">
-        select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time
+        select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time,d.remarks
+        ,d.address,d.project_contact,d.bank_account_name,d.bank_of_deposit,d.account_number
         from sys_dept d
     </sql>
 
@@ -60,7 +61,8 @@
     </select>
 
     <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
-		select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status,d.remarks,d.address,
+		select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status,d.remarks,d.address
+		,d.project_contact,d.bank_account_name,d.bank_of_deposit,d.account_number,
 			(select dept_name from sys_dept where dept_id = d.parent_id) parent_name
 		from sys_dept d
 		where d.dept_id = #{deptId}
@@ -110,6 +112,10 @@
         <if test="email != null and email != ''">email,</if>
         <if test="address != null and address != ''">address,</if>
         <if test="remarks != null and remarks != ''">remarks,</if>
+        <if test="projectContact != null and projectContact != ''">project_contact,</if>
+        <if test="bankAccountName != null and bankAccountName != ''">bank_account_name,</if>
+        <if test="bankOfDeposit != null and bankOfDeposit != ''">bank_of_deposit,</if>
+        <if test="accountNumber != null and accountNumber != ''">account_number,</if>
         <if test="status != null">status,</if>
         <if test="createBy != null and createBy != ''">create_by,</if>
         create_time
@@ -124,6 +130,10 @@
         <if test="email != null and email != ''">#{email},</if>
         <if test="address != null and address != ''">#{address},</if>
         <if test="remarks != null and remarks != ''">#{remarks},</if>
+        <if test="projectContact != null and projectContact != ''">#{projectContact},</if>
+        <if test="bankAccountName != null and bankAccountName != ''">#{bankAccountName},</if>
+        <if test="bankOfDeposit != null and bankOfDeposit != ''">#{bankOfDeposit},</if>
+        <if test="accountNumber != null and accountNumber != ''">#{accountNumber},</if>
         <if test="status != null">#{status},</if>
         <if test="createBy != null and createBy != ''">#{createBy},</if>
         sysdate()
@@ -138,6 +148,10 @@
             <if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if>
             <if test="address != null and address != ''">address = #{address},</if>
             <if test="remarks != null and remarks != ''">remarks = #{remarks},</if>
+            <if test="projectContact != null and projectContact != ''">project_contact = #{projectContact},</if>
+            <if test="bankAccountName != null and bankAccountName != ''">bank_account_name = #{bankAccountName},</if>
+            <if test="bankOfDeposit != null and bankOfDeposit != ''">bank_of_deposit = #{bankOfDeposit},</if>
+            <if test="accountNumber != null and accountNumber != ''">account_number = #{accountNumber},</if>
             <if test="orderNum != null">order_num = #{orderNum},</if>
             <if test="leader != null">leader = #{leader},</if>
             <if test="phone != null">phone = #{phone},</if>