Merge branch 'main' into feature-LeeD-20221025
# Conflicts: # src/weaver/interfaces/mq/RocketmqUtil.javafeature-LeeD-20221025
commit
ba69494d15
@ -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);
|
|
||||||
|
|
||||||
}
|
|
@ -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<Element> 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);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
@ -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<Map<String,String>> list = new ArrayList<Map<String,String>>();
|
||||||
|
Map<String,String> 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, String>();
|
||||||
|
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<list.size();i++)
|
||||||
|
{
|
||||||
|
Map<String,String> 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<String> deptList = new ArrayList<String>();
|
||||||
|
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<String> deptList,String deptid){
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
List<String> depList = new ArrayList<String>();
|
||||||
|
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<depList.size();i++)
|
||||||
|
{
|
||||||
|
String depid = depList.get(i);
|
||||||
|
if(StringUtils.isNotEmpty(depid) && !deptList.contains(depid)){
|
||||||
|
deptList.add(depid);
|
||||||
|
getRecursiveInfo(deptList,depid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
GCONST.setRootPath("WEB-INF/");
|
||||||
|
GCONST.setServerName("ecology");
|
||||||
|
DeptManagerCronJobNew DeptManagerCronJobNew = new DeptManagerCronJobNew();
|
||||||
|
DeptManagerCronJobNew.updateDeptManagerData();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue