From 488fc001427708c9e5bfd8e5556110398b7276fe Mon Sep 17 00:00:00 2001 From: chenwei <3291673014@qq.com> Date: Mon, 22 Apr 2024 21:17:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A9=E9=98=B5=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- properties/developProp.properties | 3 + .../nl/job/ModifyJobActivityJob.java | 104 ++++++++++++++++++ src/weaver/interfaces/nl/util/PropBean.java | 43 ++++++++ 3 files changed, 150 insertions(+) create mode 100644 properties/developProp.properties create mode 100644 src/weaver/interfaces/nl/job/ModifyJobActivityJob.java create mode 100644 src/weaver/interfaces/nl/util/PropBean.java diff --git a/properties/developProp.properties b/properties/developProp.properties new file mode 100644 index 0000000..58fb2b3 --- /dev/null +++ b/properties/developProp.properties @@ -0,0 +1,3 @@ + +## ???? DEV=????,TEST = ????,PROD = ???? +active = PROD \ No newline at end of file diff --git a/src/weaver/interfaces/nl/job/ModifyJobActivityJob.java b/src/weaver/interfaces/nl/job/ModifyJobActivityJob.java new file mode 100644 index 0000000..a32258e --- /dev/null +++ b/src/weaver/interfaces/nl/job/ModifyJobActivityJob.java @@ -0,0 +1,104 @@ +package weaver.interfaces.nl.job; + +import com.wbi.util.Util; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; +import weaver.general.BaseBean; +import weaver.interfaces.nl.util.PropBean; +import weaver.interfaces.schedule.BaseCronJob; + +import java.util.*; + + +/** + * 修改矩阵中的一级部门领导 + */ +public class ModifyJobActivityJob extends BaseCronJob { + + @Override + public void execute() { + new BaseBean(); + BaseBean bb = new BaseBean(); + + bb.writeLog("ModifyJobActivityJob Start"); + try { + RecordSet rs = new RecordSet(); + //获取处级正职的职务ID + String divisionalPosition = Util.null2String(PropBean.getUfPropValue("DivisionalPosition"), "-1"); + bb.writeLog("ModifyJobActivityJob divisionalPosition: " + divisionalPosition); + + if (StringUtils.isNotBlank(divisionalPosition) && !"-1".equals(divisionalPosition)) { + Map map = new HashMap<>(); + String acqDeptSql = "select a.id, a.departmentid, d.departmentname " + + "from hrmresource a " + + "left join hrmjobtitles b " + + "on a.jobtitle = b.id " + + "left join hrmjobactivities c " + + "on c.id = b.JOBACTIVITYid " + + "left join hrmdepartment d " + + "on d.id = a.departmentid " + + "where a.status in (0,1,2,3) and c.id in (" + divisionalPosition + ")"; + bb.writeLog("ModifyJobActivityJob acqDeptSql: " + acqDeptSql); + rs.executeQuery(acqDeptSql); + while (rs.next()) { + String resId = Util.null2String(rs.getString("id")); + String departmentId = Util.null2String(rs.getString("departmentid")); + if (map.containsKey(departmentId)) { + String s = map.get(departmentId); + s = s + "," + resId; + map.put(departmentId, s); + } else { + map.put(departmentId, resId); + } + } + bb.writeLog("ModifyJobActivityJob map: " + map); + + if ( map != null && map.size() > 0) { + List firstDepts = new ArrayList<>(); + //获取需要更新的矩阵 + String matrixId = Util.null2String(PropBean.getUfPropValue("matrixId"), "-1"); + bb.writeLog("ModifyJobActivityJob matrixId: " + matrixId); + + if (StringUtils.isNotBlank(matrixId) && !"-1".equals(matrixId)) { + String acqMatSql = "select szyjbm from Matrixtable_" + matrixId + " "; + bb.writeLog("ModifyJobActivityJob acqMatSql: " + acqMatSql); + + rs.executeQuery(acqMatSql); + while (rs.next()) { + String szyjbm = Util.null2String(rs.getString("szyjbm")); + if (StringUtils.isNotBlank(szyjbm)) { + firstDepts.add(szyjbm); + } + } + bb.writeLog("ModifyJobActivityJob firstDepts: " + firstDepts); + + if( firstDepts != null && firstDepts.size() > 0) { + String modifysql = "update Matrixtable_" + matrixId + " set bmld = ? where szyjbm = ? "; + bb.writeLog("ModifyJobActivityJob modifysql: " + modifysql); + + List modifyList = new ArrayList<>(); + for( String depid : firstDepts) { + String resId = Util.null2String(map.get(depid)); + List temp = new ArrayList(); + temp.add(resId); + temp.add(depid); + modifyList.add(temp); + } + bb.writeLog("ModifyJobActivityJob modifyList: " + modifyList); + + if (modifyList != null && modifyList.size() > 0) { + boolean modifyFlag = rs.executeBatchSql(modifysql, modifyList); + bb.writeLog("ModifyJobActivityJob modifyFlag: " + modifyFlag); + } + } + } + } + } + + }catch (Exception e) { + bb.writeLog("ModifyJobActivityJob Exception: " + e); + } + + } + +} diff --git a/src/weaver/interfaces/nl/util/PropBean.java b/src/weaver/interfaces/nl/util/PropBean.java new file mode 100644 index 0000000..d889099 --- /dev/null +++ b/src/weaver/interfaces/nl/util/PropBean.java @@ -0,0 +1,43 @@ +package weaver.interfaces.nl.util; + +import org.apache.commons.lang.StringUtils; +import weaver.conn.RecordSet; +import weaver.general.BaseBean; +import weaver.general.Util; + +public class PropBean { + + public static BaseBean bb = new BaseBean(); + public static String active = Util.null2String(bb.getPropValue("developProp","active")).toUpperCase(); + + /*** + * + * @param pkey + * @return + */ + public static String getUfPropValue(String pkey) + { + BaseBean baseBean = new BaseBean(); + if(StringUtils.isEmpty(pkey)){ + return ""; + } + + if(StringUtils.isEmpty(active)){ + active = Util.null2String(baseBean.getPropValue("developProp","active")).toUpperCase(); + } + + String pvalue = ""; + try{ + RecordSet rs = new RecordSet(); + String sql = " SELECT DEVVALUE,TESTVALUE,PRODVALUE FROM UF_PROP WHERE PKEY = ?"; + rs.executeQuery(sql,new Object[]{pkey.trim()}); + if(rs.next()){ + pvalue = Util.null2String(rs.getString(active+"VALUE")); + } + }catch (Exception e){ + e.printStackTrace(); + bb.writeLog("propbean-e:"+e); + } + return pvalue; + } +}