浏览代码

修改查询列表,修改审核接口

Administrator 2 年之前
父节点
当前提交
dbf276bcb2

+ 1 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/ZsyzSbbzbController.java

@@ -38,6 +38,7 @@ public class ZsyzSbbzbController extends BaseController
     public TableDataInfo list(ZsyzSbbzb zsyzSbbzb)
     {
         long count = zsyzSbbzbService.selectZsyzSbbzbListCount(zsyzSbbzb);
+        startPage();
         List<ZsyzSbbzb> list = zsyzSbbzbService.selectZsyzSbbzbList(zsyzSbbzb);
         return getDataTable(list,count);
     }

+ 4 - 0
ruoyi-common/src/main/java/com/ruoyi/common/constant/CommonConstants.java

@@ -32,6 +32,8 @@ public class CommonConstants {
     public static final String  XMJD_TC= "投产阶段";
 
     //角色权限
+    //超级管理员
+    public static final String  ADMIN= "admin";
     //平台管理员
     public static final String  MANAGE= "manage";
     //承接地
@@ -40,6 +42,8 @@ public class CommonConstants {
     public static final String  SZBM= "szbm";
     //缓存首页统计数据
     public static final String  INDEX= "index:";
+    //错误表述
+    public static final String  ERROR= "error";
 
 
 

+ 4 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java

@@ -138,6 +138,10 @@ public class DataScopeAspect
                     sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias));
                 }
             }
+            if (StringUtils.isNotEmpty(permission) && !permission.equals(PermissionContextHolder.getContext())){
+                //新增的自定义筛选字段
+                sqlString.append(StringUtils.format(" OR {} = {} ", permission,user.getDeptId()));
+            }
             conditions.add(dataScope);
         }
 

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/projectV2/ZsyzProjectDeptMapper.java

@@ -27,6 +27,7 @@ public interface ZsyzProjectDeptMapper
      * @return 招商引资_项目和部门关联集合
      */
     public List<ZsyzProjectDept> selectZsyzProjectDeptList(ZsyzProjectDept zsyzProjectDept);
+    public ZsyzProjectDept selectZsyzProjectDeptByXmId(ZsyzProjectDept zsyzProjectDept);
 
     /**
      * 新增招商引资_项目和部门关联

+ 2 - 1
ruoyi-system/src/main/java/com/ruoyi/system/mapper/projectV2/ZsyzSbbzbMapper.java

@@ -28,8 +28,9 @@ public interface ZsyzSbbzbMapper
      */
     public List<ZsyzSbbzb> selectZsyzSbbzbList(ZsyzSbbzb zsyzSbbzb);
 
+
     /**
-     * 查询指派给市值部门的或者承接地是市值部门的申报数据
+     * 查询指派给市值部门申报数据
      * @param zsyzSbbzb
      * @return
      */

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzKgxxServiceImpl.java

@@ -107,7 +107,7 @@ public class ZsyzKgxxServiceImpl implements IZsyzKgxxService
         zsyzLcjl.setDeptId(dept.getDeptId());
         String deptName = dept.getDeptName();
         zsyzLcjl.setDeptName(deptName);
-        zsyzLcjl.setProgress(zsyzSbbzb.getProgress());
+        zsyzLcjl.setProgress(EIG);
         zsyzLcjlMapper.insertZsyzLcjl(zsyzLcjl);
         return count;
     }

+ 10 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzProjectDeptServiceImpl.java

@@ -32,6 +32,16 @@ public class ZsyzProjectDeptServiceImpl implements IZsyzProjectDeptService
         return zsyzProjectDeptMapper.selectZsyzProjectDeptById(id);
     }
 
+    /**
+     * 查询是否回复过
+     * @param zsyzProjectDept
+     * @return
+     */
+    @Override
+    public ZsyzProjectDept selectZsyzProjectDeptByXmId(ZsyzProjectDept zsyzProjectDept) {
+        return  zsyzProjectDeptMapper.selectZsyzProjectDeptByXmId(zsyzProjectDept);
+    }
+
     /**
      * 查询招商引资_项目和部门关联列表
      * 

+ 22 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzSbbzbServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.common.annotation.DataScope;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -26,6 +27,7 @@ import java.util.List;
 import java.util.Map;
 
 import static com.ruoyi.common.constant.CommonConstants.ONE;
+import static com.ruoyi.common.constant.CommonConstants.SZBM;
 
 /**
  * 招商引资_申报_首谈信息_主Service业务层处理
@@ -84,9 +86,27 @@ public class ZsyzSbbzbServiceImpl implements IZsyzSbbzbService {
      * @return 招商引资_申报_首谈信息_主
      */
     @Override
-    @DataScope(deptAlias = "s")
+    @DataScope(deptAlias = "s",permission = "s.cjd_id")
     public List<ZsyzSbbzb> selectZsyzSbbzbList(ZsyzSbbzb zsyzSbbzb) {
-        List<ZsyzSbbzb> zsyzSbbzbs = zsyzSbbzbMapper.selectZsyzSbbzbList(zsyzSbbzb);
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        List<ZsyzSbbzb> zsyzSbbzbs = new ArrayList<>();
+        boolean flag = true;
+        if (roles != null){
+            for (SysRole role : roles) {
+                String roleKey = role.getRoleKey();
+                if (SZBM.equals(roleKey)){
+                    //如果是市值部门角色只能看到分派给市值部门的
+                    flag = false;
+                    break;
+                }
+            }
+        }
+        if (flag){
+            zsyzSbbzbs = zsyzSbbzbMapper.selectZsyzSbbzbList(zsyzSbbzb);
+        }else {
+            zsyzSbbzb.setDeptId(SecurityUtils.getDeptId());
+            zsyzSbbzbs = zsyzSbbzbMapper.selectZsyzSbbzbListByZp(zsyzSbbzb);
+        }
         return zsyzSbbzbs;
     }
 

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzSkxmServiceImpl.java

@@ -55,6 +55,7 @@ public class ZsyzSkxmServiceImpl implements IZsyzSkxmService {
      */
     @Override
     public int insertZsyzSkxm(ZsyzSkxm zsyzSkxm) {
+        zsyzSkxm.setDeptId(SecurityUtils.getDeptId());
         zsyzSkxm.setCreateTime(DateUtils.getNowDate());
         return zsyzSkxmMapper.insertZsyzSkxm(zsyzSkxm);
     }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzTcxxServiceImpl.java

@@ -106,7 +106,7 @@ public class ZsyzTcxxServiceImpl implements IZsyzTcxxService {
         zsyzLcjl.setDeptId(dept.getDeptId());
         String deptName = dept.getDeptName();
         zsyzLcjl.setDeptName(deptName);
-        zsyzLcjl.setProgress(zsyzSbbzb.getProgress());
+        zsyzLcjl.setProgress(TEN);
         zsyzLcjlMapper.insertZsyzLcjl(zsyzLcjl);
         return count;
 

+ 69 - 48
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/common/ZsyzCommonServiceImpL.java

@@ -15,13 +15,11 @@ import com.ruoyi.system.mapper.projectV2.ZsyzSbbzbMapper;
 import com.ruoyi.system.mapper.projectV2.ZsyzShyjMapper;
 import com.ruoyi.system.mapper.projectV2.ZsyzSkxmMapper;
 import com.ruoyi.system.service.projectV2.IZsyzProjectDeptService;
+import com.ruoyi.system.service.projectV2.IZsyzSbbzbService;
 import com.ruoyi.system.service.projectV2.IZsyzShyjService;
 import com.ruoyi.system.service.projectV2.common.IZsyzCommonService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -44,6 +42,8 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
 
     @Autowired
     private ZsyzSbbzbMapper zsyzSbbzbMapper;
+    @Autowired
+    private IZsyzSbbzbService zsyzSbbzbService;
 
     @Autowired
     private ZsyzSkxmMapper zsyzSkxmMapper;
@@ -61,47 +61,62 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
     //主要功能, 对线索进度进行控制
     @Override
     public AjaxResult xssh(ZsyzShyj zsyzShyj) {
+        //先获取角色
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        String roleName = "";
+        if (roles != null && roles.size() > 0){
+            for (SysRole role : roles) {
+                roleName = role.getRoleKey();
+            }
+        }
         //获取审核结果
         String shjg = zsyzShyj.getShjg();
-        //往审核意见表插入数据
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        SysDept dept = loginUser.getUser().getDept();
-        zsyzShyj.setDeptId(dept.getDeptId());
-        zsyzShyj.setShrxm(dept.getDeptName());
         //判断项目阶段
         String progress = zsyzShyj.getXmjd();
-        zsyzShyj.setXmjd(xmjd(progress));
+        //根据角色和项目进度来判断能不能审核,判断是否通过
+        ZsyzSbbzb zsyzSbbzb = new ZsyzSbbzb();
+        zsyzSbbzb.setId(zsyzShyj.getXmId());
         //如果是要素部门处理,需要修改中间表的回复字段
-        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
-        if (roles != null && roles.size() > 0){
-            for (SysRole role : roles) {
-                if (SZBM.equals(role.getRoleKey())){
-                    ZsyzProjectDept zsyzProjectDept = new ZsyzProjectDept();
-                    zsyzProjectDept.setXmId(zsyzShyj.getXmId());
-                    zsyzProjectDept.setDeptId(dept.getDeptId());
-                    projectDeptService.updateZsyzProjectDeptByXmId(zsyzProjectDept);
-                    break;
+        if (SZBM.equals(roleName)){
+            ZsyzProjectDept zsyzProjectDept = new ZsyzProjectDept();
+            zsyzProjectDept.setXmId(zsyzShyj.getXmId());
+            zsyzProjectDept.setDeptId(SecurityUtils.getDeptId());
+            //查询是否回复过最新的一条
+            ZsyzProjectDept zsyzProjectDeptOld = projectDeptService.selectZsyzProjectDeptByXmId(zsyzProjectDept);
+            if (zsyzProjectDeptOld != null && "Y".equals(zsyzProjectDeptOld.getIsHf())){
+                return AjaxResult.error("当前已审核");
+            }
+            projectDeptService.updateZsyzProjectDeptByXmId(zsyzProjectDept);
+        }else {
+            if (ONE.equals(shjg)) {
+                //通过
+                //审核通过需要进入下一阶段/要素部门审核通过,不进行进度前进
+                //判断项目进度
+                String progressResult = changeProgress(progress, roleName);
+                if (ERROR.equals(progressResult)){
+                    return AjaxResult.error("当前状态下您没有审核权限");
                 }
+                zsyzSbbzb.setProgress(progressResult);
+                zsyzSbbzb.setShjg(ONE);
+                zsyzSbbzbMapper.updateZsyzSbbzbProgress(zsyzSbbzb);
+            } else if (TWO.equals(shjg)) {
+                String progressResult = changeProgress(progress, roleName);
+                if (ERROR.equals(progressResult)){
+                    return AjaxResult.error("当前状态下您没有审核权限");
+                }
+                //驳回
+                zsyzSbbzb.setProgress(progressResult);
+                zsyzSbbzb.setShjg(TWO);
+                zsyzSbbzbMapper.updateZsyzSbbzbProgress(zsyzSbbzb);
             }
         }
+        //往审核意见表插入数据
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        SysDept dept = loginUser.getUser().getDept();
+        zsyzShyj.setDeptId(dept.getDeptId());
+        zsyzShyj.setShrxm(dept.getDeptName());
+        zsyzShyj.setXmjd(xmjd(progress));
         zsyzShyjMapper.insertZsyzShyj(zsyzShyj);
-        ZsyzSbbzb zsyzSbbzb = new ZsyzSbbzb();
-        zsyzSbbzb.setId(zsyzShyj.getXmId());
-
-        if (ONE.equals(shjg)) {
-            //通过
-            //审核通过需要进入下一阶段/要素部门审核通过,不进行进度前进
-            //判断项目进度
-            zsyzSbbzb.setProgress(changeProgress(progress));
-            zsyzSbbzb.setShjg(ONE);
-            zsyzSbbzbMapper.updateZsyzSbbzbProgress(zsyzSbbzb);
-        } else if (TWO.equals(shjg)) {
-            //驳回
-            zsyzSbbzb.setProgress(changeProgressBack(progress));
-            zsyzSbbzb.setShjg(TWO);
-            zsyzSbbzbMapper.updateZsyzSbbzbProgress(zsyzSbbzb);
-        }
-
         //插入流程记录表
         ZsyzLcjl zsyzLcjl = new ZsyzLcjl();
         zsyzLcjl.setXmId(zsyzSbbzb.getId());
@@ -260,7 +275,7 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
         for (int i = 0; i < 4; i++) {
             ZsyzSbbzb zsyzSbbzb = new ZsyzSbbzb();
             zsyzSbbzb.setParams(dateList.get(i));
-            List<ZsyzSbbzb> zsyzSbbzbs = zsyzSbbzbMapper.selectZsyzSbbzbList(zsyzSbbzb);
+            List<ZsyzSbbzb> zsyzSbbzbs = zsyzSbbzbService.selectZsyzSbbzbList(zsyzSbbzb);
             if (zsyzSbbzbs != null && zsyzSbbzbs.size() > 0) {
                 int xsNub = 0;
                 int qyNub = 0;
@@ -294,34 +309,40 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
     }
 
     //更改项目进度前进
-    public String changeProgress(String progress) {
-        if (ONE.equals(progress)) {
+    public String changeProgress(String progress,String roleName) {
+        if (ONE.equals(progress) && (MANAGE.equals(roleName)||ADMIN.equals(roleName))) {
             progress = TWO;
-        } else if (FOR.equals(progress)) {
+        } else if (FOR.equals(progress) && (CJD.equals(roleName)|| ADMIN.equals(roleName))) {
             progress = FIV;
-        } else if (SIX.equals(progress)) {
+        } else if (SIX.equals(progress) && (MANAGE.equals(roleName)||ADMIN.equals(roleName))) {
             progress = SEV;
-        } else if (EIG.equals(progress)) {
+        } else if (EIG.equals(progress) && (MANAGE.equals(roleName)||ADMIN.equals(roleName))) {
             progress = NIN;
-        } else if (TEN.equals(progress)) {
+        } else if (TEN.equals(progress) && (MANAGE.equals(roleName)||ADMIN.equals(roleName))) {
             progress = ELE;
         }//项目入归暂时保留
+        else {
+            progress = ERROR;
+        }
         return progress;
     }
 
     //更改项目进度后退
-    public String changeProgressBack(String progress) {
-        if (TWO.equals(progress)) {
+    public String changeProgressBack(String progress,String roleName) {
+        if (TWO.equals(progress) && (MANAGE.equals(roleName)||ADMIN.equals(roleName))) {
             progress = ONE;
-        } else if (FOR.equals(progress)) {
+        } else if (FOR.equals(progress) && (CJD.equals(roleName)|| ADMIN.equals(roleName))) {
             progress = TWO;
-        } else if (SIX.equals(progress)) {
+        } else if (SIX.equals(progress) && (MANAGE.equals(roleName)||ADMIN.equals(roleName))) {
             progress = FIV;
-        } else if (EIG.equals(progress)) {
+        } else if (EIG.equals(progress) && (MANAGE.equals(roleName)||ADMIN.equals(roleName))) {
             progress = SEV;
-        } else if (TEN.equals(progress)) {
+        } else if (TEN.equals(progress) && (MANAGE.equals(roleName)||ADMIN.equals(roleName))) {
             progress = NIN;
         }//项目入归暂时保留
+        else {
+            progress = ERROR;
+        }
         return progress;
     }
 

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/IZsyzProjectDeptService.java

@@ -19,6 +19,8 @@ public interface IZsyzProjectDeptService
      * @return 招商引资_项目和部门关联
      */
     public ZsyzProjectDept selectZsyzProjectDeptById(Long id);
+    //查询是否回复过
+    public ZsyzProjectDept selectZsyzProjectDeptByXmId(ZsyzProjectDept zsyzProjectDept);
 
     /**
      * 查询招商引资_项目和部门关联列表

+ 14 - 1
ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzProjectDeptMapper.xml

@@ -41,7 +41,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectZsyzProjectDeptVo"/>
         where id = #{id}
     </select>
-        
+    <select id="selectZsyzProjectDeptByXmId" parameterType="ZsyzProjectDept" resultMap="ZsyzProjectDeptResult">
+        <include refid="selectZsyzProjectDeptVo"/>
+        <where>
+            <if test="xmId != null "> and xm_id = #{xmId}</if>
+            <if test="xmbh != null  and xmbh != ''"> and xmbh = #{xmbh}</if>
+            <if test="xmmc != null  and xmmc != ''"> and xmmc = #{xmmc}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="isHf != null and isHf != ''"> and is_hf = #{isHf}</if>
+            <if test="deptName != null  and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
+            <if test="ancestors != null  and ancestors != ''"> and ancestors = #{ancestors}</if>
+        </where>
+        order by create_time DESC limit 1
+    </select>
+
     <insert id="insertZsyzProjectDept" parameterType="ZsyzProjectDept" useGeneratedKeys="true" keyProperty="id">
         insert into zsyz_project_dept
         <trim prefix="(" suffix=")" suffixOverrides=",">

+ 6 - 2
ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzSbbzbMapper.xml

@@ -814,8 +814,12 @@
     </update>
     <update id="updateZsyzSbbzbProgress" parameterType="ZsyzSbbzb">
         update zsyz_sbbzb
-        set progress = #{progress},
-        shjg = #{shjg}
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="progress != null and progress != ''">progress = #{progress},</if>
+            <if test="shjg != null and shjg != ''">shjg = #{shjg},</if>
+            <if test=" progress == 2">cjd_id = null,</if>
+            <if test=" progress == 2">cjd_name = null,</if>
+        </trim>
         where id = #{id}
     </update>
     <update id="updateZsyzSbbzbMeet" parameterType="ZsyzSbbzb">