|
@@ -0,0 +1,116 @@
|
|
|
|
|
+package com.lc.ibps.platform.plan.job;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+import com.lc.ibps.base.core.util.AppUtil;
|
|
|
|
|
+import com.lc.ibps.base.core.util.BeanUtils;
|
|
|
|
|
+import com.lc.ibps.base.core.util.JacksonUtil;
|
|
|
|
|
+import com.lc.ibps.base.framework.id.UniqueIdUtil;
|
|
|
|
|
+import com.lc.ibps.base.framework.table.ICommonDao;
|
|
|
|
|
+import org.quartz.JobDataMap;
|
|
|
|
|
+import org.quartz.JobExecutionContext;
|
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
|
|
+
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
|
|
+import java.util.Date;
|
|
|
|
|
+import java.util.HashMap;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * @author Administrator
|
|
|
|
|
+ */
|
|
|
|
|
+public class ExternalFileUpdJob extends AbstractJob{
|
|
|
|
|
+
|
|
|
|
|
+ private static final Logger logger = LoggerFactory.getLogger(ExternalFileUpdJob.class);
|
|
|
|
|
+
|
|
|
|
|
+ private ICommonDao<?> commonDao = AppUtil.getBean(ICommonDao.class);
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void executeJob(JobExecutionContext context) throws Exception {
|
|
|
|
|
+ JobDataMap dataMap = context.getMergedJobDataMap();
|
|
|
|
|
+ if(logger.isInfoEnabled()) {
|
|
|
|
|
+ logger.info("group={} job={} trigger={} is running.",
|
|
|
|
|
+ context.getJobDetail().getKey().getGroup(),
|
|
|
|
|
+ context.getJobDetail().getKey().getName(),
|
|
|
|
|
+ context.getTrigger().getKey().getName());
|
|
|
|
|
+ logger.info("jobDataMap=is {}.", JacksonUtil.toJsonString(dataMap.getWrappedMap()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ String sql = "SELECT b.id_ as xuan_ze_wen_jian_,b.wen_jian_lei_xing,b.wen_jian_xi_lei_,b.xi_lei_id_," +
|
|
|
|
|
+ "b.wen_jian_bian_hao,a.xin_wen_jian_ming as wen_jian_ming_che,'修订' as cao_zuo_lei_xing_ from t_wjxxgxb a, t_wjxxb b " +
|
|
|
|
|
+ "WHERE a.ji_lu_id_=b.id_ and a.shi_fou_guo_shen_ is null";
|
|
|
|
|
+
|
|
|
|
|
+ List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(sql);
|
|
|
|
|
+
|
|
|
|
|
+ if(BeanUtils.isNotEmpty(list)){
|
|
|
|
|
+ String pid = UniqueIdUtil.getId();
|
|
|
|
|
+ StringBuilder zhuXuanZeWenJ = new StringBuilder();
|
|
|
|
|
+ String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
|
|
|
|
+ Map<String,Object> main = new HashMap<>();
|
|
|
|
|
+ for (Map<String,Object> map : list){
|
|
|
|
|
+ zhuXuanZeWenJ = zhuXuanZeWenJ.append(map.get("xuan_ze_wen_jian_")).append(",");
|
|
|
|
|
+
|
|
|
|
|
+ // 子表一
|
|
|
|
|
+ map.put("parent_id_",pid);
|
|
|
|
|
+ map.put("id_", UniqueIdUtil.getId());
|
|
|
|
|
+ map.put("create_time_", time);
|
|
|
|
|
+ commonDao.execute(this.buildInsertSql(map,"t_wjxzxdjlb"));
|
|
|
|
|
+
|
|
|
|
|
+ // 子表二
|
|
|
|
|
+ Map<String,Object> sub = new HashMap<>();
|
|
|
|
|
+ sub.put("id_", UniqueIdUtil.getId());
|
|
|
|
|
+ sub.put("create_time_", time);
|
|
|
|
|
+ sub.put("parent_id_",pid);
|
|
|
|
|
+ sub.put("bian_zhi_shi_jian",time);
|
|
|
|
|
+ sub.put("wen_jian_ming_che",map.get("xin_wen_jian_ming"));
|
|
|
|
|
+ sub.put("wen_jian_fu_jian_",map.get("xuan_ze_wen_jian_"));
|
|
|
|
|
+ sub.put("xiu_ding_zi_biao_",map.get("xuan_ze_wen_jian_"));
|
|
|
|
|
+ commonDao.execute(this.buildInsertSql(sub,"t_wjxdjl"));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 主表
|
|
|
|
|
+ // 编制人 推送的修订流程在编制步骤,需要指定对应用户,讨论确定指定 文件管理组组长 或 文件管理员 角色对应的用户,优先 文件管理组组长
|
|
|
|
|
+ String bianZhiRen = "";
|
|
|
|
|
+ String wjglzzz = "SELECT USER_ID_ from ibps_party_user_role WHERE ROLE_ID_=" +
|
|
|
|
|
+ "(SELECT id_ from ibps_party_role WHERE ROLE_ALIAS_='wjglzzc') ORDER BY CREATE_TIME_ limit 1";
|
|
|
|
|
+ Map<String,Object> zz = commonDao.queryOne(wjglzzz);
|
|
|
|
|
+ if (BeanUtils.isNotEmpty(zz)){
|
|
|
|
|
+ bianZhiRen = zz.get("USER_ID_").toString();
|
|
|
|
|
+ }else {
|
|
|
|
|
+ String wjgly = "SELECT USER_ID_ from ibps_party_user_role WHERE ROLE_ID_=" +
|
|
|
|
|
+ "(SELECT id_ from ibps_party_role WHERE ROLE_ALIAS_='wjgly') ORDER BY CREATE_TIME_ LIMIT 1";
|
|
|
|
|
+ Map<String,Object> gly = commonDao.queryOne(wjgly);
|
|
|
|
|
+ if (BeanUtils.isNotEmpty(gly)){
|
|
|
|
|
+ bianZhiRen = gly.get("USER_ID_").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (BeanUtils.isEmpty(bianZhiRen)){
|
|
|
|
|
+ throw new Exception("开启文件修订流程,根据 文件管理组组长 或 文件管理员 角色找不到对应的人员,流程开启失败!");
|
|
|
|
|
+ }
|
|
|
|
|
+ main.put("id_",pid);
|
|
|
|
|
+ main.put("create_time_", time);
|
|
|
|
|
+ main.put("bian_zhi_ren_", bianZhiRen);
|
|
|
|
|
+ main.put("create_by_", bianZhiRen);
|
|
|
|
|
+ zhuXuanZeWenJ.deleteCharAt(zhuXuanZeWenJ.length() - 1);
|
|
|
|
|
+ main.put("zhu_xuan_ze_wen_j",zhuXuanZeWenJ);
|
|
|
|
|
+ main.put("lai_yuan_","修订");
|
|
|
|
|
+ main.put("zhu_wen_jian_shen","[{\"id\":\"1001\",\"fileName\":\"文件审核规定_sys\"}]");
|
|
|
|
|
+ main.put("shen_he_zou_xiang","jspgz");
|
|
|
|
|
+ main.put("pi_liang_lei_xing","外部文件");
|
|
|
|
|
+ commonDao.execute(this.buildInsertSql(main,"t_wjxdzb"));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 文件修订流程
|
|
|
|
|
+ startWorkflow("t_wjxdzb","wjplxd","Process_1ek5omy_2");
|
|
|
|
|
+
|
|
|
|
|
+ String sql2 = "SELECT a.id_ from t_wjxxgxb a, t_wjxxb b WHERE a.ji_lu_id_=b.id_ and a.shi_fou_guo_shen_ is null";
|
|
|
|
|
+ List<Map<String, Object>> update = (List<Map<String, Object>>) commonDao.query(sql2);
|
|
|
|
|
+ if(BeanUtils.isNotEmpty(update)){
|
|
|
|
|
+ for (Map<String,Object> map : update) {
|
|
|
|
|
+ commonDao.execute("update t_wjxxgxb set shi_fou_guo_shen_='已完成' where id_ ='"+map.get("id_")+"'");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|