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","更新人员自定义信息失败"); + 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);