diff --git a/classbean/DzbzDBWbs.java b/classbean/DzbzDBWbs.java deleted file mode 100644 index cc7887a3..00000000 --- a/classbean/DzbzDBWbs.java +++ /dev/null @@ -1,16 +0,0 @@ -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebResult; -import javax.jws.WebService; -import javax.jws.soap.SOAPBinding; - - -@WebService(serviceName = "wsForDBSYService1",targetNamespace="",name="wsForDBSY1") -@SOAPBinding(style=SOAPBinding.Style.RPC,use=SOAPBinding.Use.ENCODED,parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) -//@BindingType(value=javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING) -public interface DzbzDBWbs { - @WebMethod(operationName = "PROCESSDBSY") - @WebResult(name="PROCESSDBSYReturn") - public String PROCESSDBSY(@WebParam(name = "DBSYINFO") String DBSYINFO); - -} diff --git a/classbean/DzbzDBWbsImpl.java b/classbean/DzbzDBWbsImpl.java deleted file mode 100644 index d038e125..00000000 --- a/classbean/DzbzDBWbsImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -import com.caucho.xml.SAXBuilder; -import org.dom4j.Document; -import org.dom4j.DocumentHelper; -import org.dom4j.Element; -import weaver.conn.RecordSet; -import weaver.general.BaseBean; -import weaver.general.Util; -import weaver.interfaces.tisco.dzbz.DzbzUtil; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 电子报账信息接口 - */ -public class DzbzDBWbsImpl extends BaseBean implements DzbzDBWbs { - public String PROCESSDBSYReturn = "SUCCESS"; - /** - * 获取电子报账待办 - * @param DBSYINFO - * @return - */ - public String PROCESSDBSY(String DBSYINFO){ - - System.out.println("dbxml======="+DBSYINFO); - int modeid = Util.getIntValue(getPropValue("dzbz","dzbzmodeid")); - SAXBuilder sb = new SAXBuilder(); - try { - Map map = new HashMap(); - String loginid = ""; - Document doc = DocumentHelper.parseText(DBSYINFO); //将字符串转为XML - // 取的根元素 - Element rootElt = doc.getRootElement(); - // 得到根元素所有子元素的集合 - List sons = rootElt.elements();//获取当前节点的子节点 - if(0 != sons.size()) { - for (Element el : sons) { - String key = el.getName().trim(); - String value = el.getText().trim(); - System.out.println(key+"============"+value); - if("todouserid".equals(key)){ - loginid=value; - } -// setFieldValueByName(key,dzbzBean,value); - map.put(key,value); - } - } - RecordSet rs = new RecordSet(); - rs.execute("select id from hrmresource where loginid='"+loginid+"'"); - rs.next(); - int userid = Util.getIntValue(rs.getString("id"),0); - DzbzUtil.createmodedata(modeid,userid,map); - }catch (Exception e) { - e.printStackTrace(); - } - return PROCESSDBSYReturn; - } - - -// private void setFieldValueByName(String fieldName, Object o,Object value) { -// try { -// String firstLetter = fieldName.substring(0, 1).toUpperCase(); -// String getter = "set" + firstLetter + fieldName.substring(1); -// Method method = o.getClass().getMethod(getter, new Class[] {o.getClass().getDeclaredField(fieldName).getType()}); -// method.invoke(o, new Object[] {getClassTypeValue(o.getClass().getDeclaredField(fieldName).getType(),value)}); -// } catch (Exception e) { -// } -// } -// -// -// private static Object getClassTypeValue(Class typeClass, Object value){ -// if(typeClass == int.class || value instanceof Integer){ -// if(null == value){ -// return 0; -// } -// return value; -// }else if(typeClass == short.class){ -// if(null == value){ -// return 0; -// } -// return value; -// }else if(typeClass == byte.class){ -// if(null == value){ -// return 0; -// } -// return value; -// }else if(typeClass == double.class){ -// if(null == value){ -// return 0; -// } -// return value; -// }else if(typeClass == long.class){ -// if(null == value){ -// return 0; -// } -// return value; -// }else if(typeClass == String.class){ -// if(null == value){ -// return ""; -// } -// return value; -// }else if(typeClass == boolean.class){ -// if(null == value){ -// return true; -// } -// return value; -// }else if(typeClass == BigDecimal.class){ -// if(null == value){ -// return new BigDecimal(0); -// } -// return new BigDecimal(value+""); -// }else { -// return typeClass.cast(value); -// } -// } -} diff --git a/src/weaver/interfaces/comInfo/PropBean.java b/src/weaver/interfaces/comInfo/PropBean.java index 6d98cdf9..1b5905fd 100644 --- a/src/weaver/interfaces/comInfo/PropBean.java +++ b/src/weaver/interfaces/comInfo/PropBean.java @@ -31,4 +31,27 @@ public class PropBean { } return pvalue; } + + + public static String getPropValue(String pkey) + { + if(StringUtils.isEmpty(active)){ + return ""; + } + if(StringUtils.isEmpty(pkey)){ + return ""; + } + String pvalue = ""; + try{ + RecordSet rs = new RecordSet(); + String sql = " SELECT DEVVALUE,TESTVALUE,PRODVALUE FROM UF_PROP WHERE PKEY = ?"; + rs.executeQuery(sql,new Object[]{pkey}); + if(rs.next()){ + pvalue = Util.null2String(rs.getString(active+"VALUE")); + } + }catch (Exception e){ + + } + return pvalue; + } } diff --git a/src/weaver/interfaces/job/DeptManagerCronJobNew.java b/src/weaver/interfaces/job/DeptManagerCronJobNew.java new file mode 100644 index 00000000..7bb224d7 --- /dev/null +++ b/src/weaver/interfaces/job/DeptManagerCronJobNew.java @@ -0,0 +1,214 @@ +package weaver.interfaces.job; + + +import org.apache.commons.lang.StringUtils; +import weaver.conn.RecordSet; +import weaver.general.BaseBean; +import weaver.general.Util; +import weaver.interfaces.comInfo.PropBean; +import weaver.interfaces.schedule.BaseCronJob; +import weaver.general.GCONST; + +import java.util.*; + +public class DeptManagerCronJobNew extends BaseCronJob { + @Override + public void execute() { + updateDeptManagerData(); + } + + /*** + * + */ + public void updateDeptManagerData(){ + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + + List> list = new ArrayList>(); + Map map = null; + + try{ + + String managerPostion = PropBean.getUfPropValue("managerPostion"); + if(StringUtils.isNotEmpty(managerPostion)) + { + managerPostion = "'"+managerPostion.replace(",","','")+"'"; + + String deptsql = " select id,supdepid,departmentcode from hrmdepartment h where ifnull(canceled,0)=0 " ; + bb.writeLog("deptsql:"+deptsql); + rs.executeQuery(deptsql); + while (rs.next()){ + + map = new HashMap(); + String deptid = Util.null2String(rs.getString("id")); + String supdepid = Util.null2String(rs.getString("supdepid")); + String departmentcode = Util.null2String(rs.getString("departmentcode")); + + map.put("deptid",deptid); + map.put("supdepid",supdepid); + map.put("departmentcode",departmentcode); + list.add(map); + } + bb.writeLog("list:"+list.size()); + + for(int i=0;i dataMap = list.get(i); + String deptid = dataMap.get("deptid"); + String supdepid = dataMap.get("supdepid"); + String departmentcode = dataMap.get("departmentcode"); + + String depid = supdepid; + if("0".equals(supdepid)){ + depid = deptid ; + } + + List deptList = new ArrayList(); + getRecursiveInfo(deptList,depid); + + System.out.println("depid:"+depid +" deptList:"+deptList.size()); + + String userids = "" ; + + if(deptList !=null && deptList.size() > 0){ + + String allDeptIds = String.join(",", deptList); + allDeptIds = "'"+allDeptIds.replace(",","','") +"'"; + System.out.println("allDeptIds:"+allDeptIds); + + String sql = " select h.id\n" + + " from hrmresource h where h.DEPARTMENTID in("+allDeptIds+")\n" + + " and jobtitle in(select id from hrmjobtitles h2 where h2.jobtitlename in("+managerPostion+"))" ; + System.out.println("sql:"+sql); + rs.executeQuery(sql); + while (rs.next()){ + String userid = Util.null2String(rs.getString("id")); + userids += StringUtils.isEmpty(userids) ? userid : ","+userid ; + } + System.out.println("userids:"+userids); + + String departmentdefinedid = "" ; + sql = " select id from hrmdepartmentdefined h where deptid= ?"; + rs.executeQuery(sql,new Object[]{deptid}); + if (rs.next()){ + departmentdefinedid = Util.null2String(rs.getString("id")); + } + bb.writeLog("departmentdefinedid:"+departmentdefinedid); + if(StringUtils.isNotEmpty(departmentdefinedid)){ + sql = " update hrmdepartmentdefined set bmfzr = ? where deptid = ?" ; + bb.writeLog("sql:"+sql); + rs.executeUpdate(sql,new Object[]{userids,deptid}); + }else{ + sql = " insert into hrmdepartmentdefined(deptid,bmfzr) values(?,?) " ; + bb.writeLog("sql:"+sql); + rs.executeUpdate(sql,new Object[]{deptid,userids}); + } + + String uuid = "" ; + sql = " select uuid from matrixtable_2 m where m.id=? "; + bb.writeLog("sql:"+sql); + rs.executeQuery(sql,new Object[]{deptid}); + if(rs.next()){ + uuid = Util.null2String(rs.getString("uuid")); + } + + if(StringUtils.isNotEmpty(uuid)){ + sql = " update matrixtable_2 set bmfzr = ? where id = ?" ; + bb.writeLog("sql:"+sql); + rs.executeUpdate(sql,new Object[]{userids,deptid}); + }else{ + String randomUUID = UUID.randomUUID().toString(); + int dataorder = 0; + sql = " select (max(CAST(DATAORDER as SIGNED INTEGER))+1) as cou from matrixtable_2 " ; + bb.writeLog("sql:"+sql); + rs.executeQuery(sql); + if(rs.next()){ + dataorder = Util.getIntValue(Util.null2String(rs.getString("cou"),"0")); + } + bb.writeLog("dataorder:"+dataorder); + sql = " insert into matrixtable_2(uuid,dataorder,id,matrix_code,bmfzr) values(?,?,?,?,?) " ; + bb.writeLog("dataorder:"+dataorder); + rs.executeUpdate(sql,new Object[]{randomUUID,dataorder,deptid,departmentcode,userids}); + } + }else{ + String departmentdefinedid = "" ; + String sql = " select id from hrmdepartmentdefined h where deptid= ?"; + rs.executeQuery(sql,new Object[]{deptid}); + if (rs.next()){ + departmentdefinedid = Util.null2String(rs.getString("id")); + } + bb.writeLog("departmentdefinedid:"+departmentdefinedid); + if(StringUtils.isNotEmpty(departmentdefinedid)){ + sql = " update hrmdepartmentdefined set bmfzr = ? where deptid = ?" ; + bb.writeLog("sql:"+sql); + rs.executeUpdate(sql,new Object[]{userids,deptid}); + }else{ + sql = " insert into hrmdepartmentdefined(deptid,bmfzr) values(?,?) " ; + bb.writeLog("sql:"+sql); + rs.executeUpdate(sql,new Object[]{deptid,userids}); + } + + String uuid = "" ; + sql = " select uuid from matrixtable_2 m where m.id=? "; + bb.writeLog("sql:"+sql); + rs.executeQuery(sql,new Object[]{deptid}); + if(rs.next()){ + uuid = Util.null2String(rs.getString("uuid")); + } + + if(StringUtils.isNotEmpty(uuid)){ + sql = " update matrixtable_2 set bmfzr = ? where id = ?" ; + bb.writeLog("sql:"+sql); + rs.executeUpdate(sql,new Object[]{userids,deptid}); + }else{ + String randomUUID = UUID.randomUUID().toString(); + int dataorder = 0; + sql = " select (max(CAST(DATAORDER as SIGNED INTEGER))+1) as cou from matrixtable_2 " ; + bb.writeLog("sql:"+sql); + rs.executeQuery(sql); + if(rs.next()){ + dataorder = Util.getIntValue(Util.null2String(rs.getString("cou"),"0")); + } + bb.writeLog("dataorder:"+dataorder); + sql = " insert into matrixtable_2(uuid,dataorder,id,matrix_code,bmfzr) values(?,?,?,?,?) " ; + bb.writeLog("dataorder:"+dataorder); + rs.executeUpdate(sql,new Object[]{randomUUID,dataorder,deptid,departmentcode,userids}); + } + } + } + } + }catch (Exception e){ + bb.writeLog("e:"+e); + } + } + + public void getRecursiveInfo(List deptList,String deptid){ + RecordSet rs = new RecordSet(); + List depList = new ArrayList(); + if(StringUtils.isNotEmpty(deptid)){ + String sql = " select d.id from hrmdepartment d where d.supdepid = ? " ; + rs.executeQuery(sql,new Object[]{deptid}); + while (rs.next()){ + String depid = Util.null2String(rs.getString("id")); + depList.add(depid); + } + } + + for(int i=0;i dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员信息更新sql执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + + } + }else if("D".equals(actType)){ + status = "5"; + String userUpdateSql = " update hrmresource set status=? where workcode=? "; + bb.writeLog("userUpdateSql:"+userUpdateSql); + boolean flag = rs.executeUpdate(userUpdateSql,new Object[]{status,staffCode}); + bb.writeLog("flag:"+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员离职更新sql执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员系统中已存在,操作类型为A"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + if("A".equalsIgnoreCase(actType)) + { + String pwd = "1"; + String password = DigestUtils.md5Hex(pwd).toUpperCase(); //MD5加密 + bb.writeLog("password:"+password); + + rs.executeProc("HrmResourceMaxId_Get", ""); + rs.next(); + String id = "" + rs.getInt(1); + bb.writeLog("id:"+id); + + if(StringUtils.isNotEmpty(id)){ + String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," + + "creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," + + "locationid,seclevel,createrid,lastmodid) " + + " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + bb.writeLog("userInsertSql:"+userInsertSql); + boolean flag = rs.executeUpdate(userInsertSql,new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1, + creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime, + locationid,seclevel,createrid,lastmodid}); + bb.writeLog("flag:"+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员新增sql执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员不在系统中,操作类型为M或者D"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员所属部门为空"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }catch (Exception e){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人力资源异常:"+e.getMessage()); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + } + +// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode": +// "70300100030001","requestObject":[{"content":[{ +// "updateDate":"2022-07-22 11:05:22","orgName":"testOrg722","parentOrgCode":"LNP000001", +// "regionNbr":"TST_PR_CSS","orgLevel":"2","statusCd":"1000", +// "parentOrgName":"Vivia","orgId":"17012", +// "createStaff":"1","orgType":"1000", +// "regionId":"36","parentOrgId":"1", +// "orgCode":"testOrg722", +// "pathCode":"-1.1.17012","actType":"A","partyId":"0", +// "parRegionNbr":"1", +// "createDate":"2022-07-22 11:05:22" +// }],"tableName":"organization","primaryKey":"orgId"}],"key":"svcCont"} + /**** + * + * @param jsonArray + * @return + */ + public void updasteSysOrgData(JSONArray jsonArray,String tableName){ + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String nowDateTime = sdf.format(new Date()); + + for(int i=0;i dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","更新部门SQL语句执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else if("D".equalsIgnoreCase(actType)) + { + canceled = "1"; + + int hrmResourceCount = 0 ; + String queryHrmResourceSql = " select id from hrmresource where departmentid = ? and status !=5 " ; + rs.executeQuery(queryHrmResourceSql,new Object[]{deptid}); + if(rs.next()){ + hrmResourceCount++; + } + + if(hrmResourceCount == 0 ){ + String deptUpdateSql = " update hrmdepartment set departmentmark=?,departmentname=?,canceled=?," + + " subcompanyid1=?,showorder=?, supdepid=? where departmentcode=? "; + bb.writeLog("deptUpdateSql:"+deptUpdateSql); + boolean flag = rs.executeUpdate(deptUpdateSql,new Object[]{departmentmark,departmentmark,canceled,subcompanyid1,orgId,supdepid,orgCode}); + bb.writeLog("flag:"+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","封存部门SQL语句执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + + } + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","部门在系统中已存在,操作类型为A"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + if("A".equalsIgnoreCase(actType)) + { + String deptInsertSql = " insert into hrmdepartment(departmentmark,departmentname,departmentcode,subcompanyid1,supdepid,showorder) values(?,?,?,?,?,?) "; + bb.writeLog("deptInsertSql:"+deptInsertSql); + boolean flag = rs.executeUpdate(deptInsertSql,new Object[]{departmentmark,departmentmark,orgCode,subcompanyid1,supdepid,orgId}); + bb.writeLog("flag:"+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","新增部门SQL语句执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","部门在系统中不存在,操作类型为M或者D"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","部门所属分部在系统为空"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }catch (Exception e){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","部门异常:"+e.getMessage()); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + } + +// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode": +// "70300100030001","requestObject":[{"content":[{"sysUserRoleId":"23444","updateDate":"2022-07-22 11:08:33", +// "systemInfoCode":"TYMH","sysRoleId":"17013","statusCd":"1000", +// "systemInfoId":"727001","operType":"1000", +// "systemUserCode":"finaceManager", +// "expDate":"2120-01-01 00:00:00","orgId":"17012", +// "createStaff":"1","effDate":"2022-07-21 10:17:51", +// "systemUserName":"financeManager", +// "orgCode":"testOrg722","roleCode":"orgManager","manageClass":"1000","roleName":"orgManager", +// "actType":"A","sysUserId":"20047","createDate":"2022-07-22 11:08:33"}], +// "tableName":"system_user_role","primaryKey":"sysUserRoleId"}],"key":"svcCont"} + + // {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001", +// "requestObject":[{"content":[{"sysUserRoleId":"23503","updateDate":"2022-07-27 09:32:48","systemInfoCode":"TYMH", +// "hisId":"20182","sysRoleId":"17015","statusCd":"1100","hasUserRole":false,"systemInfoId":"727001", +// "operType":"1000","systemUserCode":"testQian722","expDate":"2120-01-01 00:00:00","orgId":"2","createStaff":"1", +// "effDate":"2022-07-25 13:59:59","systemUserName":"testQian722","orgCode":"2","roleCode":"testQian722", +// "manageClass":"1000","roleName":"testQian722","actType":"D","sysUserId":"20055", +// "createDate":"2022-07-25 15:43:24","updateStaff":"1"}],"tableName":"system_user_role", +// "primaryKey":"sysUserRoleId"}],"key":"svcCont"} + + + //{"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001", + // "requestObject":[{"content":[{"sysUserRoleId":"24031","updateDate":"2022-08-09 10:26:15","systemInfoCode":"TYMH", + // "sysRoleId":"17020","statusCd":"1000","systemInfoId":"727001","systemUserCode":"weaver12", + // "expDate":"2120-01-01 00:00:00","orgId":"11205","createStaff":"1","effDate":"2022-08-09 10:26:16", + // "systemUserName":"weaver12","orgCode":"GTR000593","roleCode":"weaver role","manageClass":"1000", + // "roleName":"weaver role","actType":"A","sysUserId":"20104","createDate":"2022-08-09 10:26:15"}], + // "tableName":"system_user_role","primaryKey":"sysUserRoleId"}],"key":"svcCont"} + + +// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001", +// "requestObject":[{"content":[{"sysUserRoleId":"32411","updateDate":"2022-10-24 19:10:40", +// "systemInfoCode":"TYMH","hisId":"30145","sysRoleId":"23005", +// "statusCd":"1100","hasUserRole":false,"systemInfoId":"727001", +// "systemUserCode":"weaver44","expDate":"2120-01-01 00:00:00","orgId":"17012","createStaff":"1", +// "effDate":"2022-10-24 19:10:11","systemUserName":"weaver44", +// "orgCode":"testOrg722","roleCode":"TestRole02","manageClass":"1000", +// "roleName":"TestRole02","actType":"D","sysUserId":"28025","createDate":"2022-10-24 19:10:19", +// "updateStaff":"1"}],"tableName":"system_user_role","primaryKey":"sysUserRoleId"}],"key":"svcCont"} + + /*** + * + * @param jsonArray + */ + public void updateSystemUserRoleData(JSONArray jsonArray,String tableName) { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String nowDateTime = sdf.format(new Date()); + + String rolelevel = "2" ; //总部=2;分部=1;部门=0 + String resourcetype = "1"; //1=人力资源 + + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + + for (int i = 0; i < jsonArray.size(); i++) + { + JSONObject jsonObject = jsonArray.getJSONObject(i); + String systemInfoCode = Util.null2String(jsonObject.get("systemInfoCode")); + if("PC_OA".equalsIgnoreCase(systemInfoCode)) + { + String roleCode = Util.null2String(jsonObject.get("roleCode")).replace(" ", ""); + String roleName = Util.null2String(jsonObject.get("roleName")); + + String systemUserCode = Util.null2String(jsonObject.get("systemUserCode")); + String systemUserName = Util.null2String(jsonObject.get("systemUserName")); + + String actType = Util.null2String(jsonObject.get("actType")); + String statusCd = Util.null2String(jsonObject.get("statusCd")); + bb.writeLog("statusCd:" + statusCd + " actType:" + actType); + + try { + + String userId = ""; + String roleId = ""; + + if (StringUtils.isNotEmpty(systemUserCode)) { + String sql = " select id from hrmresource where loginid=?"; + rs.executeQuery(sql, new Object[]{systemUserCode}); + if (rs.next()) { + userId = Util.null2String(rs.getString("id")); + } + } + + if(StringUtils.isNotEmpty(roleCode)) { + + String queryRoleIdSql = "select id from hrmroles where ecology_pinyin_search=?"; + rs.executeQuery(queryRoleIdSql, new Object[]{roleCode}); + if (rs.next()) { + roleId = rs.getString("id"); + } + } + bb.writeLog("userId:" + userId + " roleId:" + roleId); + + if (StringUtils.isNotEmpty(userId) && StringUtils.isNotEmpty(roleId)) { + //查看是否已存在角色用户关系 + String releationId = ""; + String ifExistSql = "select id from hrmrolemembers where roleid=? and resourceid=?"; + rs.executeQuery(ifExistSql,new Object[]{roleId, userId}); + if (rs.next()) { + releationId = rs.getString("id"); + } + bb.writeLog("userId:" + userId + " roleId:" + roleId + "releationId:" + releationId); + if (StringUtils.isNotEmpty(releationId)) { + if ("D".equals(actType)) { + String delHrmrolemembersSql = " delete from hrmrolemembers where id = ?"; + boolean flag = rs.executeUpdate(delHrmrolemembersSql, releationId); + bb.writeLog("delHrmrolemembersSql : " + flag); + if (!flag) { + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员新增失败"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员系统已存在,操作类型为A或者M"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } else { + if ("A".equals(actType)) { + String insertHrmrolemembersSql = "insert into hrmrolemembers(roleid,resourceid,rolelevel,resourcetype,uuid) values(?,?,?,?,?)"; + boolean flag = rs.executeUpdate(insertHrmrolemembersSql, new Object[]{roleId, userId, rolelevel, resourcetype, UUID.randomUUID().toString()}); + bb.writeLog("insertHrmrolemembersSql : " + flag); + if (!flag) { + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员新增失败"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员系统不存在,操作类型为M或者D"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员角色数据,人员或者角色系统不存在"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } catch (Exception e) { + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员异常:"+e.getMessage()); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + } + } + + + //{"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001", +// "requestObject":[{"content":[{"updateDate":"2022-07-27 09:32:48","systemInfoCode":"TYMH","relType":"1100","orgId":"2", +// "sysUserPostId":"123089","orgType":"1000","systemUserName":"testQian722","orgCode":"2","postName":"testXiao", +// "staffName":"testQian722","actType":"D","sysUserId":"20055","createDate":"2022-07-25 15:43:24","defaultFlag":"0", +// "staffCode":"testQian722","orgName":"Default Branch 1","sysPostId":"18007","hisId":"322425", +// "statusCd":"1100","systemInfoId":"727001","systemUserCode":"testQian722","createStaff":"1", +// "postCode":"testXiao","staffId":22021,"updateStaff":"1"}],"tableName":"system_user_post", +// "primaryKey":"sysUserPostId"}],"key":"svcCont"} + + /*** + * + * @param jsonArray + */ + public void updateSystemUserPostData(JSONArray jsonArray,String tableName) { + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String nowDateTime = sdf.format(new Date()); + + for (int i = 0; i < jsonArray.size(); i++) { + + JSONObject jsonObject = jsonArray.getJSONObject(i); + + String postCode = Util.null2String(jsonObject.get("postCode")); + String systemUserCode = Util.null2String(jsonObject.get("systemUserCode")); + String orgCode = Util.null2String(jsonObject.get("orgCode")); + + String actType = Util.null2String(jsonObject.get("actType")); + String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间 + String updateStaff = Util.null2String(jsonObject.get("updateStaff")); + if(StringUtils.isEmpty(updateStaff)){ + updateStaff = "1"; + } + + String userId = ""; + String jobtitlesId = ""; + String departmentId = ""; + + try { + if(StringUtils.isNotEmpty(orgCode)){ + String querDepartmentIdSql = " select id from hrmdepartment where departmentcode=? "; + bb.writeLog("querDepartmentIdSql:"+querDepartmentIdSql); + rs.executeQuery(querDepartmentIdSql,new Object[]{orgCode}); + if (rs.next()){ + departmentId = rs.getString("id"); + } + } + if(StringUtils.isNotEmpty(departmentId) && StringUtils.isNotEmpty(systemUserCode)) + { + String sql = " select id from hrmresource where workcode=? and departmentid = ?"; + bb.writeLog("sql:" + sql); + rs.executeQuery(sql, new Object[]{systemUserCode, departmentId}); + if (rs.next()) { + userId = Util.null2String(rs.getString("id")); + } + } + if(StringUtils.isNotEmpty(postCode)) { + String queryRoleIdSql = " select id from hrmjobtitles where jobtitlecode=? "; + bb.writeLog("queryRoleIdSql:" + queryRoleIdSql); + rs.executeQuery(queryRoleIdSql, new Object[]{postCode}); + if (rs.next()) { + jobtitlesId = rs.getString("id"); + } + } + bb.writeLog("jobtitlesId:"+jobtitlesId); + + if(StringUtils.isNotEmpty(jobtitlesId) && StringUtils.isNotEmpty(userId)) + { + if("A".equals(actType) || "M".equals(actType)) + { + String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? "; + bb.writeLog("updateUserJobSql:"+updateUserJobSql); + boolean flag = rs.executeUpdate(updateUserJobSql,new Object[]{jobtitlesId,currentDateTime,updateStaff,userId}); + bb.writeLog(" updateUserJobFlag: "+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","更新人员岗位sql执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else if("D".equals(actType)){ + jobtitlesId = "" ; + String updateUserJobSql = " update hrmresource set jobtitle=?,modified=?,modifier=? where id=? "; + bb.writeLog("updateUserJobSql:"+updateUserJobSql); + boolean flag = rs.executeUpdate(updateUserJobSql,new Object[]{jobtitlesId,currentDateTime,updateStaff,userId}); + bb.writeLog(" updateUserJobFlag: "+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","删除人员岗位sql执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员岗位中岗位或者人员ID在系统中不存在"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }catch (Exception e){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员岗位异常:"+e.getMessage()); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + } + +// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001", +// "requestObject":[{"content":[{"updateDate":"2022-08-09 10:24:01", +// "systemInfoCode":"TYMH","regionNbr":"TST_PR_CSS","sysRoleId":"17020", +// "sysRoleName":"weaver role","statusCd":"1000","systemInfoId":"727001","sysRoleCode":"weaver role", +// "createStaff":"1","regionId":"36","sysRoleType":"1000","actType":"A","createDate":"2022-08-09 10:24:01"}], +// "tableName":"system_roles","primaryKey":"sysRoleId"}],"key":"svcCont"} + + +// {"updateDate":"2022-08-09 10:24:01", +// "systemInfoCode":"TYMH","regionNbr":"TST_PR_CSS","sysRoleId":"17020", +// "sysRoleName":"weaver role","statusCd":"1000","systemInfoId":"727001","sysRoleCode":"weaver role", +// "createStaff":"1","regionId":"36","sysRoleType":"1000","actType":"A","createDate":"2022-08-09 10:24:01"} + +// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"}, +// "svcCode":"70300100030001","requestObject":[{"content":[{"updateDate":"2022-07-27 11:04:19","systemInfoCode": +// "TYMH","regionNbr":"TST_PR_CSS","sysRoleId":"17016","sysRoleName":"role727", +// "statusCd":"1000","sysRoleDesc":"test727","systemInfoId":"727001","sysRoleCode":"role727", +// "createStaff":"1","regionId":"36","sysRoleType":"1000","actType":"A","createDate":"2022-07-27 11:04:19"}], +// "tableName":"system_roles","primaryKey":"sysRoleId"}],"key":"svcCont"} + + /*** + * + * @param jsonArray + */ + public void updasteSysRoleData(JSONArray jsonArray,String tableName) { + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String nowDateTime = sdf.format(new Date()); + + String type = "0"; + String subcompanyid = "0" ; + + for (int i = 0; i < jsonArray.size(); i++) + { + JSONObject jsonObject = jsonArray.getJSONObject(i); + + //角色标识 + String sysRoleCode = Util.null2String(jsonObject.get("sysRoleCode")).replace(" ",""); + //角色名称 + String sysRoleName = Util.null2String(jsonObject.get("sysRoleName")); + //状态1000 有效,1100 无效 + String statusCd = Util.null2String(jsonObject.get("statusCd")); + //角色描述 +// String sysRoleDesc = Util.null2String(jsonObject.get("sysRoleDesc")); + //角色类型1100:管理角色,1000:普通角色 + String sysRoleType = Util.null2String(jsonObject.get("sysRoleType")); + //A:新增,M:修改 + String actType = Util.null2String(jsonObject.get("actType")); + + + bb.writeLog("sysRoleName:"+sysRoleName); + bb.writeLog("sysRoleCode:"+sysRoleCode); + +// String rolesmark = "~`~`7 "+sysRoleName+"`~`8 "+sysRoleName+"`~`~" ; +// String rolesname = "~`~`7 "+sysRoleName+"`~`8 "+sysRoleName+"`~`~" ; + + String rolesmark = sysRoleName ; + String rolesname = sysRoleName ; + + bb.writeLog("rolesmark:"+rolesmark); + bb.writeLog("rolesname:"+rolesname); + + String systemInfoCode = Util.null2String(jsonObject.get("systemInfoCode")); + if("PC_OA".equalsIgnoreCase(systemInfoCode)){ + String uuid = UUID.randomUUID().toString(); + String rolesid = ""; + try{ + if(StringUtils.isNotEmpty(sysRoleCode)){ + String queryRoleSql = "select id from hrmroles where ecology_pinyin_search=?"; + rs.executeQuery(queryRoleSql,new Object[]{sysRoleCode}); + bb.writeLog(queryRoleSql); + if (rs.next()){ + rolesid = rs.getString("id"); + } + } + bb.writeLog("rolesid:"+rolesid); + if (StringUtils.isNotEmpty(rolesid)){ + if ("M".equals(actType)) { //修改 + String updateHrmrolesSql = " update hrmroles set rolesmark=?,rolesname=? where id=?"; + boolean flag = rs.executeUpdate(updateHrmrolesSql, new Object[]{sysRoleName, sysRoleName, rolesid}); + bb.writeLog("updateHrmroles : " + flag); + if (!flag) { + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统角色更新SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else if("D".equals(actType)) { + int membercount = 0; + String queryHrmRolesSql = " select id from hrmrolemembers where roleid = ?"; + rs.executeQuery(queryHrmRolesSql,new Object[]{rolesid}); + while (rs.next()){ + membercount++; + } + if(membercount == 0){ + String deleteHrmRolesSql = " delete from hrmroles where id = ?"; + boolean flag = rs.executeUpdate(deleteHrmRolesSql,rolesid); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统角色删除SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统角色存在角色成员,无法删除系统角色"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","角色成员系统已存在,操作类型为A"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else { + if ("A".equals(actType)){ //新增 + String insertHrmrolesSql = " insert into hrmroles(rolesmark,rolesname,type,subcompanyid,ecology_pinyin_search,uuid) values(?,?,?,?,?,?)"; + boolean flag = rs.executeUpdate(insertHrmrolesSql,new Object[]{rolesmark,rolesname,type,subcompanyid,sysRoleCode, uuid}); + bb.writeLog("insertHrmroles : "+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","新增系统角色SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统角色系统不存在,操作类型为M或者D"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + }catch (Exception e){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统角色:"+e.getMessage()); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + } + } + + + //{"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001", + // "requestObject":[{"content":[{"updateDate":"2022-07-27 11:04:39","orgName":"Vivia","regionNbr":"TST_PR_CSS", + // "initFlag":"0","sysPostId":"18008","statusCd":"1000","systemInfoId":"727001", + // "sysPostType":"1000","orgId":"1","createStaff":"1","regionId":"36","orgCode":"LNP000001","sysPostCode":"position727", + // "actType":"A","sysPostDesc":"test727","sysPostName":"position727","createDate":"2022-07-27 11:04:39"}], + // "tableName":"system_post","primaryKey":"sysPostId"}],"key":"svcCont"} + +// {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001", +// "requestObject":[{"content":[{"updateDate":"2022-07-19 00:51:32", +// "orgName":"Default Company","regionNbr":"1","initFlag":"0", +// "sysPostId":"6006","statusCd":"1000","systemInfoId":"727001", +// "sysPostType":"1000","orgId":"1","createStaff":"1","regionId":"731","orgCode":"1", +// "sysPostCode":"CASH_ADMIN","actType":"M","sysPostDesc":"CASH_ADMIN","sysPostName":"CASH_ADMIN", +// "createDate":"2020-11-13 11:02:11","updateStaff":"1"}],"tableName":"system_post","primaryKey":"sysPostId"}],"key":"svcCont"} + + + /*** + * + * @param jsonArray + */ + public void updasteSysPostData(JSONArray jsonArray,String tableName) { + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String nowDateTime = sdf.format(new Date()); + + String creater ="1"; + String modifier = "1" ; + String created = TimeUtil.getCurrentTimeString() ; + String modified = TimeUtil.getCurrentTimeString() ; + + for (int i = 0; i < jsonArray.size(); i++) + { + JSONObject jsonObject = jsonArray.getJSONObject(i); + //系统岗位编码 + String sysPostType = Util.null2String(jsonObject.get("sysPostType")); + if("1300".equals(sysPostType)) + { + String sysPostCode = Util.null2String(jsonObject.get("sysPostCode")); + //系统岗位名称 + String sysPostName = Util.null2String(jsonObject.get("sysPostName")); + //部门编码 + String orgCode = Util.null2String(jsonObject.get("orgCode")); + //系统岗位状态1000 有效 1100 无效 + String statusCd = Util.null2String(jsonObject.get("statusCd")); + //修改时间 + String updateDate = Util.null2String(jsonObject.get("updateDate")); + //修改人 + String updateStaff = Util.null2String(jsonObject.get("updateStaff")); + //创建时间 + String createDate = Util.null2String(jsonObject.get("createDate")); + //创建人 + String createStaff = Util.null2String(jsonObject.get("createStaff")); + //A:新增,M:修改 + String actType = Util.null2String(jsonObject.get("actType")); + + //String allname = "~`~`7 " + sysPostName + "`~`8 " + sysPostName + "`~`~"; + + String jobtitlemark = sysPostName; + String jobtitlename = sysPostName; + + try { + String departmentId = ""; + if(StringUtils.isNotEmpty(orgCode)){ + String querDepartmentIdSql = "select id from hrmdepartment where departmentcode=?"; + rs.executeQuery(querDepartmentIdSql, new Object[]{orgCode}); + if (rs.next()) { + departmentId = rs.getString("id"); + } + } + + String groupsid = ""; + String jobgroupname = "DITO_MSS_LEADERSHIP"; + String sql = " select * from hrmjobgroups where jobgroupname like '%"+jobgroupname+"%'"; + rs.executeQuery(sql); + if (rs.next()) { + groupsid = Util.null2String(rs.getString("id")); + } + + String jobactivitiesid = ""; + String jobactivityname = "MSS_LEADERSHIP"; + if (StringUtils.isNotEmpty(groupsid) && StringUtils.isNotEmpty(jobactivityname)) { + sql = " select id from hrmjobactivities where jobgroupid = ? and jobactivityname like '%" + jobactivityname + "%'"; + rs.executeQuery(sql, new Object[]{groupsid}); + if (rs.next()) { + jobactivitiesid = Util.null2String(rs.getString("id")); + } + } + + String jobtitleid = ""; + if (StringUtils.isNotEmpty(jobactivitiesid)) + { + String queryRoleSql = " select id from hrmjobtitles where jobtitlecode =? and jobactivityid = ?"; + rs.executeQuery(queryRoleSql, new Object[]{sysPostCode, jobactivitiesid}); + if (rs.next()) { + jobtitleid = rs.getString("id"); + } + } + + if (StringUtils.isNotEmpty(jobtitleid)) + { + if ("M".equals(actType)) { //修改 + String updateHrmjobactivitiesSql = "update hrmjobtitles set jobtitlemark=?,jobtitlename=?,modified=?,modifier=? where id=?"; + boolean flag = rs.executeUpdate(updateHrmjobactivitiesSql, new Object[]{jobtitlemark, jobtitlename, modified, modifier, jobtitleid}); + bb.writeLog("insertHrmjobactivitiesSql flag:" + flag); + if (!flag) { + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统岗位更新SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } else if ("D".equals(actType)) { + String canceled = "1"; + String updateHrmjobactivitiesSql = "update hrmjobtitles set jobtitlemark=?,jobtitlename=?,modified=?,modifier=?,canceled = ? where id=?"; + boolean flag = rs.executeUpdate(updateHrmjobactivitiesSql,new Object[]{jobtitlemark, jobtitlename, modified, modifier, canceled, jobtitleid}); + bb.writeLog("insertHrmjobactivitiesSql flag:" + flag); + if (!flag) { + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统岗位封存SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统岗位系统已存在,操作类型为A"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + if ("A".equals(actType)) { //新增 + String uuid = UUID.randomUUID().toString(); + String insertHrmjobactivitiesSql = " insert into hrmjobtitles(jobtitlemark,jobtitlename,jobactivityid,jobdepartmentid,jobtitlecode,created,creater,modified,modifier,uuid) values(?,?,?,?,?,?,?,?,?,?)"; + boolean flag = rs.executeUpdate(insertHrmjobactivitiesSql, new Object[]{jobtitlemark, jobtitlename, jobactivitiesid, departmentId, sysPostCode, created, creater, modified, modifier, uuid}); + bb.writeLog("insertHrmjobactivitiesSql flag:" + flag); + if (!flag) { + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统岗位新增SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统岗位系统不存在,操作类型为D或者M"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + }catch (Exception e) { + + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","系统角色:"+e.getMessage()); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + + } + } + } + } + + + // {"authenticationInfo":{"sysUserPostId":"37484","sysUserId":"1","key":"authenticationInfo"},"svcCode":"70300100030001", + // "requestObject":[{"content":[{"statusDate":"2022-08-09 09:47:54","updateDate":"2022-08-09 09:47:54", + // "staffCode":"fanweiceshi12","orgName":"yhwgfz","regionNbr":"TST_PR_CSS", + // "staffAccount":"fanweiceshi12","statusCd":"1000","staffType":"1000","orgId":"11205","createStaff":"1", + // "eMail":"123453243132312","mobilePhone":"44553321","commonRegionId":"36","orgCode":"GTR000593", + // "staffName":"fanweiceshi12","actType":"A","sysUserId":20102,"partyId":"-1","staffId":"22061", + // "createDate":"2022-08-09 09:47:54","updateStaff":"1"}],"tableName":"staff","primaryKey":"staffId"}],"key":"svcCont"} + + public void updateStaffData(JSONArray jsonArray,String tableName){ + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String nowDateTime = sdf.format(new Date()); + + String locationid = "2" ; + String seclevel = "20" ; + String createrid = "1" ; + String lastmodid = "1" ; + String creator = "1"; + String systemlanguage = "8" ; + String pwd = "1"; + String password = DigestUtils.md5Hex(pwd).toUpperCase(); //MD5加密 + bb.writeLog("password:"+password); + String scopeid = "-1"; + String scope = "HrmCustomFieldByInfoType" ; + + String cus_staff = PropBean.getUfPropValue("cus_staff") ; + String cus_eid = PropBean.getUfPropValue("cus_eid") ; + + + String currentDate = TimeUtil.getCurrentDateString();//当前日期 + String currentDateTime = TimeUtil.getCurrentTimeString(); //当前时间 + bb.writeLog("currentDate:"+currentDate); + + String jobTitleId = "" ; + String defaultJobCode = PropBean.getUfPropValue("defaultJobCode"); + if(StringUtils.isNotEmpty(defaultJobCode)){ + String sql = " select id from hrmjobtitles where jobtitlecode = ?" ; + rs.executeQuery(sql,new Object[]{defaultJobCode}); + if(rs.next()){ + jobTitleId = Util.null2String(rs.getString("id")); + } + } + + for(int i=0;i dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员更新SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else if("D".equals(actType)){ + status = "5"; + String userUpdateSql = " update hrmresource set status=? where workcode=? "; + bb.writeLog("userUpdateSql:"+userUpdateSql); + boolean flag = rs.executeUpdate(userUpdateSql,new Object[]{status,staffCode}); + bb.writeLog("flag:"+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员离职SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员在系统中已存在,操作类型为A"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }else{ + if("A".equalsIgnoreCase(actType)) + { + rs.executeProc("HrmResourceMaxId_Get", ""); + rs.next(); + String id = "" + rs.getInt(1); + bb.writeLog("id:"+id); + + if(StringUtils.isNotEmpty(id)) + { + String userInsertSql = " insert into hrmresource(id,loginid,password,workcode,lastname,departmentid,subcompanyid1," + + "creater,email,mobile,jobtitle,status,dsporder,systemlanguage,createdate,lastmoddate,created,modified," + + "locationid,seclevel,createrid,lastmodid) " + + " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + bb.writeLog("userInsertSql:"+userInsertSql); + boolean flag = rs.executeUpdate(userInsertSql,new Object[]{id,staffCode,password,staffCode,lastname,deptId,subcompanyid1, + creator,email,pwdSmsTel,jobTitleId,status,loginedNum,systemlanguage,currentDate,currentDate,currentDateTime,currentDateTime, + locationid,seclevel,createrid,lastmodid}); + bb.writeLog("flag:"+flag); + if(!flag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员新增SQL执行错误"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员系统中不存在,操作类型为M或者D"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + + + if(StringUtils.isNotEmpty(userid)) + { + String seqorder = "" ; + rs.executeQuery(" select seqorder from cus_fielddata where scopeid=? and id=? ",new Object[]{scopeid,userid} ); + if(rs.next()){ + seqorder = Util.null2String(rs.getString("seqorder")); + } + if (StringUtils.isNotEmpty(seqorder)) { + String cusUpdateSql = " update cus_fielddata set "+cus_staff+"=?,"+cus_eid+"=? where scope=? and scopeid=? and id=?"; + bb.writeLog(cusUpdateSql); + boolean deflag = rs.executeUpdate(cusUpdateSql, new Object[]{staffId, eId, scope,scopeid,userid}); + if(!deflag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","更新人员自定义信息失败"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } else { + String cusInsertSql = " insert into cus_fielddata(scope,scopeid,id,"+cus_staff+","+cus_eid+") values(?,?,?,?,?)"; + bb.writeLog(cusInsertSql); + boolean deflag = rs.executeUpdate(cusInsertSql, new Object[]{scope, scopeid, userid, staffId, eId}); + if(!deflag){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","新增人员自定义信息失败"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + } + }else{ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人员所属部门为空"); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + }catch (Exception e){ + Map dataMap = new HashMap(); + dataMap.put("syndate",nowDateTime); + dataMap.put("reqmessage",jsonObject.toJSONString()); + dataMap.put("errmessage","人力资源异常:"+e.getMessage()); + dataMap.put("systable",tableName); + recordErrorData(dataMap); + } + } + } + + + /*** + * + */ + public void recordErrorData(Map dataMap){ + + String uftable = "uf_orgmq" ; + RecordSet rs = new RecordSet(); + BaseBean bb = new BaseBean(); + ModeRightInfo mode=new ModeRightInfo(); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");//当前时间日期 + SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss"); + + int formmodeid = 0 ; + String modedatacreater = "1" ; + String modedatacreatertype = "0" ; + String modedatacreatedate = sdf1.format(new Date()); + String modedatacreatetime = sdf2.format(new Date()); + String uuid = UUID.randomUUID().toString(); + + try { + + String sql =" select k.id from modeinfo k \n" + + " inner join workflow_bill l on formid = l.id\n" + + " where l.tablename = ? " ; + rs.executeQuery(sql,new Object[]{uftable}); + if(rs.next()){ + formmodeid = Util.getIntValue(Util.null2String(rs.getString("id"))); + } + + String syndate = Util.null2String(dataMap.get("syndate")); + String reqmessage = Util.null2String(dataMap.get("reqmessage")); + String errmessage = Util.null2String(dataMap.get("errmessage")); + String systable = Util.null2String(dataMap.get("systable")); + + int bool = 0; + sql =" insert into "+uftable+"(uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,syndate,reqmessage,errmessage,systable)" + + " values(?,?,?,?,?,?,?,?,?,?)" ; + boolean flag = rs.executeUpdate(sql,new Object[]{uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,syndate,reqmessage,errmessage,systable}); + bb.writeLog("sql;"+sql); + if(flag){ + bool++; + } + bb.writeLog("bool;"+bool); + if(bool>0) + { + String dataid = ""; + sql = " select * from "+uftable+" where uuid=? "; + bb.writeLog("sql:" + sql); + rs.executeQuery(sql,new Object[]{uuid}); + if (rs.next()) { + dataid = Util.null2String(rs.getString("id")); + } + bb.writeLog("sql:" + sql); + bb.writeLog("dataid:" + dataid); + bb.writeLog("modeid:" + formmodeid); + if (StringUtils.isNotEmpty(dataid)) + { + mode.setNewRight(true); + mode.editModeDataShare(Integer.valueOf(modedatacreater), formmodeid, Integer.parseInt(dataid)); + } + } + }catch (Exception e){ + bb.writeLog("e:"+e); + } + } + + /*** + * 更新系统组织换成 + */ + public void removeCache(){ + ResourceComInfo resComInfo; + DepartmentComInfo deptComInfo; + try { + resComInfo = new ResourceComInfo(); + resComInfo.removeResourceCache(); + deptComInfo = new DepartmentComInfo(); + deptComInfo.removeCompanyCache(); + } catch (Exception e) { + new BaseBean().writeLog(e); + } + } + +}