Преглед изворни кода

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java
shenji пре 2 година
родитељ
комит
3a8f431786

+ 76 - 6
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java

@@ -19,6 +19,7 @@ import org.apache.shiro.SecurityUtils;
 import org.checkerframework.checker.units.qual.Area;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
@@ -336,6 +337,8 @@ public class ActBusinessController {
     @RequestMapping(value = "/apply", method = RequestMethod.POST)
     public Result apply(ActBusiness act){
 
+        boolean error = false;
+
         ActBusiness actBusiness = actBusinessService.getById(act.getId());
         if(actBusiness==null){
             return Result.error("actBusiness表中该id不存在");
@@ -349,15 +352,82 @@ public class ActBusinessController {
             //如果表单里有 标题  更新一下
             actBusiness.setTitle(busiData.get(ActivitiConstant.titleKey)+"");
         }
-        String processInstanceId = actZprocessService.startProcess(act);
-        actBusiness.setProcInstId(processInstanceId);
-        actBusiness.setStatus(1);
-        actBusiness.setResult(1);
-        actBusiness.setApplyTime(new Date());
-        actBusinessService.updateById(actBusiness);
+        try {
+            String processInstanceId = actZprocessService.startProcess(act);
+            actBusiness.setProcInstId(processInstanceId);
+            actBusiness.setStatus(1);
+            actBusiness.setResult(1);
+            actBusiness.setApplyTime(new Date());
+            actBusinessService.updateById(actBusiness);
+        }catch (Exception e){//如果提交中发生异常,这直接通过该条数据
+            error = true;
+            onlyInfo(actBusiness,busiData);
+            throw new JeecgBootException("流程错误,直接通过");
+
+        }
+
         return Result.ok("操作成功");
     }
 
+    /**
+     * 单独线程处理信息
+     * @param actBusiness
+     * @param busiData
+     */
+    public void onlyInfo(ActBusiness actBusiness,Map<String, Object> busiData){
+
+        if(actBusiness == null || StringUtils.isBlank(actBusiness.getTableName())){
+            return;
+        }
+
+        //会议纪要
+        if(actBusiness.getTableName().equals("meeting_summary")){
+
+            String msg_user1 = busiData.get("meeting_personnel").toString();
+            String msg_title1 = busiData.get("meeting_theme").toString();
+            String msg_content1 = busiData.get("meeting_content").toString();
+
+            String msg_content12 = msg_content1.replace("\n","<br>");
+
+            String dmf = msg_user1.replace("[","");
+            String dmf2 = dmf.replace("]","");
+            String dmf3 = dmf2.replace("\"","");
+            String[] userList = dmf3.split(",");
+
+            HashMap<String,Object> taskParam = new HashMap<>();
+            LoginUser loginUser = sysBaseAPI.getUserByName("admin");
+
+             //在主函数中。不new一个线程,直接去得到当前的线程,为主线程;
+            Thread t=Thread.currentThread();
+            System.out.println("线程为"+t.getName());//线程名:main 这是系统自己为主线程定义的名
+
+            //创建一个线程并初始化
+            Thread thread=new Thread(){
+                //具体的业务代码
+                @Override
+                public  void run(){
+                    //发送消息
+                    for (String o:userList){
+                        sysBaseAPI.sendSysAnnouncement(loginUser,"admin",o,"会议纪要","<h2>会议主题:"+msg_title1+"</h2><br> <h3>会议内容:<br>"+msg_content12+"</h3>", CommonConstant.MSG_CATEGORY_2,taskParam);
+                    }
+
+                    actBusiness.setStatus(2);
+                    actBusiness.setResult(2);
+                    actBusiness.setApplyTime(new Date());
+                    actBusinessService.updateById(actBusiness);
+                    Thread t=Thread.currentThread();
+                    System.out.println(t.getName());//线程名:Thread-0 自己未命名时,系统会去命名,当有多个线程时,依次为Thread-0、Thread-1、Thread-2....
+                }
+
+            };
+            //开启线程
+            thread.start();
+
+
+        }
+
+    }
+
     /**
     * @Author chenchuang
     * @Description //TODO 外部项目用来调用的流程提交接口

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

@@ -478,8 +478,8 @@ public class ActTaskController {
             map.put("isUrl","1");
             map.put("url","/activiti/applyList");
             map.put("taskId",task.getId());
-            actZprocessService.sendMessage(loginUser,user,ActivitiConstant.MESSAGE_PASS_CONTENT,
-                    String.format("您的 【%s】 申请已通过!",actBusiness.getTitle()),sendMessage, sendSms, sendEmail,map);
+//            actZprocessService.sendMessage(loginUser,user,ActivitiConstant.MESSAGE_PASS_CONTENT,
+//                    String.format("您的 【%s】 申请已通过!",actBusiness.getTitle()),sendMessage, sendSms, sendEmail,map);
             //修改公司id
             List<String> listTaskId=new ArrayList<>();
             listTaskId.add(task.getId());

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

@@ -74,7 +74,7 @@ public class CdEnterpriseEnnouncementController extends JeecgController<CdEnterp
 		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 		queryWrapper.lambda().eq(CdEnterpriseEnnouncement::getPkOrg,sysUser.getOrgCode());
 		queryWrapper.lambda().eq(CdEnterpriseEnnouncement::getDelFlag,'0');
-		queryWrapper.lambda().orderByDesc(CdEnterpriseEnnouncement::getCreateTime);
+		queryWrapper.lambda().orderByDesc(CdEnterpriseEnnouncement::getUpdateTime);
 		Page<CdEnterpriseEnnouncement> page = new Page<CdEnterpriseEnnouncement>(pageNo, pageSize);
 		IPage<CdEnterpriseEnnouncement> pageList = cdEnterpriseEnnouncementService.page(page, queryWrapper);
 		return Result.ok(pageList);

+ 22 - 1
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/SyCertificatesController.java

@@ -8,9 +8,13 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.api.ISysBaseAPI;
 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.SyCertificates;
 import org.jeecg.modules.oa.service.ISyCertificatesService;
@@ -48,7 +52,8 @@ import io.swagger.annotations.ApiOperation;
 public class SyCertificatesController extends JeecgController<SyCertificates, ISyCertificatesService> {
 	@Autowired
 	private ISyCertificatesService syCertificatesService;
-	
+	 @Autowired
+	 private ISysBaseAPI sysBaseAPI;
 	/**
 	 * 分页列表查询
 	 *
@@ -66,8 +71,24 @@ public class SyCertificatesController extends JeecgController<SyCertificates, IS
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
 		QueryWrapper<SyCertificates> queryWrapper = QueryGenerator.initQueryWrapper(syCertificates, req.getParameterMap());
+		queryWrapper.orderByDesc("create_time");
 		Page<SyCertificates> page = new Page<SyCertificates>(pageNo, pageSize);
 		IPage<SyCertificates> pageList = syCertificatesService.page(page, queryWrapper);
+		for (SyCertificates o:pageList.getRecords()) {
+
+			if(StringUtils.isNotBlank(o.getUserId())){
+				LoginUser login = sysBaseAPI.getUserByName(o.getUserId());
+				if(login != null){
+					o.setUserId(login.getRealname());
+				}
+			}
+			if(StringUtils.isNotBlank(o.getManageId())){
+				LoginUser login = sysBaseAPI.getUserByName(o.getManageId());
+				if(login != null){
+					o.setManageId(login.getRealname());
+				}
+			}
+		}
 		return Result.ok(pageList);
 	}
 	

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

@@ -80,6 +80,7 @@ public class SyMaterialController {
 								   HttpServletRequest req) {
 		QueryWrapper<SyMaterial> queryWrapper = QueryGenerator.initQueryWrapper(syMaterial, req.getParameterMap());
 		Page<SyMaterial> page = new Page<SyMaterial>(pageNo, pageSize);
+		queryWrapper.orderByDesc("create_time");
 		IPage<SyMaterial> pageList = syMaterialService.page(page, queryWrapper);
 		return Result.ok(pageList);
 	}

+ 6 - 5
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/SyMaterialMapper.xml

@@ -4,11 +4,12 @@
     
     <select id="selectCertEnd" resultType="org.jeecg.modules.oa.entity.SyCertificates">
 
-        select name,id,end_date,notice_month
-        ,user_id -- 证件所有人
-        ,manage_id -- 管理人
-        from sy_certificates
-        where del_flag = 0 and is_message='1' and msg_num > 0 and end_date &lt; DATE_ADD(CURDATE(),INTERVAL notice_month MONTH)
+        select a.name,a.id,a.end_date,a.notice_month
+        ,IFNULL(b.realname,a.manage_id) user_id -- 证件所有人
+        ,a.manage_id -- 管理人
+        from sy_certificates a
+        left join sys_user b on a.user_id = b.username
+        where a.del_flag = 0 and a.is_message='1' and a.msg_num > 0 and a.end_date &lt; DATE_ADD(CURDATE(),INTERVAL a.notice_month MONTH)
 
     </select>
 

+ 43 - 1
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -272,6 +272,20 @@ public class SysUserController {
         return result;
     }
 
+
+    @RequestMapping(value = "/queryByUsername", method = RequestMethod.GET)
+    public Result<SysUser> queryByUsername(@RequestParam(name = "username", required = true) String username) {
+        Result<SysUser> result = new Result<SysUser>();
+        SysUser sysUser = sysUserService.getUserByName(username);
+        if (sysUser == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(sysUser);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
     @RequestMapping(value = "/queryUserRole", method = RequestMethod.GET)
     public Result<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) {
         Result<List<String>> result = new Result<>();
@@ -1230,7 +1244,27 @@ public class SysUserController {
         queryWrapper.orderByAsc("org_code");
         queryWrapper.orderByAsc("convert(realname using gbk)");
         IPage<SysUser> pageList = sysUserService.page(page, queryWrapper);
-
+        List<SysPosition> list2 = sysPositionService.list();
+        Map<String,String> map = new HashMap<>();
+        for(SysPosition o:list2){
+            map.put(o.getCode(),o.getName());
+        }
+//        for(SysUser o:pageList){
+//            if(StringUtils.isNotBlank(o.getIfOa()) && o.getIfOa().equals("1")){
+//                o.setIfOa("是");
+//            }else{
+//                o.setIfOa("否");
+//            }
+//            if(StringUtils.isNotBlank(o.getNMarriage()) && o.getNMarriage().equals("1")){
+//                o.setNMarriage("是");
+//            }
+//            if(StringUtils.isNotBlank(o.getNMarriage()) && o.getNMarriage().equals("0")){
+//                o.setNMarriage("否");
+//            }
+//            if(StringUtils.isNotBlank(o.getPost()) && map.containsKey(o.getPost())){
+//                o.setPost(map.get(o.getPost()));
+//            }
+//        }
         //批量查询用户的所属部门
         //step.1 先拿到全部的 useids
         //step.2 通过 useids,一次性查询用户的所属部门名字
@@ -1242,6 +1276,9 @@ public class SysUserController {
                 item.setOrgCode(useDepNames.get(item.getId()));
                 if(useDepNames.containsKey(item.getId())){
                     item.setRealname(useDepNames.get(item.getId())+"-"+item.getRealname());
+
+                    item.setDeptName(useDepNames.get(item.getId()));
+
                     if(useDepNames.get(item.getId()).length() < 3){
                         item.setSalt(useDepNames.get(item.getId()));
                     }else{
@@ -1249,9 +1286,14 @@ public class SysUserController {
                     }
                 }else{
                     item.setSalt("0");
+                    item.setDeptName("无部门");
                     item.setRealname("无部门"+"-"+item.getRealname());
                 }
 
+                if(StringUtils.isNotBlank(item.getPost()) && map.containsKey(item.getPost())){
+                    item.setPost(map.get(item.getPost()));
+                }
+
             });
         }
         Collections.sort(pageList.getRecords(), (a, b) -> {

+ 3 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java

@@ -334,4 +334,7 @@ public class SysUser implements Serializable {
 
     @TableField(exist = false)
     private java.lang.Integer isPossess;//该用户是否有部门负责人 0否 1是
+
+    @TableField(exist = false)
+    private java.lang.String deptName;//临时字段,存放部门名称
 }

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

@@ -44,10 +44,10 @@
 	   and sa.del_flag = '0'
 	   and sas.user_id = #{announcementSendModel.userId}
 	   <if test="announcementSendModel.titile !=null and announcementSendModel.titile != ''">
-	   		and sa.titile = #{announcementSendModel.titile}
+		   and sa.titile LIKE '%${announcementSendModel.titile}%'
 	   </if>
 	   <if test="announcementSendModel.sender !=null and announcementSendModel.sender != ''">
-	   		and sa.sender = #{announcementSendModel.sender}
+	   		and u.realname LIKE '%${announcementSendModel.sender}%'
 	   </if>
 		<if test="announcementSendModel.pkOrg !=null and announcementSendModel.pkOrg != ''">
 			and sa.pk_org = #{announcementSendModel.pkOrg}