Browse Source

bug 流程处理bug 多组织过滤一些节点的数据

chenc 3 years ago
parent
commit
b58c788fb7
18 changed files with 110 additions and 9 deletions
  1. 1 1
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActTaskController.java
  2. 30 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/CdEnterpriseEnnouncementController.java
  3. 2 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/CdScheduleController.java
  4. 2 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java
  5. 2 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java
  6. 20 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
  7. 3 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
  8. 7 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysAnnouncement.java
  9. 2 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java
  10. 1 1
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementMapper.java
  11. 4 1
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementMapper.xml
  12. 3 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml
  13. 2 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/AnnouncementSendModel.java
  14. 1 1
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java
  15. 6 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java
  16. 2 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java
  17. 5 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java
  18. 17 1
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java

+ 1 - 1
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActTaskController.java

@@ -552,7 +552,7 @@ public class ActTaskController {
                     Map<String,Object> map =new HashMap<>();
                     map.put("isUrl","1");
                     map.put("url","/activiti/applyList");
-                    map.put("taskId",id);
+                    map.put("taskId",e.getId());
                     actZprocessService.sendMessage(loginUser,sysBaseAPI.getUserByName(assignee),ActivitiConstant.MESSAGE_TODO_CONTENT
                     ,"您有一个任务待审批,请尽快处理!",sendMessage, sendSms, sendEmail,map);
                 }

+ 30 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/CdEnterpriseEnnouncementController.java

@@ -8,9 +8,12 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.oa.entity.CdEnterpriseEnnouncement;
 import org.jeecg.modules.oa.service.ICdEnterpriseEnnouncementService;
@@ -66,6 +69,9 @@ public class CdEnterpriseEnnouncementController extends JeecgController<CdEnterp
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
 		QueryWrapper<CdEnterpriseEnnouncement> queryWrapper = QueryGenerator.initQueryWrapper(cdEnterpriseEnnouncement, req.getParameterMap());
+		//公司id过滤
+		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		queryWrapper.lambda().eq(CdEnterpriseEnnouncement::getPkOrg,sysUser.getOrgCode());
 		Page<CdEnterpriseEnnouncement> page = new Page<CdEnterpriseEnnouncement>(pageNo, pageSize);
 		IPage<CdEnterpriseEnnouncement> pageList = cdEnterpriseEnnouncementService.page(page, queryWrapper);
 		return Result.ok(pageList);
@@ -81,6 +87,9 @@ public class CdEnterpriseEnnouncementController extends JeecgController<CdEnterp
 	@ApiOperation(value="企业公告-添加", notes="企业公告-添加")
 	@PostMapping(value = "/add")
 	public Result<?> add(@RequestBody CdEnterpriseEnnouncement cdEnterpriseEnnouncement) {
+		//保存公司id
+		LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+		cdEnterpriseEnnouncement.setPkOrg(sysUser.getOrgCode());
 		cdEnterpriseEnnouncementService.save(cdEnterpriseEnnouncement);
 		return Result.ok("添加成功!");
 	}
@@ -164,4 +173,25 @@ public class CdEnterpriseEnnouncementController extends JeecgController<CdEnterp
       return super.importExcel(request, response, CdEnterpriseEnnouncement.class);
   }
 
+  /**
+  * @Author chenchuang
+  * @Description //TODO 发布与取消发布接口
+  * @Date 2021/11/3 10:41
+  * @Param [cdEnterpriseEnnouncement]
+  * @return org.jeecg.common.api.vo.Result
+  */
+  @RequestMapping(value = "/releaseUpdate")
+  public Result releaseUpdate(CdEnterpriseEnnouncement cdEnterpriseEnnouncement){
+  	Result result =new Result();
+  	CdEnterpriseEnnouncement entity= cdEnterpriseEnnouncementService.getById(cdEnterpriseEnnouncement.getId());
+  	if(entity==null){
+		result.error500("未找到实体");
+		return result;
+	}
+	entity.setIsRelease(cdEnterpriseEnnouncement.getIsRelease());
+  	cdEnterpriseEnnouncementService.updateById(entity);
+  	result.success("操作成功");
+  	return result;
+  }
+
 }

+ 2 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/CdScheduleController.java

@@ -69,6 +69,8 @@ public class CdScheduleController extends JeecgController<CdSchedule, ICdSchedul
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
 		QueryWrapper<CdSchedule> queryWrapper = QueryGenerator.initQueryWrapper(cdSchedule, req.getParameterMap());
+		LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+		queryWrapper.lambda().eq(CdSchedule::getPkOrg,sysUser.getOrgCode());
 		Page<CdSchedule> page = new Page<CdSchedule>(pageNo, pageSize);
 		IPage<CdSchedule> pageList = cdScheduleService.page(page, queryWrapper);
 		return Result.ok(pageList);

+ 2 - 2
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java

@@ -304,9 +304,9 @@ public class SysAnnouncementController {
 		}
 		// 2.查询用户未读的系统消息
 		Page<SysAnnouncement> anntMsgList = new Page<SysAnnouncement>(0,5);
-		anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList,userId,"1");//通知公告消息
+		anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList,userId,"1",sysUser.getOrgCode());//通知公告消息
 		Page<SysAnnouncement> sysMsgList = new Page<SysAnnouncement>(0,5);
-		sysMsgList = sysAnnouncementService.querySysCementPageByUserId(sysMsgList,userId,"2");//系统消息
+		sysMsgList = sysAnnouncementService.querySysCementPageByUserId(sysMsgList,userId,"2",sysUser.getOrgCode());//系统消息
 		Map<String,Object> sysMsgMap = new HashMap<String, Object>();
 		sysMsgMap.put("sysMsgList", sysMsgList.getRecords());
 		sysMsgMap.put("sysMsgTotal", sysMsgList.getTotal());

+ 2 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java

@@ -213,6 +213,8 @@ public class SysAnnouncementSendController {
 		announcementSendModel.setUserId(userId);
 		announcementSendModel.setPageNo((pageNo-1)*pageSize);
 		announcementSendModel.setPageSize(pageSize);
+		//公司id
+		announcementSendModel.setPkOrg(sysUser.getOrgCode());
 		Page<AnnouncementSendModel> pageList = new Page<AnnouncementSendModel>(pageNo,pageSize);
 		pageList = sysAnnouncementSendService.getMyAnnouncementSendPage(pageList, announcementSendModel);
 		result.setResult(pageList);

+ 20 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java

@@ -108,6 +108,26 @@ public class SysDepartController {
 		return result;
 	}
 
+	/**
+	* @Author chenchuang
+	* @Description //TODO 部门树形查询不分组织查询
+	* @Date 2021/11/3 16:36
+	* @Param []
+	* @return org.jeecg.common.api.vo.Result<java.util.List<org.jeecg.modules.system.model.SysDepartTreeModel>>
+	*/
+	@RequestMapping(value = "/queryTreeListNotOrg", method = RequestMethod.GET)
+	public Result<List<SysDepartTreeModel>> queryTreeListNotOrg() {
+		Result<List<SysDepartTreeModel>> result = new Result<>();
+		try {
+			List<SysDepartTreeModel> list = sysDepartService.queryTreeListNotOrg();
+			result.setResult(list);
+			result.setSuccess(true);
+		} catch (Exception e) {
+			log.error(e.getMessage(),e);
+		}
+		return result;
+	}
+
 	/**
 	 * 添加新数据 添加用户新建的部门对象数据,并保存到数据库
 	 * 

+ 3 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -93,6 +93,9 @@ public class SysUserController {
 		Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
 		QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
 		Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
+		//根据公司id过滤
+        LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+        queryWrapper.lambda().like(SysUser::getPkOrg,sysUser.getOrgCode());
         queryWrapper.orderByAsc("create_time");
 		IPage<SysUser> pageList = sysUserService.page(page, queryWrapper);
 

+ 7 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysAnnouncement.java

@@ -4,6 +4,7 @@ import java.io.Serializable;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -140,4 +141,10 @@ public class SysAnnouncement implements Serializable {
      * 组件/路由 地址
      */
     private java.lang.String openPage;
+
+    //公司id
+    private java.lang.String pkOrg;
+    //消息阅读状态
+    @TableField(exist = false)
+    private java.lang.String readFlag;
 }

+ 2 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java

@@ -45,4 +45,6 @@ public class SysAnnouncementSend implements Serializable {
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
 	private java.util.Date updateTime;
+	//公司id
+	private java.lang.String pkOrg;
 }

+ 1 - 1
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementMapper.java

@@ -17,6 +17,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 public interface SysAnnouncementMapper extends BaseMapper<SysAnnouncement> {
 
 	
-	List<SysAnnouncement> querySysCementListByUserId(Page<SysAnnouncement> page, @Param("userId")String userId,@Param("msgCategory")String msgCategory);
+	List<SysAnnouncement> querySysCementListByUserId(Page<SysAnnouncement> page, @Param("userId")String userId,@Param("msgCategory")String msgCategory,@Param("pkOrg")String pkOrg);
 
 }

+ 4 - 1
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementMapper.xml

@@ -33,7 +33,10 @@
 	   where send_status = '1' 
 	   and del_flag = '0' 
 	   and msg_category = #{msgCategory} 
-	   and id IN ( select annt_id from sys_announcement_send where user_id = #{userId} and read_flag = '0') 
+	   and id IN ( select annt_id from sys_announcement_send where user_id = #{userId} and read_flag = '0')
+	   <if test="pkOrg!=null and pkOrg!=''">
+		  AND pk_org =#{pkOrg}
+	   </if>
 	</select>
 
 </mapper>

+ 3 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml

@@ -48,6 +48,9 @@
 	   <if test="announcementSendModel.sender !=null and announcementSendModel.sender != ''">
 	   		and sa.sender = #{announcementSendModel.sender}
 	   </if>
+		<if test="announcementSendModel.pkOrg !=null and announcementSendModel.pkOrg != ''">
+			and sa.pk_org = #{announcementSendModel.pkOrg}
+		</if>
 	   order by sa.send_time desc
 	</select>
 	

+ 2 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/AnnouncementSendModel.java

@@ -63,4 +63,6 @@ public class AnnouncementSendModel implements Serializable {
 	 * 组件/路由 地址
 	 */
 	private java.lang.String openPage;
+	//公司id
+	private java.lang.String pkOrg;
 }

+ 1 - 1
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java

@@ -19,7 +19,7 @@ public interface ISysAnnouncementService extends IService<SysAnnouncement> {
 
 	public void saveSysAnnouncement(String title, String msgContent);
 
-	public Page<SysAnnouncement> querySysCementPageByUserId(Page<SysAnnouncement> page,String userId,String msgCategory);
+	public Page<SysAnnouncement> querySysCementPageByUserId(Page<SysAnnouncement> page,String userId,String msgCategory,String pkOrg);
 
 
 }

+ 6 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java

@@ -28,6 +28,12 @@ public interface ISysDepartService extends IService<SysDepart>{
      */
     List<SysDepartTreeModel> queryTreeList();
 
+    /**
+     * 查询所有部门信息,并分节点进行显示,部分组织
+     * @return
+     */
+    List<SysDepartTreeModel> queryTreeListNotOrg();
+
     /**
      * 查询所有部门DepartId信息,并分节点进行显示
      * @return

+ 2 - 2
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java

@@ -114,8 +114,8 @@ public class SysAnnouncementServiceImpl extends ServiceImpl<SysAnnouncementMappe
 	}
 
 	@Override
-	public Page<SysAnnouncement> querySysCementPageByUserId(Page<SysAnnouncement> page, String userId,String msgCategory) {
-		 return page.setRecords(sysAnnouncementMapper.querySysCementListByUserId(page, userId, msgCategory));
+	public Page<SysAnnouncement> querySysCementPageByUserId(Page<SysAnnouncement> page, String userId,String msgCategory,String pkOrg) {
+		 return page.setRecords(sysAnnouncementMapper.querySysCementListByUserId(page, userId, msgCategory,pkOrg));
 	}
 
 }

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java

@@ -226,6 +226,9 @@ public class SysBaseApiImpl implements ISysBaseAPI {
 		announcement.setSendTime(new Date());
 		announcement.setMsgCategory(setMsgCategory);
 		announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
+		//公司id
+		LoginUser loginUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+		announcement.setPkOrg(loginUser.getOrgCode());
 		if(map!=null){
 			if(map.get("isUrl")!=null&&map.get("isUrl").toString().equals("1")){
 				announcement.setOpenType("url");
@@ -248,6 +251,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
 				announcementSend.setAnntId(anntId);
 				announcementSend.setUserId(sysUser.getId());
 				announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG);
+				//公司id
+				announcementSend.setPkOrg(loginUser.getOrgCode());
 				sysAnnouncementSendMapper.insert(announcementSend);
 				JSONObject obj = new JSONObject();
 		    	obj.put("cmd", "user");

+ 17 - 1
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.FillRuleUtil;
 import org.jeecg.common.util.YouBianCodeUtil;
 import org.jeecg.modules.system.entity.SysDepart;
@@ -61,9 +62,24 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
 	/**
 	 * queryTreeList 对应 queryTreeList 查询所有的部门数据,以树结构形式响应给前端
 	 */
-	@Cacheable(value = CacheConstant.SYS_DEPARTS_CACHE)
+//	@Cacheable(value = CacheConstant.SYS_DEPARTS_CACHE)
 	@Override
 	public List<SysDepartTreeModel> queryTreeList() {
+		LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
+		query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+		query.orderByAsc(SysDepart::getDepartOrder);
+		//根据公司id查询编码,通过编码过滤部门
+		LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+		SysDepart sysDepart= this.baseMapper.selectById(sysUser.getOrgCode());
+		query.like(SysDepart::getOrgCode,sysDepart.getOrgCode());
+		List<SysDepart> list = this.list(query);
+		// 调用wrapTreeDataToTreeList方法生成树状数据
+		List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
+		return listResult;
+	}
+
+	@Override
+	public List<SysDepartTreeModel> queryTreeListNotOrg() {
 		LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
 		query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
 		query.orderByAsc(SysDepart::getDepartOrder);