#EC-HJ-17# 提交更新代码
parent
ad6bfb2c01
commit
2cea3c24de
@ -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();
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue