suntianwu пре 2 година
родитељ
комит
0bec99339d

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

@@ -100,7 +100,7 @@ public class PmDemandController extends BaseController {
     /**
      * 查看流程图,鼠标移到对应模块后,显示悬浮框提示
      */
-    @ApiOperation(value = "查看流程图,鼠标移到对应模块后,显示悬浮框提示", notes = "必传demandId,模块名称,其他字段不传")
+    @ApiOperation(value = "查看流程图,鼠标移到对应模块后,显示悬浮框提示", notes = "必传demandId模块名称,其他字段不传")
     @PostMapping("/getModuleInfo")
     public AjaxResult getModuleInfo(@RequestBody PmDemandReqVo pmRequestVo) {
         if(pmRequestVo.getDemandId() == null){

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

@@ -65,7 +65,7 @@ public interface IPmDemandService extends IService<PmDemand>
      * @param demandId 采购需求主键
      * @return 采购需求
      */
-    public String viewFlowChart(Long demandId);
+    public Object viewFlowChart(Long demandId);
 
     /**
      * 查看流程图

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

@@ -3,10 +3,10 @@ package com.ozs.pm.service.impl;
 import java.util.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.enums.*;
 import com.ozs.common.utils.DateUtils;
 import com.ozs.common.utils.StringUtils;
@@ -25,6 +25,7 @@ import com.ozs.system.service.SysFileRefService;
 import com.ozs.system.service.SysFileService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 
 
@@ -415,17 +416,35 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             List<PmDemandEquip> pmDemandEquipList = iPmDemandEquipService.selectPmDemandEquipList(pmDemandEquipReq);
             if(pmDemandEquipList != null && pmDemandEquipList.size() > 0){
                 pmDemandEquip = pmDemandEquipList.get(0);
+                pmDemandEquipReqVo.setDemandEquipId(pmDemandEquip.getDemandEquipId());
                 BeanUtils.copyProperties(pmDemandEquipReqVo,pmDemandEquip);
+                pmDemandEquip.setUpdateBy(vo.getUpdateBy());
+                pmDemandEquip.setUpdateTime(new Date());
                 iPmDemandEquipService.updatePmDemandEquip(pmDemandEquip);
             } else {
                 pmDemandEquip = new PmDemandEquip();
                 BeanUtils.copyProperties(pmDemandEquipReqVo,pmDemandEquip);
+                pmDemandEquip.setCreateBy(vo.getUpdateBy());
+                pmDemandEquip.setCreateTime(new Date());
+                pmDemandEquip.setUpdateBy(vo.getUpdateBy());
+                pmDemandEquip.setUpdateTime(new Date());
                 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());
@@ -443,17 +462,35 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             List<PmDemandMaterials> pmDemandMaterialsList = iPmDemandMaterialsService.selectPmDemandMaterialsList(pmDemandMaterialsReq);
             if(pmDemandMaterialsList != null && pmDemandMaterialsList.size() > 0){
                 pmDemandMaterials = pmDemandMaterialsList.get(0);
+                pmDemandMaterialsReqVo.setDemandMaterialsId(pmDemandMaterials.getDemandMaterialsId());
                 BeanUtils.copyProperties(pmDemandMaterialsReqVo,pmDemandMaterials);
+                pmDemandMaterials.setUpdateBy(vo.getUpdateBy());
+                pmDemandMaterials.setUpdateTime(new Date());
                 iPmDemandMaterialsService.updatePmDemandMaterials(pmDemandMaterials);
             } else {
                 pmDemandMaterials = new PmDemandMaterials();
                 BeanUtils.copyProperties(pmDemandMaterialsReqVo,pmDemandMaterials);
+                pmDemandMaterials.setCreateBy(vo.getUpdateBy());
+                pmDemandMaterials.setCreateTime(new Date());
+                pmDemandMaterials.setUpdateBy(vo.getUpdateBy());
+                pmDemandMaterials.setUpdateTime(new Date());
                 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());
@@ -471,16 +508,34 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             List<PmDemandServe> pmDemandServeList = iPmDemandServeService.selectPmDemandServeList(pmDemandServeReq);
             if(pmDemandServeList != null && pmDemandServeList.size() > 0){
                 pmDemandServe = pmDemandServeList.get(0);
+                pmDemandServeReqVo.setDemandServeId(pmDemandServe.getDemandServeId());
                 BeanUtils.copyProperties(pmDemandServeReqVo,pmDemandServe);
+                pmDemandServe.setUpdateBy(vo.getUpdateBy());
+                pmDemandServe.setUpdateTime(new Date());
                 iPmDemandServeService.updatePmDemandServe(pmDemandServe);
             } else {
                 pmDemandServe = new PmDemandServe();
                 BeanUtils.copyProperties(pmDemandServeReqVo,pmDemandServe);
+                pmDemandServe.setCreateBy(vo.getUpdateBy());
+                pmDemandServe.setCreateTime(new Date());
+                pmDemandServe.setUpdateBy(vo.getUpdateBy());
+                pmDemandServe.setUpdateTime(new Date());
                 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());
@@ -498,16 +553,34 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             List<PmDemandEngineering> pmDemandEngineeringList = iPmDemandEngineeringService.selectPmDemandEngineeringList(pmDemandEngineeringReq);
             if(pmDemandEngineeringList != null && pmDemandEngineeringList.size() > 0){
                 pmDemandEngineering = pmDemandEngineeringList.get(0);
+                pmDemandEngineeringReqVo.setDemandEngineeringId(pmDemandEngineering.getDemandEngineeringId());
                 BeanUtils.copyProperties(pmDemandEngineeringReqVo,pmDemandEngineering);
+                pmDemandEngineering.setUpdateBy(vo.getUpdateBy());
+                pmDemandEngineering.setUpdateTime(new Date());
                 iPmDemandEngineeringService.updatePmDemandEngineering(pmDemandEngineering);
             } else {
                 pmDemandEngineering = new PmDemandEngineering();
                 BeanUtils.copyProperties(pmDemandEngineeringReqVo,pmDemandEngineering);
+                pmDemandEngineering.setCreateBy(vo.getUpdateBy());
+                pmDemandEngineering.setCreateTime(new Date());
+                pmDemandEngineering.setUpdateBy(vo.getUpdateBy());
+                pmDemandEngineering.setUpdateTime(new Date());
                 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());
@@ -550,7 +623,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
      * @return 采购需求
      */
     @Override
-    public String viewFlowChart(Long demandId) {
+    public Object viewFlowChart(Long demandId) {
         PmDemand pmDemand = pmDemandMapper.selectPmDemandByDemandId(demandId);
         String projectStatus = String.valueOf(pmDemand.getProjectStatus());
         String moduleName = null;
@@ -678,6 +751,17 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         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());
@@ -725,6 +809,17 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         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_TAST_RELEASE.getType());
+                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());

+ 2 - 2
purchase-system/src/main/java/com/ozs/system/domain/SysFileRef.java

@@ -37,8 +37,8 @@ public class SysFileRef extends BaseDto
     @Excel(name = "附件主键")
     private Long fileId;
 
-    /** 来源类型:年度1;季度2;临时3,项目4 */
-    @Excel(name = "来源类型:年度1;季度2;临时3,项目4")
+    /** 来源类型:年度1;季度2;临时3,采购需求附件4 ... */
+    @Excel(name = "来源类型:年度1;季度2;临时3,采购需求附件4, ...")
     private Integer type;