no message

master
rengp 1 year ago
parent 749c30c590
commit eed0970f0b

@ -2,12 +2,9 @@ package com;
import com.engine.util.XMLUtils;
import java.io.*; import java.io.*;
import java.net.Socket; import java.net.Socket;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Map;
public class Client { public class Client {
// public static final int port = 8090; // public static final int port = 8090;

@ -9,7 +9,7 @@ import com.engine.web.Avatar.Avatar;
import javax.ws.rs.Path; import javax.ws.rs.Path;
@Path("/avatar") // @Path("/avatar")
public class TJBKAvatarWeb extends Avatar { public class TJBKAvatarWeb extends Avatar {
} }

@ -47,9 +47,9 @@ public class TJBKYearReport {
// return JSONObject.toJSONString(new Result(500,"人员id为空")); // return JSONObject.toJSONString(new Result(500,"人员id为空"));
// } // }
String sql = "select * from uf_personreport where ry = ? and nd = ? order by id desc"; String sql = "select * from uf_personreport where ry = ? and nd = ? order by id desc";
LocalDate now = LocalDate.now(); // LocalDate now = LocalDate.now();
int year = now.getYear(); // int year = now.getYear();
recordSet.executeQuery(sql,userId,year); recordSet.executeQuery(sql,userId,2023);
HashMap<String, String> firstMap = new HashMap<>(); HashMap<String, String> firstMap = new HashMap<>();
String inputDateStr = "2023-08-07"; String inputDateStr = "2023-08-07";
@ -99,12 +99,14 @@ public class TJBKYearReport {
sixthMap.put("qnljclgw",Util.null2String(recordSet.getString("qnljclgw"))); sixthMap.put("qnljclgw",Util.null2String(recordSet.getString("qnljclgw")));
sixthMap.put("cgbl",Util.null2String(recordSet.getString("cgbl"))); sixthMap.put("cgbl",Util.null2String(recordSet.getString("cgbl")));
sixthMap.put("dycclgwrq",Util.null2String(recordSet.getString("dycclgwrq"))); sixthMap.put("dycclgwrq",Util.null2String(recordSet.getString("dycclgwrq")));
sixthMap.put("clgwzwrq",Util.null2String(recordSet.getString("clgwzwrq")));
seventhMap.put("ljsyslcs",Util.null2String(recordSet.getString("ljsyslcs"))); seventhMap.put("ljsyslcs",Util.null2String(recordSet.getString("ljsyslcs")));
seventhMap.put("qgzydf",Util.null2String(recordSet.getString("qgzydf"))); seventhMap.put("qgzydf",Util.null2String(recordSet.getString("qgzydf")));
seventhMap.put("swsplcgs",Util.null2String(recordSet.getString("swsplcgs"))); seventhMap.put("swsplcgs",Util.null2String(recordSet.getString("swsplcgs")));
seventhMap.put("nddjlzgyy",Util.null2String(recordSet.getString("nddjlzgyy"))); seventhMap.put("nddjlzgyy",Util.null2String(recordSet.getString("nddjlzgyy")));
seventhMap.put("ljdjcs",Util.null2String(recordSet.getString("ljdjcs"))); seventhMap.put("ljdjcs",Util.null2String(recordSet.getString("ljdjcs")));
seventhMap.put("zaydyy",Util.null2String(recordSet.getString("zaydyy"))); seventhMap.put("zaydyy",Util.null2String(recordSet.getString("zaydyy")));
seventhMap.put("ljsycs",Util.null2String(recordSet.getString("ljsycs")));
eighthMap.put("pjmrzxrs",Util.null2String(recordSet.getString("pjmrzxrs"))); eighthMap.put("pjmrzxrs",Util.null2String(recordSet.getString("pjmrzxrs")));
eighthMap.put("pjmrzxrszb",Util.null2String(recordSet.getString("pjmrzxrszb"))); eighthMap.put("pjmrzxrszb",Util.null2String(recordSet.getString("pjmrzxrszb")));
eighthMap.put("ljdloacs",Util.null2String(recordSet.getString("ljdloacs"))); eighthMap.put("ljdloacs",Util.null2String(recordSet.getString("ljdloacs")));

@ -0,0 +1,413 @@
package com.customization.ProxyRequestForm;
import com.alibaba.fastjson.JSONObject;
import com.engine.core.cfg.annotation.CommandDynamicProxy;
import com.engine.core.cfg.annotation.ServiceDynamicProxy;
import com.engine.core.cfg.annotation.ServiceMethodDynamicProxy;
import com.engine.core.impl.aop.AbstractServiceProxy;
import com.engine.core.interceptor.AbstractCommandProxy;
import com.engine.core.interceptor.Command;
import com.engine.workflow.cmd.requestForm.GetRightMenuCmd;
import com.engine.workflow.constant.menu.SystemMenuType;
import com.engine.workflow.constant.requestForm.RequestMenuType;
import com.engine.workflow.entity.requestForm.AutoApproveEntity;
import com.engine.workflow.entity.requestForm.RightMenu;
import com.engine.workflow.service.RequestFormService;
import com.engine.workflow.service.RequestService;
import com.engine.workflow.service.impl.RequestFormServiceImpl;
import com.wbi.util.ParamUtil;
import lombok.extern.log4j.Log4j;
import lombok.extern.log4j.Log4j2;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import weaver.workflow.request.RequestManager;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* <Description> <br>
* @author han.mengyu <br>
* @version 1.0 <br>
* @createDate 2021/12/29 <br>
*/
@ServiceDynamicProxy(target = RequestFormServiceImpl.class, desc = "移动端小号拦截小红点")
@Slf4j
public class ProxyRequestFormServiceImpl extends AbstractServiceProxy implements RequestFormService {
@Override
@ServiceMethodDynamicProxy(desc="移动端小号拦截小红点")
public Map<String, Object> updateReqInfo(HttpServletRequest httpServletRequest) {
String loginidweaver = getCookie(httpServletRequest, "loginidweaver");
log.info("loginidweaver==>{}",loginidweaver);
Map paramMap = ParamUtil.request2Map(httpServletRequest);
log.info("paramMap==>{}",paramMap);
//此id为小号//不请求已读接口
if(loginidweaver.length() == 8 && "1".equals(paramMap.get("ismobile"))){
return null;
}else {
executeMethod(httpServletRequest);
}
return null;
}
private String getCookie(HttpServletRequest request,String name){
try {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if(name.equals(cookie.getName())){
return Util.null2String(cookie.getValue());
}
}
}
}catch (Exception e){
log.error("getCookieError:{}",e.getMessage());
e.printStackTrace();
}
return "";
}
@Override
public Map<String, Object> judgeCreateRight(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public String loadForm(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public String loadPreView(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> loadDetailData(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> saveDetailPaging(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> copyCustomPageFile(String s) {
return null;
}
@Override
public Map<String, Object> getLinkageResult(HttpServletRequest httpServletRequest, String s) {
return null;
}
@Override
public Map<String, Object> getRightMenu(HttpServletRequest httpServletRequest, Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getStatusData(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getStatusCount(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getResourcesKey(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getModifyLog(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> requestBatchSubmit(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> judgeRejectWay(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> getRejectOption(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> requestSubmit(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> forwardSubmit(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> requestWithdraw(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> remarkSubmit(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> functionManage(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
return null;
}
@Override
public Map<String, Object> triggerSubWf(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> uploadFile(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
return null;
}
@Override
public Map<String, Object> getFileFieldObj(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> createWfCode(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getWfCodeFieldValue(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> requestImport(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> requestDetailImport(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> chooseExceptionOperator(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> overTimeSetting(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> getPrintLogBase(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getPrintLogData(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> freeFlowRead(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> freeFlowSave(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> editLockOper(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> loadPrintTemplates(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> doEvalExpression(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> generatePrintLog(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> getForwardDatas(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> doBack(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getFormTab(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getSelectNextFlowCondition(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getSelectNextFlowNodes(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getRemindData(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> judgeRequestIsValid(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> takeBack(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getCustomOperation(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> runCustomOperationAction(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> JudgeAutoApprove(AutoApproveEntity autoApproveEntity) {
return null;
}
@Override
public Map<String, Object> delApproveLog(AutoApproveEntity autoApproveEntity) {
return null;
}
@Override
public Map<String, Object> verifyRequestForView(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> doTakEnd(HttpServletRequest httpServletRequest, Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> importFieldLinkageCfg(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> importFormulaCfg(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getDetailDataKeyId(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> judgeWorkflowPenetrate(AutoApproveEntity autoApproveEntity, RequestManager requestManager) {
return null;
}
@Override
public Map<String, Object> getThPreviewUrl(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getThMouldList(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getDetailExpSet(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> saveDetailExpSet(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> exportFieldSet(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getNextNodeContent(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> delRequestVerify(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getFreeNodeBrowserItem(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> saveFreeNodeFormConfig(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> conformCheck(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getDetailByRequestId(Map<String, Object> map) {
return null;
}
}

@ -0,0 +1,53 @@
package com.customization.customWf.impl;
import com.engine.core.cfg.annotation.CommandDynamicProxy;
import com.engine.core.interceptor.AbstractCommandProxy;
import com.engine.core.interceptor.Command;
import com.engine.workflow.cmd.requestForm.UpdateReqInfoCmd;
import com.wbi.util.ParamUtil;
import com.weaverboot.frame.ioc.anno.classAnno.WeaIocReplaceComponent;
import com.weaverboot.frame.ioc.anno.methodAnno.WeaReplaceBefore;
import com.weaverboot.frame.ioc.handler.replace.weaReplaceParam.impl.WeaBeforeReplaceParam;
import lombok.extern.slf4j.Slf4j;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
@WeaIocReplaceComponent
@Slf4j
public class UpdateReqInfoApiProxy {
@WeaReplaceBefore(
value = "/api/workflow/reqform/updateReqInfo",
order = 1,
description = "qwer"
)
public void before(WeaBeforeReplaceParam weaBeforeReplaceParam) {
HttpServletRequest request = weaBeforeReplaceParam.getRequest();
HttpServletResponse response = weaBeforeReplaceParam.getResponse();
// Map paramMap = ParamUtil.request2Map(request);
User user = HrmUserVarify.getUser(request, response);
Map paramMap = weaBeforeReplaceParam.getParamMap();
Object requestid = paramMap.get("requestid");
paramMap.put("requestid","123123");
}
private String getCookie(HttpServletRequest request,String name){
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if(name.equals(cookie.getName())){
return cookie.getValue();
}
}
}
return "";
}
}

@ -0,0 +1,42 @@
package com.customization.customWf.impl;
import com.engine.core.cfg.annotation.CommandDynamicProxy;
import com.engine.core.interceptor.AbstractCommandProxy;
import com.engine.core.interceptor.Command;
import com.engine.workflow.cmd.requestForm.UpdateReqInfoCmd;
import lombok.extern.slf4j.Slf4j;
import weaver.hrm.User;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
@CommandDynamicProxy(target = UpdateReqInfoCmd.class,desc="")
@Slf4j
public class UpdateReqInfoCmdProxy extends AbstractCommandProxy<Map<String, Object>> {
@Override
public Map<String, Object> execute(Command<Map<String, Object>> targetCommand) {
UpdateReqInfoCmd cmd = (UpdateReqInfoCmd) targetCommand;
User user = cmd.getUser();
Map<String, Object> params = cmd.getParams();
nextExecute(cmd);
// Map<String, Object> result = nextExecute(targetCommand);
return null;
}
private String getCookie(HttpServletRequest request,String name){
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if(name.equals(cookie.getName())){
return cookie.getValue();
}
}
}
return "";
}
}

@ -5,7 +5,9 @@ import com.wbi.util.ParamUtil;
import com.wbi.util.StringUtil; import com.wbi.util.StringUtil;
import com.weaverboot.frame.ioc.anno.classAnno.WeaIocReplaceComponent; import com.weaverboot.frame.ioc.anno.classAnno.WeaIocReplaceComponent;
import com.weaverboot.frame.ioc.anno.methodAnno.WeaReplaceAfter; import com.weaverboot.frame.ioc.anno.methodAnno.WeaReplaceAfter;
import com.weaverboot.frame.ioc.anno.methodAnno.WeaReplaceBefore;
import com.weaverboot.frame.ioc.handler.replace.weaReplaceParam.impl.WeaAfterReplaceParam; import com.weaverboot.frame.ioc.handler.replace.weaReplaceParam.impl.WeaAfterReplaceParam;
import com.weaverboot.frame.ioc.handler.replace.weaReplaceParam.impl.WeaBeforeReplaceParam;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
@ -18,84 +20,16 @@ import java.util.*;
@WeaIocReplaceComponent @WeaIocReplaceComponent
public class Proxy { public class Proxy {
@WeaReplaceAfter( @WeaReplaceBefore(
value = "/api/hrm/base/getHrmSearchTree", value = "api/workflow/reqform/updateReqInfo",
order = 1, order = 1,
description = "qwer" description = "qwer"
) )
public String after(WeaAfterReplaceParam weaAfterReplaceParam) { public void before(WeaBeforeReplaceParam weaBeforeReplaceParam) {
HttpServletRequest request = weaAfterReplaceParam.getRequest(); HttpServletRequest request = weaBeforeReplaceParam.getRequest();
HttpServletResponse response = weaAfterReplaceParam.getResponse(); HttpServletResponse response = weaBeforeReplaceParam.getResponse();
String data = weaAfterReplaceParam.getData();
Map paramMap = ParamUtil.request2Map(request); Map paramMap = ParamUtil.request2Map(request);
String type = Util.null2String(paramMap.get("type"));
String id = Util.null2String(paramMap.get("id"));
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
int userID = user.getUID();
new BaseBean().writeLog("type===" + type);
if (!StringUtil.isBlank(type)){
Map<String, Object> result = extracted(paramMap, JSON.parseObject(data, Map.class),userID);
return JSON.toJSONString(result);
}else {
return data;
}
} }
private Map<String, Object> extracted(Map<String, Object> params, Map<String, Object> result, int userID) {
try {
// Map<String, Object> resultNew = result;
String type = Util.null2String(params.get("type"));
String id = Util.null2String(params.get("id"));
RecordSet recordSet = new RecordSet();
ArrayList<String> idlist = new ArrayList<>();
Map<String,String> bmIdHrmMap = new HashMap<>();
if ("1".equals(type)) {
recordSet.executeQuery("select BM,KJRY,FB from uf_txlbxsbm where fb = ?",id);
while (recordSet.next()){
String bm = Util.null2String(recordSet.getString("BM"));
String kjry = Util.null2String(recordSet.getString("KJRY"));
// String fb = Util.null2String(recordSet.getString("FB"));
idlist.add(bm);
bmIdHrmMap.put(bm,kjry);
}
}
if ("2".equals(type)) {
recordSet.executeQuery("select BM,KJRY,FB from uf_txlbxsbm where SJBM = ?",id);
while (recordSet.next()){
String bm = Util.null2String(recordSet.getString("BM"));
String kjry = Util.null2String(recordSet.getString("KJRY"));
// String fb = Util.null2String(recordSet.getString("FB"));
idlist.add(bm);
bmIdHrmMap.put(bm,kjry);
}
}
List<Map<String,Object>> departmentList = (List<Map<String, Object>>)(result.get("datas"));
List<Map<String,Object>> departmentListNew = new ArrayList<>();
new BaseBean().writeLog(departmentList.toString());
new BaseBean().writeLog(idlist.toString());
new BaseBean().writeLog(bmIdHrmMap.toString());
for (Map<String, Object> department : departmentList){
String deptid = department.get("id").toString() ;
// deptid = deptid.substring(1, deptid.length());
if (!idlist.contains(deptid)){
departmentListNew.add(department);
}else {
String kjry = bmIdHrmMap.get(deptid);
List<String> kjrylist = Arrays.asList(kjry.split(","));
if (kjrylist.contains(userID+"")){
departmentListNew.add(department);
}
}
}
new BaseBean().writeLog(departmentListNew.toString());
result.put("datas",departmentListNew);
new BaseBean().writeLog(result.toString());
return result;
}catch (Exception e){
new BaseBean().writeLog(e.getMessage());
e.printStackTrace();
return result;
}
}
} }

@ -1,15 +1,105 @@
package com.engine.custom.corn.Thread; package com.engine.custom.corn.Thread;
import com.engine.custom.corn.util.ReportUtil;
import com.wbi.util.Util;
import org.docx4j.wml.R;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.conn.RecordSetDataSource; import weaver.conn.RecordSetDataSource;
import weaver.file.Prop;
import weaver.general.BaseBean;
import weaver.hrm.User;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class YearReportThread implements Runnable { public class YearReportThread implements Runnable {
private Integer startNum;
private Integer endNum;
private final static String INSERT_SQL = "INSERT INTO uf_personreport( RY, ND, DDCS, TGWZZS, ZSHYWZ1, ZSHYWZ2, ZSHYWZ3, YSXLJFQHYCS, GRHYCYCS, ZJGXWD, GRWDGX,SKTXYSFXS, SKTXCYCS, GCZGW, LJJYZZ, LJJP, JJRCLGW, QNLJCLGW, CGBL, LJSYSLCS, QGZYDF, NDDJLZGYY,LJDJCS, ZAYDYY, LJSYCS, PJMRZXRS, PJMRZXRSZB, LJDLOACS, DLCSCGRSZB, YYGS, GWBLLCXS, SWSPLCXS,JSXXZONGSHU, XWHYCS, SWSPLCGS,FORMMODEID)" +
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
String sqlhrm = "select * from Hrmresource ORDER BY id LIMIT 100 OFFSET ";
private RecordSetDataSource em7rs;
private RecordSetDataSource emprs;
private RecordSet rs;
private RecordSet rs2;
private Map<String, String> map;
private Integer cnt = 0;
private BaseBean bb;
public YearReportThread(Integer startNum, Integer endNum,Map<String, String> map,Integer cnt) {
this.startNum = startNum;
this.endNum = endNum;
this.map = map;
this.cnt = cnt;
this.em7rs = new RecordSetDataSource("em7");
this.emprs = new RecordSetDataSource("dm_msg");
this.rs = new RecordSet();
this.rs2 = new RecordSet();
bb = new BaseBean();
}
@Override @Override
public void run() { public void run() {
RecordSetDataSource em7rs = new RecordSetDataSource("em7"); writeLog("开始结束数"+startNum+"__"+endNum);
RecordSetDataSource emprs = new RecordSetDataSource("emp_msg"); for (int i = startNum; i < endNum; i++) {
RecordSet rs = new RecordSet(); String sqlhrmWhere = sqlhrm + i*100;
rs.executeQuery(sqlhrmWhere);
while (rs.next()){
String id = rs.getString("id");
rs2.executeUpdate(INSERT_SQL,id,map.get("ND"),map.get("DDCS"),map.get("TGWZZS"),map.get("ZSHYWZ1"),map.get("ZSHYWZ2"),map.get("ZSHYWZ3"),map.get("YSXLJFQHYCS"),map.get("GRHYCYCS"),map.get("ZJGXWD"),map.get("GRWDGX"),map.get("SKTXYSFXS"),map.get("SKTXCYCS"),map.get("GCZGW"),map.get("LJJYZZ"),map.get("LJJP"),map.get("JJRCLGW"),map.get("QNLJCLGW"),map.get("CGBL"),map.get("LJSYSLCS"),map.get("QGZYDF"),map.get("NDDJLZGYY"),map.get("LJDJCS"),map.get("ZAYDYY"),map.get("LJSYCS"),map.get("PJMRZXRS"),map.get("PJMRZXRSZB"),map.get("LJDLOACS"),map.get("DLCSCGRSZB"),map.get("YYGS"),map.get("GWBLLCXS"),map.get("SWSPLCXS"),map.get("JSXXZONGSHU"),map.get("XWHYCS"),map.get("SWSPLCGS"),map.get("FORMMODEID"));
writeLog(rs2.getExceptionMsg());
}
}
//更新总行的数量
//消息总数
int msgCount = ReportUtil.getMsgCount();
//分享文档总数
int ShareDOCCount = ReportUtil.getShareDOCCount();
//会议总次数
int meetCount = ReportUtil.getMeetCount();
String updateTotalSql = "update uf_personreport set jsxxzongshu = ? ,zjgxwd = ? ,ysxljfqhycs = ? where ry != 1";
rs.executeUpdate(updateTotalSql,msgCount,ShareDOCCount,meetCount);
//获取节假日日期字符串查询条件
List<String> allWeekendsOfYear = ReportUtil.getAllWeekendsOfYear(2023).stream()
.map(s -> "'" + s + "'")
.collect(Collectors.toList());;
String weekStr = String.join(",",allWeekendsOfYear);
String wfids = Prop.getPropValue("yearReport", "gwwfid");
String slwfid = Prop.getPropValue("yearReport", "slwfid");
String AffairsWfid = ReportUtil.getAffairsWfid(rs);
String updateuserSql = "update uf_personreport set workcode = ? , name = ? , grhycycs = ? ,grwdgx = ? ,jjrclgw = ? ,qnljclgw = ?,cgbl = ? ,ljdloacs = ?,clgwzwrq = ?,grswsps = ?,grcylts = ?,grfsxxrs = ?,grfsxxqlss=?,ljsyslcs = ?,dycclgwrq = ? where ry = ?";
//开始更新个人的不同的数据
for (int i = startNum; i < endNum; i++) {
String sqlhrmWhere = sqlhrm + i*100;
rs.executeQuery(sqlhrmWhere);
while (rs.next()){
String id = rs.getString("id");
String workcode = rs.getString("WORKCODE");
String name = rs.getString("LASTNAME");
int shareDocCnt = Util.getIntValue(ReportUtil.getShareDOCCountbyUserid(rs2, id)+"",0) ;
int personMeetCount = Util.getIntValue(ReportUtil.getMeetCountByUserid(rs2, id)+"",0) ;
int yearOfficialWfCount = Util.getIntValue(ReportUtil.getYearOfficialWfCount(rs2, id, wfids)+"",0) ;
int holidayOfficialWfCount = Util.getIntValue(ReportUtil.getHolidayOfficialWfCount(rs2, id, wfids,weekStr)+"",0) ;
int officialWfCountPercentage = Util.getIntValue(ReportUtil.getOfficialWfCountPercentage(rs2, id, wfids,weekStr,cnt)+"",0) ;
String lastTimeDate = Util.null2String(ReportUtil.getOfficialWflastTimeDate(rs2, id, wfids)) ;
int loginDayCount = Util.getIntValue(ReportUtil.getLoginDayCount(rs2, id)+"",0) ;
int AffairsWfCount = Util.getIntValue(ReportUtil.getYearAffairsWfCount(rs2, id, AffairsWfid)+"",0);
int MsgCount = Util.getIntValue(ReportUtil.getMsgCountByUserid(emprs, id)+"",0);
int PeopleCount = Util.getIntValue(ReportUtil.getMsgPeopleCountByUserid(emprs, id)+"",0);
int MsgGangHsienCount = Util.getIntValue(ReportUtil.getMsgGangHsienCountByUserid(emprs, id)+"",0);
int BusinessWfCount = Util.getIntValue(ReportUtil.getBusinessWfCount(rs2, id,slwfid)+"",0);
String LastOfficialWfDate = Util.null2String(ReportUtil.getLastOfficialWfDate(rs2, id,wfids));
rs.executeUpdate(updateuserSql,workcode,name,personMeetCount,shareDocCnt,holidayOfficialWfCount,yearOfficialWfCount,officialWfCountPercentage,loginDayCount,lastTimeDate,AffairsWfCount,MsgCount,PeopleCount,MsgGangHsienCount,BusinessWfCount,LastOfficialWfDate,id);
}
}
} }
public void writeLog(String log) {
bb.writeLog(Thread.currentThread().getName()+"==>YearReportThread:"+log);
}
} }

@ -18,7 +18,7 @@ public class WeekReportCorn extends BaseCronJob {
public void execute() { public void execute() {
writeLog("年度报告开始执行"); writeLog("年度报告开始执行");
RecordSet recordSet = new RecordSet(); RecordSet recordSet = new RecordSet();
deleteHistoryData(recordSet);
int startNum = 0; int startNum = 0;
int endNum = 0; int endNum = 0;
recordSet.executeQuery("select count(1) cnt from xlbb_grzbzz_xda"); recordSet.executeQuery("select count(1) cnt from xlbb_grzbzz_xda");
@ -34,9 +34,7 @@ public class WeekReportCorn extends BaseCronJob {
sendMsg(startNum,endNum); sendMsg(startNum,endNum);
} }
private void deleteHistoryData(RecordSet recordSet) {
recordSet.executeUpdate("delete uf_personreport where ry != 1");
}
private void writeLog(String log){ private void writeLog(String log){
baseBean.writeLog(log); baseBean.writeLog(log);

@ -1,4 +1,5 @@
package com.engine.custom.corn; package com.engine.custom.corn;
import com.engine.custom.corn.Thread.YearReportThread;
import com.engine.custom.corn.util.ReportUtil; import com.engine.custom.corn.util.ReportUtil;
import com.icbc.api.internal.apache.http.impl.cookie.S; import com.icbc.api.internal.apache.http.impl.cookie.S;
import com.wbi.util.Util; import com.wbi.util.Util;
@ -20,11 +21,13 @@ public class YearReportCorn extends BaseCronJob {
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
@Override @Override
public void execute() { public void execute() {
RecordSetDataSource em7rs = new RecordSetDataSource("em7"); RecordSetDataSource em7rs = new RecordSetDataSource("em7");
RecordSetDataSource emprs = new RecordSetDataSource("emp_msg"); RecordSetDataSource emprs = new RecordSetDataSource("dm_msg");
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
RecordSet rs2 = new RecordSet(); RecordSet rs2 = new RecordSet();
RecordSet rs3 = new RecordSet(); RecordSet rs3 = new RecordSet();
deleteHistoryData(rs2);
// 获取总人数 // 获取总人数
String sql = "select count(*) cnt from Hrmresource"; String sql = "select count(*) cnt from Hrmresource";
rs.executeQuery(sql); rs.executeQuery(sql);
@ -36,61 +39,78 @@ public class YearReportCorn extends BaseCronJob {
Map<String, String> map = getConfigRecord(); Map<String, String> map = getConfigRecord();
int pageTotle = (int) Math.ceil(cnt/100); int pageTotle = (int) Math.ceil(cnt/100);
String sqlhrm = "select * from Hrmresource ORDER BY id LIMIT 100 OFFSET "; String sqlhrm = "select * from Hrmresource ORDER BY id LIMIT 100 OFFSET ";
for (int i = 0; i < pageTotle; i++) { int ThreadNum = (int) Math.ceil(pageTotle/5);
String sqlhrmWhere = sqlhrm + i*100; for (int i = 0; i < 5; i++) {
rs.executeQuery(sqlhrmWhere); System.out.println(i*ThreadNum+"======"+(((i+1)*ThreadNum)-1));
while (rs.next()){ if (i==4){
String id = rs.getString("id"); new Thread(new YearReportThread(i * ThreadNum,pageTotle,map,cnt)).start();
rs2.executeUpdate(insertSql,id,map.get("ND"),map.get("DDCS"),map.get("TGWZZS"),map.get("ZSHYWZ1"),map.get("ZSHYWZ2"),map.get("ZSHYWZ3"),map.get("YSXLJFQHYCS"),map.get("GRHYCYCS"),map.get("ZJGXWD"),map.get("GRWDGX"),map.get("SKTXYSFXS"),map.get("SKTXCYCS"),map.get("GCZGW"),map.get("LJJYZZ"),map.get("LJJP"),map.get("JJRCLGW"),map.get("QNLJCLGW"),map.get("CGBL"),map.get("LJSYSLCS"),map.get("QGZYDF"),map.get("NDDJLZGYY"),map.get("LJDJCS"),map.get("ZAYDYY"),map.get("LJSYCS"),map.get("PJMRZXRS"),map.get("PJMRZXRSZB"),map.get("LJDLOACS"),map.get("DLCSCGRSZB"),map.get("YYGS"),map.get("GWBLLCXS"),map.get("SWSPLCXS"),map.get("JSXXZONGSHU"),map.get("XWHYCS"),map.get("SWSPLCGS"),map.get("FORMMODEID")); }else{
} new Thread(new YearReportThread(i * ThreadNum, (((i + 1) * ThreadNum) - 1),map,cnt)).start();
}
//更新总行的数量
//消息总数
int msgCount = ReportUtil.getMsgCount();
//分享文档总数
int ShareDOCCount = ReportUtil.getShareDOCCount();
//会议总次数
int meetCount = ReportUtil.getMeetCount();
String updateTotalSql = "update uf_personreport set jsxxzongshu = ? ,zjgxwd = ? ,ysxljfqhycs = ? where ry != 1";
rs.executeUpdate(updateTotalSql,msgCount,ShareDOCCount,meetCount);
//获取节假日日期字符串查询条件
List<String> allWeekendsOfYear = getAllWeekendsOfYear(2023).stream()
.map(s -> "'" + s + "'")
.collect(Collectors.toList());;
String weekStr = String.join(",",allWeekendsOfYear);
String wfids = Prop.getPropValue("yearReport", "gwwfid");
String slwfid = Prop.getPropValue("yearReport", "slwfid");
String AffairsWfid = getAffairsWfid(rs);
String updateuserSql = "update uf_personreport set grhycycs = ? ,grwdgx = ? ,jjrclgw = ? ,qnljclgw = ?,cgbl = ? ,ljdloacs = ?,clgwzwrq = ?,grswsps = ?,grcylts = ?,grfsxxrs = ?,grfsxxqlss=?,ljsyslcs = ? where ry = ?";
//开始更新个人的不同的数据
for (int i = 0; i < pageTotle; i++) {
String sqlhrmWhere = sqlhrm + i*100;
rs.executeQuery(sqlhrmWhere);
while (rs.next()){
String id = rs.getString("id");
int shareDocCnt = Util.getIntValue(ReportUtil.getShareDOCCountbyUserid(rs2, id)+"",0) ;
int personMeetCount = Util.getIntValue(ReportUtil.getMeetCountByUserid(rs2, id)+"",0) ;
int yearOfficialWfCount = Util.getIntValue(ReportUtil.getYearOfficialWfCount(rs2, id, wfids)+"",0) ;
int holidayOfficialWfCount = Util.getIntValue(ReportUtil.getHolidayOfficialWfCount(rs2, id, wfids,weekStr)+"",0) ;
int officialWfCountPercentage = Util.getIntValue(ReportUtil.getOfficialWfCountPercentage(rs2, id, wfids,weekStr,cnt)+"",0) ;
String lastTimeDate = Util.null2String(ReportUtil.getOfficialWflastTimeDate(rs2, id, wfids)) ;
int loginDayCount = Util.getIntValue(ReportUtil.getLoginDayCount(rs2, id)+"",0) ;
int AffairsWfCount = Util.getIntValue(ReportUtil.getYearAffairsWfCount(rs2, id, AffairsWfid)+"",0);
int MsgCount = Util.getIntValue(ReportUtil.getMsgCountByUserid(emprs, id)+"",0);
int PeopleCount = Util.getIntValue(ReportUtil.getMsgPeopleCountByUserid(emprs, id)+"",0);
int MsgGangHsienCount = Util.getIntValue(ReportUtil.getMsgGangHsienCountByUserid(emprs, id)+"",0);
int BusinessWfCount = Util.getIntValue(ReportUtil.getBusinessWfCount(rs2, id,slwfid)+"",0);
rs.executeUpdate(updateuserSql,personMeetCount,shareDocCnt,holidayOfficialWfCount,yearOfficialWfCount,officialWfCountPercentage,loginDayCount,lastTimeDate,AffairsWfCount,MsgCount,PeopleCount,MsgGangHsienCount,BusinessWfCount,id);
} }
} }
// for (int i = 0; i < pageTotle; i++) {
// String sqlhrmWhere = sqlhrm + i*100;
// rs.executeQuery(sqlhrmWhere);
// while (rs.next()){
// String id = rs.getString("id");
// rs2.executeUpdate(insertSql,id,map.get("ND"),map.get("DDCS"),map.get("TGWZZS"),map.get("ZSHYWZ1"),map.get("ZSHYWZ2"),map.get("ZSHYWZ3"),map.get("YSXLJFQHYCS"),map.get("GRHYCYCS"),map.get("ZJGXWD"),map.get("GRWDGX"),map.get("SKTXYSFXS"),map.get("SKTXCYCS"),map.get("GCZGW"),map.get("LJJYZZ"),map.get("LJJP"),map.get("JJRCLGW"),map.get("QNLJCLGW"),map.get("CGBL"),map.get("LJSYSLCS"),map.get("QGZYDF"),map.get("NDDJLZGYY"),map.get("LJDJCS"),map.get("ZAYDYY"),map.get("LJSYCS"),map.get("PJMRZXRS"),map.get("PJMRZXRSZB"),map.get("LJDLOACS"),map.get("DLCSCGRSZB"),map.get("YYGS"),map.get("GWBLLCXS"),map.get("SWSPLCXS"),map.get("JSXXZONGSHU"),map.get("XWHYCS"),map.get("SWSPLCGS"),map.get("FORMMODEID"));
// }
// }
//
// //更新总行的数量
// //消息总数
// int msgCount = ReportUtil.getMsgCount();
// //分享文档总数
// int ShareDOCCount = ReportUtil.getShareDOCCount();
// //会议总次数
// int meetCount = ReportUtil.getMeetCount();
//
// String updateTotalSql = "update uf_personreport set jsxxzongshu = ? ,zjgxwd = ? ,ysxljfqhycs = ? where ry != 1";
// rs.executeUpdate(updateTotalSql,msgCount,ShareDOCCount,meetCount);
// //获取节假日日期字符串查询条件
// List<String> allWeekendsOfYear = getAllWeekendsOfYear(2023).stream()
// .map(s -> "'" + s + "'")
// .collect(Collectors.toList());;
// String weekStr = String.join(",",allWeekendsOfYear);
// String wfids = Prop.getPropValue("yearReport", "gwwfid");
// String slwfid = Prop.getPropValue("yearReport", "slwfid");
// String AffairsWfid = getAffairsWfid(rs);
// String updateuserSql = "update uf_personreport set grhycycs = ? ,grwdgx = ? ,jjrclgw = ? ,qnljclgw = ?,cgbl = ? ,ljdloacs = ?,clgwzwrq = ?,grswsps = ?,grcylts = ?,grfsxxrs = ?,grfsxxqlss=?,ljsyslcs = ? where ry = ?";
// //开始更新个人的不同的数据
// for (int i = 0; i < pageTotle; i++) {
// String sqlhrmWhere = sqlhrm + i*100;
// rs.executeQuery(sqlhrmWhere);
// while (rs.next()){
// String id = rs.getString("id");
// int shareDocCnt = Util.getIntValue(ReportUtil.getShareDOCCountbyUserid(rs2, id)+"",0) ;
// int personMeetCount = Util.getIntValue(ReportUtil.getMeetCountByUserid(rs2, id)+"",0) ;
// int yearOfficialWfCount = Util.getIntValue(ReportUtil.getYearOfficialWfCount(rs2, id, wfids)+"",0) ;
// int holidayOfficialWfCount = Util.getIntValue(ReportUtil.getHolidayOfficialWfCount(rs2, id, wfids,weekStr)+"",0) ;
// int officialWfCountPercentage = Util.getIntValue(ReportUtil.getOfficialWfCountPercentage(rs2, id, wfids,weekStr,cnt)+"",0) ;
// String lastTimeDate = Util.null2String(ReportUtil.getOfficialWflastTimeDate(rs2, id, wfids)) ;
// int loginDayCount = Util.getIntValue(ReportUtil.getLoginDayCount(rs2, id)+"",0) ;
// int AffairsWfCount = Util.getIntValue(ReportUtil.getYearAffairsWfCount(rs2, id, AffairsWfid)+"",0);
// int MsgCount = Util.getIntValue(ReportUtil.getMsgCountByUserid(emprs, id)+"",0);
// int PeopleCount = Util.getIntValue(ReportUtil.getMsgPeopleCountByUserid(emprs, id)+"",0);
// int MsgGangHsienCount = Util.getIntValue(ReportUtil.getMsgGangHsienCountByUserid(emprs, id)+"",0);
// int BusinessWfCount = Util.getIntValue(ReportUtil.getBusinessWfCount(rs2, id,slwfid)+"",0);
// rs.executeUpdate(updateuserSql,personMeetCount,shareDocCnt,holidayOfficialWfCount,yearOfficialWfCount,officialWfCountPercentage,loginDayCount,lastTimeDate,AffairsWfCount,MsgCount,PeopleCount,MsgGangHsienCount,BusinessWfCount,id);
// }
// }
} }
private String getAffairsWfid(RecordSet rs) { private String getAffairsWfid(RecordSet rs) {
String swspwftype = Prop.getPropValue("yearReport", "swspwftype"); String swspwftype = Prop.getPropValue("yearReport", "swspwftype");
rs.executeQuery("select id from workflow_base where workflowtype = ?" ,swspwftype); rs.executeQuery("select id from workflow_base where workflowtype in ( "+swspwftype+" )");
ArrayList<String> wfids = new ArrayList<>(); ArrayList<String> wfids = new ArrayList<>();
while (rs.next()){ while (rs.next()){
wfids.add(Util.null2String(rs.getString("id"))); wfids.add(Util.null2String(rs.getString("id")));
@ -195,6 +215,15 @@ public class YearReportCorn extends BaseCronJob {
public static void main(String[] args) { public static void main(String[] args) {
int ceil = (int)Math.ceil(201 / 5);
for (int i = 0; i < 5; i++) {
System.out.println(i*ceil+"======"+(((i+1)*ceil)-1));
}
}
private void deleteHistoryData(RecordSet recordSet) {
recordSet.executeUpdate("delete uf_personreport where ry != 1");
} }
} }

@ -2,13 +2,18 @@ package com.engine.custom.corn.util;
import com.icbc.api.internal.apache.http.impl.cookie.S; import com.icbc.api.internal.apache.http.impl.cookie.S;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.conn.RecordSetDataSource; import weaver.conn.RecordSetDataSource;
import weaver.file.Prop;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import java.time.DayOfWeek;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
public class ReportUtil { public class ReportUtil {
@ -19,16 +24,21 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getMsgCount(){ public static int getMsgCount(){
String dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd HH:mm:ss.SSS";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
RecordSetDataSource rs = new RecordSetDataSource("emp_msg"); System.out.println("End of Year: " + startEndOfYear[1]);
String getMsgCountSql = "select count(1) cnt from HISTORYMSG where DATETIME >= '"+ startEndOfYear[0] +"' and DATETIME <= '"+ startEndOfYear[1]+"'"; RecordSetDataSource rs = new RecordSetDataSource("emp_msg");
bb.writeLog("getMsgCount=="+getMsgCountSql); String getMsgCountSql = "select count(1) cnt from HISTORYMSG where DATETIME >= '"+ startEndOfYear[0] +"' and DATETIME <= '"+ startEndOfYear[1]+"'";
rs.execute(getMsgCountSql); writeLog("getMsgCount=="+getMsgCountSql);
rs.next(); rs.execute(getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
/** /**
@ -36,15 +46,15 @@ public class ReportUtil {
* @param dateFormat * @param dateFormat
* @return * @return
*/ */
public static String[] getStartEndOfYear(String dateFormat) { public static String[] getStartEndOfYear(int year, String dateFormat) {
LocalDateTime startOfYear = LocalDateTime.of(LocalDateTime.now().getYear(), 1, 1, 0, 0, 0, 0); LocalDateTime startOfYear = LocalDateTime.of(year, 1, 1, 0, 0, 0, 0);
LocalDateTime endOfYear = LocalDateTime.of(LocalDateTime.now().getYear(), 12, 31, 23, 59, 59, 999000000); LocalDateTime endOfYear = LocalDateTime.of(year, 12, 31, 23, 59, 59, 999000000);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(dateFormat); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(dateFormat);
String start = startOfYear.format(formatter); String start = startOfYear.format(formatter);
String end = endOfYear.format(formatter); String end = endOfYear.format(formatter);
return new String[] {start, end}; return new String[]{start, end};
} }
@ -54,16 +64,22 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getShareDOCCount(){ public static int getShareDOCCount(){
String dateFormat = "yyyy-MM-dd"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
RecordSet rs = new RecordSet(); System.out.println("End of Year: " + startEndOfYear[1]);
String getMsgCountSql = "select count(1) cnt from DOCDETAIL where seccategory = 98 and doccreatedate >= '"+startEndOfYear[0]+"' and doccreatedate <= '"+startEndOfYear[1]+"'"; RecordSet rs = new RecordSet();
rs.execute(getMsgCountSql); String getMsgCountSql = "select count(1) cnt from DOCDETAIL where seccategory = 98 and doccreatedate >= '"+startEndOfYear[0]+"' and doccreatedate <= '"+startEndOfYear[1]+"'";
bb.writeLog("getShareDOCCount=="+getMsgCountSql); rs.execute(getMsgCountSql);
rs.next(); writeLog("getShareDOCCount=="+getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
@ -72,15 +88,21 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getShareDOCCountbyUserid(RecordSet rs , String userid){ public static int getShareDOCCountbyUserid(RecordSet rs , String userid){
String dateFormat = "yyyy-MM-dd"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
String getMsgCountSql = "select count(1) cnt from DOCDETAIL where seccategory = 98 and doccreatedate >= '"+startEndOfYear[0]+"' and doccreatedate <= '"+startEndOfYear[1]+"' and doccreaterid = "+userid ; System.out.println("End of Year: " + startEndOfYear[1]);
rs.execute(getMsgCountSql); String getMsgCountSql = "select count(1) cnt from DOCDETAIL where seccategory = 98 and doccreatedate >= '"+startEndOfYear[0]+"' and doccreatedate <= '"+startEndOfYear[1]+"' and doccreaterid = "+userid ;
bb.writeLog("getShareDOCCountbyUserid=="+getMsgCountSql); rs.execute(getMsgCountSql);
rs.next(); writeLog("getShareDOCCountbyUserid=="+getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
@ -89,16 +111,22 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getMeetCount(){ public static int getMeetCount(){
String dateFormat = "yyyy-MM-dd HH:mm"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd HH:mm";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
RecordSet rs = new RecordSet(); System.out.println("End of Year: " + startEndOfYear[1]);
String getMsgCountSql = "select count(1) cnt from meeting_videolist where VIDEOMTBEGINDATE >= '"+startEndOfYear[0]+"' and VIDEOMTBEGINDATE <= '"+startEndOfYear[1]+"'"; RecordSet rs = new RecordSet();
rs.execute(getMsgCountSql); String getMsgCountSql = "select count(1) cnt from meeting_videolist where VIDEOMTBEGINDATE >= '"+startEndOfYear[0]+"' and VIDEOMTBEGINDATE <= '"+startEndOfYear[1]+"'";
bb.writeLog("getMeetCount=="+getMsgCountSql); rs.execute(getMsgCountSql);
rs.next(); writeLog("getMeetCount=="+getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
@ -107,15 +135,21 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getMeetCountByUserid(RecordSet rs , String userid){ public static int getMeetCountByUserid(RecordSet rs , String userid){
String dateFormat = "yyyy-MM-dd HH:mm"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd HH:mm";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
String getMsgCountSql = "select count(1) cnt from meeting_videolist where VIDEOMTBEGINDATE >= '"+startEndOfYear[0]+"' and VIDEOMTBEGINDATE <= '"+startEndOfYear[1]+"' and VIDEOMTCREATER = "+userid; System.out.println("End of Year: " + startEndOfYear[1]);
rs.execute(getMsgCountSql); String getMsgCountSql = "select count(1) cnt from meeting_videolist where VIDEOMTBEGINDATE >= '"+startEndOfYear[0]+"' and VIDEOMTBEGINDATE <= '"+startEndOfYear[1]+"' and VIDEOMTCREATER = "+userid;
rs.next(); rs.execute(getMsgCountSql);
bb.writeLog("getMeetCountByUserid=="+getMsgCountSql); rs.next();
return rs.getInt("cnt"); writeLog("getMeetCountByUserid=="+getMsgCountSql);
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
/** /**
@ -124,12 +158,18 @@ public class ReportUtil {
* @param userid * @param userid
* @return * @return
*/ */
public static int getLastOfficialWfDate(RecordSet rs , String userid ,String OfficialWfid){ public static String getLastOfficialWfDate(RecordSet rs , String userid ,String OfficialWfid){
String getMsgCountSql = "select min(OPERATEDATE) from WORKFLOW_REQUESTLOG where OPERATOR = "+userid+" and workflowid in ( "+OfficialWfid+" )"; try {
rs.execute(getMsgCountSql); String getMsgCountSql = "select min(OPERATEDATE) minDate from WORKFLOW_REQUESTLOG where OPERATOR = "+userid+" and workflowid in ( "+OfficialWfid+" )";
rs.next(); rs.execute(getMsgCountSql);
bb.writeLog("getMsgCountSql=="+getMsgCountSql); rs.next();
return rs.getInt("cnt"); writeLog("getLastOfficialWfDate=="+getMsgCountSql);
return rs.getString("minDate");
}catch (Exception e){
e.printStackTrace();
return "0";
}
} }
@ -140,16 +180,22 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getYearOfficialWfCount(RecordSet rs , String userid ,String OfficialWfid){ public static int getYearOfficialWfCount(RecordSet rs , String userid ,String OfficialWfid){
String dateFormat = "yyyy-MM-dd"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
String getMsgCountSql = "select count(1) cnt from WORKFLOW_REQUESTLOG where OPERATOR = "+userid+" and workflowid in ( "+OfficialWfid+" ) " + System.out.println("End of Year: " + startEndOfYear[1]);
" and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'"; String getMsgCountSql = "select count(1) cnt from WORKFLOW_REQUESTLOG where OPERATOR = "+userid+" and workflowid in ( "+OfficialWfid+" ) " +
rs.execute(getMsgCountSql); " and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'";
rs.next(); rs.execute(getMsgCountSql);
bb.writeLog("getYearOfficialWfCount=="+getMsgCountSql); rs.next();
return rs.getInt("cnt"); writeLog("getYearOfficialWfCount=="+getMsgCountSql);
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
@ -160,11 +206,17 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getHolidayOfficialWfCount(RecordSet rs , String userid ,String OfficialWfid ,String holidayStr){ public static int getHolidayOfficialWfCount(RecordSet rs , String userid ,String OfficialWfid ,String holidayStr){
String getMsgCountSql = "select count(1) cnt from WORKFLOW_REQUESTLOG where OPERATOR = "+userid+" and workflowid in ( "+OfficialWfid+" ) and OPERATEDATE in ( "+holidayStr+" )"; try {
rs.execute(getMsgCountSql); String getMsgCountSql = "select count(1) cnt from WORKFLOW_REQUESTLOG where OPERATOR = "+userid+" and workflowid in ( "+OfficialWfid+" ) and OPERATEDATE in ( "+holidayStr+" )";
bb.writeLog("getHolidayOfficialWfCount=="+getMsgCountSql); rs.execute(getMsgCountSql);
rs.next(); writeLog("getHolidayOfficialWfCount=="+getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
/** /**
@ -174,21 +226,26 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getOfficialWfCountPercentage(RecordSet rs , String userid ,String OfficialWfid ,String holidayStr,int total){ public static int getOfficialWfCountPercentage(RecordSet rs , String userid ,String OfficialWfid ,String holidayStr,int total){
String dateFormat = "yyyy-MM-dd"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
String getMsgCountSql = "select rank from (select * , RANK() OVER (ORDER BY cnt DESC) AS rank from" + System.out.println("End of Year: " + startEndOfYear[1]);
" (select OPERATOR, count(1) cnt from WORKFLOW_REQUESTLOG" + String getMsgCountSql = "select rank from (select * , RANK() OVER (ORDER BY cnt DESC) AS rank from" +
" where WORKFLOWID in ("+ OfficialWfid +") and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"' group by OPERATOR)) a where a.OPERATOR = "+ userid; " (select OPERATOR, count(1) cnt from WORKFLOW_REQUESTLOG" +
rs.execute(getMsgCountSql); " where WORKFLOWID in ("+ OfficialWfid +") and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"' group by OPERATOR)) a where a.OPERATOR = "+ userid;
bb.writeLog("getOfficialWfCountPercentage=="+getMsgCountSql); rs.execute(getMsgCountSql);
rs.next(); writeLog("getOfficialWfCountPercentage=="+getMsgCountSql);
int rank = Util.getIntValue(rs.getInt("rank")); rs.next();
if (0 == rank){ int rank = Util.getIntValue(rs.getInt("rank"));
if (0 == rank || -1 == rank){
return 0;
}
return (int)(100.0 * (total - rank) / (total - 1));
}catch (Exception e){
e.printStackTrace();
return 0; return 0;
} }
return (int)(100.0 * (total - rank) / (total - 1));
} }
@ -199,63 +256,80 @@ public class ReportUtil {
* @return * @return
*/ */
public static String getOfficialWflastTimeDate(RecordSet rs , String userid , String OfficialWfid ){ public static String getOfficialWflastTimeDate(RecordSet rs , String userid , String OfficialWfid ){
String dateFormat = "yyyy-MM-dd"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
String getMsgCountSql = "SELECT * FROM ( " + System.out.println("End of Year: " + startEndOfYear[1]);
" SELECT * FROM WORKFLOW_REQUESTLOG where OPERATETIME <= '05:00:00' and WORKFLOWID in ("+ OfficialWfid +") " + String getMsgCountSql = "SELECT * FROM ( " +
" and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'"+ " SELECT * FROM WORKFLOW_REQUESTLOG where OPERATETIME <= '05:00:00' and WORKFLOWID in ("+ OfficialWfid +") " +
" and OPERATOR = "+ userid +
" ORDER BY OPERATETIME DESC" +
" )WHERE ROWNUM = 1";
rs.execute(getMsgCountSql);
bb.writeLog("getOfficialWflastTimeDate=="+getMsgCountSql);
rs.next();
int counts = rs.getCounts();
if (counts != 0){
return rs.getString("OPERATEDATE")+" "+rs.getString("OPERATETIME");
}else {
getMsgCountSql = "SELECT * FROM ( " +
" SELECT * FROM WORKFLOW_REQUESTLOG where WORKFLOWID in ("+ OfficialWfid +") " +
" and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'"+ " and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'"+
" and OPERATOR = "+ userid + " and OPERATOR = "+ userid +
" ORDER BY OPERATETIME DESC" + " ORDER BY OPERATETIME DESC" +
" )WHERE ROWNUM = 1"; " )WHERE ROWNUM = 1";
rs.execute(getMsgCountSql); rs.execute(getMsgCountSql);
bb.writeLog("getOfficialWflastTimeDate2=="+getMsgCountSql); writeLog("getOfficialWflastTimeDate=="+getMsgCountSql);
rs.next(); rs.next();
return rs.getString("OPERATEDATE")+" "+rs.getString("OPERATETIME"); int counts = rs.getCounts();
if (counts != 0){
return rs.getString("OPERATEDATE")+" "+rs.getString("OPERATETIME");
}else {
getMsgCountSql = "SELECT * FROM ( " +
" SELECT * FROM WORKFLOW_REQUESTLOG where WORKFLOWID in ("+ OfficialWfid +") " +
" and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'"+
" and OPERATOR = "+ userid +
" ORDER BY OPERATETIME DESC" +
" )WHERE ROWNUM = 1";
rs.execute(getMsgCountSql);
writeLog("getOfficialWflastTimeDate2=="+getMsgCountSql);
rs.next();
return rs.getString("OPERATEDATE")+" "+rs.getString("OPERATETIME");
}
}catch (Exception e){
e.printStackTrace();
return "";
} }
} }
//获取登录天数 //获取登录天数
public static int getLoginDayCount(RecordSet rs , String userid ){ public static int getLoginDayCount(RecordSet rs , String userid ){
String dateFormat = "yyyy-MM-dd"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
String getMsgCountSql = "select count(*) cnt from ( " + System.out.println("End of Year: " + startEndOfYear[1]);
" select OPERATEDATE from hrmsysmaintenancelog where RELATEDID = " + userid + ""+ String getMsgCountSql = "select count(*) cnt from ( " +
" and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'"+ " select OPERATEDATE from hrmsysmaintenancelog where RELATEDID = " + userid + ""+
" group by OPERATEDATE)"; " and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'"+
rs.execute(getMsgCountSql); " group by OPERATEDATE)";
bb.writeLog("getLoginDayCount=="+getMsgCountSql); rs.execute(getMsgCountSql);
rs.next(); writeLog("getLoginDayCount=="+getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt")*2;
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
//获取统筹全局角色的人员,返回,分割的字符串 //获取统筹全局角色的人员,返回,分割的字符串
public static String getRoleMember(RecordSet rs ){ public static String getRoleMember(RecordSet rs ){
try {
String getMsgCountSql = "select RESOURCEID from hrmrolemembers mem left join hrmroles role on mem.ROLEID = role.ID where role.ROLESMARK = '统筹全局'"; String getMsgCountSql = "select RESOURCEID from hrmrolemembers mem left join hrmroles role on mem.ROLEID = role.ID where role.ROLESMARK = '统筹全局'";
rs.execute(getMsgCountSql); rs.execute(getMsgCountSql);
bb.writeLog("getRoleMember=="+getMsgCountSql); writeLog("getRoleMember=="+getMsgCountSql);
ArrayList<String> roleMember = new ArrayList<>(); ArrayList<String> roleMember = new ArrayList<>();
while (rs.next()){ while (rs.next()){
roleMember.add(Util.null2String(rs.getString("RESOURCEID"))); roleMember.add(Util.null2String(rs.getString("RESOURCEID")));
}
return String.join(",",roleMember);
}catch (Exception e){
e.printStackTrace();
return "";
} }
return String.join(",",roleMember);
} }
@ -266,56 +340,84 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getYearAffairsWfCount(RecordSet rs , String userid ,String AffairsWfid){ public static int getYearAffairsWfCount(RecordSet rs , String userid ,String AffairsWfid){
String dateFormat = "yyyy-MM-dd";
String[] startEndOfYear = getStartEndOfYear(dateFormat); try {
System.out.println("Start of Year: " + startEndOfYear[0]); String dateFormat = "yyyy-MM-dd";
System.out.println("End of Year: " + startEndOfYear[1]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
String getMsgCountSql = "select count(1) cnt from WORKFLOW_REQUESTLOG where OPERATOR = "+userid+" and workflowid in ( "+AffairsWfid+" ) " + System.out.println("Start of Year: " + startEndOfYear[0]);
" and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'"; System.out.println("End of Year: " + startEndOfYear[1]);
rs.execute(getMsgCountSql); String getMsgCountSql = "select count(1) cnt from WORKFLOW_REQUESTLOG where OPERATOR = "+userid+" and workflowid in ( "+AffairsWfid+" ) " +
rs.next(); " and OPERATEDATE >= '"+startEndOfYear[0]+"' and OPERATEDATE <= '"+startEndOfYear[1]+"'";
bb.writeLog("getYearOfficialWfCount=="+getMsgCountSql); rs.execute(getMsgCountSql);
return rs.getInt("cnt"); rs.next();
writeLog("getYearOfficialWfCount=="+getMsgCountSql);
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
public static int getMsgCountByUserid(RecordSetDataSource rs,String userid){ public static int getMsgCountByUserid(RecordSetDataSource rs,String userid){
String dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd HH:mm:ss.SSS";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
System.out.println("End of Year: " + startEndOfYear[1]);
String getMsgCountSql = "select count(distinct TARGETID) cnt from HISTORYMSG where DATETIME >= '"+ startEndOfYear[0] +"' and DATETIME <= '"+ startEndOfYear[1]+"' and fromuserid = '"+ userid+"'";
bb.writeLog("getMsgCount=="+getMsgCountSql); String getMsgCountSql = "select count(distinct TARGETID) cnt from HISTORYMSG where DATETIME >= '"+ startEndOfYear[0] +"' and DATETIME <= '"+ startEndOfYear[1]+"' and fromuserid = '"+ userid+"'";
rs.execute(getMsgCountSql); writeLog("getMsgCount=="+getMsgCountSql);
rs.next(); rs.execute(getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
public static int getMsgPeopleCountByUserid(RecordSetDataSource rs,String userid){ public static int getMsgPeopleCountByUserid(RecordSetDataSource rs,String userid){
String dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd HH:mm:ss.SSS";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
String getMsgCountSql = "select count(distinct TARGETID) cnt from HISTORYMSG where TARGETTYPE = 1 and DATETIME >= '"+ startEndOfYear[0] +"' and DATETIME <= '"+ startEndOfYear[1]+"' and fromuserid = '"+ userid+"'"; System.out.println("End of Year: " + startEndOfYear[1]);
bb.writeLog("getMsgCount=="+getMsgCountSql); String getMsgCountSql = "select count(distinct TARGETID) cnt from HISTORYMSG where TARGETTYPE = 1 and DATETIME >= '"+ startEndOfYear[0] +"' and DATETIME <= '"+ startEndOfYear[1]+"' and fromuserid = '"+ userid+"'";
rs.execute(getMsgCountSql); writeLog("getMsgCount=="+getMsgCountSql);
rs.next(); rs.execute(getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
public static int getMsgGangHsienCountByUserid(RecordSetDataSource rs,String userid){ public static int getMsgGangHsienCountByUserid(RecordSetDataSource rs,String userid){
String dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd HH:mm:ss.SSS";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
String getMsgCountSql = "select count(distinct TARGETID) cnt from HISTORYMSG where TARGETTYPE = 2 and DATETIME >= '"+ startEndOfYear[0] +"' and DATETIME <= '"+ startEndOfYear[1]+"' and fromuserid = '"+ userid+"'"; System.out.println("End of Year: " + startEndOfYear[1]);
bb.writeLog("getMsgCount=="+getMsgCountSql); String getMsgCountSql = "select count(distinct TARGETID) cnt from HISTORYMSG where TARGETTYPE = 2 and DATETIME >= '"+ startEndOfYear[0] +"' and DATETIME <= '"+ startEndOfYear[1]+"' and fromuserid = '"+ userid+"'";
rs.execute(getMsgCountSql); writeLog("getMsgCount=="+getMsgCountSql);
rs.next(); rs.execute(getMsgCountSql);
return rs.getInt("cnt"); rs.next();
return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
} }
/** /**
@ -329,19 +431,94 @@ public class ReportUtil {
* @return * @return
*/ */
public static int getBusinessWfCount(RecordSet rs , String userid ,String Wfid){ public static int getBusinessWfCount(RecordSet rs , String userid ,String Wfid){
String dateFormat = "yyyy-MM-dd"; try {
String[] startEndOfYear = getStartEndOfYear(dateFormat); String dateFormat = "yyyy-MM-dd";
System.out.println("Start of Year: " + startEndOfYear[0]); String[] startEndOfYear = getStartEndOfYear(2023,dateFormat);
System.out.println("End of Year: " + startEndOfYear[1]); System.out.println("Start of Year: " + startEndOfYear[0]);
System.out.println("End of Year: " + startEndOfYear[1]);
String getMsgCountSql = "select count(1) cnt from workflow_requestbase where creater = "+userid+" and workflowid in ( "+Wfid+" ) " + String getMsgCountSql = "select count(1) cnt from workflow_requestbase where creater = "+userid+" and workflowid in ( "+Wfid+" ) " +
" and createdate >= '"+startEndOfYear[0]+"' and createdate <= '"+startEndOfYear[1]+"'"; " and createdate >= '"+startEndOfYear[0]+"' and createdate <= '"+startEndOfYear[1]+"'";
rs.execute(getMsgCountSql); rs.execute(getMsgCountSql);
rs.next(); rs.next();
bb.writeLog("getBusinessWfCount=="+getMsgCountSql); writeLog("getBusinessWfCount=="+getMsgCountSql);
return rs.getInt("cnt"); return rs.getInt("cnt");
}catch (Exception e){
e.printStackTrace();
return 0;
}
}
/**
* ()
* @param year
* @return
*/
public static List<String> getAllWeekendsOfYear(int year) {
//将本年的周六周日加到list中
List<String> weekendDates = new ArrayList<>();
LocalDate date = LocalDate.of(year, 1, 1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
while (date.getYear() == year) {
if (date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY) {
weekendDates.add(date.format(formatter));
}
date = date.plusDays(1);
}
//查询库里的节假日设置
RecordSet recordSet = new RecordSet();
// String groupid = Util.null2String(Prop.getPropValue("year_report_set", "groupid"),"24") ;
String groupid = "1" ;
recordSet.executeQuery("select changeType ,holidayDate from KQ_HolidaySet where groupid = ?",groupid);
//去掉调配工作日,加上公众假日和调配休息日
List<String> WorkDates = new ArrayList<>();
List<String> holidayDates = new ArrayList<>();
while (recordSet.next()){
String changeType = recordSet.getString("changeType");
String holidayDate = recordSet.getString("holidayDate");
if ("2".equals(changeType)){
WorkDates.add(holidayDate);
}else if("1".equals(changeType) || "3".equals(changeType)){
holidayDates.add(holidayDate);
}
}
weekendDates.removeAll(WorkDates);
HashSet<String> set = new HashSet<>();
set.addAll(weekendDates);
set.addAll(holidayDates);
return new ArrayList<>(set);
}
public static String getAffairsWfid(RecordSet rs) {
try {
String swspwftype = Prop.getPropValue("yearReport", "swspwftype");
rs.executeQuery("select id from workflow_base where workflowtype = ?" ,swspwftype);
ArrayList<String> wfids = new ArrayList<>();
while (rs.next()){
wfids.add(com.wbi.util.Util.null2String(rs.getString("id")));
}
return String.join(",",wfids);
}catch (Exception e){
e.printStackTrace();
return "";
}
} }
public static void main(String[] args) { public static void main(String[] args) {
getMsgCount(); // String[] dates = getStartEndOfYear(2023, "yyyy-MM-dd");
// System.out.println("Start of the year: " + dates[0]);
// System.out.println("End of the year: " + dates[1]);
// System.out.println(Util.getIntValue(null));
HashMap<Object, Object> sixthMap = new HashMap<>();
LocalDate date = LocalDate.parse("2023-10-25", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
sixthMap.put("dycclgwrqMM",date.getMonthValue()+"");
sixthMap.put("dycclgwrqDD",date.getDayOfMonth()+"");
}
public static void writeLog(String log) {
bb.writeLog(Thread.currentThread().getName()+"==>ReportUtil:"+log);
} }
} }

@ -4,7 +4,6 @@ import com.dcfs.fts.common.error.FtpException;
import com.engine.custom.hg.util.HgUtils; import com.engine.custom.hg.util.HgUtils;
import com.engine.custom.sl.entity.*; import com.engine.custom.sl.entity.*;
import com.engine.util.SocketClientUtil; import com.engine.util.SocketClientUtil;
import com.engine.util.XMLUtils;
import com.weaver.general.Util; import com.weaver.general.Util;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.file.ImageFileManager; import weaver.file.ImageFileManager;

@ -18,7 +18,7 @@ public class TravelToEsbBean {
private String expnsRsn; private String expnsRsn;
private String remark; private String remark;
private String costDeptCode; private String costDeptCode;
private String costDeptHame; private String costDeptName;
private List<ExpenseItem> expndArray; private List<ExpenseItem> expndArray;
@ -36,7 +36,7 @@ public class TravelToEsbBean {
"<expnsRsn>" + expnsRsn + "</expnsRsn>" + "<expnsRsn>" + expnsRsn + "</expnsRsn>" +
"<remark>" + remark + "</remark>" + "<remark>" + remark + "</remark>" +
"<costDeptCode>" + costDeptCode + "</costDeptCode>" + "<costDeptCode>" + costDeptCode + "</costDeptCode>" +
"<costDeptHame>" + costDeptHame + "</costDeptHame>"); "<costDeptName>" + costDeptName + "</costDeptName>");
for (ExpenseItem expenseItem : expndArray) { for (ExpenseItem expenseItem : expndArray) {
xmlString.append(convertObjectToXml(expenseItem, "expndArray")); xmlString.append(convertObjectToXml(expenseItem, "expndArray"));
@ -181,12 +181,12 @@ public class TravelToEsbBean {
this.costDeptCode = costDeptCode; this.costDeptCode = costDeptCode;
} }
public String getCostDeptHame() { public String getCostDeptName() {
return costDeptHame; return costDeptName;
} }
public void setCostDeptHame(String costDeptHame) { public void setCostDeptName(String costDeptName) {
this.costDeptHame = costDeptHame; this.costDeptName = costDeptName;
} }
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {

@ -5,20 +5,14 @@ import com.cloudstore.dev.api.bean.MessageType;
import com.cloudstore.dev.api.util.Util_Message; import com.cloudstore.dev.api.util.Util_Message;
import com.engine.tjbankSocket.SocketExecute; import com.engine.tjbankSocket.SocketExecute;
import com.engine.util.XMLUtils; import com.engine.util.XMLUtils;
import com.icbc.api.internal.apache.http.impl.cookie.S;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.conn.RecordSetTrans;
import weaver.file.Prop; import weaver.file.Prop;
import weaver.general.BaseBean; import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.StringUtil; import weaver.general.StringUtil;
import weaver.general.Util; import weaver.general.Util;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestService; import weaver.soa.workflow.request.RequestService;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
/** /**

@ -1,103 +0,0 @@
package com.engine.util;
import com.alibaba.fastjson.JSONObject;
import org.json.JSONException;
import weaver.general.BaseBean;
import weaver.general.StringUtil;
import java.io.*;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
//发送SocketUtil
public class SocketClientUtil {
private int port = 8090;
private String host = "127.0.0.1";
private BaseBean bs = new BaseBean();
public SocketClientUtil(String host ,int port) {
this.port = port;
this.host = host;
}
public String send(String request) throws Exception {
// bs.writeLog("Client Start...");
Socket socket = null;
try {
//创建一个流套接字并将其连接到指定主机上的指定端口号
socket = new Socket(host,port);
// String str = "00000612<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>1010157060000081243</service_sn><system_id>0258</system_id><requester_id>0157</requester_id><branch_id>010231100</branch_id><channel_id>01</channel_id><service_time>20230905104426</service_time><need_request>true</need_request><SvcCd>500130004</SvcCd><SvcScn>13</SvcScn><BnkSrlNo>015720230905060000081243</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><path>todo</path><method>getCount</method><args><entry><key>userNum</key><value>10913026任广鹏是个大刷币</value></entry></args></request></Service_Body></Service>";
// System.out.println(str);
//读取服务器端数据
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8));
//向服务器端发送数据
// PrintStream out = new PrintStream(new OutputStreamWriter(socket.getOutputStream(),StandardCharsets.UTF_8));
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(),StandardCharsets.UTF_8),true);
out.println(request);
char[] datalen=new char[8];//报文前八位为报文体总长度
input.read(datalen,0,8);
String lendata=new String (datalen);
int length=Integer.parseInt(lendata);
new BaseBean().writeLog("报文长度"+length);
char[] data=new char[length];
int datalength = input.read(data,0,length);
String requestData = new String(data);
new BaseBean().writeLog("requestData",requestData);
// String ret = input.readLine();
System.out.println("服务器端返回过来的是: " + requestData);
bs.writeLog("服务器端返回过来的是: " + requestData);
// 如接收到 "OK" 则断开连接
if (!StringUtil.isEmpty(requestData)) {
bs.writeLog("客户端将关闭连接");
System.out.println("客户端将关闭连接: " + requestData);
Thread.sleep(500);
}
out.close();
input.close();
return requestData;
} catch (Exception e) {
bs.writeLog("客户端异常:" + e.getMessage());
throw e;
} finally {
if (socket != null) {
try {
socket.close();
} catch (IOException e) {
socket = null;
bs.writeLog("客户端 finally 异常:" + e.getMessage());
}
}
}
// return "-1";
}
static class UpdateLogThread extends Thread {
@Override
public void run() {
try {
Thread.sleep(3000);
System.out.println("33333333");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
String cece = cece();
System.out.println(cece);
}
public static String cece(){
System.out.println("1111");
UpdateLogThread updateLogThread = new UpdateLogThread();
updateLogThread.start();
return "222";
}
}

@ -1,262 +0,0 @@
package com.engine.util;
import com.alibaba.druid.util.StringUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import weaver.general.BaseBean;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
public class XMLUtils {
//构建返回值
public static String count2XML(Map<String,String> headerParam,Integer todocount , Integer toreadcount ) {
try {
// 创建文档对象
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
// 创建根节点
Element rootElement = doc.createElement("Service");
doc.appendChild(rootElement);
addServiceHeader(doc,rootElement,headerParam);
// 创建Service_Body节点
Element serviceBodyElement = doc.createElement("Service_Body");
rootElement.appendChild(serviceBodyElement);
// 创建response节点
Element responseElement = doc.createElement("response");
serviceBodyElement.appendChild(responseElement);
// 创建todo节点
Element todoElement = doc.createElement("todo");
responseElement.appendChild(todoElement);
// 创建count节点并设置值
if(todocount != null) {
Element countElement = doc.createElement("count");
countElement.setTextContent(todocount + "");
todoElement.appendChild(countElement);
}
if(toreadcount != null){
Element countOneElement = doc.createElement("countOne");
countOneElement.setTextContent(toreadcount+"");
todoElement.appendChild(countOneElement);
}
// 将文档对象转换为XML字符串
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); // 设置不包含XML声明
DOMSource source = new DOMSource(doc);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
StreamResult result = new StreamResult(outputStream);
transformer.transform(source, result);
// 将XML结果转换为字符串
String xmlString = outputStream.toString("UTF-8");
//System.out.println(xmlString);
return xmlString;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
private static void addServiceHeader(Document doc, Element rootElement, Map<String, String> headerParam) {
// 创建Service_Body节点
Element serviceHeaderElement = doc.createElement("Service_Header");
rootElement.appendChild(serviceHeaderElement);
//service_sn ESB服务流水号
if (!StringUtils.isEmpty(headerParam.get("service_sn"))){
Element serviceSnElement = doc.createElement("service_sn");
serviceSnElement.setTextContent(headerParam.get("service_sn"));
serviceHeaderElement.appendChild(serviceSnElement);
}
if (!StringUtils.isEmpty(headerParam.get("service_id"))){
Element serviceIdElement = doc.createElement("service_id");
serviceIdElement.setTextContent(headerParam.get("service_id"));
serviceHeaderElement.appendChild(serviceIdElement);
}
if (!StringUtils.isEmpty(headerParam.get("system_id"))){
Element systemIdElement = doc.createElement("system_id");
systemIdElement.setTextContent(headerParam.get("system_id"));
serviceHeaderElement.appendChild(systemIdElement);
}
if (!StringUtils.isEmpty(headerParam.get("requester_id"))){
Element requesterIdElement = doc.createElement("requester_id");
requesterIdElement.setTextContent(headerParam.get("requester_id"));
serviceHeaderElement.appendChild(requesterIdElement);
}
if (!StringUtils.isEmpty(headerParam.get("branch_id"))){
Element branchIdElement = doc.createElement("branch_id");
branchIdElement.setTextContent(headerParam.get("branch_id"));
serviceHeaderElement.appendChild(branchIdElement);
}
if (!StringUtils.isEmpty(headerParam.get("channel_id"))){
Element channelIdElement = doc.createElement("channel_id");
channelIdElement.setTextContent(headerParam.get("channel_id"));
serviceHeaderElement.appendChild(channelIdElement);
}
if (!StringUtils.isEmpty(headerParam.get("service_time"))){
Element serviceTimeElement = doc.createElement("requester_id");
serviceTimeElement.setTextContent(headerParam.get("service_time"));
serviceHeaderElement.appendChild(serviceTimeElement);
}
if (!StringUtils.isEmpty(headerParam.get("BnkSrlNo"))){
Element BnkSrlNoElement = doc.createElement("BnkSrlNo");
BnkSrlNoElement.setTextContent(headerParam.get("BnkSrlNo"));
serviceHeaderElement.appendChild(BnkSrlNoElement);
}
// if (!StringUtils.isEmpty(headerParam.get("FileFlg"))){
Element FileFlgElement = doc.createElement("FileFlg");
FileFlgElement.setTextContent("0");
serviceHeaderElement.appendChild(FileFlgElement);
// }
if (!StringUtils.isEmpty(headerParam.get("SvcCd"))){
Element SvcCdElement = doc.createElement("SvcCd");
SvcCdElement.setTextContent(headerParam.get("SvcCd"));
serviceHeaderElement.appendChild(SvcCdElement);
}
if (!StringUtils.isEmpty(headerParam.get("SvcScn"))){
Element SvcScnElement = doc.createElement("SvcScn");
SvcScnElement.setTextContent(headerParam.get("SvcScn"));
serviceHeaderElement.appendChild(SvcScnElement);
}
// 响应码
Element service_responseElement = doc.createElement("service_response");
serviceHeaderElement.appendChild(service_responseElement);
if (!StringUtils.isEmpty(headerParam.get("status"))){
Element statusElement = doc.createElement("status");
statusElement.setTextContent(headerParam.get("status"));
service_responseElement.appendChild(statusElement);
}
if (!StringUtils.isEmpty(headerParam.get("code"))){
Element codeElement = doc.createElement("code");
codeElement.setTextContent(headerParam.get("code"));
service_responseElement.appendChild(codeElement);
}
if (!StringUtils.isEmpty(headerParam.get("desc"))){
Element descElement = doc.createElement("desc");
descElement.setTextContent(headerParam.get("desc"));
service_responseElement.appendChild(descElement);
}
}
public static Map<String, String> parseXMLToMap(String xmlString) {
// new BaseBean().writeLog("xmlString=="+xmlString);
// xmlString = new String(xmlString.getBytes(StandardCb harsets.UTF_8)).trim();
// new BaseBean().writeLog("xmlString=="+xmlString);
xmlString = xmlString.trim();
Map<String, String> resultMap = new HashMap<>();
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(xmlString.getBytes(StandardCharsets.UTF_8));
Document document = builder.parse(byteArrayInputStream);
Element rootElement = document.getDocumentElement();
extractValues(rootElement, resultMap);
} catch (Exception e) {
new BaseBean().writeLog(e.getMessage());
e.printStackTrace();
}
return resultMap;
}
private static void extractValues(Element element, Map<String, String> resultMap) {
NodeList childNodes = element.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
if (childNodes.item(i) instanceof Element) {
Element childElement = (Element) childNodes.item(i);
String nodeName = childElement.getNodeName();
String nodeValue = childElement.getTextContent();
resultMap.put(nodeName, nodeValue);
extractValues(childElement, resultMap);
}
}
}
//财务系统构建返回体
public static String CW2XML(Map<String,String> headerParam,String retCd , String errorMessage ) {
try {
// 创建文档对象
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
// 创建根节点
Element rootElement = doc.createElement("Service");
doc.appendChild(rootElement);
addServiceHeader(doc,rootElement,headerParam);
// 创建Service_Body节点
Element serviceBodyElement = doc.createElement("Service_Body");
rootElement.appendChild(serviceBodyElement);
// 创建response节点
Element responseElement = doc.createElement("response");
serviceBodyElement.appendChild(responseElement);
// // 创建todo节点
// Element todoElement = doc.createElement("todo");
// responseElement.appendChild(todoElement);
// 创建count节点并设置值
if(retCd != null) {
Element countElement = doc.createElement("retCd");
countElement.setTextContent(retCd + "");
responseElement.appendChild(countElement);
}
if(errorMessage != null){
Element countOneElement = doc.createElement("errorMessage");
countOneElement.setTextContent(errorMessage+"");
responseElement.appendChild(countOneElement);
}
// 将文档对象转换为XML字符串
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); // 设置不包含XML声明
DOMSource source = new DOMSource(doc);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
StreamResult result = new StreamResult(outputStream);
transformer.transform(source, result);
// 将XML结果转换为字符串
String xmlString = outputStream.toString("UTF-8");
//System.out.println(xmlString);
String length = String.format("%08d", xmlString.length());
return length+xmlString;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}

@ -7,8 +7,6 @@ import com.engine.custom.sl.entity.EsbRequestHeader;
import com.engine.custom.sl.entity.TravelToEsbBean; import com.engine.custom.sl.entity.TravelToEsbBean;
import com.engine.util.SocketClientUtil; import com.engine.util.SocketClientUtil;
import com.engine.util.XMLUtils; import com.engine.util.XMLUtils;
import weaver.conn.RecordSet;
import weaver.wechat.util.Utils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -18,7 +16,6 @@ import javax.ws.rs.core.Context;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class SLController { public class SLController {

@ -7,9 +7,6 @@ import com.engine.common.util.ParamUtil;
import com.engine.service.TJBKWorkFlowService; import com.engine.service.TJBKWorkFlowService;
import com.engine.service.impl.TJBKWorkFlowServiceImpl; import com.engine.service.impl.TJBKWorkFlowServiceImpl;
import com.engine.util.XMLUtils; import com.engine.util.XMLUtils;
import com.icbc.api.internal.apache.http.impl.cookie.S;
import weaver.general.BaseBean;
import weaver.general.StringUtil;
import weaver.security.rsa.IOUtils; import weaver.security.rsa.IOUtils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -20,7 +17,6 @@ import javax.ws.rs.core.Context;
import java.io.*; import java.io.*;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class TJBKWorkFlow { public class TJBKWorkFlow {

@ -0,0 +1,60 @@
<%@ page import="weaver.conn.RecordSetDataSource" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="com.engine.custom.corn.util.ReportUtil" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
out.print("<br/>最爱用APP更新开始执行");
execute();
out.print("<br/>最爱用APP更新结束");
%>
<%!
public void execute() {
RecordSet rs = new RecordSet();
updateAppAndNum(rs);
}
private int updateAppAndNum(RecordSet rs) {
rs.executeUpdate("UPDATE uf_personreport " +
"SET " +
" (zaydyy, ljsycs) = ( " +
" SELECT MaxField, MaxValue " +
" FROM ( " +
" SELECT id , " +
" GREATEST( " +
" NVL(gsznzydjs, 0), " +
" NVL(itptdjs, 0), " +
" NVL(ygzs, 0), " +
" NVL(sktx, 0), " +
" NVL(sxsp, 0) " +
" ) AS MaxValue, " +
" CASE GREATEST( " +
" NVL(gsznzydjs, 0), " +
" NVL(itptdjs, 0), " +
" NVL(ygzs, 0), " +
" NVL(sktx, 0), " +
" NVL(sxsp, 0) " +
" ) " +
" WHEN NVL(gsznzydjs, 0) THEN '公司智能作业' " +
" WHEN NVL(itptdjs, 0) THEN 'IT项目审批' " +
" WHEN NVL(ygzs, 0) THEN '云工作室' " +
" WHEN NVL(sktx, 0) THEN '数看天行' " +
" WHEN NVL(sxsp, 0) THEN '授信审批' " +
" END AS MaxField " +
" FROM uf_personreport " +
" ) " +
" WHERE uf_personreport.id = id " +
" ) " +
"WHERE gsznzydjs is not null or itptdjs is not null or ygzs is not null or sktx is not null or sxsp is not null");
return rs.getUpdateCount();
}
%>

@ -21,19 +21,19 @@
String out = ""; String out = "";
int i = updateRoleGjc(rs, roleMember); int i = updateRoleGjc(rs, roleMember);
out = out + "<br/>updateRoleGjc==>" + i; out = out + "<br/>updateRoleGjc==>" + i;
int i1 = updateGjcOfficialWf(rs, 200); int i1 = updateGjcOfficialWf(rs, 650);
out = out + "<br/>updateGjcOfficialWf==>" + i1; out = out + "<br/>updateGjcOfficialWf==>" + i1;
int i2 = updateGjcAffairsWf(rs, 200); int i2 = updateGjcAffairsWf(rs, 650);
out = out + "<br/>updateGjcAffairsWf==>" + i2; out = out + "<br/>updateGjcAffairsWf==>" + i2;
int i3 = updateGjcBusinessWf(rs, 200); int i3 = updateGjcBusinessWf(rs, 650);
out = out + "<br/>updateGjcBusinessWf==>" + i3; out = out + "<br/>updateGjcBusinessWf==>" + i3;
int i4 = updateGjcShareDoc(rs, 200); int i4 = updateGjcShareDoc(rs, 650);
out = out + "<br/>updateGjcShareDoc==>" + i4; out = out + "<br/>updateGjcShareDoc==>" + i4;
int i5 = updateGjcMeeting(rs, 200); int i5 = updateGjcMeeting(rs, 650);
out = out + "<br/>updateGjcMeeting==>" + i5; out = out + "<br/>updateGjcMeeting==>" + i5;
int i6 = updateGjcLogin(rs, 200); int i6 = updateGjcLogin(rs, 650);
out = out + "<br/>updateGjcLogin==>" + i6; out = out + "<br/>updateGjcLogin==>" + i6;
int i7 = updateGjcMsg(rs, 200); int i7 = updateGjcMsg(rs, 650);
out = out + "<br/>updateGjcMsg==>" + i7; out = out + "<br/>updateGjcMsg==>" + i7;
int i8 = updateGjcNull(rs); int i8 = updateGjcNull(rs);
out = out + "<br/>updateGjcNull==>" + i8; out = out + "<br/>updateGjcNull==>" + i8;

@ -45,7 +45,17 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ page language="java" contentType="text/html; charset=UTF-8" %>
<% <%
response.sendError(500,"报错测试"); Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("loginidweaver".equals(cookie.getName())) {
String cookieValue = cookie.getValue();
// 使用cookieValue
out.print(cookieValue);
out.print("");
}
}
}
%> %>
<%! <%!

@ -0,0 +1,225 @@
<%@ page import="java.util.Map" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="com.engine.common.util.ParamUtil" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="javax.ws.rs.core.Context" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="java.time.LocalDate" %>
<%@ page import="java.time.format.DateTimeFormatter" %>
<%@ page import="java.time.temporal.ChronoUnit" %>
<%@ page import="weaver.general.StringUtil" %>
<%@ page import="java.time.LocalDateTime" %>
<%@ page import="java.util.Arrays" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
out.print(getVersionInfo(request,response));
%>
<%!
public String getVersionInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) {
Map<String, Object> apidatas = new HashMap<String, Object>();
Map<String, Object> paramMap = ParamUtil.request2Map(request);
RecordSet recordSet = new RecordSet();
String userId = (String) paramMap.get("userId");
String[] hlduserIDS = {"29","25","27","28","26","24","23","22"};
// if (StringUtil.isEmpty(userId)){
// return JSONObject.toJSONString(new Result(500,"人员id为空"));
// }
String sql = "select * from uf_personreport where ry = ? and nd = ? order by id desc";
// LocalDate now = LocalDate.now();
// int year = now.getYear();
recordSet.executeQuery(sql,userId,2023);
HashMap<String, String> firstMap = new HashMap<>();
String inputDateStr = "2023-08-07";
// 解析输入日期
LocalDate inputDate = LocalDate.parse(inputDateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
// 转换格式
String outputDateStr = inputDate.format(DateTimeFormatter.ofPattern("yyyy年M月d日"));
// 计算距离今天的天数
LocalDate today = LocalDate.now();
long daysBetween = ChronoUnit.DAYS.between(inputDate, today);
// firstMap.put("ksrq",outputDateStr);
// firstMap.put("jjts",daysBetween+"");
System.out.println("距离今天的天数: " + daysBetween);
HashMap<String, String> secondMap = new HashMap<>();
HashMap<String, String> thirdMap = new HashMap<>();
HashMap<String, String> fourthMap = new HashMap<>();
HashMap<String, String> fifthMap = new HashMap<>();
HashMap<String, String> sixthMap = new HashMap<>();
HashMap<String, String> seventhMap = new HashMap<>();
HashMap<String, String> eighthMap = new HashMap<>();
HashMap<String, Object> ninthMap = new HashMap<>();
if(recordSet.next()){
secondMap.put("ksrq",outputDateStr);
secondMap.put("jjts",daysBetween+"");
secondMap.put("ddcs",Util.null2String(recordSet.getString("ddcs")));
secondMap.put("yygs",Util.null2String(recordSet.getString("yygs")));
secondMap.put("gwbllcxs",Util.null2String(recordSet.getString("gwbllcxs")));
secondMap.put("swsplcxs",Util.null2String(recordSet.getString("swsplcxs")));
thirdMap.put("tgwzzs",Util.null2String(recordSet.getString("tgwzzs")));
thirdMap.put("zshywz1",Util.null2String(recordSet.getString("zshywz1")));
thirdMap.put("zshywz2",Util.null2String(recordSet.getString("zshywz2")));
thirdMap.put("zshywz3",Util.null2String(recordSet.getString("zshywz3")));
fourthMap.put("jsxxzongshu",Util.null2String(recordSet.getString("jsxxzongshu")));
fourthMap.put("ysxljfqhycs",Util.null2String(recordSet.getString("ysxljfqhycs")));
fourthMap.put("grhycycs",Util.null2String(recordSet.getString("grhycycs")));
fourthMap.put("zjgxwd",Util.null2String(recordSet.getString("zjgxwd")));
fourthMap.put("grwdgx",Util.null2String(recordSet.getString("grwdgx")));
fourthMap.put("xwhycs",Util.null2String(recordSet.getString("xwhycs")));
try {
if (Arrays.asList(hlduserIDS).contains(userId)){
fourthMap.put("wlsfzs","0");
}else {
fourthMap.put("wlsfzs","1");
}
}catch (Exception e){
e.printStackTrace();
}
fifthMap.put("sktxysfxs",Util.null2String(recordSet.getString("sktxysfxs")));
fifthMap.put("sktxcycs",Util.null2String(recordSet.getString("sktxcycs")));
sixthMap.put("gczgw",Util.null2String(recordSet.getString("gczgw")));
sixthMap.put("ljjyzz",Util.null2String(recordSet.getString("ljjyzz")));
sixthMap.put("ljjp",Util.null2String(recordSet.getString("ljjp")));
sixthMap.put("jjrclgw",Util.null2String(recordSet.getString("jjrclgw")));
sixthMap.put("qnljclgw",Util.null2String(recordSet.getString("qnljclgw")));
sixthMap.put("cgbl",Util.null2String(recordSet.getString("cgbl")));
String dycclgwrq = Util.null2String(recordSet.getString("dycclgwrq"));
if (!(StringUtil.isEmpty(dycclgwrq))){
LocalDate date = LocalDate.parse(dycclgwrq, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
sixthMap.put("dycclgwrqMM",date.getMonthValue()+"");
sixthMap.put("dycclgwrqDD",date.getDayOfMonth()+"");
}else {
sixthMap.put("dycclgwrqMM","");
sixthMap.put("dycclgwrqDD","");
}
sixthMap.put("dycclgwrq",Util.null2String(recordSet.getString("dycclgwrq")));
String clgwzwrq = Util.null2String(recordSet.getString("clgwzwrq"));
if (!(StringUtil.isEmpty(dycclgwrq))){
LocalDateTime date2 = LocalDateTime.parse(clgwzwrq, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
sixthMap.put("clgwzwrqMM",date2.getMonthValue()+"");
sixthMap.put("clgwzwrqDD",date2.getDayOfMonth()+"");
}else {
sixthMap.put("clgwzwrqMM","");
sixthMap.put("clgwzwrqDD","");
}
sixthMap.put("clgwzwrq",Util.null2String(recordSet.getString("clgwzwrq")));
seventhMap.put("ljsyslcs",Util.null2String(recordSet.getString("ljsyslcs")));
seventhMap.put("qgzydf",Util.null2String(recordSet.getString("qgzydf")));
seventhMap.put("swsplcgs",Util.null2String(recordSet.getString("swsplcgs")));
seventhMap.put("nddjlzgyy",Util.null2String(recordSet.getString("nddjlzgyy")));
seventhMap.put("ljdjcs",Util.null2String(recordSet.getString("ljdjcs")));
seventhMap.put("zaydyy",Util.null2String(recordSet.getString("zaydyy")));
seventhMap.put("ljsycs",Util.null2String(recordSet.getString("ljsycs")));
eighthMap.put("pjmrzxrs",Util.null2String(recordSet.getString("pjmrzxrs")));
eighthMap.put("pjmrzxrszb",Util.null2String(recordSet.getString("pjmrzxrszb")));
eighthMap.put("ljdloacs",Util.null2String(recordSet.getString("ljdloacs")));
// eighthMap.put("dlcscgrszb",Util.null2String(recordSet.getString("dlcscgrszb")));
}
String gjc = Util.null2String(recordSet.getString("gjc"));
String sfwxld = Util.null2String(recordSet.getString("sfwxld"));
ninthMap.put("sfwxld",sfwxld);
if ("统筹全局".equals(gjc)){
ninthMap.put("gjc","统筹全局");
ninthMap.put("filed1",Util.null2String(recordSet.getString("sktxcycs")));
ninthMap.put("filed2","2023-12-05 23:24:45");
}else if("天行守护者".equals(gjc)){
ninthMap.put("gjc","天行守护者");
ninthMap.put("filed1",Util.null2String(recordSet.getString("qnljclgw")));
ninthMap.put("filed2","2023-12-05");
ninthMap.put("filed3","27");
}else if("勇担重担实干家".equals(gjc)){
ninthMap.put("gjc","勇担重担实干家");
ninthMap.put("filed1",Util.null2String(recordSet.getString("grfsxxs")));
ninthMap.put("filed2",Util.null2String(recordSet.getString("zwdlrq")));
}else if("智慧OA最亲密的朋友".equals(gjc)){
ninthMap.put("gjc","智慧OA最亲密的朋友");
ninthMap.put("filed1",Util.null2String(recordSet.getString("ljdloacs")));
ninthMap.put("filed2","90%");
}else if("社交天花板".equals(gjc)){
ninthMap.put("gjc","社交天花板");
ninthMap.put("filed1",112);
ninthMap.put("filed2","39");
ninthMap.put("filed3","90%");
}else if("人形公文处理机".equals(gjc)){
ninthMap.put("gjc","人形公文处理机");
ninthMap.put("filed1",Util.null2String(recordSet.getString("qnljclgw")));
ninthMap.put("filed2","90%");
}else if("宝藏事务挖掘机".equals(gjc)){
ninthMap.put("gjc","宝藏事务挖掘机");
ninthMap.put("filed1",Util.null2String(recordSet.getString("grswsps")));
ninthMap.put("filed2","90%");
}else if("走南闯北 遥遥领先".equals(gjc)){
ninthMap.put("gjc","走南闯北 遥遥领先");
ninthMap.put("filed1","90%");
}else if("知识分享之光".equals(gjc)){
ninthMap.put("gjc","知识分享之光");
ninthMap.put("filed1",Util.null2String(recordSet.getString("grwdgx")));
ninthMap.put("filed2","90%");
}else if("会议守护者".equals(gjc)) {
ninthMap.put("gjc", "会议守护者");
ninthMap.put("filed1", Util.null2String(recordSet.getString("grhycycs")));
ninthMap.put("filed2", "90%");
}else if("智慧OA探索家".equals(gjc)){
ninthMap.put("gjc","智慧OA探索家");
}else if("夙夜在公,庭无留事1".equals(gjc)){
ninthMap.put("gjc","夙夜在公,庭无留事");
ninthMap.put("flag","1");
ninthMap.put("filed1",Util.null2String(recordSet.getString("qnljclgw")));
ninthMap.put("filed2",Util.null2String(recordSet.getString("cgbl")));
}else if("夙夜在公,庭无留事2".equals(gjc)){
ninthMap.put("gjc","夙夜在公,庭无留事");
ninthMap.put("flag","2");
ninthMap.put("filed1",Util.null2String(recordSet.getString("qnljclgw")));
ninthMap.put("filed2",Util.null2String(recordSet.getString("blgwzddyt")));
ninthMap.put("filed3",Util.null2String(recordSet.getString("ytnblgwzds")));
}else if("兢兢业业,案无留牍".equals(gjc)){
ninthMap.put("gjc","兢兢业业,案无留牍");
ninthMap.put("filed1",Util.null2String(recordSet.getString("qnljclgw")));
ninthMap.put("filed2",Util.null2String(recordSet.getString("blgwzddyt")));
ninthMap.put("filed3",Util.null2String(recordSet.getString("ytnblgwzds")));
}else if("不辞辛劳,雷厉风行".equals(gjc)){
ninthMap.put("gjc","不辞辛劳,雷厉风行");
ninthMap.put("filed1",Util.null2String(recordSet.getString("qnljclgw")));
ninthMap.put("filed2",Util.null2String(recordSet.getString("blgwzddyt")));
ninthMap.put("filed3",Util.null2String(recordSet.getString("ytnblgwzds")));
}
if ("0".equals(sfwxld)){
// ninthMap.put("gjc","不辞辛劳,雷厉风行");
ninthMap.put("filed1",Util.null2String(recordSet.getString("xxrdlcs")));
ninthMap.put("filed2",Util.null2String(recordSet.getString("xxrdlcscgbl")));
ninthMap.put("filed3",Util.null2String(recordSet.getString("sktx")));
}
ninthMap.put("url",getGJCUrl(gjc));
apidatas.put("first",firstMap);
apidatas.put("second",secondMap);
apidatas.put("third",thirdMap);
apidatas.put("fourth",fourthMap);
apidatas.put("fifth",fifthMap);
apidatas.put("sixth",sixthMap);
apidatas.put("seventh",seventhMap);
apidatas.put("eighth",eighthMap);
apidatas.put("ninth",ninthMap);
Map<String, Object> Result = new HashMap<>();
Result.put("code",200);
Result.put("data",apidatas);
return JSONObject.toJSONString(Result) ;
}
private String getGJCUrl(String gjc) {
RecordSet recordSet = new RecordSet();
recordSet.executeQuery("select * from uf_reportkeyword where name = ?" ,gjc);
recordSet.next();
return recordSet.getString("url");
}
%>

@ -0,0 +1,185 @@
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="com.engine.common.util.ParamUtil" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="javax.ws.rs.core.Context" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="java.time.LocalDate" %>
<%@ page import="java.time.format.DateTimeFormatter" %>
<%@ page import="java.time.temporal.ChronoUnit" %>
<%@ page import="weaver.general.StringUtil" %>
<%@ page import="java.time.LocalDateTime" %>
<%@ page import="weaver.file.Prop" %>
<%@ page import="java.time.DayOfWeek" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.conn.RecordSetDataSource" %>
<%@ page import="com.engine.custom.corn.Thread.YearReportThread" %>
<%@ page import="com.engine.custom.corn.util.ReportUtil" %>
<%@ page import="java.util.stream.Collectors" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
RecordSetDataSource em7rs = new RecordSetDataSource("em7");
RecordSetDataSource emprs = new RecordSetDataSource("dm_msg");
RecordSet rs = new RecordSet();
RecordSet rs2 = new RecordSet();
RecordSet rs3 = new RecordSet();
String insertSql = "INSERT INTO uf_personreport( RY, ND, DDCS, TGWZZS, ZSHYWZ1, ZSHYWZ2, ZSHYWZ3, YSXLJFQHYCS, GRHYCYCS, ZJGXWD, GRWDGX,SKTXYSFXS, SKTXCYCS, GCZGW, LJJYZZ, LJJP, JJRCLGW, QNLJCLGW, CGBL, LJSYSLCS, QGZYDF, NDDJLZGYY,LJDJCS, ZAYDYY, LJSYCS, PJMRZXRS, PJMRZXRSZB, LJDLOACS, DLCSCGRSZB, YYGS, GWBLLCXS, SWSPLCXS,JSXXZONGSHU, XWHYCS, SWSPLCGS,FORMMODEID)" +
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
// 获取总人数
String sql = "select count(*) cnt from Hrmresource";
rs.executeQuery(sql);
Integer cnt = 0;
if (rs.next()){
cnt = rs.getInt("cnt");
}
//按照模板插入写死的值
Map<String, String> map = getConfigRecord();
String sqlhrm = "select * from HRMRESOURCE a left join uf_personreport b on a.id = b.ry where b.ry is null and accounttype != 1 and a.workcode is not null and belongto = -1 and a.status in ( 0,1,2,3)";
rs.executeQuery(sqlhrm);
//获取节假日日期字符串查询条件
List<String> allWeekendsOfYear = ReportUtil.getAllWeekendsOfYear(2023).stream()
.map(s -> "'" + s + "'")
.collect(Collectors.toList());;
String weekStr = String.join(",",allWeekendsOfYear);
String wfids = Prop.getPropValue("yearReport", "gwwfid");
String slwfid = Prop.getPropValue("yearReport", "slwfid");
String AffairsWfid = ReportUtil.getAffairsWfid(rs3);
String updateuserSql = "update uf_personreport set workcode = ? , name = ? , grhycycs = ? ,grwdgx = ? ,jjrclgw = ? ,qnljclgw = ?,cgbl = ? ,ljdloacs = ?,clgwzwrq = ?,grswsps = ?,grcylts = ?,grfsxxrs = ?,grfsxxqlss=?,ljsyslcs = ?,dycclgwrq = ? where ry = ?";
while (rs.next()){
String id = rs.getString("id");
rs2.executeUpdate(insertSql,id,map.get("ND"),map.get("DDCS"),map.get("TGWZZS"),map.get("ZSHYWZ1"),map.get("ZSHYWZ2"),map.get("ZSHYWZ3"),map.get("YSXLJFQHYCS"),map.get("GRHYCYCS"),map.get("ZJGXWD"),map.get("GRWDGX"),map.get("SKTXYSFXS"),map.get("SKTXCYCS"),map.get("GCZGW"),map.get("LJJYZZ"),map.get("LJJP"),map.get("JJRCLGW"),map.get("QNLJCLGW"),map.get("CGBL"),map.get("LJSYSLCS"),map.get("QGZYDF"),map.get("NDDJLZGYY"),map.get("LJDJCS"),map.get("ZAYDYY"),map.get("LJSYCS"),map.get("PJMRZXRS"),map.get("PJMRZXRSZB"),map.get("LJDLOACS"),map.get("DLCSCGRSZB"),map.get("YYGS"),map.get("GWBLLCXS"),map.get("SWSPLCXS"),map.get("JSXXZONGSHU"),map.get("XWHYCS"),map.get("SWSPLCGS"),map.get("FORMMODEID"));
String workcode = rs.getString("WORKCODE");
String name = rs.getString("LASTNAME");
int shareDocCnt = com.wbi.util.Util.getIntValue(ReportUtil.getShareDOCCountbyUserid(rs2, id)+"",0) ;
int personMeetCount = com.wbi.util.Util.getIntValue(ReportUtil.getMeetCountByUserid(rs2, id)+"",0) ;
int yearOfficialWfCount = com.wbi.util.Util.getIntValue(ReportUtil.getYearOfficialWfCount(rs2, id, wfids)+"",0) ;
int holidayOfficialWfCount = com.wbi.util.Util.getIntValue(ReportUtil.getHolidayOfficialWfCount(rs2, id, wfids,weekStr)+"",0) ;
int officialWfCountPercentage = com.wbi.util.Util.getIntValue(ReportUtil.getOfficialWfCountPercentage(rs2, id, wfids,weekStr,cnt)+"",0) ;
String lastTimeDate = com.wbi.util.Util.null2String(ReportUtil.getOfficialWflastTimeDate(rs2, id, wfids)) ;
int loginDayCount = com.wbi.util.Util.getIntValue(ReportUtil.getLoginDayCount(rs2, id)+"",0) ;
int AffairsWfCount = com.wbi.util.Util.getIntValue(ReportUtil.getYearAffairsWfCount(rs2, id, AffairsWfid)+"",0);
int MsgCount = com.wbi.util.Util.getIntValue(ReportUtil.getMsgCountByUserid(emprs, id)+"",0);
int PeopleCount = com.wbi.util.Util.getIntValue(ReportUtil.getMsgPeopleCountByUserid(emprs, id)+"",0);
int MsgGangHsienCount = com.wbi.util.Util.getIntValue(ReportUtil.getMsgGangHsienCountByUserid(emprs, id)+"",0);
int BusinessWfCount = com.wbi.util.Util.getIntValue(ReportUtil.getBusinessWfCount(rs2, id,slwfid)+"",0);
String LastOfficialWfDate = com.wbi.util.Util.null2String(ReportUtil.getLastOfficialWfDate(rs2, id,wfids));
rs.executeUpdate(updateuserSql,workcode,name,personMeetCount,shareDocCnt,holidayOfficialWfCount,yearOfficialWfCount,officialWfCountPercentage,loginDayCount,lastTimeDate,AffairsWfCount,MsgCount,PeopleCount,MsgGangHsienCount,BusinessWfCount,LastOfficialWfDate,id);
out.print(workcode);
}
%>
<%!
private String getAffairsWfid(RecordSet rs) {
String swspwftype = Prop.getPropValue("yearReport", "swspwftype");
rs.executeQuery("select id from workflow_base where workflowtype in ( "+swspwftype+" )");
ArrayList<String> wfids = new ArrayList<>();
while (rs.next()){
wfids.add(com.wbi.util.Util.null2String(rs.getString("id")));
}
return String.join(",",wfids);
}
/**
* 获取指定年的休息日(双休情况下)
* @param year
* @return
*/
private static List<String> getAllWeekendsOfYear(int year) {
//将本年的周六周日加到list中
List<String> weekendDates = new ArrayList<>();
LocalDate date = LocalDate.of(year, 1, 1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
while (date.getYear() == year) {
if (date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY) {
weekendDates.add(date.format(formatter));
}
date = date.plusDays(1);
}
//查询库里的节假日设置
RecordSet recordSet = new RecordSet();
// String groupid = Util.null2String(Prop.getPropValue("year_report_set", "groupid"),"24") ;
String groupid = "24" ;
recordSet.executeQuery("select changeType ,holidayDate from KQ_HolidaySet where groupid = ?",groupid);
//去掉调配工作日,加上公众假日和调配休息日
List<String> WorkDates = new ArrayList<>();
List<String> holidayDates = new ArrayList<>();
while (recordSet.next()){
String changeType = recordSet.getString("changeType");
String holidayDate = recordSet.getString("holidayDate");
if ("2".equals(changeType)){
WorkDates.add(holidayDate);
}else if("1".equals(changeType) || "3".equals(changeType)){
holidayDates.add(holidayDate);
}
}
weekendDates.removeAll(WorkDates);
HashSet<String> set = new HashSet<>();
set.addAll(weekendDates);
set.addAll(holidayDates);
return new ArrayList<>(set);
}
private Map<String, String> getConfigRecord(){
RecordSet recordSet = new RecordSet();
recordSet.executeQuery("select * from uf_personreport where ry = 1");
recordSet.next();
HashMap<String,String> map = new HashMap<>();
map.put("RY", com.wbi.util.Util.null2String(recordSet.getString("RY")));
map.put("ND", com.wbi.util.Util.null2String(recordSet.getString("ND")));
map.put("DDCS", com.wbi.util.Util.null2String(recordSet.getString("DDCS")));
map.put("TGWZZS", com.wbi.util.Util.null2String(recordSet.getString("TGWZZS")));
map.put("ZSHYWZ1", com.wbi.util.Util.null2String(recordSet.getString("ZSHYWZ1")));
map.put("ZSHYWZ2", com.wbi.util.Util.null2String(recordSet.getString("ZSHYWZ2")));
map.put("ZSHYWZ3", com.wbi.util.Util.null2String(recordSet.getString("ZSHYWZ3")));
map.put("YSXLJFQHYCS", com.wbi.util.Util.null2String(recordSet.getString("YSXLJFQHYCS")));
map.put("GRHYCYCS", com.wbi.util.Util.null2String(recordSet.getString("GRHYCYCS")));
map.put("ZJGXWD", com.wbi.util.Util.null2String(recordSet.getString("ZJGXWD")));
map.put("GRWDGX", com.wbi.util.Util.null2String(recordSet.getString("GRWDGX")));
map.put("SKTXYSFXS", com.wbi.util.Util.null2String(recordSet.getString("SKTXYSFXS")));
map.put("SKTXCYCS", com.wbi.util.Util.null2String(recordSet.getString("SKTXCYCS")));
map.put("GCZGW", com.wbi.util.Util.null2String(recordSet.getString("GCZGW")));
map.put("LJJYZZ", com.wbi.util.Util.null2String(recordSet.getString("LJJYZZ")));
map.put("LJJP", com.wbi.util.Util.null2String(recordSet.getString("LJJP")));
map.put("JJRCLGW", com.wbi.util.Util.null2String(recordSet.getString("JJRCLGW")));
map.put("QNLJCLGW", com.wbi.util.Util.null2String(recordSet.getString("QNLJCLGW")));
map.put("CGBL", com.wbi.util.Util.null2String(recordSet.getString("CGBL")));
map.put("LJSYSLCS", com.wbi.util.Util.null2String(recordSet.getString("LJSYSLCS")));
map.put("QGZYDF", com.wbi.util.Util.null2String(recordSet.getString("QGZYDF")));
map.put("NDDJLZGYY", com.wbi.util.Util.null2String(recordSet.getString("NDDJLZGYY")));
map.put("LJDJCS", com.wbi.util.Util.null2String(recordSet.getString("LJDJCS")));
map.put("ZAYDYY", com.wbi.util.Util.null2String(recordSet.getString("ZAYDYY")));
map.put("LJSYCS", com.wbi.util.Util.null2String(recordSet.getString("LJSYCS")));
map.put("PJMRZXRS", com.wbi.util.Util.null2String(recordSet.getString("PJMRZXRS")));
map.put("PJMRZXRSZB", com.wbi.util.Util.null2String(recordSet.getString("PJMRZXRSZB")));
map.put("LJDLOACS", com.wbi.util.Util.null2String(recordSet.getString("LJDLOACS")));
map.put("DLCSCGRSZB", com.wbi.util.Util.null2String(recordSet.getString("DLCSCGRSZB")));
map.put("FORMMODEID", com.wbi.util.Util.null2String(recordSet.getString("FORMMODEID")));
map.put("MODEDATACREATER", com.wbi.util.Util.null2String(recordSet.getString("MODEDATACREATER")));
map.put("MODEDATACREATERTYPE", com.wbi.util.Util.null2String(recordSet.getString("MODEDATACREATERTYPE")));
map.put("MODEDATACREATEDATE", com.wbi.util.Util.null2String(recordSet.getString("MODEDATACREATEDATE")));
map.put("MODEDATACREATETIME", com.wbi.util.Util.null2String(recordSet.getString("MODEDATACREATETIME")));
map.put("MODEDATAMODIFIER", com.wbi.util.Util.null2String(recordSet.getString("MODEDATAMODIFIER")));
map.put("MODEDATAMODIFYDATETIME", com.wbi.util.Util.null2String(recordSet.getString("MODEDATAMODIFYDATETIME")));
map.put("FORM_BIZ_ID", com.wbi.util.Util.null2String(recordSet.getString("FORM_BIZ_ID")));
map.put("MODEUUID", com.wbi.util.Util.null2String(recordSet.getString("MODEUUID")));
map.put("YYGS", com.wbi.util.Util.null2String(recordSet.getString("YYGS")));
map.put("GWBLLCXS", com.wbi.util.Util.null2String(recordSet.getString("GWBLLCXS")));
map.put("SWSPLCXS", com.wbi.util.Util.null2String(recordSet.getString("SWSPLCXS")));
map.put("JSXXZONGSHU", com.wbi.util.Util.null2String(recordSet.getString("JSXXZONGSHU")));
map.put("XWHYCS", com.wbi.util.Util.null2String(recordSet.getString("XWHYCS")));
map.put("SWSPLCGS", com.wbi.util.Util.null2String(recordSet.getString("SWSPLCGS")));
return map;
}
%>

@ -0,0 +1,124 @@
<%@ page import="com.engine.custom.sl.entity.EsbRequestHeader" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.Date" %>
<%@ page import="com.engine.custom.sl.entity.TravelToEsbBean" %>
<%@ page import="java.nio.charset.StandardCharsets" %>
<%@ page import="com.engine.util.SocketClientUtil" %>
<%@ page import="com.engine.util.XMLUtils" %>
<%@ page import="java.util.Map" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="com.engine.common.util.ParamUtil" %>
<%@ page import="java.net.Socket" %>
<%@ page import="weaver.general.BaseBean" %>
<%@ page import="weaver.general.StringUtil" %>
<%@ page import="java.io.*" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
// Map<String, Object> param = ParamUtil.request2Map(request);
// String workCode = param.get("workCode").toString();
String workCode = HrmUserVarify.getUser(request, response).getLoginid();
String timeStr = generateTimestamp();
EsbRequestHeader esbRequestHeader = new EsbRequestHeader();
esbRequestHeader.setService_sn(timeStr+workCode);
esbRequestHeader.setSystem_id("0275");
esbRequestHeader.setRequester_id("0258");
esbRequestHeader.setBranch_id("ITMS0002");
esbRequestHeader.setChannel_id("17");
esbRequestHeader.setService_time(timeStr);
esbRequestHeader.setNeed_request("");
esbRequestHeader.setSvcCd("500130004");
esbRequestHeader.setSvcScn("17");
String bnkSrlNo = esbRequestHeader.getRequester_id() + timeStr + workCode;
esbRequestHeader.setBnkSrlNo(bnkSrlNo);
esbRequestHeader.setFileFlg("0");
String Service_Body = "<Service_Body><request><path>todo</path><method>getCount</method><args><entry><key>userNum</key><value>"+workCode+"</value></entry></args></request></Service_Body>" ;
String Service_Header = TravelToEsbBean.convertObjectToXml(esbRequestHeader,"Service_Header");
String serviceXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service>";
// out.print("UTF_8_serviceXML==="+ serviceXML);
serviceXML = serviceXML + Service_Header + Service_Body;
serviceXML = serviceXML + "</Service>";
// out.print("UTF_8_serviceXML==="+ serviceXML);
String length = String.format("%08d", serviceXML.length());
serviceXML = length + serviceXML;
serviceXML = new String(serviceXML.getBytes(StandardCharsets.UTF_8));
String send = "";
try {
send = send(serviceXML);
// out.print("返回=="+send);
}catch (Exception e){
// out.print("异常=="+ e.getMessage());
}
// SocketClientUtil scketClient = new SocketClientUtil("14.1.76.116",10149);
// String substring = send.substring(0, 8);
// String substring1 = send.substring(8);
// out.print(substring);
Map<String, String> map = XMLUtils.parseXMLToMap(send);
JSONObject jsonObject = new JSONObject();
jsonObject.put("count", Util.getIntValue(map.get("count")));
out.print(jsonObject.toJSONString());
%>
<%!
public String send(String request) throws Exception {
// bs.writeLog("Client Start...");
BaseBean bs = new BaseBean();
Socket socket = null;
try {
//创建一个流套接字并将其连接到指定主机上的指定端口号
socket = new Socket("14.1.71.90",10149);
// String str = "00000612<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>1010157060000081243</service_sn><system_id>0258</system_id><requester_id>0157</requester_id><branch_id>010231100</branch_id><channel_id>01</channel_id><service_time>20230905104426</service_time><need_request>true</need_request><SvcCd>500130004</SvcCd><SvcScn>13</SvcScn><BnkSrlNo>015720230905060000081243</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><path>todo</path><method>getCount</method><args><entry><key>userNum</key><value>10913026任广鹏是个大刷币</value></entry></args></request></Service_Body></Service>";
// System.out.println(str);
//读取服务器端数据
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8));
//向服务器端发送数据
// PrintStream out = new PrintStream(new OutputStreamWriter(socket.getOutputStream(),StandardCharsets.UTF_8));
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(),StandardCharsets.UTF_8),true);
out.println(request);
char[] datalen=new char[8];//报文前八位为报文体总长度
input.read(datalen,0,8);
String lendata=new String (datalen);
int length=Integer.parseInt(lendata);
new BaseBean().writeLog("报文长度"+length);
char[] data=new char[length];
int datalength = input.read(data,0,length);
String requestData = new String(data);
new BaseBean().writeLog("requestData",requestData);
// String ret = input.readLine();
System.out.println("服务器端返回过来的是: " + requestData);
bs.writeLog("服务器端返回过来的是: " + requestData);
// 如接收到 "OK" 则断开连接
if (!StringUtil.isEmpty(requestData)) {
bs.writeLog("客户端将关闭连接");
System.out.println("客户端将关闭连接: " + requestData);
Thread.sleep(500);
}
out.close();
input.close();
return requestData;
} catch (Exception e) {
bs.writeLog("客户端异常:" + e.getMessage());
throw e;
} finally {
if (socket != null) {
try {
socket.close();
} catch (IOException e) {
socket = null;
bs.writeLog("客户端 finally 异常:" + e.getMessage());
}
}
}
// return "-1";
}
public static String generateTimestamp() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date currentDate = new Date();
return dateFormat.format(currentDate);
}
%>

@ -709,11 +709,121 @@
try { try {
if (stMsg.has("errorCode")&&"2009".equals(stMsg.getString("errorCode"))){ if (stMsg.has("errorCode")&&"2009".equals(stMsg.getString("errorCode"))){
response.sendRedirect("https://office.bankoftianjin.com/interface/transfer/mobile/noPermissons2.html"); response.sendRedirect("https://office.bankoftianjin.com/interface/transfer/mobile/noPermissons2.html");
}else if(stMsg.has("errorCode")&&"2008".equals(stMsg.getString("errorCode"))){
//----------------------------------TGT未找到---------------------------------------------
bb.writeLog("TGT未找到");
String TGT ="";
String passWord ="";
String retMsg ="";
decriptList.add(login_id);
decriptList.add(user_password);
List<String> resultList = rsa.decryptList(request, decriptList);
String loginId = resultList.get(0);
String userPassword = resultList.get(1);
String publicKey = getPublicKey(MachInfo);
passWord = encrypt(user_password, publicKey);
params = new HashMap<>();//参数
params.put("username",loginId);
params.put("password",passWord);
bb.writeLog("==STparams=="+params);
headers = new HashMap<>();//headers
headers.put("API_KEY",API_KEY);
headers.put("MACH_ID",MachInfo.get("deviceId"));
headers.put("MACH_TYPE",MachInfo.get("clientType"));
headers.put("MACH_IP",MachInfo.get("param_ip"));
// headers.put("MACH_ID","123");
// headers.put("MACH_TYPE","0");
// headers.put("MACH_IP","127.0.0.1");
retMsg = httpPostForm(tgturl,params,headers,null);
bb.writeLog("===获取TGT返回值retMsg===="+retMsg);
org.json.JSONObject resMsg = new org.json.JSONObject(retMsg);
bb.writeLog("===获取TGT返回值===="+resMsg);
if(resMsg.has("TGT")){
TGT = Util.null2String(resMsg.get("TGT").toString());
}else{
//密码不正确,执行强制退出
if ("2002".equals(resMsg.get("errorCode")+"")){
out.print("<h3 style='font-size: 20px;'>您的单点系统密码已修改,请重新登录,将在3秒后退出</h3>");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
JSONObject postBody = new JSONObject();
String sysid = Prop.getPropValue("emsysinfo", "sysid");
postBody.put("sysid",sysid);
postBody.put("userids",user.getUID());
postBody.put("offline_type","1");
postBody.put("client_type","1,2,3");
String errmsg = EMExt(getEMToken(), postBody.toJSONString());
}
});
thread.start();
return;
}else{
out.print(resMsg.get("message"));
return;
}
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
Date expiresDate = new Date(now.getTime() + (4 * 60 * 60 * 1000));
request.getSession(true).setAttribute("certified_token_expires", sdf.format(expiresDate));//记录toekn失效日期时间
request.getSession(true).setAttribute("certified_token", TGT);//记录toekn
responseInfo = getST(TGT,cockpitUrl,MachInfo);
if (isEmpty(responseInfo)){
out.print("单点系统接口返回值为null");
return;
}else {
org.json.JSONObject stMsgnew = new org.json.JSONObject(responseInfo);
if(stMsgnew.has("ST")){
ST = Util.null2String(stMsgnew.get("ST").toString());
}else{
try {
if (stMsgnew.has("errorCode")&&"2009".equals(stMsgnew.getString("errorCode"))){
response.sendRedirect("https://office.bankoftianjin.com/interface/transfer/mobile/noPermissons2.html");
}
} catch (JSONException e) {
bb.writeLog(e);
}
out.print(Util.null2String(stMsgnew.getString("message")));
return;
}
String loginUrl = "";
// String remuseUrl = bb.getPropValue("tjbkremuse", "hbUrl");
String remuseUrl = sysUrl;
boolean isEm = Util.null2String(request.getHeader("user-agent")).indexOf("E-Mobile") > -1;
if(isEm == true){
loginUrl=remuseUrl+"ticket="+ST;
//loginUrl="http://123.151.115.199:8080/bi/PCFW?proc=1&action=viewer&hback=true&db=%E6%99%BA%E6%85%A7%E6%96%B9%E7%95%A5/%E5%89%8D%E7%BD%AE%E9%A1%B5.db&ticket="+ST;
}
bb.writeLog("loginUrl-->"+loginUrl);
//out.print("跳转路径-->"+loginUrl);
//out.print("进入驾驶舱成功");
//out.print(loginUrl);
response.sendRedirect(loginUrl);
// request.getRequestDispatcher("loginUrl").forward(request,response);
}
//----------------------------------TGT未找到---------------------------------------------
}else {
try {
out.print(Util.null2String(stMsg.getString("message")));
} catch (org.json.JSONException e) {
e.printStackTrace();
}
} }
} catch (JSONException e) { } catch (JSONException e) {
bb.writeLog(e); bb.writeLog(e);
} }
out.print(Util.null2String(stMsg.getString("message")));
return; return;
} }

@ -106,7 +106,7 @@ public class LoginEMFilter implements Filter {
Date currentDate = new Date(); Date currentDate = new Date();
long difference = currentDate.getTime() - parsedDate.getTime(); long difference = currentDate.getTime() - parsedDate.getTime();
if (difference > 10 * 60 * 1000) { // 10分钟 = 10 * 60 * 1000 毫秒 if (difference > 5 * 1000) { // 10分钟 = 10 * 60 * 1000 毫秒
return true; return true;
} else { } else {
return false; return false;

@ -6,7 +6,6 @@ import com.engine.custom.sl.entity.*;
// import com.engine.util.SocketClientUtil; // import com.engine.util.SocketClientUtil;
import com.engine.util.SocketClientUtil; import com.engine.util.SocketClientUtil;
import com.engine.util.XMLUtils; import com.engine.util.XMLUtils;
import com.icbc.api.internal.apache.http.impl.cookie.S;
import com.weaver.general.Util; import com.weaver.general.Util;
import org.jsoup.Jsoup; import org.jsoup.Jsoup;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
@ -19,7 +18,6 @@ import weaver.soa.workflow.request.RequestInfo;
import java.io.*; import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@ -78,7 +76,7 @@ public class Action20230911062023 extends BaseBean implements Action {
writeLog("serviceXML==="+ serviceXML); writeLog("serviceXML==="+ serviceXML);
// serviceXML = new String(serviceXML.getBytes(StandardCharsets.UTF_8)); // serviceXML = new String(serviceXML.getBytes(StandardCharsets.UTF_8));
writeLog("UTF_8_serviceXML==="+ serviceXML); writeLog("UTF_8_serviceXML==="+ serviceXML);
SocketClientUtil scketClient = new SocketClientUtil("14.1.76.116",10149); SocketClientUtil scketClient = new SocketClientUtil("14.1.78.197",10149);
String send = scketClient.send(serviceXML); String send = scketClient.send(serviceXML);
String substring = send.substring(0, 8); String substring = send.substring(0, 8);
String substring1 = send.substring(8); String substring1 = send.substring(8);
@ -149,6 +147,7 @@ public class Action20230911062023 extends BaseBean implements Action {
String ftpPath = ""; String ftpPath = "";
try { try {
ftpPath = HgUtils.putFile(tempFilePath, requestId + File.separator + imageFileName); ftpPath = HgUtils.putFile(tempFilePath, requestId + File.separator + imageFileName);
} catch (FtpException e) { } catch (FtpException e) {
e.printStackTrace(); e.printStackTrace();
writeLog( "传输ESBftp异常"+e.getMessage()); writeLog( "传输ESBftp异常"+e.getMessage());
@ -187,7 +186,7 @@ public class Action20230911062023 extends BaseBean implements Action {
//报销金额 //报销金额
toEsbBean.setExpnsAmt(multiply100(Util.null2String(rs.getString("bxjedwf")))); toEsbBean.setExpnsAmt(multiply100(Util.null2String(rs.getString("bxjedwf"))));
toEsbBean.setCostDeptCode((Util.null2String(rs.getString("cbzxbm")))); toEsbBean.setCostDeptCode((Util.null2String(rs.getString("cbzxbm"))));
toEsbBean.setCostDeptHame((Util.null2String(rs.getString("cbzxmc")))); toEsbBean.setCostDeptName((Util.null2String(rs.getString("cbzxmc"))));
//报销事由 Jsoup.parse(htmlContent).text() //报销事由 Jsoup.parse(htmlContent).text()
String expnsRsn = Util.null2String(rs.getString("bxsy")); String expnsRsn = Util.null2String(rs.getString("bxsy"));
String text = Jsoup.parse(expnsRsn).text(); String text = Jsoup.parse(expnsRsn).text();

@ -6,7 +6,6 @@ import com.engine.custom.sl.entity.*;
// import com.engine.util.SocketClientUtil; // import com.engine.util.SocketClientUtil;
import com.engine.util.SocketClientUtil; import com.engine.util.SocketClientUtil;
import com.engine.util.XMLUtils; import com.engine.util.XMLUtils;
import com.icbc.api.internal.apache.http.impl.cookie.S;
import com.weaver.general.Util; import com.weaver.general.Util;
import org.jsoup.Jsoup; import org.jsoup.Jsoup;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
@ -19,7 +18,6 @@ import weaver.soa.workflow.request.RequestInfo;
import java.io.*; import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;

Loading…
Cancel
Save