#HTXC-1# 初始化开发环境

main
shilei 3 years ago
parent e91c46e7fb
commit 395fc0e818

@ -0,0 +1,55 @@
package com.engine.htsc.Signet;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import org.apache.tools.ant.taskdefs.WaitFor;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class GetImagefileid {
@POST
@Path("/GetImagefileid")
@Produces({MediaType.TEXT_PLAIN})
public String GetImagefileid(@Context HttpServletRequest request, @Context HttpServletResponse response) {
Map<String, Object> apidatas = new HashMap<>();
try {
String docid=request.getParameter("docid");
String imagefileid="";
RecordSet rs=new RecordSet();
String sql=" select imagefileid from (select imagefileid from docimagefile where docid in (?) order by versionid desc) t\n" +
" where rownum<=1";
rs.executeQuery(sql,docid);
if(rs.next()){
imagefileid= rs.getString("imagefileid");
}
if(!"".equals(imagefileid)){
apidatas.put("data", imagefileid);
apidatas.put("status", true);
}else{
apidatas.put("data", false);
apidatas.put("status", "error");
}
} catch (Exception e) {
e.printStackTrace();
apidatas.put("status", false);
apidatas.put("errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,60 @@
package com.engine.htsc.TrealReimTools;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.GlobatTools.trealReimTools;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
public class TrealReimToolsWeb {
@POST
@Path("/getregionStringtoId")
@Produces({MediaType.TEXT_PLAIN})
public String getregionStringtoId(@Context HttpServletRequest request, @Context HttpServletResponse response) {
String value= Util.null2String(request.getParameter("value"));
String returnvalue="";
if("".equals(value)){
return JAVATools.Apiretrun("400","数据为空");
}
returnvalue= trealReimTools.getregionStringtoId(value);
return JAVATools.Apiretrun("200",returnvalue);
}
@POST
@Path("/gethrmtodeptid")
@Produces({MediaType.TEXT_PLAIN})
public String gethrmtodeptid(@Context HttpServletRequest request, @Context HttpServletResponse response) {
String value= Util.null2String(request.getParameter("userids"));
String returnvalue="";
if("".equals(value)){
return JAVATools.Apiretrun("400","数据为空");
}
return JAVATools.Apiretrun("200",trealReimTools.Gethrmdeptid(value));
}
@POST
@Path("/gethrmsupdepid")
@Produces({MediaType.TEXT_PLAIN})
public String gethrmsupdepid(@Context HttpServletRequest request, @Context HttpServletResponse response) {
String value= Util.null2String(request.getParameter("userids"));
String returnvalue="";
if("".equals(value)){
return JAVATools.Apiretrun("400","数据为空");
}
return JAVATools.Apiretrun("200",trealReimTools.Gethrmsupdepid(value));
}
}

@ -0,0 +1,13 @@
package com.engine.htsc.announcement.service;
import java.util.Map;
public interface HeadquartersAnncService {
Map<String,Object> isPostion(String userid);
Map<String, Object> afterLeadSign(String jobs,Integer requestid);
Map<String, Object> signDepartment(String formid, Integer requestid, String workflowid);
Map<String, Object> createHeadAnnouncementWorkflow(Map<String, Object> params);
}

@ -0,0 +1,155 @@
package com.engine.htsc.announcement.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.announcement.service.HeadquartersAnncService;
import com.engine.htsc.announcement.util.WeaToolsUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import weaver.conn.RecordSet;
import weaver.formmode.virtualform.VirtualFormHandler;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.TimeUtil;
import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo;
import weaver.interfaces.htsc.comInfo.PropBean;
import weaver.workflow.workflow.WorkflowBillComInfo;
import java.util.*;
public class HeadquartersAnncServiceImpl extends Service implements HeadquartersAnncService {
private Log log = LogFactory.getLog(this.getClass());
BaseBean bb = new BaseBean();
@Override
public Map<String, Object> isPostion(String userid) {
Map<String,Object> datas = new HashMap<>();
try {
RecordSet rs = new RecordSet();
String field12 = "";
rs.executeQuery("select field12 from cus_fielddata where id = ?",userid);
if (rs.next()){
field12 = Util.null2String(rs.getString("field12"));
}
if ("营业部正职".equals(field12)){
datas.put("isPostion",true);
}else {
datas.put("isPostion",false);
}
}catch (Exception e){
e.printStackTrace();
}
return datas;
}
@Override
public Map<String, Object> afterLeadSign(String jobs,Integer requestid) {
Map<String,Object> datas = new HashMap<>();
try {
boolean sendOut = true;//是否全部送完领导会签 true已送完
log.info("岗位信息==="+jobs);
PropBean pb = new PropBean();
RecordSet rs = new RecordSet();
//1.根据岗位获取对应人员
if (!"".equals(jobs)) {
String[] jobsarray = jobs.split(",");
for (String job : jobsarray) {
String nodeunnumber = "";
//2.根据岗位类型不同获取nodeunnumber值
if ("1".equals(job)) {//合规总监
nodeunnumber = "zbggfb_hgzj";
} else if ("2".equals(job)) { //首席风险官
nodeunnumber = "zbggfb_sxfxg";
} else if ("3".equals(job)) { //工会主席
nodeunnumber = "zbggfb_gwhz";
} else if ("4".equals(job)) { //首席财务官
nodeunnumber = "zbggfb_sxcwg";
}
String nodeid = pb.getActionNodeIdByUnNumber(nodeunnumber);
log.info("nodeid=="+nodeid+"=="+nodeunnumber);
//判断是否已经经过领导会签节点
rs.executeQuery("select DISTINCT userid from workflow_currentoperator " +
" where requestid = ? and nodeid = ? and isremark <> 0 ", requestid, nodeid);
if (rs.next()) {
log.info(nodeunnumber + "该节点已经经过");
} else {
log.info(nodeunnumber+"该节点未经过");
sendOut = false;
break;//结束循环
}
}
}
datas.put("sendAllOut",sendOut);
}catch (Exception e){
e.printStackTrace();
}
return datas;
}
@Override
public Map<String, Object> signDepartment(String formid, Integer requestid, String workflowid) {
Map<String,Object> datas = new HashMap<>();
RecordSet rs = new RecordSet();
try {
log.info("===signDepartment===执行开始");
WorkflowBillComInfo workflowBillComInfo = new WorkflowBillComInfo();
DepartmentComInfo departmentComInfo = new DepartmentComInfo();
String tableName = VirtualFormHandler.getRealFromName(Util.null2String(workflowBillComInfo.getTablename(formid)));
//1.获取明细表2的值
List<Map> dataList = new ArrayList<>();
rs.executeQuery("select b.hqbm,b.bmzz from "+tableName+" a, "+tableName+"_dt2 b " +
" where a.id = b.mainid and a.requestid = ? and b.yhq = 1",requestid);
while (rs.next()){
Map<String,Object> specialMap = new HashMap<>();
String hqbm = Util.null2String(rs.getString("hqbm"));
String departmentName = departmentComInfo.getDepartmentName(hqbm);
Integer bmzz = Util.getIntValue(rs.getString("bmzz"));
specialMap.put("departmentId",hqbm);
specialMap.put("departmentName",departmentName);
specialMap.put("bmzz",bmzz);
dataList.add(specialMap);
}
log.info("==明细表2数据=="+dataList.toString());
datas.put("datas",dataList);
}catch (Exception e){
e.printStackTrace();
}
return datas;
}
@Override
public Map<String, Object> createHeadAnnouncementWorkflow(Map<String, Object> params) {
Map<String,Object> datas = new HashMap<>();
RecordSet rs = new RecordSet();
try{
String ecologyContentPath = GCONST.getContextPath();
String userid = (String)params.get("ngr");//拟稿人工号
String workflowid = (String)params.get("workflowid");
String requestName = (String)params.get("requestName");
String IsNextFlow = (String)params.get("IsNextFlow");//1提交到下一节点0不提交
Map<String,String> requestMainMap = new HashMap<>();
requestMainMap.put("lcbt",requestName);
requestMainMap.put("ngr",userid);
int requestid = Util.getIntValue(new WeaToolsUtil().workflowCreateByRequestMap(userid, workflowid, requestName,
IsNextFlow, requestMainMap));
bb.infoLog("requestid:",requestid);
long timestamp = System.currentTimeMillis();
if (requestid > 0){
datas.put("url",ecologyContentPath+"/spa/workflow/static4form/index.html?" +
"_rdm="+timestamp+"#/main/workflow/req?requestid="+requestid+"&_workflowid="+workflowid+"&_workflowtype=&isovertime=0");
datas.put("info","create workflow success");
}else {
datas.put("url","");
datas.put("info","create workflow fail");
}
}catch (Exception e){
e.printStackTrace();
}
return datas;
}
}

@ -0,0 +1,88 @@
package com.engine.htsc.announcement.util;
import com.weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.resource.ResourceComInfo;
import weaver.soa.workflow.request.MainTableInfo;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestInfo;
import weaver.soa.workflow.request.RequestService;
import weaver.workflow.request.RequestComInfo;
import weaver.workflow.workflow.WorkflowComInfo;
import java.util.Map;
public class WeaToolsUtil {
/**
*
* @Title:
* @param @param creatorId Id
* @param @param workflowId Id
* @param @param requestName
* @param @param IsNextFlow
* @param @param requestMap Map<fieldname,fieldvalue>=<,>
* @param @return
* @return String
* @throws
*/
public String workflowCreateByRequestMap(String creatorId,String workflowId,
String requestName,String IsNextFlow,
Map<String,String> requestMainMap) {
BaseBean bs = new BaseBean();
String requestid = "";
RequestInfo requestInfo = new RequestInfo();
requestInfo.setCreatorid(creatorId);//创建人Id
requestInfo.setWorkflowid(workflowId);//工作流Id
requestInfo.setDescription(requestName);//请求标题
if(!"".equals(IsNextFlow))
{
requestInfo.setIsNextFlow(IsNextFlow);
}
//主表字段
MainTableInfo mainTableInfo = new MainTableInfo();
Property[] propertyArray = new Property[requestMainMap.size()];
int p = 0;
for (Map.Entry<String, String> entry : requestMainMap.entrySet())
{
propertyArray[p] = new Property();
propertyArray[p].setName(Util.null2String(entry.getKey()));
propertyArray[p].setValue(Util.null2String(entry.getValue()));
bs.writeLog("\r\n---p="+p+"---Key="+entry.getKey()+"---Value="+entry.getValue());
p++;
}
bs.writeLog("-----创建流程传递的参数个数p="+p);
mainTableInfo.setProperty(propertyArray);
requestInfo.setMainTableInfo(mainTableInfo);
RequestService service = new RequestService();
try {
//流程
try {
requestid = service.createRequest(requestInfo);//创建请求id
} catch (Exception e) {
bs.writeLog("预付款流程触发异常"+e.getMessage());
}
//String userId = requestInfo.getLastoperator();//请求最后的操作者
//记录日志
StringBuffer sbf = new StringBuffer("\r\n-----xwd创建工作流记录日志开始");
WorkflowComInfo wfcif =new WorkflowComInfo();
RequestComInfo rcif = new RequestComInfo();
ResourceComInfo rscif = new ResourceComInfo();
sbf.append("\r\n-----姓名:"+rscif.getLastname(rcif.getRequestCreater(requestid)));
sbf.append("\r\n-----时间:"+rcif.getRequestCreateTime(requestid));
sbf.append("\r\n-----创建流程:"+wfcif.getWorkflowname(workflowId));
sbf.append("\r\n-----请求:"+rcif.getRequestname(requestid));
sbf.append("\r\n-----请求:"+requestid);
sbf.append("\r\n-----创建工作流记录日志结束");
bs.writeLog(sbf.toString());
System.out.println(""+sbf.toString());
} catch (Exception e) {
bs.writeLog("错误:" + e);
System.out.println("错误:" + e);
}
return requestid;
}
}

@ -0,0 +1,142 @@
package com.engine.htsc.announcement.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.announcement.service.HeadquartersAnncService;
import com.engine.htsc.announcement.service.impl.HeadquartersAnncServiceImpl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class HeadquartersAnncAction {
private Log log = LogFactory.getLog(this.getClass());
private HeadquartersAnncService getService(User user){
return ServiceUtil.getService(HeadquartersAnncServiceImpl.class,user);
}
/**
*
* @param request
* @param response
* @param userid
* @return
*/
@GET
@Path("/ispostion")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> isPostion(@Context HttpServletRequest request,
@Context HttpServletResponse response,
@QueryParam("userid") String userid) {
Map<String, Object> apidatas = new HashMap<>();
try {
User user = HrmUserVarify.getUser(request, response);
apidatas = this.getService(user).isPostion(userid);
apidatas.put("api_status", 1);
}catch (Exception e){
e.printStackTrace();
apidatas.put("api_status",-1);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
log.error("isPostion catch exception");
}
return apidatas;
}
/**
*
* @param request
* @param response
* @param jobs
* @return
*/
@GET
@Path("/afterLeaderSign")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> afterLeaderSign(@Context HttpServletRequest request,
@Context HttpServletResponse response,
@QueryParam("jobs") String jobs,
@QueryParam("requestid") Integer requestid) {
Map<String, Object> apidatas = new HashMap<>();
try {
User user = HrmUserVarify.getUser(request, response);
apidatas = this.getService(user).afterLeadSign(jobs,requestid);
apidatas.put("api_status", 1);
}catch (Exception e){
e.printStackTrace();
apidatas.put("api_status",-1);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
log.error("afterLeaderSign catch exception");
}
return apidatas;
}
/**
* +
* @param request
* @param response
* @param formid
* @param requestid
* @param workflowid
* @return
*/
@GET
@Path("/signDepartment")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> signDepartment(@Context HttpServletRequest request,
@Context HttpServletResponse response,
@QueryParam("formid") String formid,
@QueryParam("requestid") Integer requestid,
@QueryParam("workflowid") String workflowid) {
Map<String, Object> apidatas = new HashMap<>();
try {
User user = HrmUserVarify.getUser(request, response);
apidatas = this.getService(user).signDepartment(formid,requestid,workflowid);
apidatas.put("api_status", 1);
}catch (Exception e){
e.printStackTrace();
apidatas.put("api_status",-1);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
log.error("afterLeaderSign catch exception");
}
return apidatas;
}
/**
* OA
* @param request
* @param response
* @return
*/
@POST
@Path("/creatWorkflow")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> createHeadAnnouncementWorkflow(@Context HttpServletRequest request,
@Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<>();
try {
User user = HrmUserVarify.getUser(request, response);
apidatas = this.getService(user).createHeadAnnouncementWorkflow(ParamUtil.request2Map(request));
apidatas.put("code", 200);
apidatas.put("message","接口调用成功");
}catch (Exception e){
e.printStackTrace();
apidatas.put("code",-1);
apidatas.put("message","接口调用失败");
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
log.error("isPostion catch exception");
}
return apidatas;
}
}

@ -0,0 +1,13 @@
package com.engine.htsc.capitalbusinessPayment.Constants;
/**
* Constant
*/
public class Constant {
//付款类型
public enum PAYTYPE{
AUTO,MANUAL
}
}

@ -0,0 +1,483 @@
package com.engine.htsc.capitalbusinessPayment.dao;
import com.engine.htsc.convertor.EcologyValueConvertor;
import com.engine.htsc.doc.model.UserInfoModel;
import com.engine.htsc.doc.util.ConvertUtil;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* &
*/
public class OperateLiquidationDataDao extends BaseBean {
private SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
//数据中心库
private final String dataBase_DB = "dataSourceCenter";
//数据中心表名
private final String tableName_DC = "T_OperateLiquidationData";
//数据中心表字段
private final String tableField_DC = "id,type,source,"
+ "sourceRef,relatedRef,businessBrief,ccy,payment_date,amount,sender_bankcode,"
+ "sender_name,sender_acc_number,receiver_bankcode,receiver_name,receiver_acc_number,"
+ "CNAPS_BANKCODE,initiator,initiator_id,initiator_contact,remark,priority,createTime,"
+ "createUser,lastUpdateTime,lastUpdateUser,receiver_provinceOrCity,receiver_city,drafter_dept_name,sender_seat,receiver_seat";
//数据中心表字段值占位符
private final String tableVaule_DC = "OPERATELIQUIDATIONDATA_SEQ.nextval,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?";
public void saveToDC(String requestId, UserInfoModel currentUser) {
String mainTableName = EcologyValueConvertor.getMainTableNameByRequestId(requestId);
String unnumber = ConvertUtil.getUnNumber(requestId);//获取流程英文名
boolean flag = findDCExist(requestId,mainTableName);
writeLog("requestId:" + requestId + " 判断是否要写入数据中心表, 流程主表名:" + mainTableName+ " 流程图英文名:"+unnumber+" 当前处理人:"+currentUser.getWorkCode()
+" flag:"+flag);
if(!flag) {
writeLog("requestId:" + requestId + " 开始写入数据中心表, 流程主表名:" + mainTableName+ " 流程图英文名:"+unnumber+" 当前处理人:"+currentUser.getWorkCode());
if(StringUtils.isNotEmpty(unnumber)&&"zjywfk".equals(unnumber)) {//资金业务付款
List<List<Object>> insertList = getLiquidDetailData_CapitalBusinessPayment(requestId, mainTableName, currentUser);
insertList(tableField_DC, tableVaule_DC, insertList, dataBase_DB, tableName_DC);
writeLog("requestId:" + requestId + " 资金业务付款 写入数据中心表 T_OperateLiquidationData 完成");
}else if (StringUtils.isNotEmpty(unnumber)&&"zbzjnbdb".equals(unnumber)) {//内部资金调拨
List<List<Object>> insertList = getLiquidDetailData_HTSelfMoney(requestId, mainTableName, currentUser);
insertList(tableField_DC, tableVaule_DC, insertList, dataBase_DB, tableName_DC);
writeLog("requestId:" + requestId + " 内部资金调拨 写入数据中心表 T_OperateLiquidationData 完成");
} else if (StringUtils.isNotEmpty(unnumber)&&"xgtyfk".equals(unnumber)) {
List<List<Object>> insertList = getLiquidDetailData_HKPayment(requestId, mainTableName, currentUser);
insertList(tableField_DC, tableVaule_DC, insertList, dataBase_DB, tableName_DC);
writeLog("requestId:" + requestId + " 香港付款 写入数据中心表 T_OperateLiquidationData 完成");
}
}
}
/**
* []
* @param requestId
* @param mainTableName
* @return
*/
List<List<Object>> getLiquidDetailData_HKPayment(String requestId, String mainTableName, UserInfoModel currentUser) {
RecordSet rs = new RecordSet();
List<List<Object>> insertList = new ArrayList<>();
String dtTableName = mainTableName + "_dt11";
String sqlDetail = " select t0.requestid,t1.lastname,d.yxzh,t1.lastname,d.khxmc,d.ss,t1.workcode,d.yxzfje,d.xjzfje,d.zpzfje,t0.lcbh,t0.htxx,t2.requestname," +
"t0.biz,d.khx,d.skdw,d.yxzh,t0.ngr,t0.bz,t0.jjcd,t0.ngsj,d.ss "+
" from "+dtTableName+" d, "+ mainTableName +" t0,hrmresource t1,workflow_requestbase t2 where t0.id = d.mainid and t0.requestid = t2.requestid and t0.ngr = t1.id and t0.requestid = '"+requestId+"'";
writeLog("requestId:"+requestId+" 香港通用付款 关联查询查询明细表sql:"+sqlDetail);
rs.execute(sqlDetail);
while(rs.next()) {
List<Object> list = new ArrayList<>();
//type
list.add("香港通用付款");
//source
list.add("OA");
//sourceRef
list.add(Util.null2String(rs.getString("lcbh")));
//relatedRef 合同编号
list.add(Util.null2String(rs.getString("htxx")));
//businessBrief 流程标题
list.add(Util.null2String(rs.getString("requestname")));
//ccy 币种
String bizId = Util.null2String(rs.getString("biz"));
list.add(EcologyValueConvertor.getSelectNameByRequestIdAndFieldValue(requestId,"biz",bizId));
//payment_date 空或待定 置成当前系统日期,否则置成主表单的应付款日期
list.add(((DateFormat)sdfTime).format(new Date()));
//amount 银行支付金额 + 现金支付金额 + 支票支付金额
BigDecimal bankAmount = StringUtils.isEmpty(rs.getString("yxzfje"))?new BigDecimal("0.00"):new BigDecimal(rs.getString("yxzfje"));
BigDecimal cashAmount = StringUtils.isEmpty(rs.getString("xjzfje"))?new BigDecimal("0.00"):new BigDecimal(rs.getString("xjzfje"));
BigDecimal chequeAmount = StringUtils.isEmpty(rs.getString("zpzfje"))?new BigDecimal("0.00"):new BigDecimal(rs.getString("zpzfje"));
list.add(bankAmount.add(cashAmount).add(chequeAmount).toString());
//sender_bankcode 指定付款账户-开户行
AssignPaymentAccount account = getAssignPaymentAccountByRequestId(requestId, mainTableName);
list.add(account.getDepositBank());
//sender_name 指定付款账户-户名
list.add(account.getUserName());
//sender_acc_number 指定付款账户-银行账号
list.add(account.getBankAccount());
//receiver_bankcode 收款方-开户行
String khx = rs.getString("khx").replaceAll("&nbsp;"," ").replaceAll("<br>",""); //直接存文本 不要查14w条记录 泛微多行文本有bug 手动转义
list.add(Util.null2String(khx));
//receiver_name 收款方-收款单位
list.add(Util.null2String(rs.getString("skdw")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));//泛微多行文本有bug 手动转义
//receiver_acc_number 收款方-银行账号
list.add(Util.null2String(rs.getString("yxzh")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));//泛微多行文本有bug 手动转义
//CNAPS_BANKCODE 大额支付号
list.add("");
//initiator 拟稿人姓名
UserInfoModel userInfo = EcologyValueConvertor.getUserInfoModelById(Util.null2String(rs.getString("ngr")));
list.add(userInfo.getName());
//initiator_id 拟稿人工号
list.add(userInfo.getWorkCode());
//initiator_contact 拟稿人联系方式
list.add(userInfo.getMobile());
//remark 备注
String remark = Util.null2String(rs.getString("bz"));
if(StringUtils.isNotEmpty(remark)) {
remark = remark.replaceAll("&nbsp;"," ").replaceAll("<br>","");
}
list.add(remark);
//priority 缓急程度
String jjcd = Util.null2String(rs.getString("jjcd"));
list.add(EcologyValueConvertor.getSelectNameByRequestIdAndFieldValue(requestId,"jjcd",jjcd));
//createTime 拟稿时间
list.add(Util.null2String(rs.getString("ngsj"))+":00");
//createUser 拟稿人工号
list.add(userInfo.getWorkCode());
//lastUpdateTime
list.add(((DateFormat)sdfTime).format(new Date()));
//lastUpdateUser 当前处理人工号
list.add(currentUser.getWorkCode());
//receiver_provinceOrCity receiver_city 支付省市
String area = Util.null2String(rs.getString("ss"));
List<String> areaArray = cityCodeToName(area);
if (null!=areaArray&&areaArray.size()>0) {
list.add(areaArray.get(0));
if (areaArray.size()>1){
list.add(areaArray.get(1));
}else {
list.add("");
}
}else {
list.add("");
list.add("");
}
//drafter_dept_name 拟稿人部门名称
list.add(userInfo.getDepartmentName());
//sender_seat 付款席位号
list.add("");
//receiver_seat 收款席位号
list.add("");
insertList.add(list);
}
return insertList;
}
/**
* []
* @param requestId
* @param mainTableName
* @return
*/
List<List<Object>> getLiquidDetailData_CapitalBusinessPayment(String requestId, String mainTableName, UserInfoModel currentUser) {
RecordSet rs = new RecordSet();
List<List<Object>> insertList = new ArrayList<>();
String dtTableName = mainTableName + "_dt11";
String sqlDetail = " select t0.requestid,t1.lastname,d.yxzh,t1.lastname,d.khxmc,d.ss,t1.workcode,d.yxzfje,d.xjzfje,d.zpzfje,t0.lcbh,t0.htxx,t2.requestname," +
"t0.biz,t0.yfkrq,d.khx,d.skdw,d.yxzh,d.dezfh,t0.ngr,t0.bz,t0.jjcd,t0.ngsj,d.ss "+
" from "+dtTableName+" d, "+ mainTableName +" t0,hrmresource t1,workflow_requestbase t2 where t0.id = d.mainid and t0.requestid = t2.requestid and t0.ngr = t1.id and t0.requestid = '"+requestId+"'";
writeLog("requestId:"+requestId+" 资金业务付款 关联查询查询明细表sql:"+sqlDetail);
rs.execute(sqlDetail);
while(rs.next()) {
List<Object> list = new ArrayList<>();
//type
list.add("资金业务付款");
//source
list.add("OA");
//sourceRef
list.add(Util.null2String(rs.getString("lcbh")));
//relatedRef 合同编号
list.add(Util.null2String(rs.getString("htxx")));
//businessBrief 流程标题
list.add(Util.null2String(rs.getString("requestname")));
//ccy 币种
String bizId = Util.null2String(rs.getString("biz"));
list.add(EcologyValueConvertor.getSelectNameByRequestIdAndFieldValue(requestId,"biz",bizId));
//payment_date 空或待定 置成当前系统日期,否则置成主表单的应付款日期
if(StringUtils.isEmpty(rs.getString("yfkrq"))||"待定".equals(rs.getString("yfkrq"))) {
list.add(((DateFormat)sdfDate).format(new Date()));
}else {
list.add(Util.null2String(rs.getString("yfkrq")));
}
//amount 银行支付金额 + 现金支付金额 + 支票支付金额
BigDecimal bankAmount = StringUtils.isEmpty(rs.getString("yxzfje"))?new BigDecimal("0.00"):new BigDecimal(rs.getString("yxzfje"));
BigDecimal cashAmount = StringUtils.isEmpty(rs.getString("xjzfje"))?new BigDecimal("0.00"):new BigDecimal(rs.getString("xjzfje"));
BigDecimal chequeAmount = StringUtils.isEmpty(rs.getString("zpzfje"))?new BigDecimal("0.00"):new BigDecimal(rs.getString("zpzfje"));
list.add(bankAmount.add(cashAmount).add(chequeAmount).toString());
//sender_bankcode 指定付款账户-开户行
AssignPaymentAccount account = getAssignPaymentAccountByRequestId(requestId, mainTableName);
list.add(account.getDepositBank());
//sender_name 指定付款账户-户名
list.add(account.getUserName());
//sender_acc_number 指定付款账户-银行账号
list.add(account.getBankAccount());
//receiver_bankcode 收款方-开户行
String khx = rs.getString("khx").replaceAll("&nbsp;"," ").replaceAll("<br>",""); //直接存文本 不要查14w条记录 泛微多行文本有bug 手动转义
list.add(Util.null2String(khx));
//receiver_name 收款方-收款单位
list.add(Util.null2String(rs.getString("skdw")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));//泛微多行文本有bug 手动转义
//receiver_acc_number 收款方-银行账号
list.add(Util.null2String(rs.getString("yxzh")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));//泛微多行文本有bug 手动转义
//CNAPS_BANKCODE 大额支付号
list.add(Util.null2String(rs.getString("dezfh")));
//initiator 拟稿人姓名
UserInfoModel userInfo = EcologyValueConvertor.getUserInfoModelById(Util.null2String(rs.getString("ngr")));
list.add(userInfo.getName());
//initiator_id 拟稿人工号
list.add(userInfo.getWorkCode());
//initiator_contact 拟稿人联系方式
list.add(userInfo.getMobile());
//remark 备注
String remark = Util.null2String(rs.getString("bz"));
if(StringUtils.isNotEmpty(remark)) {
remark = remark.replaceAll("&nbsp;"," ").replaceAll("<br>","");
}
list.add(remark);
//priority 缓急程度
String jjcd = Util.null2String(rs.getString("jjcd"));
list.add(EcologyValueConvertor.getSelectNameByRequestIdAndFieldValue(requestId,"jjcd",jjcd));
//createTime 拟稿时间
list.add(Util.null2String(rs.getString("ngsj"))+":00");
//createUser 拟稿人工号
list.add(userInfo.getWorkCode());
//lastUpdateTime
list.add(((DateFormat)sdfTime).format(new Date()));
//lastUpdateUser 当前处理人工号
list.add(currentUser.getWorkCode());
//receiver_provinceOrCity receiver_city 支付省市
String area = Util.null2String(rs.getString("ss"));
List<String> areaArray = cityCodeToName(area);
if (null!=areaArray&&areaArray.size()>0) {
list.add(areaArray.get(0));
if (areaArray.size()>1){
list.add(areaArray.get(1));
}else {
list.add("");
}
}else {
list.add("");
list.add("");
}
//drafter_dept_name 拟稿人部门名称
list.add(userInfo.getDepartmentName());
//sender_seat 付款席位号
list.add("");
//receiver_seat 收款席位号
list.add("");
insertList.add(list);
}
return insertList;
}
/**
* []
* @param requestId
* @param mainTableName
* @return
*/
List<List<Object>> getLiquidDetailData_HTSelfMoney(String requestId, String mainTableName, UserInfoModel currentUser) {
RecordSet rs = new RecordSet();
List<List<Object>> insertList = new ArrayList<>();
String dtTableName = mainTableName + "_dt2";
String sqlDetail = " select t0.requestid,t1.lastname,t1.workcode,d.zhlx,d.zh,d.hm,d.khx,d.xwh,d.dbje,t0.lcbh,t2.requestname,"+
" t0.zhbz,t0.fkrq,dd.khx as khx_pay,dd.hm as hm_pay,dd.zh as zh_pay,dd.xwh as xwh_pay,'',t0.ngr,t0.sqyy,t0.fksm,t0.jjcd,t0.ngsj,d.label "+
" from "+dtTableName+" d,"+ mainTableName+" t0,hrmresource t1,workflow_requestbase t2,"+dtTableName+" dd where t0.id = d.mainid and t0.requestid = t2.requestid and t0.ngr = t1.id and "+
" d.zhlx = '收款账户' and dd.zhlx = '付款账户' and dd.mainid = d.mainid and dd.label = d.label "+
" and t0.requestid = '"+requestId+"'";
writeLog("requestId:"+requestId+" 内部资金调拨 关联查询查询明细表sql:"+sqlDetail);
rs.execute(sqlDetail);
while(rs.next()) {
List<Object> list = new ArrayList<>();
//type
list.add("内部资金调拨");
//source
list.add("OA");
//sourceRef
list.add(Util.null2String(rs.getString("lcbh")));
//relatedRef 合同编号
list.add("");
//businessBrief 流程标题
list.add(Util.null2String(rs.getString("requestname")));
//ccy 币种
String zhbzId = Util.null2String(rs.getString("zhbz"));
list.add(EcologyValueConvertor.getSelectNameByRequestIdAndFieldValue(requestId,"zhbz",zhbzId));
//payment_date 空或待定 置成当前系统日期,否则置成主表单的应付款日期
if(StringUtils.isEmpty(rs.getString("fkrq"))||"待定".equals(rs.getString("fkrq"))) {
list.add(((DateFormat)sdfDate).format(new Date()));
}else {
list.add(Util.null2String(rs.getString("fkrq")));
}
//amount 调拨金额
list.add(Util.null2String(rs.getString("dbje")));
//sender_bankcode 付款账户-开户行
list.add(Util.null2String(rs.getString("khx_pay")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));
//sender_name 付款账户-户名
list.add(Util.null2String(rs.getString("hm_pay")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));
//sender_acc_number 付款账户-银行账号
list.add(Util.null2String(rs.getString("zh_pay")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));
//receiver_bankcode 收款方-开户行
String khx = rs.getString("khx").replaceAll("&nbsp;"," ").replaceAll("<br>",""); //直接存文本 不要查14w条记录 泛微多行文本有bug 手动转义
list.add(Util.null2String(khx));
//receiver_name 收款方-收款单位
list.add(Util.null2String(rs.getString("hm")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));//泛微多行文本有bug 手动转义
//receiver_acc_number 收款方-银行账号
list.add(Util.null2String(rs.getString("zh")).replaceAll("&nbsp;"," ").replaceAll("<br>",""));//泛微多行文本有bug 手动转义
//CNAPS_BANKCODE 大额支付号
list.add(Util.null2String(rs.getString("")));
//initiator 拟稿人姓名
UserInfoModel userInfo = EcologyValueConvertor.getUserInfoModelById(Util.null2String(rs.getString("ngr")));
list.add(userInfo.getName());
//initiator_id 拟稿人工号
list.add(userInfo.getWorkCode());
//initiator_contact 拟稿人联系方式
list.add(userInfo.getMobile());
//remark 备注
String remark = Util.null2String(rs.getString("sqyy"))+Util.null2String(rs.getString("fksm"));
if(StringUtils.isNotEmpty(remark)) {
remark = remark.replaceAll("&nbsp;"," ").replaceAll("<br>","");
}
list.add(remark);
//priority 缓急程度
String jjcd = Util.null2String(rs.getString("jjcd"));
list.add(EcologyValueConvertor.getSelectNameByRequestIdAndFieldValue(requestId,"jjcd",jjcd));
//createTime 拟稿时间
list.add(Util.null2String(rs.getString("ngsj"))+":00");
//createUser 拟稿人工号
list.add(userInfo.getWorkCode());
//lastUpdateTime
list.add(((DateFormat)sdfTime).format(new Date()));
//lastUpdateUser 当前处理人工号
list.add(currentUser.getWorkCode());
//receiver_provinceOrCity receiver_city 支付省市
list.add("");
list.add("");
//drafter_dept_name 拟稿人部门名称
list.add(userInfo.getDepartmentName());
//sender_seat 付款席位号
list.add(Util.null2String(rs.getString("xwh_pay")));
//receiver_seat 收款席位号
list.add(Util.null2String(rs.getString("xwh")));
insertList.add(list);
}
return insertList;
}
/**
*
* @param requestId
* @return
*/
private AssignPaymentAccount getAssignPaymentAccountByRequestId(String requestId, String mainTableName) {
RecordSet rs = new RecordSet();
AssignPaymentAccount account = new AssignPaymentAccount();
String sql = " select t9.* from "+mainTableName+" t0, "+mainTableName+"_dt9 t9,workflow_requestbase t2 "+
" where t0.id = t9.mainid and t0.requestid = t2.requestid and t0.requestid = '"+ requestId + "' ";
rs.executeQuery(sql);
if(rs.next()) {
account.setUserName(Util.null2String(rs.getString("hm")));
account.setDepositBank(Util.null2String(rs.getString("khx")));
account.setBankAccount(Util.null2String(rs.getString("yxzh")));
}
return account;
}
/**
*
*/
public class AssignPaymentAccount {
private String userName = ""; //户名
private String depositBank = ""; //开户行
private String bankAccount = ""; //银行账户
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getDepositBank() {
return depositBank;
}
public void setDepositBank(String depositBank) {
this.depositBank = depositBank;
}
public String getBankAccount() {
return bankAccount;
}
public void setBankAccount(String bankAccount) {
this.bankAccount = bankAccount;
}
}
public static List<String> cityCodeToName(String code){
RecordSet rs = new RecordSet();
List<String> resultList = new ArrayList<>();
if (StringUtils.isBlank(code)){
return resultList;
}
String[] desInfo = code.split(",");
String ids = Arrays.stream(desInfo).map(s -> "\'" + s +"\'").collect(Collectors.joining(","));
String sql = "select name from uf_city where code in (" + ids + ") order by instr('" + code + "',code)";
rs.executeQuery(sql);
while (rs.next()){
resultList.add(rs.getString("name"));
}
return resultList;
}
//批量插入表单,切换数据源
public boolean insertList(String sqlTableS,String sqlTableE,List<List<Object>> insertList,String sqlData,String tablename){
boolean flag = true;
try {
RecordSet rs = new RecordSet();
//批量插入并切换数据源
flag = rs.executeBatchSql(String.format("insert into %s (" + sqlTableS + ") values(" + sqlTableE + ") ", tablename), insertList, sqlData);
String exceptionMsg = rs.getExceptionMsg();
writeLog("exceptionMsg = " + exceptionMsg);
writeLog("rs.getMsg() = " + rs.getMsg());
writeLog("flag = " + flag);
}catch (Exception exo){
flag=false;
exo.printStackTrace();
new BaseBean().writeLog("插入明细表失败:"+exo.getMessage());
}
return flag;
}
/**
*
* @param requestId
* @param mainTableName
* @return true false
*/
public boolean findDCExist(String requestId, String mainTableName) {
boolean flag = false;
try {
RecordSet rs = new RecordSet();
String sql = " select lcbh from "+mainTableName+" t where t.requestid = '"+requestId+"' ";
rs.executeQuery(sql);
if(rs.next()) {
RecordSet rs_DC = new RecordSet();
String workflownum = rs.getString("lcbh");
String findSQL = " select * from t_operateliquidationdata t where t.sourceref = '"+workflownum+"' ";
new BaseBean().writeLog("requestId:"+requestId+" workflowNum:"+workflownum+" 查询数据中心是否存在:"+findSQL);
rs_DC.executeSqlWithDataSource(findSQL,dataBase_DB);
if(rs_DC.next()) {
flag = true;
new BaseBean().writeLog("requestId:"+requestId+" workflowNum:"+workflownum+" 数据存在 flag:"+flag);
return flag;
}
}
}catch(Exception e) {
e.printStackTrace();
new BaseBean().writeLog("requestId:"+requestId+" 查询数据中心 t_operateliquidationdata 是否存在失败"+e.getStackTrace());
return flag;
}
return flag;
}
}

@ -0,0 +1,346 @@
package com.engine.htsc.capitalbusinessPayment.service;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.core.impl.Service;
import com.engine.htsc.capitalbusinessPayment.Constants.Constant;
import com.engine.htsc.capitalbusinessPayment.dao.OperateLiquidationDataDao;
import com.engine.htsc.convertor.EcologyValueConvertor;
import com.engine.htsc.doc.model.UserInfoModel;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import weaver.common.StringUtil;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.comInfo.PropBean;
import weaver.interfaces.htsc.cus.HTUtil;
import weaver.workflow.workflow.WfForceOver;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
/**
*
*/
public class CapitalBusinessPaymentService extends Service {
private final Log log = LogFactory.getLog(CapitalBusinessPaymentService.class);
private BaseBean bb = new BaseBean();
/**
*
* @param ids requestids
* @param userId
* @return
* @throws Exception
*/
public String doAutoPay(String ids, String userId) throws Exception {
Constant.PAYTYPE paytype = Constant.PAYTYPE.AUTO;
log.info("====自动付款开始====");
if(!checkValidPay(paytype,ids)) {
log.info("====包含已付款数据,不能修改!====");
throw new Exception("包含已付款数据,不能修改!");
}
synPaydetail(paytype, ids, userId);
return "数据已开始修改,请刷新列表查看状态";
}
/**
*
* @param ids
* @param userId
* @return
* @throws Exception
*/
public String doManualPay(String ids, String userId) throws Exception {
Constant.PAYTYPE paytype = Constant.PAYTYPE.MANUAL;
log.info("====手动付款开始====");
if(!checkValidPay(paytype,ids)) {
log.info("====包含已付款数据,不能修改!====");
throw new Exception("包含已付款数据,不能修改!");
}
synPaydetail(paytype, ids, userId);
return "数据已开始修改,请刷新列表查看状态";
}
/**
* +
* @param ids
* @param userId
* @throws Exception
*/
public void synPaydetail(Constant.PAYTYPE payType, String ids, String userId) throws Exception {
bb.writeLog("ids:"+ids+" 开始付款 synPaydetail payType:"+payType+" userId:"+userId);
OperateLiquidationDataDao dao = new OperateLiquidationDataDao();
UserInfoModel user = EcologyValueConvertor.getUserInfoModelById(userId);
String result = "";
List<String> idArray = Arrays.stream(ids.split(",")).collect(Collectors.toList());
for(String id : idArray) {
String requestid = "";
String workflownum = "";
RecordSet rs = new RecordSet();
String sql = " select t.reqid,t.WORKFLOW_NUM from uf_paydetal t where t.id = (" + id + ") ";
log.info("查询requestid和workflow_num" + sql);
rs.execute(sql);
if(rs.next()) {
requestid = rs.getString("reqid");
workflownum = rs.getString("WORKFLOW_NUM");
}
//修改数据库支付记录状态
updatePayStatus(payType, id);
//保存数据到数据中心
dao.saveToDC(requestid,user);
// 调用泛微接口强制归档办结
forceArchive(userId,id);
// 更新付款表的办结时间
String sqlUpdate = " update uf_paydetal t set t.endtime = to_char(SYSDATE,'YYYY-MM-DD HH24:MI:SS') where t.id = '"+id+"' ";
log.info("更新付款表的办结时间sql" + sql);
rs.execute(sqlUpdate);
// 如果是衡泰触发的 调用xquantServiceInvoke
sendXquant(workflownum,requestid);
}
}
/**
*
* @param payType
* @param ids
* @return
* @throws Exception
*/
public boolean checkValidPay(Constant.PAYTYPE payType, String ids) throws Exception {
RecordSet rs =new RecordSet();
if(Constant.PAYTYPE.AUTO.equals(payType)) {
String sql = " select t.payflag from uf_paydetal t where t.payflag in ('1','9') and t.id in (" + ids + ") ";
log.info("检查是否有存在已付款记录Sql" + sql);
rs.executeQuery(sql);
if(rs.next()) {
return false;
}
}else if(Constant.PAYTYPE.MANUAL.equals(payType)){
String sql = " select t.payflag from uf_paydetal t where t.payflag = '1' and t.id in (" + ids + ") ";
log.info("检查是否有存在已付款记录Sql" + sql);
rs.executeQuery(sql);
if(rs.next()) {
return false;
}
}
return true;
}
/**
*
* @param payType
* @param id
*/
public void updatePayStatus(Constant.PAYTYPE payType, String id) {
RecordSet rs =new RecordSet();
bb.writeLog("更新付款状态和时间 id:"+id+" payType:"+payType);
if(Constant.PAYTYPE.AUTO.equals(payType)) {
String sql = " update uf_paydetal t set t.payflag = '9',t.paytype = 'AUTO' ,t.set_auto_time = to_char(SYSDATE,'YYYY-MM-DD HH24:MI:SS') where t.id = '"+id+"' ";
log.info("更新付款状态和时间sql" + sql);
rs.execute(sql);
}else if(Constant.PAYTYPE.MANUAL.equals(payType)) {
String sql = " update uf_paydetal t set t.payflag = '1',t.paytype = 'MANUAL' where t.id = '"+id+"' ";
log.info("更新付款状态和时间sql" + sql);
rs.execute(sql);
}
}
//调用衡泰接口
public void sendXquant(String workflownum,String requestid){
bb.writeLog("requestId:"+requestid+" sendXquant workflownum:"+workflownum+" 调用衡泰接口");
RecordSet rs = new RecordSet();
String mainTableName = EcologyValueConvertor.getMainTableNameByRequestId(requestid);
String sql = " select t.autoLaunchPlatformId from "+mainTableName+" t where t.requestid = '"+requestid+"'";
log.info("查询是否调用衡泰接口:" + sql);
rs.execute(sql);
if(rs.next()) {
String autoLaunchPlatformId = rs.getString("autoLaunchPlatformId");
if(null!=autoLaunchPlatformId&&"衡泰".equals(autoLaunchPlatformId)){
PropBean pb = new PropBean();
String url = pb.getPropName("XQuantUrl");;
Map<String, String> headers = new HashMap<>();
JSONObject jsonObject = new JSONObject();
//流程业务编号
jsonObject.put("workflownum",workflownum);
//流程业务唯一编码
jsonObject.put("workflownumber",requestid);
//是否终止
jsonObject.put("isZZ","否");
bb.writeLog("sendPost url:"+url+" params:" + jsonObject.toJSONString()+" sendPost发送请求到衡泰");
sendPost(url,jsonObject.toJSONString(),headers);
}
}
}
//强制归档
public void forceArchive(String userId,String ids){
bb.writeLog("forceArchive userId:"+userId+" ids:" + ids+ " 强制归档");
User user = new User();
user.setUid(Integer.valueOf(userId).intValue());
user.setLogintype("1");
WfForceOver wfo = new WfForceOver();
ArrayList requestidlist = new ArrayList();
RecordSet rs =new RecordSet();
String sql = " select t.reqid from uf_paydetal t where t.id in (" + ids + ") ";
log.info("强制归档获取requestid" + sql);
rs.execute(sql);
while (rs.next()){
requestidlist.add(Util.null2String(rs.getString("reqid")));
}
String remark = "流程强制归档";
wfo.setRemark(remark);
wfo.doForceOver(requestidlist, null, null, user);
}
/***
*
* @param url
* @param params
* @param headsMap
* @return
*/
public String sendPost(String url, String params, Map<String,String> headsMap)
{
//BaseBean bb = new BaseBean();
String body = "";
String encoding = "UTF-8";
//创建httpclient对象
CloseableHttpClient client = HttpClients.createDefault();
//创建post方式请求对象
HttpPost httpPost = new HttpPost(url);
//设置参数到请求对象中
StringEntity strEntity = new StringEntity(params,encoding);//解决中文乱码问题
strEntity.setContentEncoding(encoding);
strEntity.setContentType("application/json");
httpPost.setEntity(strEntity);
//设置header信息
//指定报文头【Content-type】、【User-Agent】
httpPost.setHeader("Content-type", "application/json");
httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
if (headsMap != null && !headsMap.isEmpty()) {
headsMap.forEach((key, value) -> {
//bb.writeLog("key:"+key+" value:"+value);
httpPost.addHeader(key, value);
});
}
//执行请求操作,并拿到结果(同步阻塞)
CloseableHttpResponse response = null;
try {
response = client.execute(httpPost);
//获取结果实体
HttpEntity entity = response.getEntity();
if (entity != null) {
//按指定编码转换结果实体为String类型
body = EntityUtils.toString(entity, "UTF-8");
}
EntityUtils.consume(entity);
//释放链接
response.close();
} catch (IOException e) {
System.out.println("OrganizationSyn-e:"+e);
e.printStackTrace();
}
return body;
}
//流程终止,强制归档
public String doEndProcess(String requestid, String userId) throws Exception {
// 调用泛微接口强制归档办结
log.info("====流程终止,强制归档开始,requestid:"+requestid+"====");
User user = new User();
user.setUid(Integer.valueOf(userId).intValue());
user.setLogintype("1");
WfForceOver wfo = new WfForceOver();
ArrayList requestidlist = new ArrayList();
requestidlist.add(requestid);
String remark = "流程强制归档";
wfo.setRemark(remark);
wfo.doForceOver(requestidlist, null, null, user);
sendXquantByRequestIdEnd(requestid);
return "success";
}
//Action调用衡泰接口
public void sendXquantByRequestId(String requestid) {
bb.writeLog("requestid:"+requestid+" sendXquantByRequestId Action调用衡泰接口");
RecordSet rs = new RecordSet();
String mainTableName = EcologyValueConvertor.getMainTableNameByRequestId(requestid);
String sql = "select t.autoLaunchPlatformId,t.lcbh from "+mainTableName+" t where t.requestid = '"+requestid+"'";
log.info("查询是否调用衡泰接口:" + sql);
rs.execute(sql);
if(rs.next()) {
String autoLaunchPlatformId = Util.null2String(rs.getString("autoLaunchPlatformId"));
String workflownum = Util.null2String(rs.getString("lcbh"));
if("衡泰".equals(autoLaunchPlatformId)){
PropBean pb = new PropBean();
String url = pb.getPropName("XQuantUrl");;
Map<String, String> headers = new HashMap<>();
JSONObject jsonObject = new JSONObject();
//流程业务编号
jsonObject.put("workflownum",workflownum);
//流程业务唯一编码
jsonObject.put("workflownumber",requestid);
//是否终止
jsonObject.put("isZZ","否");
bb.writeLog("sendPost url:"+url+" params:" + jsonObject.toJSONString()+" sendPost发送请求到衡泰");
sendPost(url,jsonObject.toJSONString(),headers);
}
}
}
public void sendXquantByRequestIdEnd(String requestid) {
bb.writeLog("requestid:"+requestid+" sendXquantByRequestIdEnd 流程终止调用衡泰接口");
RecordSet rs = new RecordSet();
String mainTableName = EcologyValueConvertor.getMainTableNameByRequestId(requestid);
String sql = "select t.autoLaunchPlatformId,t.lcbh from "+mainTableName+" t where t.requestid = '"+requestid+"'";
log.info("查询是否调用衡泰接口:" + sql);
rs.execute(sql);
if(rs.next()) {
String autoLaunchPlatformId = Util.null2String(rs.getString("autoLaunchPlatformId"));
String workflownum = Util.null2String(rs.getString("lcbh"));
if("衡泰".equals(autoLaunchPlatformId)){
PropBean pb = new PropBean();
String url = pb.getPropName("XQuantUrl");;
Map<String, String> headers = new HashMap<>();
JSONObject jsonObject = new JSONObject();
//流程业务编号
jsonObject.put("workflownum",workflownum);
//流程业务唯一编码
jsonObject.put("workflownumber",requestid);
//是否终止
jsonObject.put("isZZ","是");
bb.writeLog("sendPost url:"+url+" params:" + jsonObject.toJSONString()+" sendPost发送请求到衡泰");
sendPost(url,jsonObject.toJSONString(),headers);
}
}
}
}

@ -0,0 +1,138 @@
package com.engine.htsc.capitalbusinessPayment.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.capitalbusinessPayment.service.CapitalBusinessPaymentService;
import com.engine.htsc.trip.util.AjaxResult;
import com.engine.workflow.service.RequestMonitorListService;
import com.engine.workflow.service.impl.RequestMonitorListServiceImpl;
import org.apache.commons.lang3.StringUtils;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
/**
*
* Action
*/
public class CapitalBusinessPaymentAction {
private BaseBean bb = new BaseBean();
public CapitalBusinessPaymentAction() {
}
private CapitalBusinessPaymentService getService() {
return ServiceUtil.getService(CapitalBusinessPaymentService.class);
}
private RequestMonitorListService getArchiveService (User user) {
return (RequestMonitorListServiceImpl) ServiceUtil.getService(RequestMonitorListServiceImpl.class, user);
}
/**
* -
* @param request
* @return
*/
@POST
@Path("/doAutoPay")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public AjaxResult<String> doAutoPay(@Context HttpServletRequest request, @Context HttpServletResponse response) {
String result;
try {
Map<String, Object> request2Map = ParamUtil.request2Map(request);
String ids = Util.null2String(request2Map.get("ids"));//勾选明细ids
String userId = String.valueOf(HrmUserVarify.getUser(request,response).getUID());//获取当前处理人
if (StringUtils.isNotBlank(ids)) {
result = getService().doAutoPay(ids,userId);
} else {
result = "请选择需要自动付款的流程!";
}
return AjaxResult.ok(result, "修改状态为自动付款成功!");
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error(e.getMessage());
}
}
/**
* -
* @param request
* @return
*/
@POST
@Path("/doManualPay")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public AjaxResult<String> doManualPay(@Context HttpServletRequest request, @Context HttpServletResponse response) {
String result;
try {
Map<String, Object> request2Map = ParamUtil.request2Map(request);
String ids = Util.null2String(request2Map.get("ids")); //勾选明细ids
String userId = String.valueOf(HrmUserVarify.getUser(request,response).getUID());//获取当前处理人
if (StringUtils.isNotBlank(ids)) {
result = getService().doManualPay(ids,userId);
} else {
result = "请选择需要付款的流程!";
}
return AjaxResult.ok(result, "修改状态为付款成功!");
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error(e.getMessage());
}
}
/**
* -
* @param request
* @return
*/
@POST
@Path("/doEndProcess")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public AjaxResult<String> doEndProcess(@Context HttpServletRequest request, @Context HttpServletResponse response) {
String result;
try {
Map<String, Object> request2Map = ParamUtil.request2Map(request);
String requestid = Util.null2String(request2Map.get("requestid")); //获取requestid
String userId = String.valueOf(HrmUserVarify.getUser(request,response).getUID());//获取当前处理人
if (StringUtils.isNotBlank(requestid)) {
result = getService().doEndProcess(requestid,userId);
} else {
result = "fail";
}
return AjaxResult.ok(result);
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error(e.getMessage());
}
}
//TODO 强制归档
public void forceArchiving(HttpServletRequest request, HttpServletResponse response, User user) {
bb.writeLog("资金业务付款 强制归档请求 request"+request.toString());
RequestMonitorListService archivingService = getArchiveService(user);
bb.writeLog("资金业务付款获取泛微归档服务 archivingService:"+archivingService);
//TODO 根据支付明细Ids获取requestId
String multiRequestIds = request.getParameter("multiRequestIds");
archivingService.archivingRequestById(request,response,user);
}
}

@ -0,0 +1,17 @@
package com.engine.htsc.ccwg.service;
import java.util.Map;
public interface Upload2StorageGatewayService {
/**
*
* @param params
* @return
*/
Map<String, Object> uploaddoc(Map<String, Object> params);
}

@ -0,0 +1,118 @@
package com.engine.htsc.ccwg.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.ccwg.service.Upload2StorageGatewayService;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.util.EntityUtils;
import weaver.conn.RecordSet;
import weaver.docs.qc969424.util.QC969424RequestBaseUtil;
import weaver.docs.qc969424.util.QC969424Util;
import weaver.general.BaseBean;
import weaver.general.Util;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.zip.ZipInputStream;
public class Upload2StorageGatewayServiceImpl extends Service implements Upload2StorageGatewayService {
@Override
public Map<String, Object> uploaddoc(Map<String, Object> params) {
BaseBean bb = new BaseBean();
Map<String,Object> apidate = new HashMap<String,Object>();
bb.writeLog("Upload2StorageGatewayServiceImpl");
RecordSet rs = new RecordSet();
BufferedInputStream inputStream = null;
CloseableHttpResponse clresponse = null;
try{
String imagefileid = Util.null2String(params.get("imagefileid"));
String iszip = "";
String imagefilename = "";
String fileRealPath = "";
String sql = " select t1.imageFileId,t1.imageFileName,t1.imageFileType,t1.imageFileUsed,t1.fileRealPath,t1.isZip,t1.isencrypt,t1.filesize,t1.downloads,t1.miniimgpath,t1.imgsize,t1.isFTP,t1.FTPConfigId,t1.isaesencrypt,t1.aescode,t1.tokenKey,t1.storageStatus,t1.comefrom,t2.imagefilename as realname from ImageFile t1 left join DocImageFile t2 on t1.imagefileid = t2.imagefileid where t1.imagefileid = " + imagefileid;
bb.writeLog("sql:"+sql);
rs.execute(sql);
if (rs.next())
{
imagefilename = Util.null2String(rs.getString("realname"));
if (imagefilename.equals("")) {
imagefilename = Util.null2String(rs.getString("imageFileName"));
}
fileRealPath = Util.null2String(rs.getString("fileRealPath"));
iszip = Util.null2String(rs.getString("isZip"));
}
if (fileRealPath != null && !fileRealPath.equals(""))
{
File file = new File(fileRealPath);
if (iszip.equals("1")) {
ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(file));
if (zipInputStream.getNextEntry() != null) {
inputStream = new BufferedInputStream(zipInputStream);
}
} else {
inputStream = new BufferedInputStream(new FileInputStream(file));
}
}
String upload = QC969424Util.getPV("upload");
String systemNo = QC969424Util.getPV("systemNo");
String url = upload+"/"+systemNo;
bb.writeLog("url:"+url);
bb.writeLog("imagefilename:"+imagefilename);
QC969424RequestBaseUtil qc = new QC969424RequestBaseUtil();
clresponse= qc.doUpload(url,imagefilename,inputStream);
bb.writeLog("clresponse:"+clresponse);
int statusCode = clresponse.getStatusLine().getStatusCode();
bb.writeLog("statusCode:"+statusCode);
if(statusCode == 200)
{
String res = EntityUtils.toString(clresponse.getEntity());
bb.writeLog("res:"+res);
if(!"".equals(res)){
sql = " update imagefile set fileid=? where imagefileid=?";
bb.writeLog(" sql:"+sql+" imagefileid:"+imagefileid);
boolean flag = rs.executeUpdate(sql,new Object[]{res,imagefileid});
if(flag){
apidate.put("flag","1");
}
}else{
apidate.put("flag","-1");
}
}else{
apidate.put("flag","-2");
}
inputStream.close();
//释放链接
clresponse.close();
}catch (Exception ex){
ex.printStackTrace();
bb.writeLog("ex:"+ex);
}finally {
if(inputStream !=null)
{
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(clresponse !=null)
{
try {
clresponse.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return apidate;
}
}

@ -0,0 +1,67 @@
package com.engine.htsc.ccwg.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.ccwg.service.Upload2StorageGatewayService;
import com.engine.htsc.ccwg.service.impl.Upload2StorageGatewayServiceImpl;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.hrm.resource.ResourceComInfo;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
/**
*
*/
public class Upload2StorageGatewayAction {
public Upload2StorageGatewayService getService(){
return ServiceUtil.getService(Upload2StorageGatewayServiceImpl.class);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/uploaddoc")
@Produces({MediaType.TEXT_PLAIN})
public String getkanyuelist(@Context HttpServletRequest request, @Context HttpServletResponse response){
BaseBean bb = new BaseBean();
String htuserid = request.getHeader("iv-user");
bb.writeLog("htuserid:"+htuserid);
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas = getService().uploaddoc(param);
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,607 @@
package com.engine.htsc.cgrwd.cmd;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.htsc.itlxlc.util.RequestShareUtil;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.comInfo.PropBean;
import weaver.interfaces.htsc.cus.HTUtil;
import java.io.IOException;
import java.util.*;
public class CgrwdProjectInfoCmd extends AbstractCommonCommand<Map<String, Object>> {
public CgrwdProjectInfoCmd(User user, Map<String, Object> params) {
this.params = params;
this.user = user;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
String formid = Util.null2String(params.get("formid"));
String cglxfieldis = "";
String cglxsql = " select id from workflow_billfield where billid="+formid+" and fieldname='cglx' " ;
rs.execute(cglxsql);
if(rs.next()){
cglxfieldis = Util.null2String(rs.getString("id"));
}
bb.writeLog("cglxfieldis:"+cglxfieldis);
String cgfsfieldis = "";
String cgfssql = " select id from workflow_billfield where billid="+formid+" and fieldname='cgfs' " ;
rs.execute(cgfssql);
if(rs.next()){
cgfsfieldis = Util.null2String(rs.getString("id"));
}
bb.writeLog("cgfsfieldis:"+cgfsfieldis);
System.out.println( "in=================ItcglcProjectInfoCmd" );
Map<String, Object> apimap = new HashMap<String, Object>();
String projCode = Util.null2String(params.get("projectCode"));
int nf = Util.getIntValue(Util.null2String(params.get("nf")));
String userid = Util.null2String(user.getUID());
System.out.println("userid:"+userid);
PropBean pb = new PropBean();
String url = pb.getPropName("ItcglcProjectDetailUrl") ;
bb.writeLog("url:"+url);
Map<String, String> headers = new HashMap<String, String>();
HTUtil htutil = new HTUtil();
String token = htutil.getAppToken();
headers.put("JTXT-AUTH-TOKEN", token);
headers.put("JTXT-AUTH-TYPE", "APP");
JSONObject jsonObject = new JSONObject();
String workcode = "";
String sql = " select workcode from hrmresource where id= "+userid;
rs.execute(sql);
if(rs.next()){
workcode = Util.null2String(rs.getString("workcode"));
}
List<Map<String,Object>> nlist = new ArrayList<Map<String,Object>>();
List<Map<String,Object>> n1list = new ArrayList<Map<String,Object>>();
List<Map<String,Object>> n2list = new ArrayList<Map<String,Object>>();
List<Map<String,Object>> itlxsqlist = new ArrayList<Map<String,Object>>();
List<Map<String,Object>> xgcglclist = new ArrayList<Map<String,Object>>();
List<Map<String,Object>> cgxxlist = new ArrayList<Map<String,Object>>();
String hrmids = "" ;
List<Map<String,Object>> hrmList = new ArrayList<Map<String,Object>>();
String xcgwyhsy = "1";
String projectNumber = "";
String xmmczw = "" ;
String requestids = "";
try{
//011516
jsonObject.put("badge",workcode);
jsonObject.put("projectCode",projCode);
String response = sendPost(url,jsonObject.toJSONString(),headers);
bb.writeLog("response:"+response);
System.out.println("response:"+response);
if(!"".equals(response))
{
JSONObject retJson = JSONObject.parseObject(response);
String projectMasterPracticebadge = retJson.getString("projectMasterPracticebadge");
Map<String,Object> hrmMap = null;
if(!"".equals(projectMasterPracticebadge))
{
sql = " select id,lastname from hrmresource where workcode='"+projectMasterPracticebadge+"' and belongto is null ";
rs.execute(sql);
while (rs.next()){
String hrmid = Util.null2String(rs.getString("id"));
String lastname = Util.null2String(rs.getString("lastname"));
hrmids += hrmids=="" ? hrmid : ","+hrmid ;
hrmMap = new HashMap<String,Object>();
hrmMap.put("id",hrmid);
hrmMap.put("name",lastname);
hrmList.add(hrmMap);
}
}
projectNumber = retJson.getString("projectNumber");
System.out.println("projectNumber:"+projectNumber);
xmmczw = retJson.getString("projectName");
System.out.println("xmmczw:"+xmmczw);
if(retJson.containsKey("otherWorkflowList1")){
JSONArray itlxsqArray = retJson.getJSONArray("otherWorkflowList1");
Map<String,Object> itlxsqMap = null;
for(int i=0;i<itlxsqArray.size();i++)
{
JSONObject itlxsqObj = itlxsqArray.getJSONObject(i);
String title = Util.null2String(itlxsqObj.get("title"));
String workFlowNum = Util.null2String(itlxsqObj.get("workFlowNum"));
String workFlowNumber = Util.null2String(itlxsqObj.get("workFlowNumber"));
String itlxsqurl = Util.null2String(itlxsqObj.get("url"));
if(!itlxsqurl.startsWith("http")){
String OAHOST = pb.getPropName("OAHOST");
itlxsqurl = OAHOST +itlxsqurl+"&ismonitor=1&_key=z5uz9j";
if(itlxsqurl.indexOf("requestid")>-1){
String requsturl = itlxsqurl.substring(itlxsqurl.indexOf("requestid"));
if(requsturl.indexOf("&") > -1){
String itlx_requetsid = requsturl.substring(10,requsturl.indexOf("&"));
if(!"".equals(itlx_requetsid) && !"1".equals(itlx_requetsid)){
int num = getWorkflowStoped(itlx_requetsid);
if(num == 0){
requestids += requestids=="" ? itlx_requetsid : ","+itlx_requetsid ;
itlxsqMap = new HashMap<String,Object>();
itlxsqMap.put("title",title);
itlxsqMap.put("workflownum",workFlowNum);
itlxsqMap.put("workflownumber",workFlowNumber);
itlxsqMap.put("url",itlxsqurl);
itlxsqlist.add(itlxsqMap);
}
}
}else{
String itlx_requetsid = requsturl.substring(10);
if(!"".equals(itlx_requetsid) && !"1".equals(itlx_requetsid)){
int num = getWorkflowStoped(itlx_requetsid);
if(num == 0){
requestids += requestids=="" ? itlx_requetsid : ","+itlx_requetsid ;
itlxsqMap = new HashMap<String,Object>();
itlxsqMap.put("title",title);
itlxsqMap.put("workflownum",workFlowNum);
itlxsqMap.put("workflownumber",workFlowNumber);
itlxsqMap.put("url",itlxsqurl);
itlxsqlist.add(itlxsqMap);
}
}
}
}
}
}
}
if(retJson.containsKey("purchaseList"))
{
JSONArray xgcglcArray = retJson.getJSONArray("purchaseList");
Map<String,Object> xgcglcMap = null;
for(int i=0;i<xgcglcArray.size();i++)
{
JSONObject xgcglcObj = xgcglcArray.getJSONObject(i);
String title = Util.null2String(xgcglcObj.get("title"));
String workFlowNum = Util.null2String(xgcglcObj.get("workFlowNum"));
String cgxglcurl = Util.null2String(xgcglcObj.get("url"));
if(!cgxglcurl.startsWith("http")){
String OAHOST = pb.getPropName("OAHOST");
cgxglcurl = OAHOST + cgxglcurl+"&ismonitor=1&_key=z5uz9j";
if(cgxglcurl.indexOf("requestid")>-1){
String requsturl = cgxglcurl.substring(cgxglcurl.indexOf("requestid"));
if(requsturl.indexOf("&") > -1){
String cgxglc_requetsid = requsturl.substring(10,requsturl.indexOf("&"));
if(!"".equals(cgxglc_requetsid) && !"1".equals(cgxglc_requetsid)){
int num = getWorkflowStoped(cgxglc_requetsid);
if(num == 0){
requestids += requestids=="" ? cgxglc_requetsid : ","+cgxglc_requetsid ;
xgcglcMap = new HashMap<String,Object>();
xgcglcMap.put("title",title);
xgcglcMap.put("workflownum",workFlowNum);
xgcglcMap.put("url",cgxglcurl);
xgcglclist.add(xgcglcMap);
}
}
}else{
String cgxglc_requetsid = requsturl.substring(10);
if(!"".equals(cgxglc_requetsid) && !"1".equals(cgxglc_requetsid)){
int num = getWorkflowStoped(cgxglc_requetsid);
if(num == 0){
requestids += requestids=="" ? cgxglc_requetsid : ","+cgxglc_requetsid ;
xgcglcMap = new HashMap<String,Object>();
xgcglcMap.put("title",title);
xgcglcMap.put("workflownum",workFlowNum);
xgcglcMap.put("url",cgxglcurl);
xgcglclist.add(xgcglcMap);
}
}
}
}
}
}
}
if(retJson.containsKey("itsystemPurchaseData")){
JSONObject cgxxObject = retJson.getJSONObject("itsystemPurchaseData");
System.out.println("cgxxObject:"+cgxxObject);
if(cgxxObject !=null){
JSONArray cgxxArray = cgxxObject.getJSONArray("item");
System.out.println("cgxxArray:"+cgxxArray.size());
Map<String,Object> cgxxMap = null;
int d_xcgwyhsy = 0;
for(int i=0;i<cgxxArray.size();i++)
{
JSONObject cgxxObj = cgxxArray.getJSONObject(i);
String app_id = Util.null2String(cgxxObj.get("app_id"));
System.out.println("app_id:"+app_id);
String purchase_type = Util.null2String(cgxxObj.get("purchase_type"));
String cglx = "" ;
if (!"".equals(purchase_type)) {
sql = " select selectvalue from workflow_selectitem where fieldid="+cglxfieldis+" and selectname = '"+purchase_type+"'" ;
rs.execute(sql);
if (rs.next()){
cglx = Util.null2String(rs.getString("selectvalue"));
}
}
String c_money = Util.null2String(cgxxObj.get("c_money"));
String number_units = Util.null2String(cgxxObj.get("number_units"));
String buy_type = Util.null2String(cgxxObj.get("buy_type"));
String cgfs = "" ;
if (!"".equals(buy_type)) {
sql = " select selectvalue from workflow_selectitem where fieldid="+cgfsfieldis+" and selectname = '"+buy_type+"'" ;
rs.execute(sql);
if (rs.next()){
cgfs = Util.null2String(rs.getString("selectvalue"));
}
}
if(!"".equals(c_money))
{
if(Util.getDoubleValue(c_money)>=2000000)
{
if("0".equals(cgfs) || "1".equals(cgfs) || "4".equals(cgfs) || "5".equals(cgfs)){
d_xcgwyhsy++;
}
}
}
//String y_department = Util.null2String(cgxxObj.get("y_department"));
String y_department_id = Util.null2String(cgxxObj.get("y_department_id"));
List<Map<String,Object>> ysbmList = new ArrayList<Map<String,Object>>();
String ysbm = "" ;
if(!"".equals(y_department_id))
{
Map<String,Object> ysbmMap = null;
y_department_id = "'"+y_department_id.replaceAll(",","','")+"'";
sql = " select id,departmentname from hrmdepartment l where l.departmentcode in("+y_department_id+")";
rs.execute(sql);
while (rs.next()){
String deptid = Util.null2String(rs.getString("id"));
String departmentname = Util.null2String(rs.getString("departmentname"));
ysbm += ysbm=="" ? deptid : ","+deptid ;
ysbmMap = new HashMap<String,Object>();
ysbmMap.put("id",deptid);
ysbmMap.put("name",departmentname);
ysbmList.add(ysbmMap);
}
}
String c_content = Util.null2String(cgxxObj.get("c_content"));
String cgzd = Util.null2String(cgxxObj.get("purchase_system"));
// String cgzd = "" ;
// if (!"".equals(purchase_system)) {
// sql = " select selectvalue from workflow_selectitem where fieldid="+cgzdfieldis+" and selectname = '"+purchase_system+"'" ;
// rs.execute(sql);
// if (rs.next()){
// cgzd = Util.null2String(rs.getString("selectvalue"));
// }
// }
String purchase_terms = Util.null2String(cgxxObj.get("purchase_terms"));
String team_id = Util.null2String(cgxxObj.get("team_id"));
String c_remark = Util.null2String(cgxxObj.get("c_remark"));
//String purchaseNum = Util.null2String(cgxxObj.get("purchaseNum"));
String cgfzr = "" ;
List<Map<String,Object>> cgfzrList = new ArrayList<Map<String,Object>>();
String caigoufuzerenid = Util.null2String(cgxxObj.get("caigoufuzerenid"));
if(!"".equals(caigoufuzerenid))
{
Map<String,Object> cgfzrMap = null;
sql = " select id,lastname from hrmresource where workcode='"+caigoufuzerenid+"' and belongto is null ";
rs.execute(sql);
while (rs.next()){
String hrmid = Util.null2String(rs.getString("id"));
String lastname = Util.null2String(rs.getString("lastname"));
cgfzr += cgfzr=="" ? hrmid : ","+hrmid ;
cgfzrMap = new HashMap<String,Object>();
cgfzrMap.put("id",hrmid);
cgfzrMap.put("name",lastname);
cgfzrList.add(cgfzrMap);
}
}
// String caigoufuzeren = Util.null2String(cgxxObj.get("caigoufuzeren"));
String project_name = Util.null2String(cgxxObj.get("project_name"));
// String it_project_num = Util.null2String(cgxxObj.get("it_project_num"));
// String beforehandPublicity = Util.null2String(cgxxObj.get("beforehandPublicity"));
cgxxMap = new HashMap<String,Object>();
cgxxMap.put("appid",app_id);
cgxxMap.put("cglx",cglx);
cgxxMap.put("cgfs",cgfs);
cgxxMap.put("ysbm",ysbm);
cgxxMap.put("ysbmObj",ysbmList);
cgxxMap.put("ysje",c_money);
cgxxMap.put("sl",number_units);
cgxxMap.put("cgfzr",cgfzr);
cgxxMap.put("cgfzrObj",cgfzrList);
cgxxMap.put("cgnr",c_content);
cgxxMap.put("cgzd",cgzd);
cgxxMap.put("ejcgzd",purchase_terms);
cgxxMap.put("gys",team_id);
cgxxMap.put("bz",c_remark);
cgxxMap.put("xmmczw",project_name);
cgxxlist.add(cgxxMap);
System.out.println("4444444");
}
if(d_xcgwyhsy > 0)
{
xcgwyhsy = "0";
}
}
}
if(retJson.containsKey("projectDetail")){
JSONObject projDetailObj = retJson.getJSONObject("projectDetail");
if(projDetailObj !=null)
{
String budgetData = projDetailObj.getString("budgetData").replaceAll("\n","");
System.out.println("budgetData:"+budgetData);
if(!"".equals(budgetData) && budgetData.startsWith("<?xml")){
Document doc = null;
try {
doc = DocumentHelper.parseText(budgetData);
} catch (DocumentException e) {
e.printStackTrace();
}
Element topEle = doc.getRootElement();
System.out.println("topEle:"+topEle.toString());
List<Element> nodes = topEle.elements("Item");
Map<String,Object> dataMap = null;
for (Iterator it = nodes.iterator(); it.hasNext();)
{
Element elm = (Element) it.next();
String BudgetYear = elm.elementTextTrim("BudgetYear");
System.out.println("BudgetYear:" + BudgetYear);
String BudgetNoAmt = elm.elementTextTrim("BudgetNoAmt");
System.out.println("BudgetNoAmt:" + BudgetNoAmt);
String BudgetId = elm.elementTextTrim("BudgetId");
System.out.println("BudgetId:" + BudgetId);
String BudgetDep = elm.elementTextTrim("BudgetDep");
System.out.println("BudgetDep:" + BudgetDep);
String deptid = "" ;
String deptname = "" ;
String BudgetAmt = elm.elementTextTrim("BudgetAmt");
System.out.println("BudgetAmt:" + BudgetAmt);
String BudgetAcct = elm.elementTextTrim("BudgetAcct");
System.out.println("BudgetAcct:" + BudgetAcct);
if(!"".equals(BudgetDep))
{
sql = " select id,departmentname from hrmdepartment where departmentcode='"+BudgetDep+"' ";
rs.execute(sql);
if(rs.next()){
deptid = Util.null2String(rs.getString("id"));
deptname = Util.null2String(rs.getString("departmentname"));
}
}
String yskmmc = "";
if(!"".equals(BudgetAcct)){
sql = " select yskmmc from uf_kmpz where yskmbm='"+BudgetAcct+"' ";
rs.execute(sql);
if(rs.next()){
yskmmc = Util.null2String(rs.getString("yskmmc"));
}
}
dataMap = new HashMap<String,Object>();
dataMap.put("BudgetAcct",BudgetAcct);
dataMap.put("BudgetYear",BudgetYear);
dataMap.put("BudgetId",BudgetId);
dataMap.put("yskmmc",yskmmc);
dataMap.put("yskmbm",BudgetAcct);
dataMap.put("BudgetAmt",BudgetAmt);
dataMap.put("BudgetDep",BudgetDep);
dataMap.put("deptid",deptid);
dataMap.put("deptname",deptname);
if(BudgetYear.equals(Util.null2String(nf)))
{
nlist.add(dataMap);
}
if(BudgetYear.equals(Util.null2String(nf+1)))
{
n1list.add(dataMap);
}
if(BudgetYear.equals(Util.null2String(nf+2)))
{
n2list.add(dataMap);
}
}
}
}
}
}
}catch (Exception e){
System.out.println("e---"+e);
bb.writeLog("e--:"+e);
}
if(!"".equals(requestids)){
try{
RequestShareUtil RequestShareUtil = new RequestShareUtil();
bb.writeLog("ItcglcProjectInfoCmd--RequestShareUtil--"+requestids);
RequestShareUtil.addShare(Util.null2String(userid),requestids);
}catch (Exception e){
bb.writeLog("e---"+e);
}
}
System.out.println("cgxxlist:"+cgxxlist.size());
apimap.put("value",hrmids);
apimap.put("specialobj",hrmList);
apimap.put("xmbh",projectNumber);
apimap.put("xcgwyhsy",xcgwyhsy);
apimap.put("xmmczw",xmmczw);
apimap.put("xglcoa",requestids);
apimap.put("nlist",nlist);
apimap.put("n1list",n1list);
apimap.put("n2list",n2list);
apimap.put("itlxsqlist",itlxsqlist);
apimap.put("xgcglclist",xgcglclist);
apimap.put("cgxxlist",cgxxlist);
return apimap;
}
/***
*
* @param url
* @param params
* @param headsMap
* @return
*/
public String sendPost(String url, String params, Map<String,String> headsMap)
{
//BaseBean bb = new BaseBean();
String body = "";
String encoding = "UTF-8";
//创建httpclient对象
CloseableHttpClient client = HttpClients.createDefault();
//创建post方式请求对象
HttpPost httpPost = new HttpPost(url);
//设置参数到请求对象中
StringEntity strEntity = new StringEntity(params,encoding);//解决中文乱码问题
strEntity.setContentEncoding(encoding);
strEntity.setContentType("application/json");
httpPost.setEntity(strEntity);
//设置header信息
//指定报文头【Content-type】、【User-Agent】
httpPost.setHeader("Content-type", "application/json");
httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
if (headsMap != null && !headsMap.isEmpty()) {
headsMap.forEach((key, value) -> {
//bb.writeLog("key:"+key+" value:"+value);
httpPost.addHeader(key, value);
});
}
//执行请求操作,并拿到结果(同步阻塞)
CloseableHttpResponse response = null;
try {
response = client.execute(httpPost);
//获取结果实体
HttpEntity entity = response.getEntity();
if (entity != null) {
//按指定编码转换结果实体为String类型
body = EntityUtils.toString(entity, encoding);
}
EntityUtils.consume(entity);
//释放链接
response.close();
} catch (IOException e) {
System.out.println("OrganizationSyn-e:"+e);
e.printStackTrace();
}
return body;
}
public int getWorkflowStoped(String requestid){
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
int i = 0;
try{
String sql = " select requestid from workflow_requestbase t\n" +
" where t.requestid="+requestid+" and (t.isstopped=1 or t.currentnodeid in(select id from workflow_nodebase k where k.unnumber in'itcgsq_zz','itlxsq_zz' )) " ;
rs.execute(sql);
if (rs.next()){
i++;
}
bb.writeLog("requestid:"+requestid);
bb.writeLog("sql:"+sql);
bb.writeLog("i:"+i);
}catch (Exception e){
}
return i;
}
public static void main(String[] args) {
GCONST.setRootPath("WEB-INF/");
GCONST.setServerName("ecology");
Map<String, Object> params=new HashMap<>();
params.put("usercode","011516");
params.put("projectCode","621041");
params.put("nf","2021");
User user = new User(5620);
CgrwdProjectInfoCmd ItcglcProjectInfoCmd = new CgrwdProjectInfoCmd(user,params);
CommandContext ceshi = new CommandContext(null,null);
ItcglcProjectInfoCmd.execute(ceshi);
}
}

@ -0,0 +1,15 @@
package com.engine.htsc.cgrwd.service;
import weaver.hrm.User;
import java.util.Map;
public interface CgrwdService {
/***
*
* @param user
* @param params
* @return
*/
Map<String, Object> getCgrwdProjectInfo(User user, Map<String, Object> params);
}

@ -0,0 +1,17 @@
package com.engine.htsc.cgrwd.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.cgrwd.service.CgrwdService;
import com.engine.htsc.itcglc.cmd.*;
import weaver.hrm.User;
import java.util.Map;
public class CgrwdServiceImpl extends Service implements CgrwdService {
@Override
public Map<String, Object> getCgrwdProjectInfo(User user, Map<String, Object> params) {
return commandExecutor.execute(new ItcglcProjectInfoCmd(user,params));
}
}

@ -0,0 +1,163 @@
package com.engine.htsc.cgrwd.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.cgrwd.service.CgrwdService;
import com.engine.htsc.cgrwd.service.impl.CgrwdServiceImpl;
import com.engine.htsc.payment.util.PayUtil;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public class CgrwdAction {
public CgrwdService getService(HttpServletRequest request, HttpServletResponse response){
return (CgrwdService) ServiceUtil.getService(CgrwdServiceImpl.class);
}
@GET
@Path("/getimagefileid")
@Produces({MediaType.TEXT_PLAIN})
public String getImageFileid(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
Map<String,Object> param = ParamUtil.request2Map(request);
RecordSet rs = new RecordSet();
String docids = Util.null2String(param.get("docids"));
String imagefileids = "" ;
if(!"".equals(docids)){
String sql = " select imagefileid from docimagefile where docid in("+docids+") ";
rs.execute(sql);
while(rs.next()){
String imagefileid = Util.null2String(rs.getString("imagefileid")) ;
imagefileids += imagefileids==""? imagefileid : ","+imagefileid ;
}
}
apidatas.put("imagefileids", imagefileids);
apidatas.put("api_status", true);
apidatas.put("api_errormsg", "");
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
@GET
@Path("/getCgrwdProjectInfo")
@Produces({MediaType.TEXT_PLAIN})
public String getCgrwdProjectInfo(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
User user = HrmUserVarify.getUser( request, response );
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas = getService(request,response).getCgrwdProjectInfo(user,param);
apidatas.put("api_status", true);
apidatas.put("api_errormsg", "");
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
@GET
@Path("/createRequestMark")
@Produces({MediaType.TEXT_PLAIN})
public String createRequestMark(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
ModeRightInfo modeRightInfo = new ModeRightInfo();
RecordSet rs = new RecordSet();
int workFlowId = Util.getIntValue(request.getParameter("workflowid"));
int formModeId = PayUtil.getFormModeIdByCubeName("uf_fklcbh");
try{
String sql = "select WORKFLOWNAME,UNNUMBER from workflow_base where ID=?";
rs.executeQuery(sql, workFlowId);
String name = "";
if (rs.next()) {
name = rs.getString("WORKFLOWNAME");
}
if (!"".equals(name)) {
String unNumber = PayUtil.getUnNumberByWorkFlowId(workFlowId);
LocalDateTime now = LocalDateTime.now();
String yM = now.format(DateTimeFormatter.ofPattern("yyyyMM"));
synchronized (this) {
StringBuilder mark = new StringBuilder(); //流程编码
rs.executeQuery(" select id,lsh,MODEUUID from uf_fklcbh where ny = '" + yM + "' and LCLX='" + unNumber + "'");
if (rs.next()) {
//更新
int num = Util.getIntValue(rs.getString("lsh")) + 1;
int id = Util.getIntValue(rs.getString("id"));
String updateSql = "update uf_fklcbh set lsh=? where id=?";
rs.executeUpdate(updateSql, num, id);
mark = new StringBuilder(num + "");
while (mark.length() < 6) {
mark.insert(0, "0");
}
mark = new StringBuilder(name + now.format(DateTimeFormatter.ofPattern("yyyyMM")) + mark);
} else {
String modeUuid = UUID.randomUUID().toString();
String userId = Util.null2String(request.getParameter("f_weaver_belongto_userid"));
String userType = Util.null2String(request.getParameter("f_weaver_belongto_usertype"));
String createDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
String createTime = now.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
//插入
String insertSql = " insert into uf_fklcbh" +
" (FORMMODEID,MODEDATACREATER,MODEDATACREATERTYPE,MODEDATACREATEDATE,MODEDATACREATETIME,MODEUUID,LSH,NY,LCLX) \n" +
" values(?,?,?,?,?,?,?,?,?)";
rs.executeUpdate(insertSql, formModeId, userId, userType, createDate, createTime, modeUuid, "1", yM, unNumber);
mark = new StringBuilder(name + now.format(DateTimeFormatter.ofPattern("yyyyMM")) + "000001");
//权限重构
int dataId = PayUtil.getDataIdByUUID(modeUuid);
modeRightInfo.editModeDataShare(1, formModeId, dataId);
}
apidatas.put("value",mark.toString());
apidatas.put("api_status", true);
apidatas.put("api_errormsg", "");
}
}else{
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "流程名称为空");
}
}catch (Exception e){
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,29 @@
package com.engine.htsc.changeCloudTicket.web;
import com.api.htsc.browser.ESBBrowser;
import weaver.hrm.resource.ResourceComInfo;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
public class NewCTAction {
@GET
@Path("/getAllTicket")
@Produces({MediaType.APPLICATION_JSON})
public String getAllTicket(@QueryParam("UserCode") String UserCode,
@QueryParam("InvoiceType") String InvoiceType, @QueryParam("pageNo") String pageNo,
@QueryParam("pagesize") String pagesize){
String workcode = "";
try {
ResourceComInfo resourceComInfo = new ResourceComInfo();
workcode = resourceComInfo.getWorkcode(UserCode);
} catch (Exception e) {
e.printStackTrace();
}
return new ESBBrowser().getInvoiceInfo(workcode,InvoiceType,pageNo,pagesize,"","","","");
}
}

@ -0,0 +1,178 @@
package com.engine.htsc.contacts.service;
import com.engine.core.impl.Service;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.resource.ResourceComInfo;
import java.text.SimpleDateFormat;
import java.util.*;
public class ContactsService extends Service {
/**
* useridid
* @param userid
* @return
*/
public List<String> getTopContactsIdsByUserid(String userid){
BaseBean bs = new BaseBean();
RecordSet rs = new RecordSet();
List<String> contactList = new ArrayList<>();
try{
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH,-6);
String beginDate = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
//内审签字意见类型为a
Map<String,Integer> contactsMap = new HashMap<>();
String sql = "select receivedpersonids from workflow_requestlog where operator = '"+userid+"' and operatedate >= '"+beginDate+"' and logtype = 'a'";
bs.writeLog(sql);
rs.executeQuery(sql);
while(rs.next()){
String receivedIds = Util.null2String(rs.getString("receivedpersonids"));
for(String receivedId:receivedIds.split(",")){
if(StringUtils.isNotBlank(receivedId)){
Integer count = contactsMap.get(receivedId);
if(count!=null){
contactsMap.put(receivedId,++count);
}else{
contactsMap.put(receivedId,1);
}
}
}
}
//降序添加
Set<String> contactSet = new LinkedHashSet<>();
List<Map.Entry<String,Integer>> sortList = sortByValue(contactsMap);
if(sortList.size()>0){
for(int i=0;i<sortList.size()&&i<5;i++){
sql = "select status,seclevel from hrmresource where id = '"+sortList.get(i).getKey()+"'";
bs.writeLog(sql);
rs.executeQuery(sql);
if(rs.next()){
String status = Util.null2String(rs.getString("status"));
String seclevel = Util.null2String(rs.getString("seclevel"));
if("1".equals(status)&&StringUtils.isNotBlank(seclevel)&&Integer.parseInt(seclevel)<50){
contactSet.add(sortList.get(i).getKey());
}
}
}
}
//内审常用人不足5人从最近联系人补充
if(contactSet.size()<5){
sql = "select t1.selectid from hrmresourceselectrecord t1,hrmresource t2 where t2.id = t1.selectid and t2.seclevel < 50 and t2.status = '1' " +
"and t1.resourceid = '"+userid+"' and t2.departmentid = (select departmentid from hrmresource where id = '"+userid+"') order by t1.id desc";
bs.writeLog(sql);
rs.executeQuery(sql);
while(rs.next()){
String selectid = Util.null2String(rs.getString("selectid"));
contactSet.add(selectid);
if(contactSet.size()==5){
break;
}
}
}
contactList.addAll(contactSet);
}catch (Exception e){
e.printStackTrace();
}
return contactList;
}
/**
* value
* @param map
* @return
*/
private static List<Map.Entry<String,Integer>> sortByValue(Map<String, Integer> map){
List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String,Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
return list;
}
/**
*
* @param userid
* @return
*/
public Map<String,Object> getTopContacts(String userid){
BaseBean bs = new BaseBean();
RecordSet rs = new RecordSet();
Map<String,Object> resultMap = new HashMap<>();
try{
ResourceComInfo resourceComInfo = new ResourceComInfo();
String cylxr = "";
String sql = "select cylxr from uf_hqbmfzrcylxr where bmfzr = '"+userid+"'";
bs.writeLog(sql);
rs.executeQuery(sql);
if(rs.next()){
cylxr = Util.null2String(rs.getString("cylxr"));
}
List<String> contactsList;
if(StringUtils.isNotBlank(cylxr)){
contactsList = Arrays.asList(cylxr.split(","));
}else{
contactsList = getTopContactsIdsByUserid(userid);
}
List<Map<String,String>> contactsMapList = new ArrayList<>();
for(String id:contactsList){
if(StringUtils.isNotEmpty(id)){
Map<String,String> userMap = new HashMap<>();
userMap.put("id",id);
userMap.put("name",resourceComInfo.getLastname(id));
contactsMapList.add(userMap);
}
}
resultMap.put("contacts",contactsMapList);
}catch (Exception e){
e.printStackTrace();
}
return resultMap;
}
/**
*
*
* @param nodeid
* @return
*/
public Map<String,Object> checkoutFreeNode(String nodeid){
BaseBean bs = new BaseBean();
RecordSet rs = new RecordSet();
Map<String,Object> resultMap = new HashMap<>();
boolean flag = false;
String sql = "select nodename from workflow_freenode where id = '"+nodeid+"'";
bs.writeLog(sql);
rs.executeQuery(sql);
if(rs.next()){
String nodename = Util.null2String(rs.getString("nodename"));
if("会签部门负责人".equals(nodename)){
flag = true;
}
}
resultMap.put("result",flag);
return resultMap;
}
}

@ -0,0 +1,66 @@
package com.engine.htsc.contacts.web;
import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.contacts.service.ContactsService;
import weaver.general.BaseBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class ContactsAction {
ContactsService getService(){
return ServiceUtil.getService(ContactsService.class);
}
@POST
@Path("/getTopContacts")
@Produces({MediaType.TEXT_PLAIN})
public String getTopContacts(@Context HttpServletRequest request, @Context HttpServletResponse response){
BaseBean bs = new BaseBean();
Map<String, Object> apidatas = new HashMap<String, Object>();
bs.writeLog("----ContactsAction-----");
try{
String userid = request.getParameter("userid");
ContactsService contactsService = getService();
apidatas = contactsService.getTopContacts(userid);
}catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSON.toJSONString(apidatas);
}
@POST
@Path("/checkoutFreeNode")
@Produces({MediaType.TEXT_PLAIN})
public String checkoutFreeNode(@Context HttpServletRequest request, @Context HttpServletResponse response){
BaseBean bs = new BaseBean();
Map<String, Object> apidatas = new HashMap<String, Object>();
bs.writeLog("----ContactsAction-----");
try{
String nodeid = request.getParameter("nodeid");
ContactsService contactsService = getService();
apidatas = contactsService.checkoutFreeNode(nodeid);
}catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSON.toJSONString(apidatas);
}
}

@ -0,0 +1,87 @@
package com.engine.htsc.convertor;
import com.engine.htsc.doc.model.UserInfoModel;
import weaver.conn.RecordSet;
import weaver.general.Util;
/**
*
* selectvalue <------> selectname
*/
public class EcologyValueConvertor {
/**
* requestId
* @param requestId
* @return
*/
public static String getMainTableNameByRequestId(String requestId) {
RecordSet rs = new RecordSet();
rs.executeQuery("select t2.tablename from workflow_requestbase t0,workflow_base t1,workflow_bill t2 where t0.workflowid = t1.id " +
" and t1.formid = t2.id and t0.requestid = ?",new Object[]{requestId});
String tablename = "";
if(rs.next()){
tablename = rs.getString("tablename");
}
return tablename;
}
/**
*
* @param requestId
* @param filedName
* @param selectValue
* @return
*/
public static String getSelectNameByRequestIdAndFieldValue(String requestId, String filedName, String selectValue) {
RecordSet rs = new RecordSet();
String reuslt = "";
String sql = " select t4.selectname from workflow_requestbase t0,workflow_base t1,workflow_bill t2,workflow_billfield t3,workflow_selectitem t4 where t0.workflowid = t1.id "+
" and t1.formid = t2.id and t3.billid = t2.id and t4.fieldid = t3.id and t0.requestid = '"+requestId+"' "+
" and t3.fieldname = '"+filedName+"' "+
" and t4.selectvalue = '"+selectValue+"' ";
rs.execute(sql);
if(rs.next()) {
reuslt = Util.null2String(rs.getString("selectname"));
}
return reuslt;
}
/**
* IdDTO
* @param id
* @return
*/
public static UserInfoModel getUserInfoModelById(String id) {
RecordSet rs = new RecordSet();
UserInfoModel user = new UserInfoModel();
String sql = " select t0.id,t0.loginid,t0.workcode,t0.lastname,t3.jobtitlecode,t3.jobtitlename,t5.deptid,t4.departmentcode,t4.departmentname,t5.depttypecode,t5.depttypename, "+
" t5.deptscalelevelcode,t5.deptscalelevelname,t5.deptcodepath,t5.deptnamepath,t0.seclevel,t0.email,t0.telephone,t0.mobile "+
" from hrmresource t0 ,hrmjobtitles t3, HRMDEPARTMENT t4, hrmdepartmentdefined t5 "+
" where t0.jobtitle = T3.id and T3.jobdepartmentid = T4.id and t4.id = t5.deptid and t0.id = '"+id+"' ";
rs.executeQuery(sql);
if(rs.next()) {
user.setUserId(Util.null2String(rs.getString("id")));
user.setLoginId(Util.null2String(rs.getString("loginid")));
user.setWorkCode(Util.null2String(rs.getString("workcode")));
user.setName(Util.null2String(rs.getString("lastname")));
user.setJobCode(Util.null2String(rs.getString("jobtitlecode")));
user.setJobName(Util.null2String(rs.getString("jobtitlename")));
user.setDepartmentId(Util.null2String(rs.getString("deptid")));
user.setDepartmentCode(Util.null2String(rs.getString("departmentcode")));
user.setDepartmentName(Util.null2String(rs.getString("departmentname")));
user.setDeptTypeCode(Util.null2String(rs.getString("depttypecode")));
user.setDeptTypeName(Util.null2String(rs.getString("depttypename")));
user.setDeptClassCode(Util.null2String(rs.getString("deptscalelevelcode")));
user.setDeptClassName(Util.null2String(rs.getString("deptscalelevelname")));
user.setDeptCodePath(Util.null2String(rs.getString("deptcodepath")));
user.setDeptNamePath(Util.null2String(rs.getString("deptnamepath")));
user.setSeclLevel(Integer.valueOf(rs.getString("seclevel")));
user.setEmail(Util.null2String(rs.getString("email")));
user.setTelephone(Util.null2String(rs.getString("telephone")));
user.setMobile(Util.null2String(rs.getString("mobile")));
}
return user;
}
}

@ -0,0 +1,85 @@
package com.engine.htsc.cooperation;
import com.alibaba.fastjson.JSON;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.interfaces.htsc.comInfo.PropBean;
import weaver.interfaces.htsc.cooperation.task.TaskTools;
import weaver.soa.workflow.request.RequestInfo;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class ReloadXzUser {
@POST
@Path("/reloadzUser")
@Produces({MediaType.TEXT_PLAIN})
public String reloadzUser(@Context HttpServletRequest request, @Context HttpServletResponse response){
PropBean pb = new PropBean();
Map<String, Object> apidatas = new HashMap<String, Object>();
try{
String xzbillid = Util.null2String(request.getParameter("billid"));
if( xzbillid==""||Util.getIntValue(xzbillid)<0){
apidatas.put("flag", "false");
return JSON.toJSONString(apidatas);
}
Map<String,Object> map=new HashMap<>();
RequestInfo requestinfo=new RequestInfo();
requestinfo.setRequestid(xzbillid);
map.put("RequestInfo",requestinfo);
RecordSet rs = new RecordSet();
BaseBean beanBean = new BaseBean();
beanBean.writeLog("开始做协作任务人员同步!!!!");
String jbr="";
String tzydr="";
String distinctjbr="";
String distincttzydr="";
TaskTools tasktools=new TaskTools();
String sqlvalue=" select wm_concat_old(jbr) as jbr,wm_concat_old(gzr) as gzr from uf_rw where xzsy='"+xzbillid+"'";
beanBean.writeLog("协作查询所有jbr和gzr的sql"+sqlvalue);
rs.execute(sqlvalue);
if(rs.next()){
jbr=rs.getString("jbr").toString();
tzydr=rs.getString("gzr").toString();
}
distinctjbr=disinctry(jbr.split(","));
distincttzydr=disinctry(tzydr.split(","));
// " jbr,tzydr"
String sqlupdatevalue="update uf_xzsy set jbr=?,tzydr=? where id='"+xzbillid+"'";
beanBean.writeLog("协作跟新语句:"+sqlupdatevalue+" jbr:"+distinctjbr+"tzydr:"+distincttzydr);
rs.executeUpdate(sqlupdatevalue, distinctjbr,distincttzydr);
apidatas.put("flag", "true");
}catch (Exception e) {
apidatas.put("flag", "false");
apidatas.put("error", e.getMessage());
}
return JSON.toJSONString(apidatas);
}
public String disinctry(String[] array){
if(array==null||array.length<0){
return "";
}
String ryvalue="";
List<String> listarray= java.util.Arrays.asList(array);
List list=(List) listarray.stream().distinct().collect(Collectors.toList());
ryvalue=String.join(",", list);
return ryvalue;
}
}

@ -0,0 +1,208 @@
package com.engine.htsc.cooperation;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.GlobatTools.MessageDetailLog;
import weaver.interfaces.htsc.comInfo.PropBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.text.SimpleDateFormat;
import java.util.*;
public class TaskShareUser {
@POST
@Path("/TaskShareUser")
@Produces({MediaType.TEXT_PLAIN})
public String TaskShareUser(@Context HttpServletRequest request, @Context HttpServletResponse response){
PropBean propBean = new PropBean();
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
ModeRightInfo mode=new ModeRightInfo();
Map<String, Object> apidatas = new HashMap<String, Object>();
SimpleDateFormat sd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
MessageDetailLog meslog=new MessageDetailLog("uf_rw_dt2");
String datetime=sd.format(new Date());
String rwbillid="";
try{
User user = HrmUserVarify.getUser(request, response);
rwbillid = Util.null2String(request.getParameter("billid"));
String bgxr = Util.null2String(request.getParameter("bgxr"));
if(rwbillid==""||bgxr==""){
apidatas.put("status", false);
apidatas.put("errormsg", "传递参数为空");
}
List<String> gzrList = new ArrayList<>();
String sql = "select gzr from uf_rw where id = '"+rwbillid+"'";
rs.executeQuery(sql);
if(rs.next()){
String gzr = Util.null2String(rs.getString("gzr"));
if(StringUtils.isNotEmpty(gzr)){
gzrList.addAll(Arrays.asList(gzr.split(",")));
}
}
String userarray= JAVATools.disinctrlist(bgxr.split(","));
String[] userlist = userarray.split(",");
bb.writeLog("userarray:"+userarray);
for (int i=0;i<userlist.length;i++) {
if(!"".equals(userlist[i])) {
bb.writeLog("userlist:"+userlist[i]);
try {
String usernewid=JAVATools.getmainhrmid(userlist[i]);
//共享人添加到参与人,去重
boolean flag = false;
for(String gzrid:gzrList){
String gzrmainid = JAVATools.getmainhrmid(gzrid);
if(usernewid.equals(gzrmainid)){
flag = true;
break;
}
}
if(!flag){
gzrList.add(userlist[i]);
}
String sqlvalue = "insert into uf_rw_dt2(mainid,czr,bgxr,gxsj) values(?,?,?,?)";
rs.executeQuery(sqlvalue, new Object[]{rwbillid, user.getUID(), usernewid, datetime});
}catch (Exception exo){
String mes="czr:"+ user.getUID()+"bgxr:"+userlist[i]+"gxsj:"+datetime+" "+meslog.error;
meslog.writLogsnotretrun(rwbillid,exo.getMessage(),"0",meslog.error);
}
}
}
String newgzr = String.join(",",gzrList);
String tzydzzhyc = "" ;
if(!"".equals(newgzr)){
tzydzzhyc= JAVATools.GetZctogid(newgzr);
}
String updateSql = "update uf_rw set gzr = '"+newgzr+"', tzydzzhyc = '"+tzydzzhyc+"' where id = '"+rwbillid+"'";
bb.writeLog(updateSql);
rs.executeUpdate(updateSql);
JSONObject jsonObject=propBean.getModeInfoByUUID(propBean.getPropName("UF_RW_CUBEUUID"));
int nodeid = Integer.parseInt(jsonObject.get("modeid").toString());
mode.editModeDataShare(user.getUID(),nodeid,Integer.parseInt(rwbillid));
apidatas.put("status", true);
}catch (Exception e) {
e.printStackTrace();
apidatas.put("status", false);
apidatas.put("errormsg", "catch exception : " + e.getMessage());
meslog.writLogsnotretrun(rwbillid,e.getMessage(),"0",meslog.error);
}
return JSON.toJSONString(apidatas);
}
@POST
@Path("/CooperationShareUser")
@Produces({MediaType.TEXT_PLAIN})
public String CooperationShareUser(@Context HttpServletRequest request, @Context HttpServletResponse response){
PropBean propBean = new PropBean();
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
ModeRightInfo mode=new ModeRightInfo();
Map<String, Object> apidatas = new HashMap<String, Object>();
SimpleDateFormat sd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
MessageDetailLog meslog=new MessageDetailLog("uf_xzsy_dt1");
String datetime=sd.format(new Date());
String rwbillid="";
try{
User user = HrmUserVarify.getUser(request, response);
rwbillid = Util.null2String(request.getParameter("billid"));
String bgxr = Util.null2String(request.getParameter("bgxr"));
if(rwbillid==""||bgxr==""){
apidatas.put("status", false);
apidatas.put("errormsg", "传递参数为空");
}
String modedatacreater = "" ;
List<String> tzydrList = new ArrayList<>();
String sql = " select modedatacreater,tzydr from uf_xzsy where id="+rwbillid ;
rs.execute(sql);
if(rs.next()){
modedatacreater = Util.null2String(rs.getString("modedatacreater"));
String tzydr = Util.null2String(rs.getString("tzydr"));
if(StringUtils.isNotEmpty(tzydr)){
tzydrList.addAll(Arrays.asList(tzydr.split(",")));
}
}
String userarray = JAVATools.disinctrlist(bgxr.split(","));
for (String userid:userarray.split(",")) {
if(!"".equals(userid)) {
try {
String usernewid = JAVATools.getmainhrmid(userid);
//共享人添加到参与人,去重
boolean flag = false;
for(String tzydrid:tzydrList){
String tzydrmainid = JAVATools.getmainhrmid(tzydrid);
if(usernewid.equals(tzydrmainid)){
flag = true;
break;
}
}
if(!flag){
tzydrList.add(userid);
}
String sqlvalue = "insert into uf_xzsy_dt1(mainid,czr,bgxr,gxsj) values(?,?,?,?)";
rs.executeQuery(sqlvalue, new Object[]{rwbillid, user.getUID(), usernewid, datetime});
}catch (Exception exo){
String mes="czr:"+ user.getUID()+"bgxr:"+userid+"gxsj:"+datetime+" "+meslog.error;
meslog.writLogsnotretrun(rwbillid,mes,"0",meslog.error);
}
}
}
String newtzydr = String.join(",",tzydrList);
String tzydzzhyc = "" ;
if(!"".equals(newtzydr)){
tzydzzhyc= JAVATools.GetZctogid(newtzydr);
}
String updateSql = "update uf_xzsy set tzydr = '"+newtzydr+"', tzydzzhyc = '"+tzydzzhyc+"' where id = '"+rwbillid+"'";
bb.writeLog(updateSql);
rs.executeUpdate(updateSql);
JSONObject jsonObject = propBean.getModeInfoByUUID(propBean.getPropName("UF_XZSY_CUBEUUIUD"));
int modeid = Integer.parseInt(jsonObject.get("modeid").toString());
mode.rebuildModeDataShareByEdit(Util.getIntValue(modedatacreater),modeid,Integer.parseInt(rwbillid));
apidatas.put("status", true);
}catch (Exception e) {
e.printStackTrace();
apidatas.put("status", false);
apidatas.put("errormsg", "catch exception : " + e.getMessage());
meslog.writLogsnotretrun(rwbillid,e.getMessage(),"0",meslog.error);
}
return JSON.toJSONString(apidatas);
}
}

@ -0,0 +1,100 @@
package com.engine.htsc.cooperation;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.GlobatTools.MessageDetailLog;
import weaver.interfaces.htsc.GlobatTools.Smstools;
import weaver.interfaces.htsc.comInfo.PropBean;
import weaver.interfaces.htsc.cooperation.task.TaskTools;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.text.SimpleDateFormat;
import java.util.*;
public class TaskSmsToUser {
@POST
@Path("/TaskSmsToUser")
@Produces({MediaType.TEXT_PLAIN})
public String TaskSmsToUser(@Context HttpServletRequest request, @Context HttpServletResponse response){
PropBean propBean = new PropBean();
Smstools smstools=new Smstools();
RecordSet rs = new RecordSet();
ModeRightInfo mode = new ModeRightInfo();
Map<String, Object> apidatas = new HashMap<String, Object>();
SimpleDateFormat sd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
MessageDetailLog meslog = new MessageDetailLog("uf_xzsy_dt1");
String datetime = sd.format(new Date());
String billid="";
try{
User user = HrmUserVarify.getUser(request, response);
billid = Util.null2String(request.getParameter("billid"));
String smsuser = Util.null2String(request.getParameter("smsuser"));
String bt= Util.null2String(request.getParameter("bt"));
String context = Util.null2String(request.getParameter("context"));
String type= Util.null2String(request.getParameter("type"));
if(billid==""||smsuser==""||bt==""){
apidatas.put("status", false);
apidatas.put("errormsg", "传递参数为空");
}
int smstypeid=Integer.parseInt(Util.null2String(propBean.getPropName("uf_ry_sms")));
JSONObject jsonObject=null;
//如果type==0为是任务
String link ="";
if("0".equals(type)){
jsonObject=propBean.getModeInfoByUUID(propBean.getPropName("UF_RW_CUBEUUIUD"));
String url = propBean.getPropName("rw_mobile_url");
link = url+"&billid="+billid;
}else {
jsonObject=propBean.getModeInfoByUUID(propBean.getPropName("UF_XZSY_CUBEUUIUD"));
String url = propBean.getPropName("xz_mobile_url");
link = url+"&billid="+billid;
}
if(jsonObject.size()<=0){
apidatas.put("errmsg","消息失败"+type);
apidatas.put("status", "false");
return JSON.toJSONString(apidatas);
}
// String rwmodeid=jsonObject.get("modeid").toString();
// String formid=jsonObject.get("formid").toString();
//String link="/spa/cube/index.html#/main/cube/card?type=0&modeId="+rwmodeid+"&formId="+formid+"&billid="+billid;
Set<String> setuseridvalue=new HashSet<>();
setuseridvalue = new HashSet(Arrays.asList(smsuser.split(",")));
if(setuseridvalue.size()>0){
boolean flag=smstools.sendMessage(smstypeid,setuseridvalue,bt,context,link,link);
if(flag==false){
apidatas.put("errmsg","消息发送失败");
apidatas.put("status", "false");
}
}
apidatas.put("status", "true");
}catch (Exception e) {
e.printStackTrace();
apidatas.put("status", false);
apidatas.put("errormsg", "catch exception : " + e.getMessage());
// meslog.writLogsnotretrun(billid,e.getMessage(),"0",meslog.error);
}
return JSON.toJSONString(apidatas);
}
}

@ -0,0 +1,72 @@
package com.engine.htsc.cooperation;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.engine.htsc.collaboration.service.TaskLogService;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.MessageDetailLog;
import weaver.interfaces.htsc.GlobatTools.Smstools;
import weaver.interfaces.htsc.comInfo.PropBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.text.SimpleDateFormat;
import java.util.*;
public class TaskToLog {
@POST
@Path("/TaskToUser")
@Produces({MediaType.TEXT_PLAIN})
public String TaskToUser(@Context HttpServletRequest request, @Context HttpServletResponse response){
PropBean propBean = new PropBean();
Smstools smstools=new Smstools();
RecordSet rs = new RecordSet();
ModeRightInfo mode=new ModeRightInfo();
Map<String, Object> apidatas = new HashMap<String, Object>();
SimpleDateFormat sd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
MessageDetailLog meslog=new MessageDetailLog("uf_xzsy_dt1");
String datetime=sd.format(new Date());
String billid="";
// String sjlx="0";//1是评论0是反馈
// String jllx="1";//1是任务0是协作
try{
User user = HrmUserVarify.getUser(request, response);
billid = Util.null2String(request.getParameter("billid"));
String title= Util.null2String(request.getParameter("title"));
String context = Util.null2String(request.getParameter("context"));
String sjlx= Util.null2String(request.getParameter("sjlx"));
String jllx= Util.null2String(request.getParameter("jllx"));
if("".equals(sjlx)){
sjlx="0";
}
if("".equals(jllx)){
jllx="1";
}
if("".equals(billid)||"".equals(title)||"".equals(context)){
apidatas.put("status", false);
apidatas.put("errormsg", "传递参数为空");
}
TaskLogService taskLogService=new TaskLogService();
taskLogService.createTaskLog(user,billid,"",jllx,sjlx,context,title);
apidatas.put("status", "true");
}catch (Exception e) {
e.printStackTrace();
apidatas.put("status", false);
apidatas.put("errormsg", "catch exception : " + e.getMessage());
// meslog.writLogsnotretrun(billid,e.getMessage(),"0",meslog.error);
}
return JSON.toJSONString(apidatas);
}
}

@ -0,0 +1,63 @@
package com.engine.htsc.cowork.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.HashMap;
import java.util.Map;
public class CoWorkCmd extends AbstractCommonCommand<Map<String, Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public CoWorkCmd(Map<String, Object> params, User user) {
this.params = params;
this.user = user;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> appdate = new HashMap<String, Object>();
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
try{
String billid = Util.null2String(params.get("billid"));
String userid = user.getUID()+"";
if(!"1".equals(userid)){
String sql = " select id from hrmresource where workcode in(select workcode from hrmresource where id="+userid+") and belongto is null";
rs.execute(sql);
if(rs.next()){
userid = Util.null2String(rs.getString("id"));
}
}
int flag = 0;
String sql = " select * from uf_rw_dt3 where ry="+userid+" and mainid="+billid ;
rs.execute(sql);
if(rs.next()){
flag++;
}
String jbrs = "" ;
sql = " select id from hrmresource where workcode in(select workcode from hrmresource where id in(select ry from uf_rw_dt3 where mainid="+billid+"))" ;
rs.execute(sql);
while (rs.next()){
String jbr = Util.null2String(rs.getString("id"));
jbrs += jbrs == "" ? jbr : ","+jbr ;
}
appdate.put("flag",flag);
appdate.put("jbrs",jbrs);
}catch (Exception e){
bb.writeLog("e:"+e);
}
return appdate;
}
}

@ -0,0 +1,251 @@
package com.engine.htsc.cowork.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.*;
public class CoWorkTopButtonCmd extends AbstractCommonCommand<Map<String, Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public CoWorkTopButtonCmd(Map<String, Object> params, User user) {
this.params = params;
this.user = user;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> appdate = new HashMap<String, Object>();
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
RecordSet stopOrComRs = new RecordSet();
Set<String> set = new HashSet<>();
try{
String billid = Util.null2String(params.get("billid"));
String xzzt = Util.null2String(params.get("zt"));
String userid = user.getUID()+"";
String mainuserid = "" ;
String sql =" select id\n" +
" from hrmresource\n" +
" where workcode in (select workcode from hrmresource where id = "+userid+")\n" +
" and belongto is null " ;
rs.execute(sql);
if(rs.next()){
mainuserid = Util.null2String(rs.getString("id"));
}
Map<String,Integer> userMap = queryUserRoleByBillid(mainuserid,billid);
//2022-01-25
String stopOrCompleteSql = "select * from uf_xzsy where instr(','||cjrzczhyc||',',',"+mainuserid+",') >0 and id = "+billid + " and (xzzt = 5 or xzzt = 6) ";
bb.writeLog("stopOrCompleteSql:"+stopOrCompleteSql);
stopOrComRs.execute(stopOrCompleteSql);
// System.out.println(stopOrCompleteSql);
// System.out.println(stopOrComRs.execute(stopOrCompleteSql));
// System.out.println(stopOrComRs.next());
if(stopOrComRs.next()){
set.add("share");
}else{
set.add("share");
if("0".equals(xzzt)){
if(userMap.get("cjr") == 1)
{
set.add("edit");
set.add("publish");
set.add("auditing");
//2022-01-25
// set.add("complete");//完成
set.add("stop");//终止
}
if(userMap.get("shr") == 1 && userMap.get("shrshzt")==0 ){
set.add("edit");
set.add("read");
set.add("shrTransfer");
}
}else if("2".equals(xzzt)){
if(userMap.get("cjr") == 1){
set.add("stop");//终止
//审核中
if(userMap.get("ssr")==1 && userMap.get("ssrshzt")==0){
set.add("edit");
set.add("publish");
set.add("auditing");
}
}
if(userMap.get("zxr") == 1)
{
if(userMap.get("ywc") == 1){
set.add("reopen");
}else{
set.add("edit");
set.add("complete");
set.add("auditing");
set.add("transfer");
}
}
if(userMap.get("shr") == 1)
{
//审核人 审核进行中
if(userMap.get("shrshzt") != 1){
set.add("edit");
set.add("read");
//2022-02-25
set.add("shrTransfer");
}
}
}else if("3".equals(xzzt)){
if(userMap.get("zxr") == 1)
{
set.add("reopen");
}
}
}
/***
* 稿  
*
*
* 1稿
*
* :
*
*
* 2
*
*
*
*
*
*
* 3
*
*
*
*
*
*
*/
}catch (Exception e){
bb.writeLog("e:"+e);
set.add("share");
}
appdate.put("data",set);
return appdate;
}
/***
*
* @param userid
* @param billid
* @return
*/
public Map<String,Integer> queryUserRoleByBillid(String userid,String billid){
RecordSet rs = new RecordSet();
Map<String,Integer> userMap = new HashMap<String,Integer>();
int cjrcount = 0;
String sql = " select id from uf_xzsy where (instr(','||cjrzczhyc||',',',"+userid+",') >0 or cjr="+userid+")and id="+billid ;
rs.execute(sql);
if(rs.next()){
cjrcount++;
}
userMap.put("cjr",cjrcount);
int zxrcount = 0;
sql = " select id from uf_xzsy where (instr(','||jbrzzhyc||',',',"+userid+",') >0 or instr(','||jbr||',',',"+userid+",')>0) and id="+billid ;
rs.execute(sql);
if(rs.next()){
zxrcount++;
}
userMap.put("zxr",zxrcount);
int cyrcount = 0;
sql = " select id from uf_xzsy where (instr(','||tzydzzhyc||',',',"+userid+",') >0 or instr(','||tzydr||',',',"+userid+",') >0) and id="+billid ;
rs.execute(sql);
if(rs.next()){
cyrcount++;
}
userMap.put("cyr",cyrcount);
int gxrcount = 0 ;
sql = " select id from uf_xzsy_dt1 where mainid="+billid +" and bgxr="+userid;
rs.execute(sql);
if(rs.next()){
gxrcount++;
}
userMap.put("gxr",gxrcount);
int completecount = 0;
sql = " select id from uf_xzsy_dt2 where mainid="+billid+" and ry="+userid ;
rs.execute(sql);
if(rs.next()){
completecount++;
}
userMap.put("ywc",completecount);
//审核人
int shrcount = 0 ;
int shrshzt = 0;
sql = " select sfsh from uf_xzsy_dt3 where mainid="+billid +" and instr(','||shr||',',',"+userid+",') >0 order by id desc";
rs.execute(sql);
if(rs.next()){
shrcount++;
//审核人对应的审核状态
shrshzt = rs.getInt("sfsh");
}
userMap.put("shrshzt",shrshzt);
userMap.put("shr",shrcount);
//判断是否是送审人
int ssrcount = 0;
int ssrshzt = 0;
sql = " select sfsh from uf_xzsy_dt3 where mainid="+billid +" and ry="+userid+" order by id desc";
rs.execute(sql);
if(rs.next()){
ssrcount++;
//送审人对应的审核状态
ssrshzt = rs.getInt("sfsh");
}
userMap.put("ssrshzt",ssrshzt);
userMap.put("ssr",ssrcount);
return userMap;
}
public static void main(String[] args) {
GCONST.setRootPath("WEB-INF/");
GCONST.setServerName("ecology");
Map<String, Object> params=new HashMap<>();
params.put("billid","4732");
params.put("zt","1");
params.put("userid","011413");
User user = new User(11260);
CoWorkTopButtonCmd coWorkTopButtonCmd = new CoWorkTopButtonCmd(params,user);
CommandContext ceshi= new CommandContext(null,null);
coWorkTopButtonCmd.execute(ceshi);
}
}

@ -0,0 +1,64 @@
package com.engine.htsc.cowork.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.HashMap;
import java.util.Map;
public class CoXzWorkCmd extends AbstractCommonCommand<Map<String, Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public CoXzWorkCmd(Map<String, Object> params, User user) {
this.params = params;
this.user = user;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> appdate = new HashMap<String, Object>();
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
try{
String billid = Util.null2String(params.get("billid"));
String userid = user.getUID()+"";
if(!"1".equals(userid)){
String sql = " select id from hrmresource where workcode in(select workcode from hrmresource where id="+userid+") and belongto is null";
rs.execute(sql);
if(rs.next()){
userid = Util.null2String(rs.getString("id"));
}
}
int flag = 0;
String sql = " select * from uf_xzsy_dt2 where ry="+userid+" and mainid="+billid ;
rs.execute(sql);
if(rs.next()){
flag++;
}
String jbrs = "" ;
sql = " select id from hrmresource where workcode in(select workcode from hrmresource where id in(select ry from uf_xzsy_dt2 where mainid="+billid+"))" ;
rs.execute(sql);
while (rs.next()){
String jbr = Util.null2String(rs.getString("id"));
jbrs += jbrs == "" ? jbr : ","+jbr ;
}
appdate.put("flag",flag);
appdate.put("jbrs",jbrs);
}catch (Exception e){
bb.writeLog("e:"+e);
}
return appdate;
}
}

@ -0,0 +1,27 @@
package com.engine.htsc.cowork.service;
import weaver.hrm.User;
import java.util.Map;
public interface CoWorkService {
/**
*
* @param user
* @return
*/
Map<String,Object> doGetIsComplete(Map<String, Object> params, User user);
/**
*
* @param user
* @return
*/
Map<String,Object> doGetXzComplete(Map<String, Object> params, User user);
Map<String,Object> doGetTopButton(Map<String, Object> params, User user);
}

@ -0,0 +1,30 @@
package com.engine.htsc.cowork.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.cowork.cmd.CoWorkCmd;
import com.engine.htsc.cowork.cmd.CoWorkTopButtonCmd;
import com.engine.htsc.cowork.cmd.CoXzWorkCmd;
import com.engine.htsc.cowork.service.CoWorkService;
import weaver.hrm.User;
import java.util.Map;
public class CoWorkServiceImpl extends Service implements CoWorkService {
@Override
public Map<String, Object> doGetIsComplete(Map<String, Object> params, User user) {
return commandExecutor.execute(new CoWorkCmd(params,user));
}
@Override
public Map<String, Object> doGetXzComplete(Map<String, Object> params, User user) {
return commandExecutor.execute(new CoXzWorkCmd(params,user));
}
@Override
public Map<String, Object> doGetTopButton(Map<String, Object> params, User user) {
return commandExecutor.execute(new CoWorkTopButtonCmd(params,user));
}
}

@ -0,0 +1,88 @@
package com.engine.htsc.cowork.web;
import com.alibaba.fastjson.JSON;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.cowork.service.CoWorkService;
import com.engine.htsc.cowork.service.impl.CoWorkServiceImpl;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
/***
*
*/
public class CoWorkAction {
public CoWorkService getService(){
return ServiceUtil.getService(CoWorkServiceImpl.class);
}
@GET
@Path("/doGetIsComplete")
@Produces({MediaType.TEXT_PLAIN})
public String doGetIsComplete(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<String, Object>();
try{
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas = getService().doGetIsComplete(param,user);
}catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSON.toJSONString(apidatas);
}
@GET
@Path("/doGetXzComplete")
@Produces({MediaType.TEXT_PLAIN})
public String doGetXzComplete(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<String, Object>();
try{
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas = getService().doGetXzComplete(param,user);
}catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSON.toJSONString(apidatas);
}
@GET
@Path("/doGetTopButton")
@Produces({MediaType.TEXT_PLAIN})
public String doGetTopButton(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<String, Object>();
try{
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas = getService().doGetTopButton(param,user);
}catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSON.toJSONString(apidatas);
}
}

@ -0,0 +1,43 @@
package com.engine.htsc.financialadjustment.excel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import weaver.workflow.logging.Logger;
import weaver.workflow.logging.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
/**
*
*/
public class ExcelDataListener<T> extends AnalysisEventListener<T> {
private final Logger logger = LoggerFactory.getLogger();
List<T> list = new ArrayList<>();
/**
* read line2
*/
@Override
public void invoke(T t, AnalysisContext analysisContext) {
logger.info("excel data :" + t);
list.add(t);
}
/**
* finish reading all line, after do
*/
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
logger.info("Finish extracting excel data, list: " + list);
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
}

@ -0,0 +1,127 @@
package com.engine.htsc.financialadjustment.pojo;
import com.alibaba.excel.annotation.ExcelProperty;
/**
* excel template, biz support
*/
public class FinancialAjExcelData {
@ExcelProperty("是否入会计账")
private String credit;
@ExcelProperty("费用承担人")
private String expensePerson;
@ExcelProperty("费用承担部门")
private String expenseDept;
// @ExcelProperty("预算项目(预算类型-控制项目-明细项目)* ")
@ExcelProperty(index = 3)
private String budgetCode;
@ExcelProperty("金额")
private String amount;
@ExcelProperty("是否超预算")
private String overBudget;
@ExcelProperty("会计科目")
private String accountCode;
@ExcelProperty("借贷方向")
private String debtSide;
@ExcelProperty("公司项目")
private String projectCode;
@ExcelProperty("项目部门")
private String projectDept;
public String getCredit() {
return credit;
}
public void setCredit(String credit) {
this.credit = credit;
}
public String getExpensePerson() {
return expensePerson;
}
public void setExpensePerson(String expensePerson) {
this.expensePerson = expensePerson;
}
public String getExpenseDept() {
return expenseDept;
}
public void setExpenseDept(String expenseDept) {
this.expenseDept = expenseDept;
}
public String getBudgetCode() {
return budgetCode;
}
public void setBudgetCode(String budgetCode) {
this.budgetCode = budgetCode;
}
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
public String getOverBudget() {
return overBudget;
}
public void setOverBudget(String overBudget) {
this.overBudget = overBudget;
}
public String getAccountCode() {
return accountCode;
}
public void setAccountCode(String accountCode) {
this.accountCode = accountCode;
}
public String getDebtSide() {
return debtSide;
}
public void setDebtSide(String debtSide) {
this.debtSide = debtSide;
}
public String getProjectCode() {
return projectCode;
}
public void setProjectCode(String projectCode) {
this.projectCode = projectCode;
}
public String getProjectDept() {
return projectDept;
}
public void setProjectDept(String projectDept) {
this.projectDept = projectDept;
}
@Override
public String toString() {
return "FinancialAjExcelData{" +
"credit='" + credit + '\'' +
", expensePerson='" + expensePerson + '\'' +
", expenseDept='" + expenseDept + '\'' +
", budgetCode='" + budgetCode + '\'' +
", amount='" + amount + '\'' +
", overBudget='" + overBudget + '\'' +
", accountCode='" + accountCode + '\'' +
", debtSide='" + debtSide + '\'' +
", projectCode='" + projectCode + '\'' +
", projectDept='" + projectDept + '\'' +
'}';
}
}

@ -0,0 +1,19 @@
package com.engine.htsc.financialadjustment.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public interface FinService {
/**
* excel
* @param imageId excelid
* @param zbOrLh or
* @return json
* @throws Exception ep
*/
JSONArray readByImageId(int imageId, String zbOrLh) throws Exception;
JSONObject getDeptBrowserByProjectId(String userCode, String projectId) throws Exception;
}

@ -0,0 +1,81 @@
package com.engine.htsc.financialadjustment.service.impl;
import cn.hutool.core.lang.Assert;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.core.impl.Service;
import com.engine.htsc.financialadjustment.excel.ExcelDataListener;
import com.engine.htsc.financialadjustment.pojo.FinancialAjExcelData;
import com.engine.htsc.financialadjustment.service.FinService;
import com.engine.htsc.financialadjustment.util.BizUtil;
import org.apache.commons.lang.StringUtils;
import weaver.file.ImageFileManager;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo;
import weaver.interfaces.htsc.cus.DepartmentUtils;
import weaver.interfaces.htsc.cus.HTUtil;
import weaver.workflow.logging.Logger;
import weaver.workflow.logging.LoggerFactory;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
public class FinServiceImpl extends Service implements FinService {
private final Logger logger = LoggerFactory.getLogger();
@Override
public JSONArray readByImageId(int imageId, String zbOrLh) throws Exception {
List<FinancialAjExcelData> source = read2List(imageId);
logger.info(String.format("parse image id: %s, and type: %s", imageId, zbOrLh));
JSONArray jsa = new JSONArray();
for (FinancialAjExcelData d : source) {
JSONObject jso = new JSONObject();
jso.put("entryCredit", d.getCredit());
jso.put("expenseUid", BizUtil.getUidByWc(d.getExpensePerson()));
jso.put("expenseDeptId", BizUtil.getDidByCode(d.getExpenseDept()));
jso.put("budgetCode", BizUtil.getBudgetObj(d.getBudgetCode(), zbOrLh));
jso.put("amount", d.getAmount());
jso.put("overBudget", d.getOverBudget());
jso.put("accountCode", BizUtil.getAccountObj(d.getAccountCode(), zbOrLh));
jso.put("debtSide", d.getDebtSide());
jso.put("projectId", StringUtils.isNotBlank(d.getProjectCode()) ? BizUtil.getProjectBrowserByCode(d.getExpensePerson(), d.getProjectCode()) : "");
jso.put("projectDeptId", StringUtils.isNotBlank(d.getProjectDept()) ? BizUtil.getDidByCode(d.getProjectDept()) : "");
jsa.add(jso);
}
return jsa;
}
@Override
public JSONObject getDeptBrowserByProjectId(String userCode, String projectId) throws Exception {
HTUtil htUtil = new HTUtil();
JSONObject res = new JSONObject();
Assert.notBlank(projectId, "公司项目id不能为空");
Map<String, Object> info = htUtil.getProjectInfoById(userCode, projectId);
if (info.containsKey("id")) {
String deptCode = Util.null2String(info.get("deptCode"));
res.put("value", DepartmentUtils.getDeptId(deptCode));
res.put("name", Util.null2String(info.get("deptName")));
res.put("shortName", Util.null2String(info.get("name")));
res.put("code",Util.null2String(info.get("code")));
} else {
res.put("value", "");
res.put("name", "");
}
htUtil.writeLog(String.format("userCode:%s; project id:%s; json content:%s", userCode,
projectId, res));
return res;
}
private List<FinancialAjExcelData> read2List(int imageFileId) throws Exception {
InputStream fis = ImageFileManager.getInputStreamById(imageFileId);
ExcelDataListener<FinancialAjExcelData> listener = new ExcelDataListener<>();
// 这里 需要指定读用哪个class去读然后读取第一个sheet 文件流会自动关闭
EasyExcel.read(fis, FinancialAjExcelData.class, listener).sheet().doRead();
return listener.getList();
}
}

@ -0,0 +1,66 @@
package com.engine.htsc.financialadjustment.web;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.financialadjustment.service.FinService;
import com.engine.htsc.financialadjustment.service.impl.FinServiceImpl;
import weaver.general.BaseBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.Map;
public class FinAjAction {
private FinService getFinService() {
return ServiceUtil.getService(FinServiceImpl.class);
}
@GET
@Path("/getProjectDeptBrowser")
@Produces({MediaType.APPLICATION_JSON})
public Response getProjectDeptBrowser(@Context HttpServletRequest request, @Context HttpServletResponse response) {
Map<String, Object> map = ParamUtil.request2Map(request);
try {
String projectId = (String) map.get("projectId");
String userCode = (String) map.get("userCode");
JSONObject json = getFinService().getDeptBrowserByProjectId(userCode, projectId);
return Response.ok(json)
.build();
} catch (Exception e) {
new BaseBean().writeLog(e.getMessage());
e.printStackTrace();
return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build();
}
}
@POST
@Path("/extractExcel")
@Produces({MediaType.APPLICATION_JSON})
public Response extractExcel(@Context HttpServletRequest request, @Context HttpServletResponse response) {
Map<String, Object> map = ParamUtil.request2Map(request);
try {
int imageId = Integer.parseInt((String) map.get("imageId"));
String type = (String) map.get("type");
JSONArray jsonArray = getFinService().readByImageId(imageId, type);
return Response.ok(jsonArray)
.build();
} catch (Exception e) {
new BaseBean().writeLog(e.getMessage());
e.printStackTrace();
return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build();
}
}
}

@ -0,0 +1,72 @@
package com.engine.htsc.fkxnbm.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.Util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FkxnbmCmd extends AbstractCommonCommand<Map<String, Object>> {
@Override
public BizLogContext getLogContext() {
return null;
}
public FkxnbmCmd(Map<String, Object> params) {
this.params = params;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> appdate = new HashMap<String, Object>();
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
try{
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null;
String sql = "select dept_code,dept_name,parent_dept_code,parent_dept_name,director_code,director_name from uf_fkxnbmpzb ";
rs.execute(sql);
while (rs.next()){
map = new HashMap<String,String>();
String dept_code = Util.null2String(rs.getString("dept_code"));
String dept_name = Util.null2String(rs.getString("dept_name"));
String parent_dept_code = Util.null2String(rs.getString("parent_dept_code"));
String parent_dept_name = Util.null2String(rs.getString("parent_dept_name"));
String director_code = Util.null2String(rs.getString("director_code"));
String director_name = Util.null2String(rs.getString("director_name"));
map.put("dept_code",dept_code);
map.put("dept_name",dept_name);
map.put("parent_dept_code",parent_dept_code);
map.put("parent_dept_name",parent_dept_name);
map.put("parent_dept_name",parent_dept_name);
map.put("director_code",director_code);
map.put("director_name",director_name);
list.add(map);
}
System.out.println("list:"+list.size());
appdate.put("data",list);
}catch (Exception e){
bb.writeLog("e:"+e);
}
return appdate;
}
public static void main(String[] args) {
GCONST.setRootPath("WEB-INF/");
GCONST.setServerName("ecology");
Map<String, Object> params=new HashMap<>();
FkxnbmCmd htscMhjcCmd=new FkxnbmCmd(params);
CommandContext ceshi = new CommandContext(null,null);
htscMhjcCmd.execute(ceshi);
}
}

@ -0,0 +1,14 @@
package com.engine.htsc.fkxnbm.service;
import java.util.Map;
public interface FkxnbmService {
/**
*
* @param params
* @return
*/
Map<String,Object> getAllList(Map<String, Object> params);
}

@ -0,0 +1,14 @@
package com.engine.htsc.fkxnbm.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.fkxnbm.cmd.FkxnbmCmd;
import com.engine.htsc.fkxnbm.service.FkxnbmService;
import java.util.Map;
public class FkxnbmServiceImpl extends Service implements FkxnbmService {
@Override
public Map<String, Object> getAllList(Map<String, Object> params) {
return commandExecutor.execute(new FkxnbmCmd(params));
}
}

@ -0,0 +1,59 @@
package com.engine.htsc.fkxnbm.web;
import com.alibaba.fastjson.JSON;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.fkxnbm.service.FkxnbmService;
import com.engine.htsc.fkxnbm.service.impl.FkxnbmServiceImpl;
import com.engine.integration.gconst.IntegrationConstant;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class FkxnbmAction {
public FkxnbmService getService(){
return ServiceUtil.getService(FkxnbmServiceImpl.class);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getAllList")
@Produces({MediaType.TEXT_PLAIN})
public String getAllList(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<String, Object>();
try{
User user = HrmUserVarify.checkUser(request, response);
if (user == null) {
apidatas.put("msg", "登录信息超时");
apidatas.put("errorCode", "002");
apidatas.put("api_status", false);
apidatas.put(IntegrationConstant.INTEGRATION_RESULT_STATUS, IntegrationConstant.INTEGRATION_RESULT_STATUS_FALSE);
}else{
Map<String,Object> param = ParamUtil.request2Map(request);
FkxnbmService fkxnbmService = getService();
apidatas = fkxnbmService.getAllList(param);
apidatas.put("api_status", true);
}
}catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSON.toJSONString(apidatas);
}
}

@ -0,0 +1,12 @@
/**
* author: k1810012
*
*
* :
*
* fbp-formId,id
*
*
*
*/
package com.engine.htsc.fundbusinesspay;

@ -0,0 +1,26 @@
package com.engine.htsc.fundbusinesspay.service;
import java.util.Map;
public interface FundBusinessService {
/**
*
*
*
* @param budgetCode code
* @return ec
*/
String getKjBrowserValue(String budgetCode) throws Exception;
/**
* @param startDate
*
* @return
*/
Map<String, String> getPaymentDateRange(String startDate) throws Exception;
}

@ -0,0 +1,72 @@
package com.engine.htsc.fundbusinesspay.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.fundbusinesspay.service.FundBusinessService;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.HashMap;
import java.util.Map;
public class FundBusinessServiceImpl extends Service implements FundBusinessService {
private final Log log = LogFactory.getLog(FundBusinessServiceImpl.class);
@Override
public String getKjBrowserValue(String budgetCode) throws Exception {
PropBean pp = new PropBean();
RecordSet rs = new RecordSet();
String accountTreeId = pp.getPropName("KBP_KJ_PRE");
if (StringUtils.isBlank(accountTreeId)) {
throw new Exception("资金业务付款会计科目前缀未维护");
}
String sql = "SELECT t1.HJKMBM,t1.HJKMMC\n" +
"FROM uf_zjywhjkm t1\n" +
"LEFT OUTER JOIN uf_zjywhjkm_DT1 t2 on t1.id=t2.mainid\n" +
"WHERE (t2.yskm='" + budgetCode + "')";
log.info("资金业务付款查询sql:" + budgetCode);
rs.executeQuery(sql);
String value = "";
String name = "";
if (rs.next()) {
value = Util.null2String(rs.getString("HJKMBM"));
name = Util.null2String(rs.getString("HJKMMC"));
}
if (StringUtils.isEmpty(value)) {
throw new Exception("资金业务付款未查询到对应会计科目:" + budgetCode);
} else {
return accountTreeId + "_" + value + "@" + name;
}
}
@Override
public Map<String, String> getPaymentDateRange(String startDate) throws Exception {
if (StringUtils.isBlank(startDate)) {
throw new Exception("起始日期格式错误");
}
String sql = "select JYR from (\n" +
" select JYR\n" +
" from UF_JYRB order by JYR)\n" +
"where jyr > '" + startDate + "' and rownum < 5";
RecordSet rs = new RecordSet();
rs.executeQuery(sql);
String endDate = "";
while (rs.next()) {
endDate = rs.getString("JYR");
}
Map<String, String> resp = new HashMap<>();
resp.put("start", startDate);
resp.put("end", endDate);
return resp;
}
}

@ -0,0 +1,96 @@
package com.engine.htsc.fundbusinesspay.utils;
import com.engine.htsc.payment.util.PayUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.Util;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.UUID;
/**
* k1810012
*
*/
public class FundBizUtil {
private final Log log = LogFactory.getLog(FundBizUtil.class);
/**
*
*
* @return string
*/
public synchronized String createFundBusinessPayRequestMark() {
try {
PropBean pp = new PropBean();
String workFlowId = pp.getPropName("FundBusinessPayRequestMark"); //流程编号
if (StringUtils.isBlank(workFlowId)) {
log.info("配置文件,FundBusinessPayRequestMark没有维护");
return "";
}
RecordSet rs = new RecordSet();
int formModeId = PayUtil.getFormModeIdByCubeName("uf_fklcbh");
String sql = "select WORKFLOWNAME,UNNUMBER from workflow_base where isvalid=1 and ID=?";
rs.executeQuery(sql, workFlowId);
String name = ""; //流程中文名称
String unNumber = ""; //流程唯一字符标识
if (rs.next()) {
name = rs.getString("WORKFLOWNAME");
unNumber = rs.getString("UNNUMBER");
}
StringBuilder mark = new StringBuilder(); //流程编码
String modeUuid = ""; //建模同步uuid
LocalDateTime now = LocalDateTime.now();
String yM = now.format(DateTimeFormatter.ofPattern("yyyyMM"));
rs.executeQuery("select id,lsh,MODEUUID from uf_fklcbh where ny = '" + yM + "' and LCLX='" + unNumber + "'");
if (rs.next()) {
//更新
int num = Util.getIntValue(rs.getString("lsh")) + 1;
int id = Util.getIntValue(rs.getString("id"));
modeUuid = Util.null2String(rs.getString("MODEUUID"));
String updateSql = "update uf_fklcbh set lsh=? where id=?";
rs.executeUpdate(updateSql, num, id);
mark = new StringBuilder(num + "");
while (mark.length() < 6) {
mark.insert(0, "0");
}
mark = new StringBuilder(name + now.format(DateTimeFormatter.ofPattern("yyyyMM")) + mark);
} else {
String userId = "";
String userType = "0";
String createDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
String createTime = now.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
String insertSql = "insert into uf_fklcbh" +
"(FORMMODEID,MODEDATACREATER,MODEDATACREATERTYPE,MODEDATACREATEDATE,MODEDATACREATETIME,MODEUUID,LSH,NY,LCLX) \n" +
"values(?,?,?,?,?,?,?,?,?)";
String uuid = UUID.randomUUID().toString();
modeUuid = uuid;
rs.executeUpdate(insertSql, formModeId, userId, userType, createDate, createTime, uuid, "1", yM, unNumber);
mark = new StringBuilder(name + now.format(DateTimeFormatter.ofPattern("yyyyMM")) + "000001");
}
//建模权限重构
int dataId = PayUtil.getDataIdByUUID(modeUuid);
ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.editModeDataShare(1, formModeId, dataId);
return mark.toString();
} catch (Exception e) {
log.error("生成资金业务付款流程编号失败,catch:" + e.getMessage());
e.printStackTrace();
return "";
}
}
}

@ -0,0 +1,107 @@
package com.engine.htsc.fundbusinesspay.web;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.fundbusinesspay.service.FundBusinessService;
import com.engine.htsc.fundbusinesspay.service.impl.FundBusinessServiceImpl;
import com.engine.htsc.fundbusinesspay.utils.FundBizUtil;
import com.engine.htsc.trip.util.AjaxResult;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class FundBusinessCubeAction {
/**
* 01
* @param request
* @param response
* @return
*/
@POST
@Path("/updateReadStatus")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> updateReadStatus(@Context HttpServletRequest request,@Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<>();
try {
String reqid = Util.null2String(request.getParameter("reqid"));
if(!"".equals(reqid)){
RecordSet rs = new RecordSet();
String updateSql = " update uf_paydetal set isread=1 where reqid=? ";
rs.executeUpdate(updateSql,reqid);
}
apidatas.put("success", true);
}catch (Exception e){
e.printStackTrace();
apidatas.put("success",false);
apidatas.put("errormsg",e.getMessage());
}
return apidatas;
}
/**
* 01
* @param request
* @param response
* @return
*/
@POST
@Path("/updateExportStatus")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> updateExportStatus(@Context HttpServletRequest request,@Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<>();
try {
String ids = Util.null2String(request.getParameter("ids"));
if(!"".equals(ids)){
RecordSet rs = new RecordSet();
String updateSql = " update uf_paydetal set isexport=1 where id in ("+ids+") ";
rs.executeUpdate(updateSql);
}
apidatas.put("success", true);
}catch (Exception e){
e.printStackTrace();
apidatas.put("success",false);
apidatas.put("errormsg",e.getMessage());
}
return apidatas;
}
/**
* 01
* @param request
* @param response
* @return
*/
@POST
@Path("/updatePrintStatus")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> updatePrintStatus(@Context HttpServletRequest request,@Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<>();
try {
String ids = Util.null2String(request.getParameter("ids"));
if(!"".equals(ids)){
RecordSet rs = new RecordSet();
String updateSql = " update uf_paydetal set isprint =1,printdate=to_char(sysdate,'YYYY-MM-DD HH24:MI') where id in ("+ids+") ";
rs.executeUpdate(updateSql);
}
apidatas.put("success", true);
}catch (Exception e){
e.printStackTrace();
apidatas.put("success",false);
apidatas.put("errormsg",e.getMessage());
}
return apidatas;
}
}

@ -0,0 +1,74 @@
package com.engine.htsc.fundbusinesspay.web;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.fundbusinesspay.service.FundBusinessService;
import com.engine.htsc.fundbusinesspay.service.impl.FundBusinessServiceImpl;
import com.engine.htsc.fundbusinesspay.utils.FundBizUtil;
import com.engine.htsc.trip.util.AjaxResult;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.util.Map;
public class FundBusinessPayAction {
public FundBusinessService getService() {
return ServiceUtil.getService(FundBusinessServiceImpl.class);
}
/**
*
*
* @param budgetCode code
* @return aja
*/
@GET
@Path("/getKjBrowser")
@Produces(MediaType.APPLICATION_JSON)
public AjaxResult<String> getBrowserValue(@QueryParam("budgetCode") String budgetCode) {
try {
String browserValue = this.getService().getKjBrowserValue(budgetCode);
return AjaxResult.ok(browserValue);
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
/**
*
*
* @return
*/
@POST
@Path("/createRequestMark")
@Produces(MediaType.APPLICATION_JSON)
public AjaxResult<String> createFundBusinessPayRequestMark() {
try {
FundBizUtil fbu = new FundBizUtil();
String fundBusinessPayRequestMark = fbu.createFundBusinessPayRequestMark();
return AjaxResult.ok(fundBusinessPayRequestMark);
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
/**
*
*
* @return 稿 +5
*/
@GET
@Path("/getPayDateRange")
@Produces(MediaType.APPLICATION_JSON)
public AjaxResult<Map<String, String>> getPaymentDateRange(@QueryParam("startDate") String startDate) {
try {
Map<String, String> dateRange = this.getService().getPaymentDateRange(startDate);
return AjaxResult.ok(dateRange);
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
}

@ -0,0 +1,7 @@
package com.engine.htsc.fwnrTokmbh.service;
import java.util.Map;
public interface GetkmbhService {
Map<String,Object> getKmbh(String fwmc);
}

@ -0,0 +1,81 @@
package com.engine.htsc.fwnrTokmbh.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.engine.core.impl.Service;
import com.engine.htsc.fwnrTokmbh.service.GetkmbhService;
import com.engine.htsc.payment.util.HttpUtil;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GetkmbhServiceImpl extends Service implements GetkmbhService {
@Override
public Map<String, Object> getKmbh(String fwmc) {
BaseBean bb = new BaseBean();
PropBean pp = new PropBean();
String requestUrl = pp.getPropName("getKmbhByFwnr");//interface_Url
String appSysId = pp.getPropName("yskmAiActionsysid");//appSysId
String token = pp.getPropName("yskmAiActiontoken");//token
Map<String, Object> paramsMap = new HashMap<>();
List<String> list = new ArrayList<>();
list.add(fwmc);
Map<String, Object> data = new HashMap<>();
data.put("NAME", list);
paramsMap.put("systemId", "1");
paramsMap.put("user", "2");
paramsMap.put("functionId", "3");
paramsMap.put("traceId", "4");
paramsMap.put("data", data);
Map<String, String> appHeader = new HashMap<>();
appHeader.put("appSysId", appSysId);
appHeader.put("token", token);
appHeader.put("Content-Type", "application/json");
bb.writeLog("======"+JSONObject.toJSONString(appHeader));
Map<String, Object> returnBack = new HashMap<>();
try {
bb.writeLog("=======传给接口的参数是:"+JSON.toJSONString(paramsMap));
String backData = HttpUtil.postApplicationJson(requestUrl, JSON.toJSONString(paramsMap), appHeader);
bb.writeLog("接口返回的参数是:"+backData);
JSONObject object = JSON.parseObject(backData);
if (object.getString("code").equals("200")) {
String kmmc = "";
String kmcodeList = JSON.parseObject(object.getString("data")).getString("label");
String[] codeList = kmcodeList.split("\"");
bb.writeLog("========接口返回的科目编码是" + codeList[1]);
String code = codeList[1];
RecordSet rs = new RecordSet();
String sql = "select yskmmc from uf_kmpz k where k.yskmbm = '" + code + "'";
bb.writeLog("=====即将执行根据科目编码获取科目名称:" + sql);
rs.executeQuery(sql);
if (rs.next()) {
kmmc = Util.null2String(rs.getString("yskmmc"));
}
bb.writeLog("=========获取的科目名称是:" + kmmc);
returnBack.put("code", "200");
Map<String, Object> datatxt = new HashMap<>();
datatxt.put("kmbm", code);
datatxt.put("kmmc", kmmc);
returnBack.put("data", datatxt);
}
} catch (Exception e) {
e.printStackTrace();
bb.writeLog("=========" + e.getMessage());
returnBack.put("code", "500");
returnBack.put("data", "获取时发生错误");
}
return returnBack;
}
}

@ -0,0 +1,35 @@
package com.engine.htsc.fwnrTokmbh.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.fwnrTokmbh.service.GetkmbhService;
import com.engine.htsc.fwnrTokmbh.service.impl.GetkmbhServiceImpl;
import weaver.general.BaseBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
public class FwnrToKmbhAction {
private GetkmbhService getService() {
return ServiceUtil.getService(GetkmbhServiceImpl.class);
}
@GET
@Path("/getkmbhbyfwnr")
@Produces({MediaType.APPLICATION_JSON})
public String getkmbhByfwnr(@Context HttpServletRequest request, @Context HttpServletResponse response) {
// *住宿服务*房费
BaseBean bb = new BaseBean();
bb.writeLog("===========getkmbhByfwnr==============");
String fwmc = request.getParameter("fwmc");//服务名称
return JSONObject.toJSONString(getService().getKmbh(fwmc));
}
}

@ -0,0 +1,30 @@
package com.engine.htsc.fwnrTokmbh.web;
import com.alibaba.fastjson.JSONObject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GetKmbhTempAction {
@GET
@Path("/GetKmbhTemp")
@Produces({MediaType.APPLICATION_JSON})
public String getKmbhTemp(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> code = new HashMap<>();
code.put("code","200");
Map<String,Object> kmxx = new HashMap<>();
kmxx.put("kmmc","其他业务招待费");
kmxx.put("kmbm","40018601050203");
code.put("data",kmxx);
return JSONObject.toJSONString(code);
}
}

@ -0,0 +1,159 @@
package com.engine.htsc.fzjgtravel.Dao;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.text.MessageFormat;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class SubsidyDao {
public List<Map<String,Object>> getWorkflowInfo_old(Map<String,Object> map){
String startdate=Util.null2String(map.get("startdate"));
String enddate=Util.null2String(map.get("enddate"));
String type=Util.null2String(map.get("type"));
String numbertable = new PropBean().getPropName("travelsubsidy_"+type);
String tablename= JAVATools.GetUnumbertotable(numbertable);
if(tablename==null||tablename.equals("")){
return null;
}
String sql="select distinct t1.requestid," +
" t1.ngr," +
" t1.lcbh," +
" t2.requestname," +
" t1.glcclc," +
" t2.LASTOPERATEDATE," +
" (select wm_concat_old(dt12.id) from {3}_dt12 dt12 where dt12.mainid=t1.id) as detailidsum, "+
" t3.ccr, (select workcode from hrmresource hr where hr.id= t3.ccr ) as workcode" +
" from {0} t1" +
" left join workflow_requestbase t2" +
" on t1.requestid = t2.requestid" +
" left join {1}_dt12 t3" +
" on t1.id = t3.mainid" +
" where t1.sfzf=1 and t1.ngr != 1 and t1.sfldbx=0 and t2.currentnodetype = 3 ";
sql= MessageFormat.format(sql,tablename,tablename,tablename,tablename);
if(startdate!=null && !"".equals(startdate)){
sql += " and to_date(LASTOPERATEDATE,'yyyy-MM-dd')>=to_date('"+startdate+"','yyyy-MM-dd') ";
}
if(enddate!=null && !"".equals(enddate)){
sql += " and to_date(LASTOPERATEDATE,'yyyy-MM-dd')<=to_date('"+enddate+"','yyyy-MM-dd') ";
}
JAVATools.SetCmdwritelog("分支机构差旅报销",sql);
return JAVATools.GetTableToListMap(sql,null);
}
public List<Map<String,Object>> getWorkflowInfo(Map<String,Object> map){
String startdate=JAVATools.getpreventsql(Util.null2String(map.get("startdate")));
String enddate=JAVATools.getpreventsql(Util.null2String(map.get("enddate")));
String type=Util.null2String(map.get("type"));
String numbertable = new PropBean().getPropName("travelsubsidy_"+type);
String tablename=JAVATools.GetUnumbertotable(numbertable);
String sql="select distinct t1.requestid," +
" t1.ngr," +
" t1.lcbh," +
" t2.requestname," +
" t1.glcclc," +
" t2.LASTOPERATEDATE," +
" t3.ccr as bxr, (select workcode from hrmresource hr where hr.id= t3.ccr ) as workcode, " +
" t3.yxzh," +
" t3.khxmc," +
" t3.yxzfje," +
" (select mt.departmentcode from HRMDEPARTMENT mt where mt.id=t3.bm) as departmentcode ," +
" (select mt.departmentname from HRMDEPARTMENT mt where mt.id=t3.bm) as departmentname " +
" from " +
" {0} t1 " +
" left join workflow_requestbase t2 " +
" on t1.requestid = t2.requestid " +
" left join {1}_dt10 t3 " +
" on t1.id = t3.mainid " +
" where t1.sfzf=1 and t1.ngr != 1 and t1.sfldbx=0 and t2.currentnodetype = 3 " +
" and t3.yxzfje is not null and t3.yxzfje >0 ";
sql= MessageFormat.format(sql,tablename,tablename);
if(startdate!=null && !"".equals(startdate)){
// startdate=JAVATools.getpreventsql(startdate);
sql += " and to_date(LASTOPERATEDATE,'yyyy-MM-dd')>=to_date('"+startdate+"','yyyy-MM-dd') ";
}
if(enddate!=null && !"".equals(enddate)){
// enddate=JAVATools.getpreventsql(enddate);
sql += " and to_date(LASTOPERATEDATE,'yyyy-MM-dd')<=to_date('"+enddate+"','yyyy-MM-dd') ";
}
JAVATools.SetCmdwritelog("分支机构差旅报销",sql);
return JAVATools.GetTableToListMap(sql,null);
}
public List<Map<String,Object>> getsubsidyinfo(Map<String,String> map){
String detailidsum=Util.null2String(map.get("detailidsum"));
String requestid=Util.null2String(map.get("requestid"));
if(requestid==null||requestid.equals("") || detailidsum==null||detailidsum.equals("")){
return null;
}
String detailid=Arrays.asList(detailidsum.split(",")).stream().distinct().map(item->"\'\'"+item+"\'\'").collect(Collectors.joining(","));
String tablename=JAVATools.getMaintable(requestid);
String sql="select dt12.bt, dt12.cclc, dt12.cclccn,(select workcode from hrmresource hr where hr.id= dt12.ccr ) as ccr from {0}_dt12 dt12 " +
"where dt12.id in ("+detailid+")";
sql= MessageFormat.format(sql,tablename);
JAVATools.SetCmdwritelog("分支机构差旅接口查询",sql);
return JAVATools.GetTableToListMap(sql,null);
}
public Map<String,Object> getbankCardNum(Map<String,String> map){
String requestid=Util.null2String(map.get("requestid"));
String ccr=Util.null2String(map.get("ccr"));
if(requestid==null||requestid.equals("") || ccr==null||ccr.equals("")){
return null;
}
String ccrstr=Arrays.asList(ccr.split(",")).stream().distinct().map(item->"\'\'"+item+"\'\'").collect(Collectors.joining(","));
String tablename=JAVATools.getMaintable(requestid);
String sql=" select distinct yxzh,khxmc " +
" from {0}_dt10 " +
" where mainid in (select id from {1} where requestid = ''{2}'')" +
" and ccr in ( select id from hrmresource where workcode in ("+ccrstr+") )";
sql= MessageFormat.format(sql,tablename,tablename,requestid,ccrstr);
JAVATools.SetCmdwritelog("分支差旅接口查询",sql);
return JAVATools.GetTableToMap(sql,null);
}
public Map<String,Object> getuserbaseinfo(String userid ){
if(userid==null||userid.equals("")){
return null;
}
String ccrstr= Arrays.stream(userid.split(",")).map(item->"\'"+item+"\'").collect(Collectors.joining(","));
String sql="select t2.lastname,t2.workcode," +
" t3.DEPARTMENTCODE, " +
" t4.SUBCOMPANYCODE, " +
" t2.id " +
" from hrmresource t2 " +
" left join hrmdepartment t3 on t2.departmentid = t3.id" +
" left join hrmsubcompany t4 on t4.id = t2.SUBCOMPANYID1 " +
" where rownum = 1 and t2.workcode in ({0})";
sql= MessageFormat.format(sql,ccrstr);
JAVATools.SetCmdwritelog("分支机构接口查询",sql);
return JAVATools.GetTableToMap(sql,null);
}
}

@ -0,0 +1,61 @@
package com.engine.htsc.fzjgtravel.Service.Impl;
import com.engine.core.impl.Service;
import com.engine.htsc.ReimbursementFlow.tool.Apireturn;
import com.engine.htsc.fzjgtravel.Dao.SubsidyDao;
import com.engine.htsc.fzjgtravel.Service.SubsidyService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class SubsidyServiceImpl extends Service implements SubsidyService {
private SubsidyDao subsidyDao=new SubsidyDao();
@Override
public String getSubsidyService(Map<String, Object> Params) {
String startdate = Util.null2String(Params.get("startdate"));
String enddate = Util.null2String(Params.get("enddate"));
String type=Util.null2String(Params.get("type"));
if ("".equals(startdate) || "".equals(enddate) || "".equals(type)) {
return Apireturn.returnmes(400, "参数有误", new JSONArray());
}
try{
JSONArray relateWfAllowancesarray=new JSONArray();
List<Map<String, Object>> listmap = subsidyDao.getWorkflowInfo(Params);
for(Map<String, Object> entry : listmap){
JSONObject relateWfAllowancesObj = new JSONObject();
relateWfAllowancesObj.put("requestId", Util.null2String(entry.get("requestid")));
relateWfAllowancesObj.put("workflowNumber", Util.null2String(entry.get("lcbh")));
relateWfAllowancesObj.put("workflowName", Util.null2String(entry.get("requestname")));
relateWfAllowancesObj.put("lastOperateTime",Util.null2String(entry.get("lastoperatedate")));
relateWfAllowancesObj.put("workcode", Util.null2String(entry.get("workcode")));
relateWfAllowancesObj.put("bankCardNum", Util.null2String(entry.get("yxzh")));
relateWfAllowancesObj.put("bankName", Util.null2String(entry.get("khxmc")));
relateWfAllowancesObj.put("allowance", Util.getDoubleValue(Util.null2String(entry.get("yxzfje"))));
relateWfAllowancesObj.put("deptCode", Util.null2String(entry.get("departmentcode")));
relateWfAllowancesObj.put("deptName", Util.null2String(entry.get("departmentname")));
relateWfAllowancesarray.add(relateWfAllowancesObj);
}
return Apireturn.returnmes(200,"success",relateWfAllowancesarray);
}catch (Exception exo){
JAVATools.SetCmdwritelog("分支机构补贴数据error",exo.getMessage());
}
return Apireturn.returnmes(200,"success",new JSONArray());
}
}

@ -0,0 +1,8 @@
package com.engine.htsc.fzjgtravel.Service;
import java.util.Map;
public interface SubsidyService {
public String getSubsidyService(Map<String,Object> Params);
}

@ -0,0 +1,176 @@
package com.engine.htsc.fzjgtravel.Web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.govern.util.ParamsUtil;
import com.engine.htsc.fzjgtravel.Service.Impl.SubsidyServiceImpl;
import com.engine.htsc.fzjgtravel.Service.SubsidyService;
import org.json.JSONObject;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.DBTools;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.workflow.action.Action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class SubsidyAction {
private SubsidyService getService(){
return ServiceUtil.getService(SubsidyServiceImpl.class);
}
@POST
@Path("/Getsubsidy")
@Produces({MediaType.APPLICATION_JSON})
public String GetSubsidy(@Context HttpServletRequest req, @Context HttpServletRequest rep){
return getService().getSubsidyService(ParamUtil.request2Map(req));
}
@POST
@Path("/travelflowreturn")
@Produces({MediaType.APPLICATION_JSON})
public String TravelFlowReturnAction(@Context HttpServletRequest request, @Context HttpServletRequest rep){
String requestid = request.getParameter("requestid");
RecordSet rs = new RecordSet();
// String requestid = Util.null2String(requestInfo.getRequestid());
String tableunnumbber=JAVATools.getmainunnumber(requestid);
Map<String,Object> map=getUnumber(tableunnumbber);
if(map==null || map.size()<=0){
return JAVATools.Apiretrun("400","失败");
}
String ngjdbh=Util.null2String(map.get("ngjdbh"));
String data=Util.null2String(map.get("sj"));
if("".equals(ngjdbh) || "".equals(data)){
return JAVATools.Apiretrun("400","失败");
}
Map<String,String> datamap= getdatamap(data);
if(datamap==null || datamap.size()<=0){
return JAVATools.Apiretrun("200","");
}
String ngjdnodeid=JAVATools.getnodeunnumbertoid(ngjdbh);
String tablename = Util.null2String(JAVATools.getMaintable(requestid));//主表
String sql="select a.nodeid lastnodeid,a.operator,a.isSubmitDirect lastIsSubmitDirect, a.logtype " +
" from workflow_requestlog a, workflow_nownode b " +
" where a.requestid = b.requestid " +
" and a.destnodeid = b.nownodeid " +
" and b.requestid =? " +
" and a.destnodeid = ? " +
" order by a.logid desc ";
Map<String,Object> returnmap= DBTools.getsqltomap(sql,requestid,ngjdnodeid);
if(returnmap==null || returnmap.size()<=0){
return JAVATools.Apiretrun("200","");
}
String lastnodeid= Util.null2String(returnmap.get("lastnodeid"));
String isSubmitDirect= Util.null2String(returnmap.get("lastissubmitdirect"));
String operator= Util.null2String(returnmap.get("operator"));
String isnotkeyvalueStr= Util.null2String(datamap.get(lastnodeid));
if("".equals(isnotkeyvalueStr) || "".equals(operator) || !"1".equals(isSubmitDirect)){
return JAVATools.Apiretrun("200","");
}
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put(isnotkeyvalueStr.split("_")[1], operator);
return JAVATools.Apiretrun("200",jsonObject.toString());
}catch (Exception exo){
return JAVATools.Apiretrun("400","失败");
}
}
private Map<String,Object> getUnumber(String number){
String sql="select ngjdbh,sj from uf_zdjd where 1=1";
Map<String,String> paramswhere=new HashMap<>();
paramswhere.put("zbbh",number);
return JAVATools.GetTableToMap(sql,paramswhere);
}
private Map<String,String> getdatamap(String data){
Map<String,String> datamap=new HashMap<>();
Arrays.stream(data.split(",")).forEach((model)->{
if(model.split(":").length==2){
String key=model.split(":")[0];
String value=model.split(":")[1];
if(!"".equals(key) && !"".equals(value)){
String keynodeid=JAVATools.getnodeunnumbertoid(key);
if(!"".equals(keynodeid)){
datamap.put(keynodeid,value);
}
}
}
});
return datamap;
}
private void updateoperate(Map<String,String> map){
RecordSet rs=new RecordSet();
String tablename= Util.null2String(map.get("tablename"));
String requestid=Util.null2String(map.get("requestid"));
String datavalue=Util.null2String(map.get("datavalue"));
if("".equals(tablename) || "".equals(requestid)|| "".equals(datavalue)){
return ;
}
String updateset="";
if(datavalue.split("_").length==2){
updateset=datavalue.split("_")[0]+"="+datavalue.split("_")[1]+","+datavalue.split("_")[1]+"=''";
}else{
updateset=datavalue+"=''";
}
String updatesql="update "+tablename+" set "+updateset+
" where requestid=?";
JAVATools.SetCmdwritelog("差旅类流程修改",updatesql+"requestid"+requestid);
rs.executeUpdate(updatesql,requestid);
}
private void updateall(Map<String,String> map,
Map<String,String> datavalue){
RecordSet rs=new RecordSet();
String tablename=Util.null2String(map.get("tablename"));
String requestid=Util.null2String(map.get("requestid"));
if("".equals(tablename) || "".equals(requestid)|| null==datavalue ||datavalue.size()<=0){
return ;
}
String updateset="";
for (String key:datavalue.keySet()){
String value=datavalue.get(key);
if(!"".equals(value)){
// updateset.append(value.split("_")[0]+"=''");
updateset += updateset==""?value.split("_")[0]+"=''" : ","+value.split("_")[0]+"=''";
}
}
String updatesql="update "+tablename+" set "+ updateset.toString()+
" where requestid=?";
JAVATools.SetCmdwritelog("差旅类流程修改",updatesql+"requestid"+requestid);
rs.executeUpdate(updatesql,requestid);
}
}

@ -0,0 +1,118 @@
package com.engine.htsc.glpt.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.integration.util.StringUtils;
import com.weaver.general.BaseBean;
import org.apache.commons.collections.CollectionUtils;
import weaver.conn.RecordSet;
import weaver.conn.RecordSetDataSource;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.workflow.action.Action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.*;
/**
* @Title: ecology-9
* @Company:
* @author: K1810039
* @version: 1.0
* @CreateDate: 2022-06-13
* @Description: IT
* @ModifyLog:
**/
public class CheckStateAction {
/***
* IT
*/
@POST
@Path("/checkState")
@Produces({MediaType.TEXT_PLAIN})
public String checkState( @Context HttpServletRequest request, @Context HttpServletResponse response) {
JAVATools.writelog("-------CheckStateAction------");
Map<String, Object> apidatas = new HashMap<String, Object>();
try {
String xqbhStr = Util.null2String(request.getParameter("demandcodeList"));
if (StringUtils.isEmpty(xqbhStr)){
JAVATools.writelog("xqbhStr is null");
apidatas.put("success",false);
apidatas.put("msg", "接收到的参数为空");
return JSONObject.toJSONString(apidatas);
}
JAVATools.writelog("xqbhStr:"+xqbhStr);
String sql = "";
RecordSet rs = new RecordSet();
sql = "select distinct d.XQBH from formtable_main_548 t join FORMTABLE_MAIN_548_DT7 d\n" +
" on t.ID in (d.MAINID) join WORKFLOW_REQUESTBASE a on a.REQUESTID = t.REQUESTID\n" +
"where d.XQBH in ("+xqbhStr+") and a.CURRENTNODETYPE in (1,2) and a.ISSTOPPED IS NUll ";
JAVATools.writelog(sql);
List<String> resList = new ArrayList<>();
rs.execute(sql);
while (rs.next()){
resList.add(Util.null2String(rs.getString("XQBH")));
}
apidatas.put("success",true);
apidatas.put("msg", "查询成功");
apidatas.put("demandcodeList",resList);
} catch (Exception e) {
e.printStackTrace();
apidatas.put("success",false);
apidatas.put("msg", "系统内部错误");
}
return JSONObject.toJSONString(apidatas);
}
/**
* IT稿Action
*/
@POST
@Path("/ItxqlcDeleteJira")
@Produces({MediaType.TEXT_PLAIN})
public void ItxqlcDeleteJira( @Context HttpServletRequest request, @Context HttpServletResponse response) {
String requestid = Util.null2String(request.getParameter("requestid"));
JAVATools.writelog("-------ItxqlcDeleteJira------" + requestid );
RecordSetDataSource rsd = new RecordSetDataSource("ALM");
BaseBean bb = new BaseBean();
try {
String sql = " DELETE FROM T_ITAPPLYREQUIREMENT_DATA WHERE WORKFLOWNUM= '"+requestid+"' AND STATUS='未办结'";
JAVATools.writelog(sql);
rsd.execute(sql);
} catch (Exception e) {
e.printStackTrace();
JAVATools.writelog("error:ItxqlcDeleteJira");
JAVATools.writelog( "异常参考:" + e );
}
}
/**
* List<String>String
* {"1","2"} To '1','2'
* @param strList
* @return String
*/
public static String convertListToString(List<String> strList) {
StringBuffer sb = new StringBuffer();
if (CollectionUtils.isNotEmpty(strList)) {
for (int i = 0; i < strList.size(); i++) {
if (i == 0) {
sb.append("'").append(strList.get(i)).append("'");
} else {
sb.append(",").append("'").append(strList.get(i)).append("'");
}
}
}
return sb.toString();
}
}

@ -0,0 +1,71 @@
package com.engine.htsc.gsfw.web;
import com.weaver.general.Util;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import weaver.conn.RecordSet;
import weaver.interfaces.htsc.comInfo.PropBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CompanyWorkflowAction {
private Log log = LogFactory.getLog(this.getClass());
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/checkTransferred")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> checkTransferred(@Context HttpServletRequest request,
@Context HttpServletResponse response){
Map<String,Object> map = new HashMap<>();
PropBean pb = new PropBean();
String leaderIds = Util.null2String(request.getParameter("leaderIds"));
List<String> leaderIdList = new ArrayList<>();
String[] split = leaderIds.split(",");
for (String leaderId : split){
leaderIdList.add(leaderId);
}
String requestid = Util.null2String(request.getParameter("requestid"));
String nodeunnumber = Util.null2String(request.getParameter("nodeunnumber"));
String nodeid_ldhq = pb.getActionNodeIdByUnNumber(nodeunnumber);
log.info("nodeid_ldhq"+nodeid_ldhq);
try {
RecordSet rs = new RecordSet();
String selectLeader = "select DISTINCT userid from workflow_currentoperator " +
" where requestid = ? and nodeid = ? and isremark <> 0 ";
rs.executeQuery(selectLeader,requestid,nodeid_ldhq);
log.info("sql--"+selectLeader);
List<String> useridList = new ArrayList<>();
while (rs.next()){
String userid = Util.null2String(rs.getString("userid"));
useridList.add(userid);
}
Boolean flag = useridList.containsAll(leaderIdList);
log.info("flag:"+flag);
map.put("status",1);
map.put("msg","success");
map.put("result",flag);
}catch (Exception e){
map.put("msg","校验失败");
e.printStackTrace();
}
return map;
}
}

@ -0,0 +1,888 @@
package com.engine.htsc.gsfw.web;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import weaver.general.Util;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.interfaces.htsc.comInfo.PropBean;
import weaver.workflow.request.wfAgentCondition;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.*;
public class GsFwControlAction {
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getNextJudget")
@Produces({MediaType.TEXT_PLAIN})
public String getNextJudget(@Context HttpServletRequest request, @Context HttpServletResponse response){
String requestid = Util.null2String(request.getParameter("requestid"));
BaseBean bb = new BaseBean();
PropBean pb = new PropBean();
// String sxfxg = pb.getPropName("GSFW_SXFXG_NODEID");
// String hgzj = pb.getPropName("GSFW_HGZJ_NODEID");
String gsfw_sxfxg = pb.getPropName("gsfw_sxfxg");
String sxfxg = pb.getNodeIdsByUnNumber(gsfw_sxfxg); //首席风险官
String gsfw_hgzj = pb.getPropName("gsfw_hgzj");
String hgzj = pb.getNodeIdsByUnNumber(gsfw_hgzj);
bb.writeLog("sxfxg:"+sxfxg);
bb.writeLog("hgzj:"+hgzj);
RecordSet rs = new RecordSet();
JSONObject json = new JSONObject();
json.put("result","no");
json.put("smesg","");
if(!requestid.equals("-1"))
{
boolean fsFlag = false;
boolean hgFlag = false;
int fs_int = 0;
String sql = " select logid from workflow_requestlog where requestid=" + requestid + " and nodeid in(" + sxfxg+")";
bb.writeLog("sql:" + sql);
rs.execute(sql);
if (rs.next()) {
fs_int++;
}
if (fs_int > 0) {
fsFlag = true;
} else {
json.put("smesg", "请先送完首席风险官");
}
if (fsFlag)
{
int hg_int = 0;
sql = " select logid from workflow_requestlog where requestid=" + requestid + " and nodeid in(" + hgzj +")";
bb.writeLog("sql:" + sql);
rs.execute(sql);
if (rs.next()) {
hg_int++;
}
if (hg_int > 0) {
hgFlag = true;
} else {
json.put("smesg", "请先送完合规总监");
}
}
if (fsFlag && hgFlag) {
json.put("result", "yes");
}
}
return JSONObject.toJSONString(json);
}
/***
* ()
* @param request
* @param response
* @return
*/
@GET
@Path("/getNextIshq")
@Produces({MediaType.TEXT_PLAIN})
public String getNextIshq(@Context HttpServletRequest request, @Context HttpServletResponse response) {
String requestid = Util.null2String(request.getParameter("requestid"));
RecordSet rs = new RecordSet();
String whqgs = "0";
JSONObject jsonObject = new JSONObject();
if(!"".equals(requestid))
{
String formid = "";
String tablename = "formtable_main_";
String sqltable = " select abs(t.formid) as formid " +
" from workflow_base t " +
" inner join workflow_requestbase l on l.workflowid = t.id " +
" where l.requestid=" + requestid + "";
rs.execute(sqltable);
if (rs.next()) {
formid = Util.null2String(rs.getString("formid"));
}
tablename += formid;
String tabledetailname = tablename + "_dt2";
String sql = " select count(*) as detailsum from " + tabledetailname + " where mainid in (select id from " + tablename+
" where requestid='" + requestid + "') " +
" and (yhq='0' or yhq is null)";
rs.execute(sql);
if (rs.next())
{
whqgs = Util.null2String(rs.getString("detailsum"));
}
}
jsonObject.put("whqgs",whqgs);
return jsonObject.toJSONString();
}
/***
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getNextValue")
@Produces({MediaType.TEXT_PLAIN})
public String getNextValue(@Context HttpServletRequest request, @Context HttpServletResponse response){
String requestid = Util.null2String( request.getParameter( "requestid" ) );
int formid = Util.getIntValue(Util.null2String( request.getParameter("formid")));
JSONObject json = new JSONObject();
// List<String> valList = new ArrayList<String>();
// valList.add("0");
// valList.add("1");
String sval = "0,1,7";
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
if(!requestid.equals("-1")){
//---获取所有参与审批人的部门---
String alldept = "";
String sql = " select distinct h.departmentid as departmentid from hrmresource h where h.id in(select r.userid from workflow_currentoperator r where r.requestid='"+requestid+"')";
rs.executeQuery( sql );
while(rs.next()){
alldept += alldept=="" ? Util.null2String(rs.getString("departmentid")) : ","+Util.null2String(rs.getString("departmentid"));
}
alldept = ","+alldept + ",";
//---判断是否是债务融资部拟稿--
if (alldept.indexOf(",670,") > -1)
{
String formtable = "" ;
sql = " select 'formtable_main_'||abs(l.formid) as formtable from workflow_requestbase t\n" +
"inner join workflow_base l on l.id = t.workflowid\n" +
"where requestid="+requestid ;
rs.execute(sql);
if(rs.next()){
formtable = Util.null2String(rs.getString("formtable"));
}
String lx = "" ;
if(!"".equals(formtable)){
sql = " select lx from "+formtable+" where requestid="+requestid ;
rs.execute(sql);
if(rs.next()){
lx = Util.null2String(rs.getString("lx"));
}
}
if("22".equals(lx)){
// valList.add("2");
sval = sval + ",2";
}
}
List<String> list = new ArrayList<String>();
String szbm = "";
String hqbm = "";
String formtable = "formtable_main_"+Math.abs(formid);
sql = " select szbm,hqbm from "+ formtable+" where requestid="+requestid;
rs.execute(sql);
if(rs.next()){
szbm = Util.null2String(rs.getString("szbm"));
hqbm = Util.null2String(rs.getString("hqbm"));
}
bb.writeLog("szbm:"+szbm);
if(!"".equals(szbm))
{
list.addAll(Arrays.asList(szbm.split(",")));
}
//---获取风险管理部门id、合规法律部id---
String fs_deptid = "";
String hg_deptid = "";
sql = "select id,departmentcode from hrmdepartment where departmentcode in('ZZ323310','ZZ323311')";
rs.executeQuery( sql );
while(rs.next()){
String code = Util.null2String(rs.getString("departmentcode"));
if(code.equals("ZZ323310")){
fs_deptid = Util.null2String(rs.getString("id"));
}else{
hg_deptid = Util.null2String(rs.getString("id"));
}
}
if(list !=null && list.size() >0)
{
if(list.contains(fs_deptid) ){
// valList.add("3");
sval = sval+",3";
}
if(list.contains(hg_deptid) ){
// valList.add("4");
sval = sval+",4";
}
}
List<String> hqList = new ArrayList<String>();
if(!"".equals(hqbm))
{
sql = " select t.userid,h.departmentid from workflow_currentoperator t\n" +
" inner join hrmresource h on h.id = t.userid\n" +
" where nodeid < 0 and userid in( select id from hrmresource h where departmentid in("+hqbm+")) and requestid="+requestid;
rs.execute(sql);
while(rs.next()){
String departmentid = Util.null2String(rs.getString("departmentid"));
hqList.add(departmentid);
}
}
if(hqList !=null && hqList.size() >0)
{
if(hqList.contains(fs_deptid)){
if(!sval.contains("3")){
// valList.add("3");
sval = sval+",3";
}
}
if(hqList.contains(hg_deptid)){
if(!sval.contains("4")){
// valList.add("4");
sval = sval+",4";
}
}
}
// //---判断是计划财务部、资金运营部参与审批---
String jhcwbid = "";
String zjyybid = "";
sql = "select id,departmentcode from hrmdepartment where departmentcode in('ZZ001016','ZZ323314')"; //计划财务部、资金运营部
rs.executeQuery( sql );
while(rs.next()){
String code = Util.null2String(rs.getString("departmentcode"));
if(code.equals("ZZ001016")){
jhcwbid = Util.null2String(rs.getString("id"));
}else{
zjyybid = Util.null2String(rs.getString("id"));
}
}
if(list !=null && list.size() >0)
{
boolean bool = false;
if(list.contains(jhcwbid) || list.contains(zjyybid) ){
bool = true;
}
if(bool)
{
// valList.add("5");
sval = sval+",5";
}
}
if(hqList !=null && hqList.size() >0)
{
if(hqList.contains(jhcwbid) || hqList.contains(zjyybid)){
if(!sval.contains("5")){
// valList.add("5");
sval = sval+",5";
}
}
}
// int sfty = 0;
// sql = " select * from (\n" +
// "select remark,row_number() over(partition by nodeid order by logid desc) as xh\n" +
// " from workflow_requestlog\n" +
// "where requestid = " + requestid +
// "and nodeid in(select id from workflow_nodebase \n" +
// "where unnumber in('gsfw_sxcwg','gsfw_hgzj','gsfw_sxfxg'))\n" +
// ") l where l.xh=1 and remark like '不同意%' ";
//
// rs.execute(sql);
// if(rs.next()){
// sfty++;
// }
// if(sfty == 0){
// valList.add("6");
// sval = sval+",6";
// }
sval = sval+",6";
}
json.put("result",sval);
return JSONObject.toJSONString(json);
}
@GET
@Path("/judgeBgszrApprove")
@Produces({MediaType.TEXT_PLAIN})
public String judgeBgszrApprove(@Context HttpServletRequest request, @Context HttpServletResponse response) {
String requestid = Util.null2String( request.getParameter( "requestid" ) );
RecordSet rs = new RecordSet();
PropBean pb = new PropBean();
JSONObject json = new JSONObject();
json.put("result","no");
try{
if(!requestid.equals("-1"))
{
boolean fsFlag = false;
//---公司发文办公室主任审核节点id---
// String gsfw_bgszr_nodeid = Util.null2String(pb.getPropName("GSFW_BGSZR_NODEID"));
// String sql = "select distinct nodeid as nodes from workflow_currentoperator where requestid='"+requestid+"'";
// rs.executeQuery( sql );
// while(rs.next()){
// String nodes = Util.null2String(rs.getString("nodes"));
// if(nodes.equals(gsfw_bgszr_nodeid)){
// fsFlag = true;
// break;
// }
// }
String gsfw_bgszrsh = Util.null2String(pb.getPropName("gsfw_bgszrsh"));
String gsfw_bgszr_nodeid = pb.getNodeIdsByUnNumber(gsfw_bgszrsh);
String sql = " select id from workflow_currentoperator where requestid='"+requestid+"' and nodeid in("+gsfw_bgszr_nodeid+")";
rs.executeQuery( sql );
if(rs.next()){
fsFlag = true;
}
if(fsFlag){
json.put("result","yes");
}
}
}catch (Exception e){
}
return JSONObject.toJSONString(json);
}
@GET
@Path("/getldqf2")
@Produces({MediaType.TEXT_PLAIN})
public String getldqf2(@Context HttpServletRequest request, @Context HttpServletResponse response) {
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
DepartmentComInfo departmentComInfo = null;
ResourceComInfo resourceComInfo = null;
JSONObject jsonObject = new JSONObject();
try{
departmentComInfo = new DepartmentComInfo();
resourceComInfo = new ResourceComInfo();
String szbm = Util.null2String(request.getParameter("szbm"));
String szbmcode = departmentComInfo.getDepartmentCode(szbm);
String excludeId = "ZZ001014,ZZ323472" ; //信息技术部 , 数字化运营部
String definUserCode = "001008"; //周易
String definUserid = "";
String sql = " select id from hrmresource where loginid='"+definUserCode+"'";
rs.execute(sql);
if(rs.next()){
definUserid = Util.null2String(rs.getString("id"));
}
String definUsername = resourceComInfo.getLastname(definUserid);
if((","+excludeId+",").contains(","+szbmcode+","))
{
jsonObject.put("ldqf2value",definUserid);
jsonObject.put("ldqf2name",definUsername);
String deptleaders = "";
sql = " select deptleaders from hrmdepartmentdefined where deptid = "+szbm;
rs.execute(sql);
if(rs.next()){
deptleaders = Util.null2String(rs.getString("deptleaders"));
}
if(deptleaders.indexOf(",")>-1){
deptleaders = deptleaders.substring(0,deptleaders.indexOf(","));
}
String deptleadersname = "";
if(!"".equals(deptleaders)){
deptleadersname = resourceComInfo.getLastname(deptleaders);
}
jsonObject.put("ldsp2value",deptleaders);
jsonObject.put("ldsp2name",deptleadersname);
}else{
String deptleaders = "";
sql = " select deptleaders from hrmdepartmentdefined where deptid = "+szbm;
rs.execute(sql);
if(rs.next()){
deptleaders = Util.null2String(rs.getString("deptleaders"));
}
if(deptleaders.indexOf(",")>-1){
deptleaders = deptleaders.substring(0,deptleaders.indexOf(","));
}
String deptleadersname = "";
if(!"".equals(deptleaders)){
deptleadersname = resourceComInfo.getLastname(deptleaders);
}
jsonObject.put("ldqf2value",deptleaders);
jsonObject.put("ldqf2name",deptleadersname);
jsonObject.put("ldsp2value","");
jsonObject.put("ldsp2name","");
}
}catch (Exception e){
bb.writeLog("e:"+e);
}
return JSONObject.toJSONString(jsonObject);
}
@GET
@Path("/getldsp2")
@Produces({MediaType.TEXT_PLAIN})
public String getldsp2(@Context HttpServletRequest request, @Context HttpServletResponse response) {
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
ResourceComInfo resourceComInfo = null;
Map<String,Object> dataMap = new HashMap<String,Object>();
try{
resourceComInfo = new ResourceComInfo();
String yz = Util.null2String(request.getParameter("yz"));
String ldsp2 = Util.null2String(request.getParameter("ldsp2"));
int bool = 0;
String[] yzs = yz.split(",");
for(int i=0;i<yzs.length;i++)
{
if("3".equals(yzs[i]))
{
String definUserCode = "015150";
String definUserid = "20605";
String sql = " select id from hrmresource where loginid='"+definUserCode+"'";
rs.execute(sql);
if(rs.next()){
definUserid = Util.null2String(rs.getString("id"),"20605");
}
if(!(","+ldsp2+",").contains(","+definUserid+",")){
ldsp2 += ldsp2 == "" ? definUserid : ","+definUserid;
}
bool++ ;
}
}
if(bool>0)
{
List<String> speciaList = Arrays.asList(ldsp2.split(","));
bb.writeLog("speciaList:"+speciaList.size());
String values = "";
JSONArray speciaArray = new JSONArray();
for(int i=0;i<speciaList.size();i++)
{
JSONObject leaderObject = new JSONObject();
String id = speciaList.get(i);
leaderObject.put("id",id);
leaderObject.put("name",resourceComInfo.getLastname(speciaList.get(i)));
speciaArray.add(leaderObject);
values += values=="" ? id : ","+id ;
}
dataMap.put("specialobj",speciaArray);
dataMap.put("value",values);
}
}catch (Exception e){
bb.writeLog("e:"+e);
}
return net.sf.json.JSONObject.fromObject(dataMap).toString();
}
@GET
@Path("/getwzlx")
@Produces({MediaType.TEXT_PLAIN})
public String getwzlx(@Context HttpServletRequest request, @Context HttpServletResponse response) {
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
ResourceComInfo resourceComInfo = null;
DepartmentComInfo departmentComInfo = null;
JSONObject dataJson = new JSONObject();
try{
departmentComInfo = new DepartmentComInfo();
resourceComInfo = new ResourceComInfo();
String lx = Util.null2String( request.getParameter("lx") );//申报类型
int requestid = Util.getIntValue(Util.null2String(request.getParameter("requestid")));//申报类型
String deptid = Util.null2String( request.getParameter("szbm"));//部门ID
bb.writeLog("requestid:"+requestid);
bb.writeLog("lx:"+lx);
String qzsydx ="";
String gd = "";
String qzsyry ="";
String bjhqbm ="";
String sql = " select qzsyry,bjhqbm,qzsydx from uf_gsfwsyfw where lx="+lx ;
bb.writeLog("sql:"+sql);
rs.executeQuery( sql );
if(rs.next()){
qzsyry = Util.null2String(rs.getString("qzsyry"));
bjhqbm =Util.null2String(rs.getString("bjhqbm"));
qzsydx =Util.null2String(rs.getString("qzsydx"));
}
List<String> hqbmArry = Arrays.asList(bjhqbm.split(","));
JSONArray hqbmJsonArray = new JSONArray();
for (String hqbm2 : hqbmArry)
{
if(!hqbm2.equals(deptid)){
JSONObject jsonObject = new JSONObject();
String hqbmname = departmentComInfo.getDepartmentName(hqbm2);//必经会签部门名称
jsonObject.put( "id", hqbm2 );
jsonObject.put( "name", hqbmname );
hqbmJsonArray.add( jsonObject );
}
}
List<String> tzyddxArry = Arrays.asList(qzsyry.split(","));
JSONArray tzyddxJsonArray = new JSONArray();
for (String tzyddx2 : tzyddxArry)
{
JSONObject jsonObject = new JSONObject();
String tzyddxname = resourceComInfo.getLastname(tzyddx2);//强制送阅人员
jsonObject.put( "id", tzyddx2 );
jsonObject.put( "name", tzyddxname );
tzyddxJsonArray.add( jsonObject );
if(gd.equals("")){
gd = "hrm_"+tzyddx2;
}else{
gd = gd + ",hrm_"+tzyddx2;
}
}
if(!qzsydx.equals("")){
if(gd.equals("")){
gd = "dept_"+qzsydx;
}else{
gd = gd + ",dept_"+qzsydx;
}
}
dataJson.put("hqbm",bjhqbm);
dataJson.put("hqbmspec",hqbmJsonArray);
dataJson.put("hqbm_gd",bjhqbm);
dataJson.put("tzyddx",qzsyry);
dataJson.put("tzyddxspec",tzyddxJsonArray);
dataJson.put("tzyddx_gd",gd);
}catch (Exception e){
bb.writeLog("e:"+e);
}
return dataJson.toJSONString();
}
@GET
@Path("/getbeagent")
@Produces({MediaType.TEXT_PLAIN})
public String getBeagent(@Context HttpServletRequest request, @Context HttpServletResponse response) {
BaseBean bb = new BaseBean();
JSONObject json = new JSONObject();
ResourceComInfo resourceComInfo = null;
try{
resourceComInfo = new ResourceComInfo();
String requestid = Util.null2String(request.getParameter("requestid"));
String workflowid = Util.null2String(request.getParameter("workflowid"));
String operatorid = Util.null2String(request.getParameter("operatorid"));
bb.writeLog("requestid:"+requestid);
bb.writeLog("workflowid:"+workflowid);
bb.writeLog("operatorid:"+operatorid);
wfAgentCondition wfAgentCondition = new wfAgentCondition();
JSONArray jsonArray = new JSONArray();
Map<String,String> map = wfAgentCondition.getAgentInfoByResouce(workflowid,operatorid,requestid);
for(Map.Entry<String, String> entry : map.entrySet())
{
String key = entry.getKey();
String value = entry.getValue();
String name = "" ;
if(value !="")
{
name = resourceComInfo.getLastname(value);
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("operatorid",key);
jsonObject.put("beagentid",value);
jsonObject.put("beagentname",name);
jsonArray.add(jsonObject);
}
json.put("data",jsonArray);
}catch (Exception e){
bb.writeLog("e:"+e);
}
return json.toJSONString();
}
@GET
@Path("/getszwrznh")
@Produces({MediaType.TEXT_PLAIN})
public String getSzWrznh(@Context HttpServletRequest request, @Context HttpServletResponse response) {
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
JSONObject dataJson = new JSONObject();
try{
String hgflbnbsh = Util.null2String( request.getParameter("hgflbnbsh") );//合规法律部内部审核
int requestid = Util.getIntValue(Util.null2String(request.getParameter("requestid")));//流程requestid
String logid ="";
if(requestid >0)
{
String sql = " select logid from workflow_requestlog where requestid="+requestid+" and nodeid in("+hgflbnbsh+") and logtype=0" ;
bb.writeLog("sql:"+sql);
rs.executeQuery(sql);
if(rs.next())
{
logid = Util.null2String(rs.getString("logid"));
}
}
dataJson.put("logid",logid);
}catch (Exception e){
bb.writeLog("e:"+e);
}
return dataJson.toJSONString();
}
@GET
@Path("/getNextValueForLx")
@Produces({MediaType.TEXT_PLAIN})
public String getNextValueForLx(@Context HttpServletRequest request, @Context HttpServletResponse response) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
String requestid = Util.null2String( request.getParameter( "requestid" ) );
int formid = Util.getIntValue(Util.null2String( request.getParameter("formid")));
String lx = Util.null2String( request.getParameter( "lx" ) );
JSONObject json = new JSONObject();
// List<String> valList = new ArrayList<String>();
// valList.add("0");
// valList.add("1");
String sval = "0,1";
if(!requestid.equals("-1"))
{
if("".equals(lx))
{
//---获取所有参与审批人的部门---
String alldept = "";
String sql = " select distinct h.departmentid as departmentid from hrmresource h where h.id in(select r.userid from workflow_currentoperator r where r.requestid='"+requestid+"')";
rs.executeQuery( sql );
while(rs.next()){
alldept += alldept=="" ? Util.null2String(rs.getString("departmentid")) : ","+Util.null2String(rs.getString("departmentid"));
}
alldept = ","+alldept + ",";
//---判断是否是债务融资部拟稿--
if (alldept.indexOf(",670,") > -1)
{
String formtable = "" ;
sql = " select 'formtable_main_'||abs(l.formid) as formtable from workflow_requestbase t\n" +
"inner join workflow_base l on l.id = t.workflowid\n" +
"where requestid="+requestid ;
rs.execute(sql);
if(rs.next()){
formtable = Util.null2String(rs.getString("formtable"));
}
if(!"".equals(formtable)){
sql = " select lx from "+formtable+" where requestid="+requestid ;
rs.execute(sql);
if(rs.next()){
lx = Util.null2String(rs.getString("lx"));
}
}
}
}
if("22".equals(lx))
{
// valList.add("2");
sval = sval + ",2";
}
List<String> list = new ArrayList<String>();
String szbm = "";
String hqbm = "";
String formtable = "formtable_main_"+Math.abs(formid);
String sql = " select szbm,hqbm from "+ formtable+" where requestid="+requestid;
rs.execute(sql);
if(rs.next()){
szbm = Util.null2String(rs.getString("szbm"));
hqbm = Util.null2String(rs.getString("hqbm"));
}
bb.writeLog("szbm:"+szbm);
if(!"".equals(szbm))
{
list.addAll(Arrays.asList(szbm.split(",")));
}
//---获取风险管理部门id、合规法律部id---
String fs_deptid = "";
String hg_deptid = "";
sql = "select id,departmentcode from hrmdepartment where departmentcode in('ZZ323310','ZZ323311')";
rs.executeQuery( sql );
while(rs.next()){
String code = Util.null2String(rs.getString("departmentcode"));
if(code.equals("ZZ323310")){
fs_deptid = Util.null2String(rs.getString("id"));
}else{
hg_deptid = Util.null2String(rs.getString("id"));
}
}
if(list !=null && list.size() >0)
{
if(list.contains(fs_deptid) ){
// valList.add("3");
sval = sval+",3";
}
if(list.contains(hg_deptid) ){
// valList.add("4");
sval = sval+",4";
}
}
List<String> hqList = new ArrayList<String>();
if(!"".equals(hqbm))
{
sql = " select t.userid,h.departmentid from workflow_currentoperator t\n" +
" inner join hrmresource h on h.id = t.userid\n" +
" where nodeid < 0 and userid in( select id from hrmresource h where departmentid in("+hqbm+")) and requestid="+requestid;
rs.execute(sql);
while(rs.next()){
String departmentid = Util.null2String(rs.getString("departmentid"));
hqList.add(departmentid);
}
}
if(hqList !=null && hqList.size() >0)
{
if(hqList.contains(fs_deptid)){
if(!sval.contains("3")){
// valList.add("3");
sval = sval+",3";
}
}
if(hqList.contains(hg_deptid)){
if(!sval.contains("4")){
// valList.add("4");
sval = sval+",4";
}
}
}
// //---判断是计划财务部、资金运营部参与审批---
String jhcwbid = "";
String zjyybid = "";
sql = "select id,departmentcode from hrmdepartment where departmentcode in('ZZ001016','ZZ323314')"; //计划财务部、资金运营部
rs.executeQuery( sql );
while(rs.next()){
String code = Util.null2String(rs.getString("departmentcode"));
if(code.equals("ZZ001016")){
jhcwbid = Util.null2String(rs.getString("id"));
}else{
zjyybid = Util.null2String(rs.getString("id"));
}
}
if(list !=null && list.size() >0)
{
boolean bool = false;
if(list.contains(jhcwbid) || list.contains(zjyybid) ){
bool = true;
}
if(bool)
{
// valList.add("5");
sval = sval+",5";
}
}
if(hqList !=null && hqList.size() >0)
{
if(hqList.contains(jhcwbid) || hqList.contains(zjyybid)){
if(!sval.contains("5")){
// valList.add("5");
sval = sval+",5";
}
}
}
// int sfty = 0;
// sql = " select * from (\n" +
// "select remark,row_number() over(partition by nodeid order by logid desc) as xh\n" +
// " from workflow_requestlog\n" +
// "where requestid = " + requestid +
// "and nodeid in(select id from workflow_nodebase \n" +
// "where unnumber in('gsfw_sxcwg','gsfw_hgzj','gsfw_sxfxg'))\n" +
// ") l where l.xh=1 and remark like '不同意%' ";
//
// rs.execute(sql);
// if(rs.next()){
// sfty++;
// }
// if(sfty == 0){
// valList.add("6");
// sval = sval+",6";
// }
sval = sval+",6";
}
json.put("result",sval);
return JSONObject.toJSONString(json);
}
@GET
@Path("/getJudgeSendZxms")
@Produces({MediaType.TEXT_PLAIN})
public String getJudgeSendZxms(@Context HttpServletRequest request, @Context HttpServletResponse response) {
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
String requestid = Util.null2String(request.getParameter("requestid"));
int sfty = 0;
String nodenames = "" ;
if(!"".equals(requestid)){
String sql =" select l.*,p.nodename from (\n" +
" select nodeid,logtype,row_number() over(partition by nodeid order by logid desc) as xh\n" +
" from workflow_requestlog t\n" +
" where requestid =" + requestid+
" and nodeid in(select id from workflow_nodebase \n" +
" where unnumber in('gsfw_sxcwg','gsfw_hgzj','gsfw_sxfxg'))\n" +
" ) l \n" +
" left join workflow_nodebase p on p.id = l.nodeid\n" +
" where l.xh=1 and logtype = 3 ";
rs.execute(sql);
while(rs.next()){
nodenames += nodenames=="" ? Util.null2String(rs.getString("nodename")) : "、"+Util.null2String(rs.getString("nodename")) ;
sfty++;
}
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("sfty",sfty);
jsonObject.put("nodenames",nodenames);
return JSONObject.toJSONString(jsonObject);
}
}

@ -0,0 +1,47 @@
package com.engine.htsc.gsfw.web;
import com.alibaba.fastjson.JSONObject;
import com.weaver.general.Util;
import org.apache.tools.ant.taskdefs.Tstamp;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.interfaces.htsc.comInfo.PropBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
public class Gsfw_Ifuserjobtool {
@GET
@Path("/GetUserJobflag")
@Produces({MediaType.TEXT_PLAIN})
public String getNextJudget(@Context HttpServletRequest request, @Context HttpServletResponse response) {
// String requestid = Util.null2String(request.getParameter("requestid"));
JSONObject jsonObject=new JSONObject();
BaseBean bb = new BaseBean();
PropBean pb = new PropBean();
String userid = Util.null2String(request.getParameter("userid"));
jsonObject.put("zbnkllr", "");
jsonObject.put("zbhggl", "");
String sql="";
sql="select count(*) rysum from uf_zbnkllr where dbms_lob.instr(ry,"+userid+")>0"; //内控联络人
RecordSet rs = new RecordSet();
rs.execute(sql);
if(rs.next()){
jsonObject.put("zbnkllr", Util.null2String(rs.getString("rysum")));
}
sql="select count(*) hgglsum from uf_zbbmhggl where hgry="+userid; //总部合规管理
rs.execute(sql);
if(rs.next()){
jsonObject.put("zbhggl", Util.null2String(rs.getString("hgglsum")));
}
return jsonObject.toString();
}
}

@ -0,0 +1,66 @@
package com.engine.htsc.hrm.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.htsc.workflow.util.WorkflowUtil;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.group.HrmGroupTreeComInfo;
import weaver.hrm.orggroup.HrmOrgGroupComInfo;
import weaver.hrm.resource.ResourceComInfo;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*/
public class HrmGroupAction {
/**
*
* @param request
* @param response
* @return
*/
@POST
@Path("/members/delete")
@Produces({MediaType.TEXT_PLAIN})
public String deleteGroupMember(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<String, Object>();
String groupid = request.getParameter("groupid");
String userids = request.getParameter("userids");
try {
String dataSql = " delete from HrmGroupMembers where groupid=? and userid in ("+userids+") ";
RecordSet rs = new RecordSet();
boolean res = rs.executeUpdate(dataSql,new Object[]{groupid});
if (res){
apidatas.put("success", true);
}else{
apidatas.put("success", false);
}
} catch (Exception e) {
e.printStackTrace();
apidatas.put("success", false);
}
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,120 @@
package com.engine.htsc.htjjh.cmd;
import com.api.doc.detail.util.DocDownloadCheckUtil;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FoundationHallDataListCmd extends AbstractCommonCommand<Map<String, Object>> {
public FoundationHallDataListCmd(Map<String, Object> params, User user)
{
this.params = params;
this.user = user;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
RecordSet rs = new RecordSet();
String ecologyContentPath = GCONST.getContextPath();
BaseBean bb = new BaseBean();
Map<String, Object> apimap = new HashMap<String, Object>();
List<Map<String,Object>> uflist = new ArrayList<Map<String,Object>>();
Map<String,Object> ufmap = null;
int userid = this.user.getUID();
//http://eipsit.htsc.com.cn/htoa/spa/workflow/static4form/index.html?_rdm=1649382905129#/main/workflow/req?iscreate=1&workflowid=24&isagent=0&beagenter=0&f_weaver_belongto_userid=&f_weaver_belongto_usertype=0&menuIds=1,12&_key=269vcq
PropBean pb = new PropBean();
String jjhcode = Util.null2String(pb.getPropName("JJH_BM_BM"));
String f_weaver_belongto_userid = "" ;
if(!"".equals(userid+"") && !"".equals(jjhcode)){
String sql =" select t.id\n" +
" from hrmresource t\n" +
" where workcode in(\n" +
" select workcode from\n" +
" hrmresource h where h.id=\n" +userid+
" )\n" +
" and t.departmentid in(\n" +
" select d.id\n" +
" from hrmdepartment d\n" +
" connect by prior d.id = d.supdepid\n" +
" start with d.departmentcode='"+jjhcode+"'\n" +
") ";
rs.executeQuery(sql);
if(rs.next()){
f_weaver_belongto_userid = Util.null2String(rs.getString("id"));
}
}
int count = 0 ;
try{
String sql1 = " select lcmc,lclj,tbsc from uf_bsdtpz order by nvl(sx,0) ";
bb.writeLog("sql1:"+sql1);
rs.executeQuery(sql1);
while (rs.next()){
String lcmc = Util.null2String(rs.getString("lcmc"));
String lclj = Util.null2String(rs.getString("lclj"));
// if(!"".equals(lclj) && lclj.indexOf("main/workflow/req")>0){
// lclj = lclj+"&f_weaver_belongto_userid="+f_weaver_belongto_userid+"&f_weaver_belongto_usertype=0";
// }
String tbsc = Util.null2String(rs.getString("tbsc"));
ufmap = new HashMap<String,Object>();
ufmap.put("lcmc",lcmc);
ufmap.put("tb",tbsc);
ufmap.put("lclj",lclj);
ufmap.put("f_weaver_belongto_userid",f_weaver_belongto_userid);
uflist.add(ufmap);
count++ ;
}
for(int i=0;i<uflist.size();i++){
Map<String,Object> dataMap = uflist.get(i);
String tb = Util.null2String(dataMap.get("tb"));
String imagefileid = "" ;
if(!"".equals(tb)){
String sql = " select k.imagefileid\n" +
" from docdetail t\n" +
" inner join docimagefile l on l.docid = t.id\n" +
" inner join imagefile k on k.imagefileid = l.imagefileid\n" +
" where docid= "+ tb;
rs.executeQuery(sql);
if(rs.next()){
imagefileid = Util.null2String(rs.getString("imagefileid"));
}
}
String fileid = "";
try{
if(!"".equals(imagefileid)){
fileid = DocDownloadCheckUtil.checkPermission(imagefileid+"",null);
}
}catch (Exception e){
bb.writeLog("e:"+e);
}
String tburl = ecologyContentPath+"/weaver/weaver.file.FileDownload?fileid="+fileid+"";
dataMap.put("tburl",tburl);
}
}catch (Exception e){
System.out.println(e);
}
apimap.put("data",uflist);
apimap.put("count",count);
return apimap;
}
}

@ -0,0 +1,16 @@
package com.engine.htsc.htjjh.service;
import weaver.hrm.User;
import java.util.Map;
public interface HtscFoundationExpService {
/***
*
* @param paramMap
* @return
*/
Map<String,Object> gethalldata(Map<String, Object> paramMap, User user);
;
}

@ -0,0 +1,22 @@
package com.engine.htsc.htjjh.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.htjjh.cmd.FoundationHallDataListCmd;
import com.engine.htsc.htjjh.service.HtscFoundationExpService;
import weaver.hrm.User;
import java.util.Map;
public class HtscFoundationExpServiceImpl extends Service implements HtscFoundationExpService {
@Override
public Map<String, Object> gethalldata(Map<String, Object> params, User user) {
return commandExecutor.execute(new FoundationHallDataListCmd(params,user));
}
}

@ -0,0 +1,61 @@
package com.engine.htsc.htjjh.web;
import com.alibaba.fastjson.JSONObject;
import com.api.doc.detail.util.DocDownloadCheckUtil;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.hthy.service.HtscMettingService;
import com.engine.htsc.hthy.service.impl.HhtscMeetingServiceImpl;
import com.engine.htsc.htjjh.service.HtscFoundationExpService;
import com.engine.htsc.htjjh.service.impl.HtscFoundationExpServiceImpl;
import weaver.conn.RecordSet;
import weaver.docs.qc969424.util.QC969424RequestBaseUtil;
import weaver.docs.qc969424.util.QC969424SyncauthRequestUtil;
import weaver.docs.qc969424.util.QC969424Util;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipInputStream;
public class HtscFoundationExpAction {
public HtscFoundationExpService getService(HttpServletRequest request, HttpServletResponse response){
User user = HrmUserVarify.getUser( request, response );
return (HtscFoundationExpService) ServiceUtil.getService(HtscFoundationExpServiceImpl.class,user);
}
@GET
@Path("/gethalldata")
@Produces({MediaType.TEXT_PLAIN})
public String getHymbData(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
User user = HrmUserVarify.getUser( request, response );
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas.putAll(this.getService(request,response).gethalldata(param,user));;
apidatas.put("api_status", true);
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,125 @@
package com.engine.htsc.hyld.web;
import com.alibaba.fastjson.JSONObject;
import weaver.conn.RecordSet;
import weaver.general.GCONST;
import weaver.general.Util;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*/
public class HyldControlAction {
@GET
@Path("/getHyChange")
@Produces({MediaType.TEXT_PLAIN})
public String getHyChange(@Context HttpServletRequest request, @Context HttpServletResponse response) {
JSONObject jsonObject = new JSONObject();
Integer hylxNew = Util.getIntValue(request.getParameter("hylx"),1);
Integer hylx = 0;
try{
//查询上级分类id
// RecordSet sqlFindId = new RecordSet();
//// sqlFindId.execute("SELECT HYLXSJ FROM uf_hylx WHERE sfxs = 0 and id = "+hylxNew);
//// if (sqlFindId.next()){
//// hylx = Util.getIntValue(sqlFindId.getString("HYLXSJ"),hylxNew);
//// }
//查询出席人员
List<Map<String,Object>> listOne = new ArrayList<>();
RecordSet sqlHyldOne = new RecordSet();
sqlHyldOne.execute("SELECT cxry FROM UF_HYRY_DT1 WHERE mainid = (SELECT id FROM uf_hyry WHERE hylx = "+hylxNew+")");
while (sqlHyldOne.next()){
Integer cxryOne = Util.getIntValue(sqlHyldOne.getString("cxry"));
RecordSet sqlPersonOne = new RecordSet();
sqlPersonOne.execute("SELECT id,zwx,yx,ryxm FROM uf_hyxx WHERE sfxs = 0 AND zwx = "+cxryOne);
while (sqlPersonOne.next()){
Map<String,Object> printOne = new HashMap<String,Object>();
Integer idOne = Util.getIntValue(sqlPersonOne.getString("id"));
Integer zwOne = Util.getIntValue(sqlPersonOne.getString("zwx"));
String yxOne = Util.null2String(sqlPersonOne.getString("yx"));
String ryxmOne = Util.null2String(sqlPersonOne.getString("ryxm"));
printOne.put("id",idOne);
printOne.put("zw",zwOne);
printOne.put("yx",yxOne);
printOne.put("ryxm",ryxmOne);
listOne.add(printOne);
}
}
//查询列席人员
List<Map<String,Object>> listTwo = new ArrayList<>();
RecordSet sqlHyldTwo = new RecordSet();
sqlHyldTwo.execute("SELECT lxry FROM UF_HYRY_DT2 WHERE mainid = (SELECT id FROM uf_hyry WHERE hylx = "+hylxNew+")");
while (sqlHyldTwo.next()){
Integer lxryTwo = Util.getIntValue(sqlHyldTwo.getString("lxry"));
RecordSet sqlPersonTwo = new RecordSet();
sqlPersonTwo.execute("SELECT id,zwx,yx,ryxm FROM uf_hyxx WHERE sfxs = 0 AND zwx = "+lxryTwo);
while (sqlPersonTwo.next()){
Map<String,Object> printTwo = new HashMap<String,Object>();
Integer idTwo = Util.getIntValue(sqlPersonTwo.getString("id"));
Integer zwTwo = Util.getIntValue(sqlPersonTwo.getString("zwx"));
String yxTwo = Util.null2String(sqlPersonTwo.getString("yx"));
String ryxmTwo = Util.null2String(sqlPersonTwo.getString("ryxm"));
printTwo.put("id",idTwo);
printTwo.put("zw",zwTwo);
printTwo.put("yx",yxTwo);
printTwo.put("ryxm",ryxmTwo);
listTwo.add(printTwo);
}
}
//主持人员
List<Map<String,Object>> listThree = new ArrayList<>();
RecordSet sqlHyldThree = new RecordSet();
sqlHyldThree.execute("SELECT hyzcr FROM UF_HYRY_DT3 WHERE mainid = (SELECT id FROM uf_hyry WHERE hylx = "+hylxNew+")");
while (sqlHyldThree.next()){
Integer hyzcrThree = Util.getIntValue(sqlHyldThree.getString("hyzcr"));
RecordSet sqlPersonThree = new RecordSet();
sqlPersonThree.execute("SELECT id,zwx,yx,ryxm FROM uf_hyxx WHERE sfxs = 0 AND zwx = "+hyzcrThree);
while (sqlPersonThree.next()){
Map<String,Object> printThree = new HashMap<String,Object>();
Integer idThree = Util.getIntValue(sqlPersonThree.getString("id"));
Integer zwThree = Util.getIntValue(sqlPersonThree.getString("zwx"));
String yxThree = Util.null2String(sqlPersonThree.getString("yx"));
String ryxmThree = Util.null2String(sqlPersonThree.getString("ryxm"));
printThree.put("id",idThree);
printThree.put("zw",zwThree);
printThree.put("yx",yxThree);
printThree.put("ryxm",ryxmThree);
listThree.add(printThree);
}
}
jsonObject.put("code","200");
jsonObject.put("msg","success");
jsonObject.put("cxPerson",listOne);
jsonObject.put("lxPerson",listTwo);
jsonObject.put("zcPerson",listThree);
}catch (Exception e) {
e.printStackTrace();
jsonObject.put("code","500");
jsonObject.put("msg","fail");
}
return JSONObject.toJSONString(jsonObject);
}
}

@ -0,0 +1,14 @@
package com.engine.htsc.image.service;
import java.util.Map;
public interface ImageBase64Service {
/***
*
* @param params
* @return
*/
Map<String, Object> generate2Image(Map<String, Object> params);
}

@ -0,0 +1,72 @@
package com.engine.htsc.image.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.image.service.ImageBase64Service;
import sun.misc.BASE64Decoder;
import weaver.general.BaseBean;
import weaver.general.Util;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
public class ImageBase64ServiceImpl extends Service implements ImageBase64Service {
@Override
public Map<String, Object> generate2Image(Map<String, Object> param) {
BaseBean bb = new BaseBean();
Map<String, Object> apimap = new HashMap<String, Object>();
// String lcbh = Util.null2String(param.get("lcbh"));
String workFlowNum = "";
// try {
// workFlowNum = new String(lcbh.getBytes("GBK"), System.getProperty("sun.jnu.encoding"));
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
//String ngr = Util.null2String(param.get("ngr"));
long currentTime = System.currentTimeMillis() ;
String folderName = currentTime + "";
String fileName = workFlowNum + currentTime + "_new.png";
String path = "/home/appadmin/png/"+folderName+"/"+fileName;
String base64Str = Util.null2String(param.get("pdf"));
System.out.println(base64Str);
bb.writeLog(base64Str);
BASE64Decoder decoder = new BASE64Decoder();
OutputStream out = null;
try {
// 解密
byte[] b = decoder.decodeBuffer(base64Str);
// 处理数据
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {
b[i] += 256;
}
}
File tempFile = new File(path);
if (!tempFile.getParentFile().exists()) {
tempFile.getParentFile().mkdirs();
}
out = new FileOutputStream(tempFile);
out.write(b);
out.flush();
out.close();
} catch (Exception e) {
apimap.put("code","-100");
}finally {
if(out !=null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
apimap.put("code","100");
return apimap;
}
}

@ -0,0 +1,64 @@
package com.engine.htsc.image.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.image.service.ImageBase64Service;
import com.engine.htsc.image.service.impl.ImageBase64ServiceImpl;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class ImageBase64Action {
public ImageBase64Service getService(HttpServletRequest request, HttpServletResponse response){
return (ImageBase64Service) ServiceUtil.getService(ImageBase64ServiceImpl.class);
}
@POST
@Path("/getbase64toimage")
@Produces({MediaType.TEXT_PLAIN})
public String getBase64ToImage(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas = getService(request,response).generate2Image(param);
apidatas.put("api_status", true);
apidatas.put("api_errormsg", "");
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
@GET
@Path("/gettest")
@Produces({MediaType.TEXT_PLAIN})
public String getTest(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
apidatas.put("api_status", true);
apidatas.put("api_errormsg", "");
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,97 @@
package com.engine.htsc.init.payment.impl;
import com.engine.htsc.payment.util.IpUtils;
import com.weaverboot.frame.ioc.anno.classAnno.WeaSysInitComponent;
import com.weaverboot.frame.ioc.anno.methodAnno.WeaSysInit;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.interfaces.htsc.comInfo.PropBean;
import weaver.interfaces.htsc.payment.common.pdfprocess.PDFBizProcessorImpl;
import weaver.interfaces.htsc.payment.common.pdfprocess.PdfConsumer;
import weaver.interfaces.htsc.payment.common.pdfprocess.PdfProducer;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* Created on 2022/4/20.
*
* @author K1810012
*/
@WeaSysInitComponent("pdf同步生产者消费者线程")
public class PDFProcessorInitServcieImpl {
private static BaseBean log = new BaseBean();
@WeaSysInit(order = 1, description = "启动生产消费线程")
public void init() {
log.writeLog("===>>> pdf sync producer thread start....");
log.writeLog("===>>> pdf sync consumer thread start....");
try {
Thread subThread = new Thread(new SubStart());
subThread.start();
log.writeLog("===>>> PDFProcessorInit 主线程结束");
} catch (Exception e) {
log.writeLog("===>>> pdf sync thread error:");
log.writeLog("===>>> pdf sync thread error:" + e);
}
}
private static boolean isMainNode(){
String hostIP = new PropBean().getPropName("HostIP");
log.writeLog("===>>> 配置的IP是"+hostIP);
String nowIp = IpUtils.getHostIp();
log.writeLog("===>>> 当前环境IP是"+nowIp);
return hostIP.equals(nowIp);
}
/**
* 线join
*/
static class SubStart implements Runnable {
@Override
public void run() {
BaseBean log = new BaseBean();
try {
//五分钟休眠放在子线程中,防止影响正常启动时间
//等待的目的是为了ecology充分加载完成weaver.conn.ConnectionPool.createPools 初始化成功
log.writeLog("PDFProcessorInit start to wait 5 MINUTES");
TimeUnit.MINUTES.sleep(5);
log.writeLog("PDFProcessorInit wait 5 MINUTES done");
if (!isMainNode()){
return;
}
log.writeLog("主节点执行 PDF 同步模型");
PDFBizProcessorImpl pdfBizProcessor = new PDFBizProcessorImpl();
LinkedBlockingDeque<Runnable> runnables = new LinkedBlockingDeque<>(10);
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
10, 20, 5L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(10),
new ThreadPoolExecutor.CallerRunsPolicy());
//2:1
for (int i = 0; i < 5; i++) {
try {
runnables.put(new PdfConsumer(pdfBizProcessor, runnables));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
PdfProducer producer = new PdfProducer(pdfBizProcessor, runnables, threadPoolExecutor);
new Thread(producer).start();
log.writeLog("===>>> pdf sync start done...");
log.writeLog("===>>> PDFProcessorInit 子线程结束");
} catch (Exception e) {
log.writeLog("===>>>pdf sync thread start error");
log.writeLog("===>>>error: " + e);
}
}
}
}

@ -0,0 +1,8 @@
package com.engine.htsc.itTestOnline.service;
import java.util.Map;
public interface ItTestOnlineService {
Map<String,String> getDeptDirectors(String loginId);
}

@ -0,0 +1,49 @@
package com.engine.htsc.itTestOnline.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.itTestOnline.service.ItTestOnlineService;
import weaver.conn.RecordSet;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import java.util.HashMap;
import java.util.Map;
/**
* @Title: ecology-9
* @Company:
* @author: K1810039
* @version: 1.0
* @CreateDate: 2022-06-13
* @Description: IT线id,
* @ModifyLog:
**/
public class ItTestOnlineServiceImpl extends Service implements ItTestOnlineService {
@Override
public Map<String,String> getDeptDirectors(String loginId) {
Map<String,String> map = new HashMap<>();
JAVATools.writelog("----getDeptDirectors----deptCode:"+loginId);
String deptDirectors = "";
String deptCode = "";
String deptId = "";
RecordSet rs = new RecordSet();
String sql = "select t.DEPTDIRECTORS,m.DEPARTMENTCODE,d.DEPARTMENTID from hrmdepartmentdefined t\n" +
" join HRMRESOURCE d on t.DEPTID = d.DEPARTMENTID\n" +
" join HRMDEPARTMENT m on m.ID = t.DEPTID\n" +
"where d.LOGINID = '"+loginId+"' ";
JAVATools.writelog(sql);
rs.execute(sql);
if (rs.next()){
deptDirectors = rs.getString("DEPTDIRECTORS");
deptCode = rs.getString("DEPARTMENTCODE");
deptId = rs.getString("DEPARTMENTID");
}
JAVATools.writelog("deptDirectors---->"+deptDirectors+"deptCode---->"+deptCode+"deptId---->"+deptId);
if(deptDirectors.indexOf(",") > -1){
deptDirectors = "";
}
map.put("deptDirectors",deptDirectors);
map.put("deptCode",deptCode);
map.put("deptId",deptId);
return map;
}
}

@ -0,0 +1,55 @@
package com.engine.htsc.itTestOnline.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.itTestOnline.service.ItTestOnlineService;
import com.engine.htsc.itTestOnline.service.impl.ItTestOnlineServiceImpl;
import com.engine.htsc.ityssq.service.ItyssqService;
import com.engine.htsc.ityssq.service.impl.ItyssqServiceImpl;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
/**
* @Title: ecology-9
* @Company:
* @author: K1810039
* @version: 1.0
* @CreateDate: 2022-06-13
* @Description: IT线id,
* @ModifyLog:
**/
public class ItTestOnlineAction {
public ItTestOnlineService getService(){
return ServiceUtil.getService(ItTestOnlineServiceImpl.class);
}
@POST
@Path("/getDeptDirectors")
@Produces({MediaType.TEXT_PLAIN})
public String getDeptDirectors(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,String> apidatas = new HashMap<>();
try {
String loginId = request.getParameter("loginId");
apidatas = getService().getDeptDirectors(loginId);
JAVATools.writelog("result apidatas---->"+apidatas);
apidatas.put("api_status", "true");
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", "false");
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,250 @@
package com.engine.htsc.ityssq.cmd;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.common.util.ServiceUtil;
import com.engine.core.interceptor.CommandContext;
import com.engine.workflow.service.RequestFreeFlowService;
import com.engine.workflow.service.impl.RequestFreeFlowServiceImpl;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.HashMap;
import java.util.Map;
public class ItyssqFreeNodeCmd extends AbstractCommonCommand<Map<String, Object>> {
public ItyssqFreeNodeCmd(User user, Map<String, Object> params) {
this.params = params;
this.user = user;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
DepartmentComInfo departmentComInfo = null;
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog( "in=================ItyssqFreeNodeCmd" );
Map<String, Object> apimap = new HashMap<String, Object>();
try{
PropBean pb = new PropBean();
departmentComInfo = new DepartmentComInfo();
int requestid = Util.getIntValue(Util.null2String(params.get("requestid")));
int workflowid = Util.getIntValue(Util.null2String(params.get("workflowid")));
int nodeid = Util.getIntValue(Util.null2String(params.get("nodeid")));
bb.writeLog( "in=================nodeid:" + nodeid );
int xybzvalue = Util.getIntValue(Util.null2String(params.get("xybzvalue")));
String jdfl = "";
if (xybzvalue == 0) {
jdfl = "6";
} else if (xybzvalue == 1) {
jdfl = "11";
}
String ysxgbm_mc = pb.getPropName("ysxgbm_mc");
String ysxgbm_fzr = pb.getPropName("ysxgbm_fzr");
String jsonArr = Util.null2String(Util.null2String(params.get("jsonArr")));
bb.writeLog("jsonArr:"+jsonArr);
JSONArray jsonArray = JSONArray.parseArray( jsonArr );
JSONObject freeNode = new JSONObject();
JSONArray nodeData = new JSONArray();
String bmfzrs = "";
String zdrys = "";
for (int i = 0; i < jsonArray.size(); i++) {
String hqbmvalue = Util.null2String( jsonArray.getJSONObject( i ).get( "hqbmvalue" ) );
String zdry = Util.null2String( jsonArray.getJSONObject( i ).get( "zdry" ) );
String bmfzr = Util.null2String( jsonArray.getJSONObject( i ).get( "bmfzr" ) );
bb.writeLog("zdry:"+zdry);
bb.writeLog("bmfzr:"+bmfzr);
String sfhq = Util.null2String( jsonArray.getJSONObject( i ).get( "sfhq" ) );
if ("1".equals( sfhq )) {
JSONArray nodeArray = new JSONArray();
if (!"".equals( zdry ) && !"".equals( bmfzr )) {
JSONObject nodeDataJson1 = new JSONObject();
if(xybzvalue==0){
nodeDataJson1.put( "nodename", "指定人员" );
nodeDataJson1.put( "operators", zdry );
nodeDataJson1.put( "signType", 1 ); //会签方式,(0:非会签、1:会签、2:依次逐个签) //20201226
}
if(xybzvalue==1){
nodeDataJson1.put( "nodename", "跨公司会签" );
nodeDataJson1.put( "operators", zdry );
nodeDataJson1.put( "signType", Util.getIntValue( sfhq ) ); //会签方式,(0:非会签、1:会签、2:依次逐个签)
}
nodeArray.add( nodeDataJson1 );
JSONObject nodeDataJson2 = new JSONObject();
if(xybzvalue == 0){
nodeDataJson2.put( "nodename", "会签部门负责人" );
String deptcode = departmentComInfo.getDepartmentCode(hqbmvalue);
bb.writeLog("deptcode:"+deptcode);
// ZZ001014
if("ZZ001014".equals(deptcode)){
nodeDataJson2.put( "signType", "0" ); //20201226
}else{
nodeDataJson2.put( "signType", "1" ); //20201226
}
}
if(xybzvalue==1){
nodeDataJson2.put( "nodename", "跨公司会签" );
nodeDataJson2.put( "signType", Util.getIntValue( sfhq ) );
}
nodeDataJson2.put( "operators", bmfzr );
nodeArray.add( nodeDataJson2 );
} else if (!"".equals( zdry ) && "".equals( bmfzr )) {
JSONObject nodeDataJson1 = new JSONObject();
if(xybzvalue==0){
nodeDataJson1.put( "nodename", "指定人员" );
nodeDataJson1.put( "operators", zdry );
nodeDataJson1.put( "signType", 1 );
}
if(xybzvalue==1){
nodeDataJson1.put( "nodename", "跨公司会签" );
nodeDataJson1.put( "operators", zdry );
nodeDataJson1.put( "signType", Util.getIntValue( sfhq ) );
}
nodeArray.add( nodeDataJson1 );
} else if ("".equals( zdry ) && !"".equals( bmfzr )) {
JSONObject nodeDataJson2 = new JSONObject();
if(xybzvalue==0){
nodeDataJson2.put( "nodename", "会签部门负责人" );
String deptcode = departmentComInfo.getDepartmentCode(hqbmvalue);
bb.writeLog("deptcode:"+deptcode);
// ZZ001014
if("ZZ001014".equals(deptcode)){
nodeDataJson2.put( "signType", "0" ); //20201226
}else{
nodeDataJson2.put( "signType", "1" ); //20201226
}
}
if(xybzvalue==1){
nodeDataJson2.put( "nodename", "跨公司会签" );
nodeDataJson2.put( "signType", Util.getIntValue( sfhq ) );
}
nodeDataJson2.put( "operators", bmfzr );
nodeArray.add( nodeDataJson2 );
}
nodeData.add( nodeArray );
freeNode.put( "nodeData", nodeData );
freeNode.put( "mergeType", 1 ); //合并方式1:按比例方式通过2:按分支数通过)
freeNode.put( "mergeValue", 100 );
bmfzrs += bmfzrs == "" ? "'" + bmfzr + "'" + "" : "," + "'" + bmfzr + "'";
zdrys += zdrys == "" ? "'" + zdry + "'" + "" : "," + "'" + zdry + "'";
}
}
int userid = user.getUID();
// 自由节点参数
Map<String, Object> params = new HashMap<String, Object>();
params.put( "requestid", requestid );
params.put( "nodeid", nodeid );
params.put( "workflowid", workflowid );
params.put( "nodetype", 2 );
params.put( "nextNodeEditPurview", 2 );
params.put( "allowModify", 1 );
params.put( "isFlowToNext", 0 );
params.put( "isAddToParentGroup", 1 );
params.put( "isParallel", 0 );
params.put( "freeNodeData", freeNode );
if (freeNode.size() > 0) {
bb.writeLog( "=================params:" + params.toString() );
//生产自由节点
RequestFreeFlowService freeFlowService = ServiceUtil.getService( RequestFreeFlowServiceImpl.class, user );
freeFlowService.generateFreeNode( params );
int formmodeid = 0 ;
rs.executeQuery( "select m.id from modeinfo m left join WORKFLOW_BILL b on m.formid = b.id where b.tablename = 'uf_qzyjhqb'" );
if(rs.next()){
formmodeid = Util.getIntValue( rs.getString( "id" ) );
}
String freenode = "";
rs.executeQuery( "select id from workflow_freenode where requestid ='" + requestid + "'" );
while (rs.next()) {
String id = Util.null2String(rs.getString("id"));
freenode += freenode==""? id : ","+id ;//自由节点
}
String uf_freenode = "";
rs.executeQuery( " select freenode as id from uf_qzyjhqb where lcid ='" + requestid + "'" );
while(rs.next()) {
String id = Util.null2String(rs.getString("id"));
uf_freenode += uf_freenode==""? id : ","+id ;//自由节点
}
String bmfzrNode= "";
String zdryNode= "";
if(!"".equals(bmfzrs)){
rs.executeQuery( " select id from workflow_freenode where requestid ='" + requestid + "' and to_char(operatorids) in ("+bmfzrs+")" );
while(rs.next()) {
String id = Util.null2String(rs.getString("id"));
bmfzrNode += bmfzrNode ==""? id : ","+id ;//自由节点
}
}
if(!"".equals(zdrys))
{
rs.executeQuery( " select id from workflow_freenode where requestid ='" + requestid + "' and to_char(operatorids) in ("+zdrys+")" );
while (rs.next()) {
String id = Util.null2String(rs.getString("id"));
zdryNode += zdryNode ==""? id : ","+id ;//自由节点
}
}
bb.writeLog( "=================freenode:" + freenode + ",freenode1:" + uf_freenode );
String str = equestStr( freenode, uf_freenode );
boolean flag = rs.executeUpdate( "insert into uf_qzyjhqb(lcid,jdfl,freenode,formmodeid,bmfzr,zdry) values('" + requestid + "','" + jdfl + "','" + str + "','" + formmodeid + "','"+bmfzrNode+"','"+zdryNode+"')" );
if(flag){
rs.executeQuery( "select id from uf_qzyjhqb where requestid='" + requestid + "'" );
while (rs.next())
{
int id = Util.getIntValue(rs.getString( "id" ) );
ModeRightInfo moderight = new ModeRightInfo();
moderight.editModeDataShare( userid, formmodeid, id );
}
apimap.put("flag",true);
}
}else {
apimap.put("flag",false);
}
}catch (Exception e){
}
return apimap;
}
/***
*
* @param str1
* @param str2
* @return
*/
public static String equestStr(String str1, String str2)
{
StringBuilder sb = new StringBuilder();
String[] strings = str1.split( "," );
for (String s : strings) {
if (!str2.contains( s )) {
sb.append( s + "," );
}
}
String str = sb.substring( 0, sb.length() - 1 ).toString();
return str;
}
}

@ -0,0 +1,108 @@
package com.engine.htsc.ityssq.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.*;
public class ItyssqNsryInfoCmd extends AbstractCommonCommand<Map<String, Object>> {
public ItyssqNsryInfoCmd(Map<String, Object> params) {
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
RecordSet rs = new RecordSet();
System.out.println( "in=================ItlxlcLdspInfoCmd" );
Map<String, Object> apimap = new HashMap<String, Object>();
PropBean pb = new PropBean();
List<Map<String,Object>> nsrylist = new ArrayList<Map<String,Object>>();
Map<String,Object> nsrymap = null;
String nsryvalues = "" ;
String nsry = pb.getPropName("ityssq_ngry");
String xmlx = Util.null2String(params.get("xmlx"));
if("0".equals(xmlx) || "2".equals(xmlx)){
if(!"".equals(nsry))
{
nsry = "'"+nsry.replace(",","','")+"'";
String sql = " select id,lastname from hrmresource where workcode in("+nsry+") and belongto is null " ;
rs.execute(sql);
while (rs.next()){
String id = Util.null2String(rs.getString("id"));
String lastname = Util.null2String(rs.getString("lastname"));
nsryvalues += nsryvalues==""? id : ","+id ;
nsrymap = new HashMap<String,Object>();
nsrymap.put("id",id);
nsrymap.put("name",lastname);
nsrylist.add(nsrymap);
}
}
}
List<Map<String,Object>> bmlslist = new ArrayList<Map<String,Object>>();
Map<String,Object> bmldmap = null;
String bmldvalues = "" ;
String bmld_wl = pb.getPropName("ityssq_bmld_wl");
String bmld_cd = pb.getPropName("ityssq_bmld_cd");
String bmlds = "" ;
if("0".equals(xmlx)){
bmlds += bmlds == "" ? "'"+bmld_wl+"'" : ",'"+bmld_wl+"'" ;
}else if("1".equals(xmlx)){
bmlds += bmlds == "" ? "'"+bmld_cd+"'" : ",'"+bmld_cd+"'" ;
}else if("2".equals(xmlx)){
bmlds += bmlds == "" ? "'"+bmld_wl+"'" : ",'"+bmld_wl+"'" ;
bmlds += bmlds == "" ? "'"+bmld_cd+"'" : ",'"+bmld_cd+"'" ;
}
if(!"".equals(bmlds))
{
String sql = " select id,lastname from hrmresource where workcode in("+bmlds+") and belongto is null " ;
rs.execute(sql);
while (rs.next()){
String id = Util.null2String(rs.getString("id"));
String lastname = Util.null2String(rs.getString("lastname"));
bmldvalues += bmldvalues==""? id : ","+id ;
bmldmap = new HashMap<String,Object>();
bmldmap.put("id",id);
bmldmap.put("name",lastname);
bmlslist.add(bmldmap);
}
}
apimap.put("nsryObject",nsrylist);
apimap.put("nsry",nsryvalues);
apimap.put("bmlsObject",bmlslist);
apimap.put("bmls",bmldvalues);
return apimap;
}
public static void main(String[] args) {
GCONST.setRootPath("WEB-INF/");
GCONST.setServerName("ecology");
Map<String, Object> params=new HashMap<>();
params.put("xmlx","0");
ItyssqNsryInfoCmd ItlxlcLdspInfoCmd = new ItyssqNsryInfoCmd(params);
CommandContext ceshi= new CommandContext(null,null);
ItlxlcLdspInfoCmd.execute(ceshi);
}
}

@ -0,0 +1,8 @@
package com.engine.htsc.ityssq.service;
import java.util.Map;
public interface ItAcceptanceApplyService {
Map<String, Object> detailSummary(Map<String, Object> request2Map);
}

@ -0,0 +1,18 @@
package com.engine.htsc.ityssq.service;
import weaver.hrm.User;
import java.util.Map;
public interface ItyssqService {
/**
*
* @param params
* @return
*/
Map<String, Object> createFreeNode(User user, Map<String, Object> params);
Map<String, Object> getNsryInfo( Map<String, Object> params);
}

@ -0,0 +1,42 @@
package com.engine.htsc.ityssq.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.ityssq.service.ItAcceptanceApplyService;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.resource.ResourceComInfo;
import java.util.HashMap;
import java.util.Map;
public class ItAcceptanceApplyServiceImpl extends Service implements ItAcceptanceApplyService {
@Override
public Map<String, Object> detailSummary(Map<String, Object> params) {
Map<String,Object> datas = new HashMap<>();
try{
RecordSet rs = new RecordSet();
ResourceComInfo resourceComInfo = new ResourceComInfo();
String tablename = "formtable_main_" + Util.null2String(params.get("formid"));
String detailname = tablename +"_dt4";
String requestid = Util.null2String(params.get("requestid"));
String xtsxsfyxzc = Util.null2String(params.get("xtsxsfyxzc"));
String tjclsfqb = Util.null2String(params.get("tjclsfqb"));
String xtmzysyq = Util.null2String(params.get("xtmzysyq"));
String bcyj = Util.null2String(params.get("bcyj"));
String clr = Util.null2String(params.get("clr"));
String hqbm = resourceComInfo.getDepartmentID(clr);
String id = "";
rs.executeQuery("select id from "+tablename+" where requestid = ?",requestid);
if (rs.next()){
id = Util.null2String(rs.getString("id"));
}
String sql = "insert into "+detailname+"(mainid,hqbm,clr,xtsxsfyxzc,tjclsfqb,xtmzysyq,bcyj) " +
" values(?,?,?,?,?,?,?)";
rs.executeUpdate(sql,new Object[]{id,hqbm,clr,xtsxsfyxzc,tjclsfqb,xtmzysyq,bcyj});
}catch (Exception e){
e.printStackTrace();
}
return datas;
}
}

@ -0,0 +1,24 @@
package com.engine.htsc.ityssq.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.ityssq.cmd.ItyssqFreeNodeCmd;
import com.engine.htsc.ityssq.cmd.ItyssqNsryInfoCmd;
import com.engine.htsc.ityssq.service.ItyssqService;
import weaver.hrm.User;
import java.util.Map;
public class ItyssqServiceImpl extends Service implements ItyssqService {
@Override
public Map<String, Object> createFreeNode(User user, Map<String, Object> params) {
return commandExecutor.execute(new ItyssqFreeNodeCmd(user,params));
}
@Override
public Map<String, Object> getNsryInfo(Map<String, Object> params) {
return commandExecutor.execute(new ItyssqNsryInfoCmd(params));
}
}

@ -0,0 +1,50 @@
package com.engine.htsc.ityssq.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.ityssq.service.ItAcceptanceApplyService;
import com.engine.htsc.ityssq.service.impl.ItAcceptanceApplyServiceImpl;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class ItAcceptanceApplyAction {
private ItAcceptanceApplyService getService(User user){
return ServiceUtil.getService(ItAcceptanceApplyServiceImpl.class,user);
}
/**
* It4
* @param request
* @param response
* @return
*/
@POST
@Path("/summary")
@Produces({MediaType.APPLICATION_JSON})
public Map<String,Object> detailSummary(@Context HttpServletRequest request,
@Context HttpServletResponse response){
Map<String, Object> apidatas = new HashMap<>();
try {
User user = HrmUserVarify.getUser(request, response);
apidatas = this.getService(user).detailSummary(ParamUtil.request2Map(request));
apidatas.put("api_status", 1);
}catch (Exception e){
e.printStackTrace();
apidatas.put("api_status",-1);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return apidatas;
}
}

@ -0,0 +1,98 @@
package com.engine.htsc.ityssq.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.ityssq.service.ItyssqService;
import com.engine.htsc.ityssq.service.impl.ItyssqServiceImpl;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.interfaces.htsc.comInfo.PropBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class ItxqsqAction {
public ItyssqService getService(HttpServletRequest request, HttpServletResponse response){
User user = HrmUserVarify.getUser( request, response );
return (ItyssqService) ServiceUtil.getService(ItyssqServiceImpl.class,user);
}
@POST
@Path("/createFreeNode")
@Produces({MediaType.TEXT_PLAIN})
public String createFreeNode(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
User user = HrmUserVarify.getUser( request, response );
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas = getService(request,response).createFreeNode(user,param);
apidatas.put("api_status", true);
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
@GET
@Path("/getNsBmsdInfo")
@Produces({MediaType.TEXT_PLAIN})
public String getNsBmsdInfo(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
User user = HrmUserVarify.getUser( request, response );
Map<String,Object> param = ParamUtil.request2Map(request);
apidatas = getService(request,response).getNsryInfo(param);
apidatas.put("api_status", true);
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
@GET
@Path("/getszbm")
@Produces({MediaType.TEXT_PLAIN})
public String getszbm(@Context HttpServletRequest request, @Context HttpServletResponse response){
Map<String,Object> apidatas = new HashMap<String,Object>();
try {
RecordSet rs = new RecordSet();
Map<String,Object> param = ParamUtil.request2Map(request);
String szbm = Util.null2String(param.get("szbm"));
PropBean pb = new PropBean();
String xxjsb = pb.getPropName("ityssq_xxjsb");
String isxxjsb = "0";
String departmentcode = "" ;
if(!"".equals(szbm) && !"".equals(xxjsb)){
String sql = " select departmentcode from hrmdepartment where id="+xxjsb ;
rs.execute(sql);
if(rs.next()){
departmentcode = Util.null2String(rs.getString("departmentcode"));
}
}
if(!"".equals(departmentcode) && departmentcode.equals(xxjsb)){
isxxjsb = "1";
}
apidatas.put("isxxjsb", isxxjsb);
apidatas.put("api_status", true);
} catch (Exception e) {
e.printStackTrace();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", "catch exception : " + e.getMessage());
}
return JSONObject.toJSONString(apidatas);
}
}

@ -0,0 +1,180 @@
package com.engine.htsc.jgzxzysx.cmd;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.htsc.payment.util.PayUtil;
import com.engine.integration.util.StringUtils;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.stream.IntStream;
import java.util.stream.LongStream;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JgzxzdsywknumberCmd.java
* @createTime 20220519 16:14:00
*/
public class JgzxzdsywknumberCmd extends AbstractCommonCommand<Map<String, Object>> {
public JgzxzdsywknumberCmd(User user, Map<String, Object> params) {
this.params = params;
this.user = user;
}
private DateTime newdate=DateTime.now();
private String tablename="uf_jgzxlcbh";
private RecordSet rs=new RecordSet();
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
PropBean pb=new PropBean();
Map<String,Object> returnmap=new HashMap<>();
String datename=newdate.toString("yyyyMMdd");
String deptid= Util.null2String(this.params.get("deptid"));
String name=Util.null2String(pb.getPropName("jgzxzdsy.workflownumname"));
//Util.null2String(user.getUserDepartment())
String deptname = getdeptname(deptid);
String unnumber= Util.null2String(this.params.get("unnumber"));
String numberno=name+deptname+datename;
String value= getrangevalue(numberno);
returnmap.put("data",value);
return returnmap;
}
private int rollnum=0;
public String getrangevalue(String unnumber){
int randnum=(int)((Math.random()*9+1)*100000);
String value=unnumber+randnum;
int maxnum=100;
// while(!getsql(value) && rollnum<=maxnum){
// rollnum++;
// getrangevalue(unnumber);
// };
//递归有点吃线程资源
for (int i=0;i<maxnum;i++){
if(getsql(unnumber)) {
break;
}
}
return value;
}
public boolean getsql(String remark){
int randnum=(int)((Math.random()*9+1)*100000);
String sql="select count(*) as numcount from workflow_requestbase where requestmark=? ";
rs.executeQuery(sql,remark);
if(rs.getCounts()<=0){
return true;
}
rs.next();
int value=Util.getIntValue(Util.null2String(rs.getString("numcount")),-1);
if(value<=0){
return true;
}
return false;
}
//
public void insertmodel(Map<String,String> map){
String modeuuid = UUID.randomUUID().toString();
int formModeId = PayUtil.getFormModeIdByCubeName("uf_fklcbh");
map.put("FORMMODEID",Util.null2String(formModeId));
map.put("MODEDATACREATER",Util.null2String(this.user.getUID()));
map.put("MODEDATACREATERTYPE",Util.null2String(this.user.getType()));
map.put("MODEDATACREATEDATE", newdate.toString("yyyy-MM-dd"));
map.put("MODEDATACREATETIME",newdate.toString("HH:mm:ss"));
map.put("MODEUUID",modeuuid);
JAVATools.Excetesql(map,tablename);
//权限重构
int dataId = PayUtil.getDataIdByUUID(modeuuid);
ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.editModeDataShare(1, formModeId, dataId);
}
public String getdeptname(String id){
if(StringUtils.isBlank(id)){
return "";
}
String sql="select docnumabbreviation from hrmdepartmentdefined where 1=1 ";
Map<String,String> wheremap=new HashMap<>();
wheremap.put("deptid",id);
Map<String,Object> retmap=JAVATools.GetTableToMap(sql,wheremap);
if(retmap==null || retmap.size()<=0){
return "";
}
return Util.null2String(retmap.get("docnumabbreviation"));
}
// String isCreate = Util.null2String(request.getParameter("iscreate")); //是否为创建,1为创建
// int workFlowId = Util.getIntValue(request.getParameter("workflowid"));
// int formModeId = PayUtil.getFormModeIdByCubeName("uf_fklcbh");
// StringBuilder mark = new StringBuilder(); //流程编码
// String sql = "select WORKFLOWNAME,UNNUMBER from workflow_base where ID=?";
// rs.executeQuery(sql, workFlowId);
// String name = "";
// if (rs.next()) {
// name = rs.getString("WORKFLOWNAME");
// }
//
// String unNumber = PayUtil.getUnNumberByWorkFlowId(workFlowId);
// String modeUuid = "";
// LocalDateTime now = LocalDateTime.now();
// String yM = now.format(DateTimeFormatter.ofPattern("yyyyMM"));
//
// synchronized (this) {
// rs.executeQuery("select id,lsh,MODEUUID from uf_fklcbh where ny = '" + yM + "' and LCLX='" + unNumber + "'");
// if (rs.next()) {
// //更新
// int num = Util.getIntValue(rs.getString("lsh")) + 1;
// int id = Util.getIntValue(rs.getString("id"));
// modeUuid = Util.null2String(rs.getString("MODEUUID"));
// String updateSql = "update uf_fklcbh set lsh=? where id=?";
// rs.executeUpdate(updateSql, num, id);
// mark = new StringBuilder(num + "");
// while (mark.length() < 6) {
// mark.insert(0, "0");
// }
// mark = new StringBuilder(name + now.format(DateTimeFormatter.ofPattern("yyyyMM")) + mark);
// } else {
// String userId = Util.null2String(request.getParameter("f_weaver_belongto_userid"));
// String userType = Util.null2String(request.getParameter("f_weaver_belongto_usertype"));
// String createDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
// String createTime = now.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
// //插入
// String insertSql = "insert into uf_fklcbh" +
// "(FORMMODEID,MODEDATACREATER,MODEDATACREATERTYPE,MODEDATACREATEDATE,MODEDATACREATETIME,MODEUUID,LSH,NY,LCLX) \n" +
// "values(?,?,?,?,?,?,?,?,?)";
// String uuid = UUID.randomUUID().toString();
// modeUuid = uuid;
// rs.executeUpdate(insertSql, formModeId, userId, userType, createDate, createTime, uuid, "1", yM, unNumber);
// mark = new StringBuilder(name + now.format(DateTimeFormatter.ofPattern("yyyyMM")) + "000001");
// }
// //权限重构
// int dataId = PayUtil.getDataIdByUUID(modeUuid);
// ModeRightInfo modeRightInfo = new ModeRightInfo();
// modeRightInfo.editModeDataShare(1, formModeId, dataId);
// return null;
//
}

@ -0,0 +1,30 @@
package com.engine.htsc.jgzxzysx.service;
import com.alibaba.fastjson.JSONObject;
import weaver.hrm.User;
import java.util.Map;
import java.util.Set;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JgzxzysxAction.java
* @createTime 20220511 13:47:00
*/
public interface JgzxzysxService {
public boolean donewkconfidential(User user, Map<String,Object> map);
public JSONObject getDataRange(User user, Map<String,Object> map);
public Set<String> getwkdonetosuer(User user, Map<String,Object> map);
public String getnumber(User user, Map<String,Object> map);
public JSONObject getleaderallname(User user, Map<String,Object> map);
public boolean getleadercflag(User user, Map<String,Object> map);
}

@ -0,0 +1,345 @@
package com.engine.htsc.jgzxzysx.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.core.impl.Service;
import com.engine.htsc.jgzxzysx.cmd.JgzxzdsywknumberCmd;
import com.engine.htsc.jgzxzysx.service.JgzxzysxService;
import com.engine.htsc.jgzxzysx.util.JgzxzysxUtil;
import com.engine.integration.util.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.hrm.resource.ResourceComInfo;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JgzxzysxServiceImp.java
* @createTime 20220511 13:48:00
*/
public class JgzxzysxServiceImp extends Service implements JgzxzysxService {
private PropBean pb=new PropBean();
@Override
public boolean donewkconfidential(User user, Map<String, Object> map) {
if(map==null || map.size()<=0){
return false;
}
String requestid= Util.null2String(map.get("requestid"));
if(StringUtils.isBlank(requestid) )
{
return false;
}
return JgzxzysxUtil.getworkflowflag(map);
}
@Override
public Set<String> getwkdonetosuer(User user, Map<String,Object> map){
Set<String> useridSet = new HashSet<>();
if(map==null || map.size()<=0){
return useridSet;
}
String requestid=Util.null2String(map.get("requestid"));
String nodeunnumber=Util.null2String(map.get("nodeunnumber"));
if(StringUtils.isBlank(requestid) || StringUtils.isBlank(nodeunnumber) ){
return useridSet;
}
String nodeid = pb.getActionNodeIdByUnNumber(nodeunnumber);
String sql = "select operator,agentorbyagentid from workflow_requestlog where requestid = '"+requestid+"' and nodeid = '"+nodeid+"'";
List<Map<String,Object>> list= JAVATools.GetTableToListMap(sql,null);
if(list!=null && list.size()>0){
list.forEach((Map<String,Object> retmap)->{
String agentorbyagentid = Util.null2String(retmap.get("agentorbyagentid"));
if("-1".equals(agentorbyagentid)){//授权,获取原处理人
String operator = Util.null2String(retmap.get("operator"));
useridSet.addAll(getAllUserid(operator));
}else{
useridSet.addAll(getAllUserid(agentorbyagentid));
}
});
}
return useridSet;
}
@Override
public JSONObject getDataRange(User user, Map<String,Object> map){
String sblb= Util.null2String(map.get("sblb"));
String sblx= Util.null2String(map.get("sblx"));
JSONObject jsonObject=new JSONObject();
JSONArray jsonnullArray=new JSONArray();
jsonObject.put("ywzgbmfzr",jsonnullArray);
jsonObject.put("ywzgbmns",jsonnullArray);
jsonObject.put("hqbm",jsonnullArray);
jsonObject.put("gsld",jsonnullArray);
if(StringUtils.isBlank(sblb) || StringUtils.isBlank(sblx)){
return jsonObject;
}
String sql="select * from uf_jgzxsyfw where 1=1 ";
Map<String,String> wheremap=new HashMap<>();
wheremap.put("sblb",sblb);
wheremap.put("sblx",sblx);
Map<String,Object> selectmap= JAVATools.GetTableToMap(sql,wheremap);
if(selectmap==null || selectmap.size()<=0){
return jsonObject;
}
String gsld=Util.null2String(selectmap.get("gsld"));
if(!StringUtils.isBlank(gsld)){
JSONArray jsonArray= getusermap(gsld);
if(jsonArray!=null && jsonArray.size()>0){
jsonObject.put("gsld",jsonArray);
}
}
//业务主管部门负责人(ywzgbmfzr)、
// 会签部门(hqbm)
String ywzgbmns=Util.null2String(selectmap.get("ywzgbmns"));
if(!StringUtils.isBlank(ywzgbmns)){
JSONArray jsonArray= getusermap(ywzgbmns);
if(jsonArray!=null && jsonArray.size()>0){
jsonObject.put("ywzgbmns",jsonArray);
}
}
String hqbm=Util.null2String(selectmap.get("hqbm"));
if(!StringUtils.isBlank(hqbm)){
JSONArray jsonArray= getdeptmap(hqbm);
if(jsonArray!=null && jsonArray.size()>0){
jsonObject.put("hqbm",jsonArray);
}
}
String ywzgbmldbq=Util.null2String(selectmap.get("ywzgbmldbq"));
if(!StringUtils.isBlank(ywzgbmldbq)){
if ("0".equals(ywzgbmldbq)){
String ywzgbm=Util.null2String(selectmap.get("ywzgbm"));
if (!StringUtils.isBlank(ywzgbm)){
ywzgbm = Arrays.stream(ywzgbm.split(",")).distinct().collect(Collectors.joining(","));
String sql02="select wm_concat_old( distinct DEPTDIRECTORS) as userid from hrmdepartmentdefined where deptid in "+ywzgbm+" )";
Map<String,Object> selectmap02= JAVATools.GetTableToMap(sql02,null);
if(selectmap02==null || selectmap02.size()<=0){
jsonObject.put("ywzgbmfzr",jsonnullArray);
}else {
String userid=Util.null2String(selectmap02.get("userid"));
if(!StringUtils.isBlank(userid)){
JSONArray jsonArray02= getusermap(userid);
if(jsonArray02==null || jsonArray02.size()<=0){
jsonObject.put("ywzgbmfzr",jsonnullArray);
}
jsonObject.put("ywzgbmfzr",jsonArray02);
}
}
}
}
}
String qzsyrys = Util.null2String(selectmap.get("qzsyry"));
if(!StringUtils.isBlank(qzsyrys)){
jsonObject.put("qztzyd",getDefaultNotice(qzsyrys));
}
return jsonObject;
}
@Override
public String getnumber(User user, Map<String, Object> map) {
Map<String,Object> retmap= commandExecutor.execute(new JgzxzdsywknumberCmd(user,map));
if(retmap==null || retmap.size()<=0){
return "";
}
return Util.null2String(retmap.get("data"));
}
@Override
public JSONObject getleaderallname(User user, Map<String, Object> map) {
String type=Util.null2String(map.get("type"));
JSONObject jsonObject=new JSONObject();
if(StringUtils.isBlank(type)){
return jsonObject;
}
type= Arrays.stream(type.split(",")).distinct().collect(Collectors.joining(","));
String sql="select id,hqld,gwry from uf_jgzxhqld where 1=1 and id in ("+type+")";
List<Map<String,Object>> mainlistmap=JAVATools.GetTableToListMap(sql,null);
if(mainlistmap==null || mainlistmap.size()<=0){
return jsonObject;
}
mainlistmap.forEach((item)->{
Map<String,Object> detaimap=(Map<String,Object>)item;
String id=Util.null2String(detaimap.get("id"));
String hqld=Util.null2String(detaimap.get("hqld"));
String gwry=Util.null2String(detaimap.get("gwry"));
String name=JAVATools.getHrmName(gwry);
if(StringUtils.isBlank(name)){
jsonObject.put(id,hqld);
}else{
jsonObject.put(id,name+"("+hqld+")");
}
});
return jsonObject;
}
@Override
public boolean getleadercflag(User user, Map<String, Object> map) {
String requestid=Util.null2String(map.get("requestid"));
String hqld=Util.null2String(map.get("hqld"));
String userdeptid=Util.null2String(user.getUserDepartment());
if(StringUtils.isBlank(requestid) || StringUtils.isBlank(hqld)){
return false;
}
String jsonpb= new PropBean().getPropName("jgzxzysy.leaderflag");
JSONObject jsonobject=reloadleaderjson(JSONObject.parseObject(jsonpb));
if(jsonobject==null || jsonobject.size()<=0){
return false;
}
String sql="select wm_concat_old(distinct operatordept) as operatordepts from workflow_requestlog where nodeid<0 ";
Map<String,String> wheremap=new HashMap<>();
wheremap.put("requestid",requestid);
Map<String,Object> retmap=JAVATools.GetTableToMap(sql,wheremap);
String operatordepts=Util.null2String(retmap.get("operatordepts"));
boolean flag= Arrays.stream(hqld.split(",")).distinct().anyMatch((item)->{
String value=Util.null2String(jsonobject.get(item));
if(StringUtils.isBlank(value)){
return true;
}
if((","+value+",").indexOf(","+userdeptid+",")>=0){
return false;
}else{
if(StringUtils.isBlank(operatordepts)){
return true;
}
Set<String> set=new HashSet<>();
set.addAll(Arrays.stream(operatordepts.split(",")).collect(Collectors.toSet()));
set.retainAll(Arrays.stream(value.split(",")).collect(Collectors.toSet()));
if(set==null || set.size()<=0){
return true;
}
}
return false;
});
return !flag;
}
public JSONObject reloadleaderjson(JSONObject jsonobject){
if(jsonobject==null || jsonobject.size()<=0){
return null;
}
JSONObject jsonObject1=new JSONObject();
jsonobject.forEach((key,value)->{
jsonObject1.put(Util.null2String(key),getdeptcodetoids(Util.null2String(value)));
});
return jsonObject1;
}
public String getdeptcodetoids(String deptcode){
if(StringUtils.isBlank(deptcode)){
return "";
}
try {
deptcode= Arrays.stream(deptcode.split(",")).distinct().map(item->"'"+item+"'").collect(Collectors.joining(","));
String sql ="select wm_concat_old(id) as id from hrmdepartment where 1=1 and departmentcode in ("+deptcode+")";
Map<String,Object> mapitem = JAVATools.GetTableToMap(sql, null);
if (mapitem == null || mapitem.size() <= 0) {
return "";
}
return Util.null2String(mapitem.get("id"));
}catch (Exception e){
return "";
}
}
public JSONArray getusermap(String userids){
if(StringUtils.isBlank(userids)){
return null;
}
try {
userids = Arrays.stream(userids.split(",")).distinct().collect(Collectors.joining(","));
String sql = "select id,lastname as name from hrmresource where id in (" + userids + ")";
List list = JAVATools.GetTableToListMap(sql, null);
if (list == null || list.size() <= 0) {
return null;
}
JSONArray retlist = new JSONArray(list);
if (retlist == null || retlist.size() <= 0) {
return null;
}
return retlist;
}catch (Exception e){
return null;
}
}
public JSONArray getdeptmap(String userids){
if(StringUtils.isBlank(userids)){
return null;
}
try {
userids = Arrays.stream(userids.split(",")).distinct().collect(Collectors.joining(","));
String sql = "select id,departmentname as name from hrmdepartment where id in (" + userids + ")";
List list = JAVATools.GetTableToListMap(sql, null);
if (list == null || list.size() <= 0) {
return null;
}
JSONArray retlist = new JSONArray(list);
if (retlist == null || retlist.size() <= 0) {
return null;
}
return retlist;
}catch (Exception e){
return null;
}
}
private List<String> getAllUserid(String id){
BaseBean bs = new BaseBean();
RecordSet rs = new RecordSet();
List<String> idList = new ArrayList<>();
String mainUserid = JAVATools.getmainhrmid(id);
idList.add(mainUserid);
String sql="select id from hrmresource where belongto = '"+mainUserid+"'";
bs.writeLog(sql);
rs.executeQuery(sql);
while(rs.next()){
idList.add(Util.null2String(rs.getString("id")));
}
return idList;
}
/**
*
* @param qzsyrys
* @return
*/
public JSONObject getDefaultNotice(String qzsyrys){
JSONObject jsonObject=new JSONObject();
try{
jsonObject.put( "qzsyryid", getusermap(qzsyrys));
}catch (Exception e){
e.printStackTrace();
}
return jsonObject;
}
}

@ -0,0 +1,46 @@
package com.engine.htsc.jgzxzysx.util;
import com.engine.integration.util.StringUtils;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.HashMap;
import java.util.Map;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JgzxzysxUtil.java
* @createTime 20220511 13:47:00
*/
public class JgzxzysxUtil {
private static PropBean pb=new PropBean();
public static boolean getworkflowflag(Map<String,Object> map){
String requestid= Util.null2String(map.get("requestid"));
String nodeid=pb.getActionNodeIdByUnNumber(pb.getPropName("jgzxzysx.node.jgzxzysx_jgzxfzrsh"));
if(StringUtils.isBlank(requestid) ||StringUtils.isBlank(nodeid) ){
return false;
}
String sql=" select count(*) as sunum from workflow_requestlog where 1=1 ";
Map<String,String> wheremap=new HashMap<>();
wheremap.put("requestid",requestid);
wheremap.put("nodeid",nodeid);
Map<String,Object> retmap=JAVATools.GetTableToMap(sql,wheremap);
if(retmap==null || retmap.size()<=0){
return false;
}
int sunnum=Util.getIntValue(Util.null2String(retmap.get("sunum")),0);
if(sunnum>0){
return true;
}else{
return false;
}
}
}

@ -0,0 +1,124 @@
package com.engine.htsc.jgzxzysx.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.jgzxzysx.service.JgzxzysxService;
import com.engine.htsc.jgzxzysx.service.impl.JgzxzysxServiceImp;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JgzxzysxAction.java
* @createTime 20220511 13:47:00
*/
public class JgzxzysxAction {
private JgzxzysxService jgzxzysxService= ServiceUtil.getService(JgzxzysxServiceImp.class);
@POST
@Path("/getdonewkconfidential")
@Produces({MediaType.TEXT_PLAIN})
public String getdonewkconfidential(@Context HttpServletRequest request, @Context HttpServletResponse response) {
JAVATools.SetCmdwritelog("-------------JgzxzysxAction.getdonewkconfidential-------------");
User user = HrmUserVarify.getUser(request, response);
try {
boolean flag = jgzxzysxService.donewkconfidential(user, ParamUtil.request2Map(request));
return JAVATools.Apiretrun("200", flag);
} catch (Exception e) {
return JAVATools.Apiretrun("400", "error");
}
}
@POST
@Path("/getdwkonetosuer")
@Produces({MediaType.TEXT_PLAIN})
public String getwkdonetosuer(@Context HttpServletRequest request, @Context HttpServletResponse response) {
JAVATools.SetCmdwritelog("-------------JgzxzysxAction.getdonewkconfidential-------------");
User user = HrmUserVarify.getUser(request, response);
try{
Set<String> set=jgzxzysxService.getwkdonetosuer(user, ParamUtil.request2Map(request));
if(set==null || set.size()<=0){
return JAVATools.Apiretrun("200","");
}
return JAVATools.Apiretrun("200",set.stream().collect(Collectors.joining(",")));
}catch (Exception e){
return JAVATools.Apiretrun("400","error");
}
}
@POST
@Path("/getDataRange")
@Produces({MediaType.TEXT_PLAIN})
public String getDataRange(@Context HttpServletRequest request, @Context HttpServletResponse response){
JAVATools.SetCmdwritelog("-------------JgzxzysxAction.getDataRange-------------");
User user = HrmUserVarify.getUser(request, response);
try{
JSONObject jsonObject=jgzxzysxService.getDataRange(user, ParamUtil.request2Map(request));
return JAVATools.Apiretrun("200",jsonObject);
}catch (Exception e){
return JAVATools.Apiretrun("400","error");
}
}
@POST
@Path("/getnumber")
@Produces({MediaType.TEXT_PLAIN})
public String getnumber(@Context HttpServletRequest request, @Context HttpServletResponse response){
JAVATools.SetCmdwritelog("-------------JgzxzysxAction.getnumber-------------");
User user = HrmUserVarify.getUser(request, response);
try{
String value=jgzxzysxService.getnumber(user, ParamUtil.request2Map(request));
return JAVATools.Apiretrun("200",value);
}catch (Exception e){
return JAVATools.Apiretrun("400","error");
}
}
@POST
@Path("/getleaderallname")
@Produces({MediaType.TEXT_PLAIN})
public String getleaderallname(@Context HttpServletRequest request, @Context HttpServletResponse response){
JAVATools.SetCmdwritelog("-------------JgzxzysxAction.getfreenodeadmin-------------");
User user = HrmUserVarify.getUser(request, response);
try{
JSONObject value=jgzxzysxService.getleaderallname(user, ParamUtil.request2Map(request));
return JAVATools.Apiretrun("200",value);
}catch (Exception e){
return JAVATools.Apiretrun("400","error");
}
}
@POST
@Path("/getleadercflag")
@Produces({MediaType.TEXT_PLAIN})
public String getleadercflag(@Context HttpServletRequest request, @Context HttpServletResponse response){
JAVATools.SetCmdwritelog("-------------JgzxzysxAction.getnumber-------------");
User user = HrmUserVarify.getUser(request, response);
try{
Boolean value=jgzxzysxService.getleadercflag(user, ParamUtil.request2Map(request));
return JAVATools.Apiretrun("200",value);
}catch (Exception e){
return JAVATools.Apiretrun("400","error");
}
}
}

@ -0,0 +1,87 @@
package com.engine.htsc.jjhtyfk.cmd;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.util.HT_WorkflowInfo;
import java.util.HashMap;
import java.util.Map;
/**
* @Author Weaver.SongYuchen
* @Date 2022-03-31
* @Description
*/
public class GetContractInfoCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetContractInfoCmd(User user, Map<String, Object> params) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
/**
*
*
* @param commandContext
* @return
*/
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<>();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
try {
String requestId = Util.null2String(params.get("code")); //获取用印流程requestid
HT_WorkflowInfo HT_WorkflowInfo = new HT_WorkflowInfo();
String formTableName = HT_WorkflowInfo.getFormTableByRequestid(requestId); //根据requestid获取流程表名
bb.writeLog("用印流程requestId: " + requestId);
bb.writeLog("用印流程表名: " + formTableName);
//查询用印流程主表数据
String sql = "select id, htje, yfje from " + formTableName + " where requestid = '" + requestId + "'";
bb.writeLog("sql: " + sql);
String mainId = "";
rs.execute(sql);
if (rs.next()) {
bb.writeLog("合同金额: " + Util.null2String(rs.getString("htje")) + " 已付金额:" + Util.null2String(rs.getString("yfje")));
mainId = Util.null2String(rs.getString("id"));
resultMap.put("htje", Util.null2String(rs.getString("htje")));
resultMap.put("yfje", Util.null2String(rs.getString("yfje")));
}
//查询用印流程明细表数据
sql = "select wjmc, htbh from " + formTableName + "_dt7 where mainid = '" + mainId + "' and sfsht = 1";
bb.writeLog("sql: " + sql);
rs.execute(sql);
if (rs.next()) {
bb.writeLog("文件名称: " + Util.null2String(rs.getString("wjmc")) + " 合同编号:" + Util.null2String(rs.getString("htbh")));
resultMap.put("htbh", Util.null2String(rs.getString("htbh")));
//根据文件id获取文件名
sql = "select k.imagefilename from DocDetail t inner join DocImageFile k on k.docid = t.id \n" +
"where t.id in (" + Util.null2String(rs.getString("wjmc")) + ")";
bb.writeLog("sql: " + sql);
rs.execute(sql);
if (rs.next()) {
resultMap.put("wjmc", Util.null2String(rs.getString("imagefilename")));
}
}
} catch (Exception e) {
bb.writeLog("获取合同信息异常, error: " + e.getMessage());
resultMap.put("error", e.getMessage());
return resultMap;
}
return resultMap;
}
}

@ -0,0 +1,18 @@
package com.engine.htsc.jjhtyfk.service;
import java.util.Map;
/**
* @Author Weaver.SongYuchen
* @Date 2022-03-31
* @Description
*/
public interface GetContractInfoService {
/**
*
*
* @param params
* @return
*/
Map<String, Object> getContractInfo(Map<String, Object> params);
}

@ -0,0 +1,25 @@
package com.engine.htsc.jjhtyfk.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.jjhtyfk.cmd.GetContractInfoCmd;
import com.engine.htsc.jjhtyfk.service.GetContractInfoService;
import java.util.Map;
/**
* @Author Weaver.SongYuchen
* @Date 2022-03-31
* @Description
*/
public class GetContractInfoServiceImpl extends Service implements GetContractInfoService {
/**
*
*
* @param params
* @return
*/
@Override
public Map<String, Object> getContractInfo(Map<String, Object> params) {
return commandExecutor.execute(new GetContractInfoCmd(user, params));
}
}

@ -0,0 +1,50 @@
package com.engine.htsc.jjhtyfk.web;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.jjhtyfk.service.GetContractInfoService;
import com.engine.htsc.jjhtyfk.service.impl.GetContractInfoServiceImpl;
import com.engine.htsc.trip.util.AjaxResult;
import weaver.general.BaseBean;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
/**
* @Author Weaver.SongYuchen
* @Date 2022-03-31
* @Description
*/
public class GetContractInfoAction {
private GetContractInfoService getService() {
return ServiceUtil.getService(GetContractInfoServiceImpl.class);
}
/**
*
*
* @param data
* @return
*/
@POST
@Path("/getContractInfo")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public AjaxResult<Map<String, Object>> getContractInfo(Map<String, Object> data) {
Map<String, Object> apidatas = new HashMap<>();
BaseBean bb = new BaseBean();
try {
bb.writeLog("========================= getContractInfo Interfaces =========================");
apidatas.putAll(getService().getContractInfo(data));
apidatas.put("status", "1");
return AjaxResult.ok(apidatas);
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error(e.getMessage());
}
}
}

@ -0,0 +1,39 @@
package com.engine.htsc.jjhyy.dao;
import com.engine.integration.util.StringUtils;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JjhyybaseDao.java
* @createTime 20220318 10:41:00
*/
public class JjhyybaseDao {
/**
* @title getdetailnumber
* @author K1810015
* @updateTime 2022/3/18 10:59
* @Remark
* @throws
*/
public static List<Map<String,Object>> getdetailnumber(Map<String,Object> map){
String requestid= Util.null2String(map.get("requestid"));
String tablename= Util.null2String(map.get("tablename"));
if(StringUtils.isBlank(requestid) || StringUtils.isBlank(tablename)){
return null;
}
String sql="select dt.* from "+tablename+"_dt7 dt left join "+tablename+" t on dt.mainid=t.id "+
" where dt.sfsht=1 and ( dt.htbh is null or dt.htbh ='') ";
Map<String,String> wheremap=new HashMap<>(1);
wheremap.put("t.requestid",requestid);
return JAVATools.GetTableToListMap(sql,wheremap);
}
}

@ -0,0 +1,77 @@
package com.engine.htsc.jjhyy.enitry;
import com.engine.doc.util.TableEditUtil;
import weaver.interfaces.htsc.GlobatTools.TableUtils;
/**
* @author K1810015
* @version 1.0.0
* @ClassName uf_jjhhtbh.java
* @createTime 20220318 13:59:00
*/
public class Uf_jjhhtbh extends TableUtils {
private String cjsj;
private Integer bm;
private String wjmc;
private String nf;
private Integer wh;
private String lcid;
private Integer ngr;
public Integer getNgr() {
return ngr;
}
public void setNgr(Integer ngr) {
this.ngr = ngr;
}
public String getCjsj() {
return cjsj;
}
public void setCjsj(String cjsj) {
this.cjsj = cjsj;
}
public Integer getBm() {
return bm;
}
public void setBm(Integer bm) {
this.bm = bm;
}
public String getWjmc() {
return wjmc;
}
public void setWjmc(String wjmc) {
this.wjmc = wjmc;
}
public String getNf() {
return nf;
}
public void setNf(String nf) {
this.nf = nf;
}
public Integer getWh() {
return wh;
}
public void setWh(Integer wh) {
this.wh = wh;
}
public String getLcid() {
return lcid;
}
public void setLcid(String lcid) {
this.lcid = lcid;
}
}

@ -0,0 +1,23 @@
package com.engine.htsc.jjhyy.service;
import com.alibaba.fastjson.JSONObject;
import weaver.hrm.User;
import java.util.Map;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JjhyybaseService.java
* @createTime 20220318 10:39:00
*/
public interface JjhyybaseService {
void createdetailnumber(User user, Map<String,Object> map);
public boolean getwkyygldoneuser(User user, Map<String,Object> map);
public Map<String,Object> getsealname(User user, Map<String,Object> map);
public JSONObject getOtherReadUser(User user, Map<String,Object> map);
}

@ -0,0 +1,180 @@
package com.engine.htsc.jjhyy.service.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.core.impl.Service;
import com.engine.htsc.jjhyy.dao.JjhyybaseDao;
import com.engine.htsc.jjhyy.enitry.Uf_jjhhtbh;
import com.engine.htsc.jjhyy.service.JjhyybaseService;
import com.engine.integration.util.StringUtils;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.DeptUtils;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.comInfo.PropBean;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JjhyybaseService.java
* @createTime 20220318 10:39:00
*/
public class JjhyybaseServiceImpl extends Service implements JjhyybaseService {
private PropBean pb=new PropBean();
private String date = DateUtil.format(new Date(), "yyyy-MM-dd");
@Override
public boolean getwkyygldoneuser(User user,Map<String, Object> map) {
String nodenumbber=Util.null2String(pb.getPropName("jjhyy.nodenumber.jjhyy_yyglfh"));
String requestid=Util.null2String(map.get("requestid"));
Set<String> useridSet = new HashSet<>();
String sql = "select operator,agentorbyagentid from workflow_requestlog where requestid = '"+requestid+"' " +
" and nodeid in ( select id from workflow_nodebase where unnumber='"+nodenumbber+"') order by to_date((operatedate || ' ' || OPERATETIME),'yyyy-MM-dd hh24:mi:ss') desc";
boolean falg=false;
List list =JAVATools.GetTableToListMap(sql,null);
if(list!=null && list.size()>0){
falg=true;
}
return falg;
}
@Override
public Map<String, Object> getsealname(User user, Map<String, Object> map) {
String unnumber=Util.null2String(map.get("unnumber"));
String sealname= Util.null2String(map.get("sealname"));
Map<String,Object> resultMap = new HashMap<>();
if(StringUtils.isBlank(unnumber) || StringUtils.isBlank(sealname)){
return null;
}
Arrays.stream(sealname.split(",")).forEach((value)->{
Map<String,Object> mapvalue= getsealmap(unnumber,value);
if(mapvalue!=null && mapvalue.size()>0){
resultMap.put(value,mapvalue);
}
});
return resultMap;
}
private Map<String,Object> getsealmap(String lcxx,String eselname){
if(StringUtils.isBlank(lcxx) || StringUtils.isBlank(eselname)){
return null;
}
String sql = "select t1.id,t1.yzmc,t1.yzlx,t1.pxzd from uf_yinzhang" +
" t1,uf_tsld t2 where t2.yz = t1.id ";
Map<String,String> wheremap=new HashMap<>();
wheremap.put("t2.lcxx",lcxx);
wheremap.put("t2.qt",eselname);
return JAVATools.GetTableToMap(sql,wheremap);
}
@Override
public void createdetailnumber(User user, Map<String,Object> map) {
String requestid= Util.null2String(map.get("requestid"));
String tablename= Util.null2String(map.get("tablename"));
if(StringUtils.isBlank(requestid) || StringUtils.isBlank(tablename) || user==null){
return ;
}
List<Map<String,Object>> strmap= JjhyybaseDao.getdetailnumber(map);
strmap.forEach(item->{
String id=Util.null2String(item.get("id"));
String wjmc=Util.null2String(item.get("wjmc"));
int wh=createwh(requestid,wjmc,user);
Map<String,String> wheremap=new HashMap<>();
wheremap.put("id",id);
Map<String,String> updatemap=new HashMap<>();
String newunnumber= pb.getPropName("jjhyy.unnumbername")+date.replace("-","")+reloadwh(wh,4);
updatemap.put("htbh",newunnumber);
JAVATools.Updatesql(updatemap,tablename+"_dt7",wheremap);
});
}
public String reloadwh(int wh,int length){
if(length<=0 && wh<=0){
return "0001";
}
if(wh>=10000){
return Util.null2String(wh);
}
String formatstr="%"+length+"d";
String whStr = String.format(formatstr,wh).replace(" ","0");
return whStr;
}
private int createwh(String requestid,String wjcm,User user){
int unnumber = 1;
try {
//去询了
String sql = "select max(wh) wh from uf_jjhhtbh where 1=1";
Map<String, String> retmap = new HashMap<>();
retmap.put("nf", date);
Map<String, Object> whcount = JAVATools.GetTableToMap(sql, retmap);
if (whcount == null || whcount.size() <= 0) {
return unnumber;
}
unnumber = Util.getIntValue(Util.null2String(whcount.get("wh")))+1;
if (unnumber <= 0) {
unnumber = 1;
}
Uf_jjhhtbh uf_jjhhtbh = new Uf_jjhhtbh();
uf_jjhhtbh.setLcid(requestid);
uf_jjhhtbh.setBm(user.getUserDepartment());
uf_jjhhtbh.setNf(date);
uf_jjhhtbh.setWh(unnumber);
uf_jjhhtbh.setNgr(user.getUID());
uf_jjhhtbh.setWjmc(wjcm);
uf_jjhhtbh.setCjsj(date);
uf_jjhhtbh.create();
}catch (Exception e){
return 1;
}
return unnumber;
}
@Override
public JSONObject getOtherReadUser(User user, Map<String, Object> map) {
String wjlb=Util.null2String(map.get("wjlb"));
JSONObject jsonObject=new JSONObject();
JSONArray jsonArray=new JSONArray();
List<String> userstr=new ArrayList<>();
if(StringUtils.isBlank(wjlb) ){
return null;
}
try {
if ("1".equals(wjlb) || "2".equals(wjlb)) {
//获取对应的人
String jscode = pb.getPropName("jjhyy.jjhjscode");
List<Map<String, Object>> userlist = DeptUtils.getDepartmentCodeToUserids(jscode);
if (userlist != null && userlist.size() > 0) {
userlist.forEach((value) -> {
String id = Util.null2String(value.get("id"));
String lastname = Util.null2String(value.get("lastname"));
if (!StringUtils.isBlank(id) && !StringUtils.isBlank(lastname)) {
JSONObject userjson = new JSONObject();
userjson.put("id", id);
userjson.put("name", lastname);
jsonArray.add(userjson);
userstr.add(id);
}
});
}
}
}catch (Exception e){
return null;
}
jsonObject.put("value",userstr.stream().collect(Collectors.joining(",")));
jsonObject.put("specialobj",jsonArray);
return jsonObject;
}
}

@ -0,0 +1,80 @@
package com.engine.htsc.jjhyy.web;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.jjhyy.service.JjhyybaseService;
import com.engine.htsc.jjhyy.service.impl.JjhyybaseServiceImpl;
import weaver.general.BaseBean;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
/**
* @author K1810015
* @version 1.0.0
* @ClassName JjhyySealBaseAction.java
* @createTime 20220318 17:07:00
*/
public class JjhyySealBaseAction {
private JjhyybaseService jjhyyBaseService= ServiceUtil.getService(JjhyybaseServiceImpl.class);
@POST
@Path("/getwkdoneuser")
@Produces({MediaType.TEXT_PLAIN})
public String getwkyygldoneuser(@Context HttpServletRequest request, @Context HttpServletResponse response){
JAVATools.SetCmdwritelog("-------------JjhyySealAction.getwkyygldoneuser-------------");
User user = HrmUserVarify.getUser(request, response);
boolean flag=jjhyyBaseService.getwkyygldoneuser(user,ParamUtil.request2Map(request));
if(flag){
return JAVATools.Apiretrun("200",true);
}else{
return JAVATools.Apiretrun("400",false);
}
}
@POST
@Path("/getsealname")
@Produces({MediaType.TEXT_PLAIN})
public String getsealname(@Context HttpServletRequest request, @Context HttpServletResponse response) {
BaseBean bs = new BaseBean();
Map<String, Object> retmap = new HashMap<String, Object>();
bs.writeLog("----sealApplication-----");
try {
User user = HrmUserVarify.getUser(request, response);
retmap = jjhyyBaseService.getsealname(user, ParamUtil.request2Map(request));
} catch (Exception e) {
return JAVATools.Apiretrun("400", "error");
}
return JAVATools.Apiretrun("200", new JSONObject(retmap));
}
@POST
@Path("/getOtherReadUser")
@Produces({MediaType.TEXT_PLAIN})
public String getOtherReadUser(@Context HttpServletRequest request, @Context HttpServletResponse response){
JAVATools.SetCmdwritelog("-------------getOtherReadUSer.getwkyygldoneuser-------------");
User user = HrmUserVarify.getUser(request, response);
JSONObject jsonObject=jjhyyBaseService.getOtherReadUser(user,ParamUtil.request2Map(request));
if(jsonObject!=null){
return JAVATools.Apiretrun("200",jsonObject);
}else{
return JAVATools.Apiretrun("400",false);
}
}
}

@ -0,0 +1,36 @@
package com.engine.htsc.langchaoPDF.pojo;
import java.io.Serializable;
public class LangChaoPDFRequest implements Serializable {
private String lcbh;
private String ngr;
private String pdf;
public String getLcbh() {
return lcbh;
}
public void setLcbh(String lcbh) {
this.lcbh = lcbh;
}
public String getNgr() {
return ngr;
}
public void setNgr(String ngr) {
this.ngr = ngr;
}
public String getPdf() {
return pdf;
}
public void setPdf(String pdf) {
this.pdf = pdf;
}
}

@ -0,0 +1,6 @@
package com.engine.htsc.langchaoPDF.service;
public interface UploadFileService {
public String uploadFile(String billID, byte[] byteArr, String fileType, String userCode, String fileName);
}

@ -0,0 +1,48 @@
package com.engine.htsc.langchaoPDF.service.impl;
import com.engine.core.impl.Service;
import com.engine.htsc.langchaoPDF.service.UploadFileService;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import weaver.interfaces.htsc.comInfo.PropBean;
import weaver.interfaces.htsc.cus.webservices.FileInfoEntity;
import weaver.interfaces.htsc.cus.webservices.ImageServiceSoap;
import weaver.interfaces.htsc.cus.webservices.ImageServiceSoapProxy;
import weaver.interfaces.htsc.cus.webservices.UploadfileEntity;
public class UploadFileServiceImpl extends Service implements UploadFileService {
@Override
public String uploadFile(String billID, byte[] byteArr, String fileType, String userCode, String fileName) {
try {
JAVATools.SetCmdwritelog("浪潮OCR识别上传接口 入参 : billID={} " + billID +
" fileType={} " + fileType +
" userCode={} " + userCode +
" fileName={} " + fileName);
String sendImageUrl = Util.null2String(new PropBean().getPropName("sendImageUrl"));
String fileTypeID = Util.null2String(new PropBean().getPropName("cft.image.type.png"));
ImageServiceSoapProxy issp = new ImageServiceSoapProxy(sendImageUrl);
ImageServiceSoap service = issp.getImageServiceSoap();
UploadfileEntity uploadfileEntityr = new UploadfileEntity();
uploadfileEntityr.setBillID(billID);
FileInfoEntity[] fileInfoEntityArr = new FileInfoEntity[1];
FileInfoEntity fileInfo = new FileInfoEntity();
fileInfo.setContent(byteArr);
fileInfo.setFileName(fileName);
fileInfo.setFileTypeID(fileTypeID);
fileInfoEntityArr[0] = fileInfo;
uploadfileEntityr.setFileInfoEntityArr(fileInfoEntityArr);
uploadfileEntityr.setFileType(fileType);
uploadfileEntityr.setUserCode(userCode);
String result = service.sendImageOnPC(uploadfileEntityr);
JAVATools.SetCmdwritelog("浪潮OCR识别上传接口,出参:{}",result);
return result;
}catch (Exception e) {
JAVATools.SetCmdwritelog("浪潮OCR识别上传接口出现异常",e.getMessage());
e.printStackTrace();
return "浪潮OCR识别上传接口 上传失败";
}
}
}

@ -0,0 +1,102 @@
package com.engine.htsc.langchaoPDF.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.htsc.langchaoPDF.service.UploadFileService;
import com.engine.htsc.langchaoPDF.service.impl.UploadFileServiceImpl;
import sun.misc.BASE64Decoder;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.JAVATools;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
public class LangChaoPDFAction {
private UploadFileService getService() {
return ServiceUtil.getService(UploadFileServiceImpl.class);
}
@POST
@Path("/pdf")
@Produces({MediaType.APPLICATION_JSON})
public Map<String, Object> upLoadPDF(@Context HttpServletRequest request, @Context HttpServletResponse response) {
Map<String, Object> data = new HashMap<>();
try {
Map<String,Object> param = ParamUtil.request2Map(request);
String lcbh = Util.null2String(param.get("lcbh"));
String workFlowNum = URLDecoder.decode(lcbh.substring(0,lcbh.length()-12),"UTF-8") + lcbh.substring(lcbh.length()-12,lcbh.length());
JAVATools.SetCmdwritelog("workFlowNum", workFlowNum);
String ngr = Util.null2String(param.get("ngr"));
JAVATools.SetCmdwritelog("ngr", ngr);
String fileType = "0";
String fileName = workFlowNum + System.currentTimeMillis() + ".png";
String pdf = Util.null2String(param.get("pdf"));
JAVATools.SetCmdwritelog("pdf", pdf);
byte[] png = new BASE64Decoder().decodeBuffer(pdf);
//环境生成文件again
InputStream inputstream = new ByteArrayInputStream(png);
int index;
byte[] bytes = new byte[1024];
String path = "/app/ecology/filesystem/langchaoyingxinangTemp/" + workFlowNum;
File dir = new File(path);
if(dir.exists()){
dir.delete();
}
dir.setWritable(true, false);
dir.mkdirs();
Runtime.getRuntime().exec("chmod -R 777 " + path);
path += "/" + fileName;
File file = new File(path);
if (file.exists()) {
file.delete();
}
FileOutputStream uploadFile = new FileOutputStream(file);
while ((index = inputstream.read(bytes)) != -1) {
uploadFile.write(bytes, 0, index);
uploadFile.flush();
}
inputstream.close();
uploadFile.close();
Runtime.getRuntime().exec("chmod -R 777 " + path);
//环境生成文件end
//通过ngr查出loginid
RecordSet rs = new RecordSet();
String loginid = "";
String sql = " select loginid from hrmresource where id = " + ngr;
rs.execute(sql);
JAVATools.SetCmdwritelog("查询" + sql);
JAVATools.SetCmdwritelog("查询结果" + rs.toString());
if (rs.next()) {
loginid = Util.null2String(rs.getString("loginid"));
JAVATools.SetCmdwritelog("loginid", loginid);
}
String result = getService().uploadFile(workFlowNum, png, fileType, loginid, fileName);
JAVATools.SetCmdwritelog("浪潮OCR识别上传接口返回", result);
data.put("code", 200);
data.put("message", "接口调用成功");
data.put("result", result);
} catch (Exception e) {
e.printStackTrace();
data.put("code", -1);
data.put("message", "接口调用失败");
data.put("api_errormsg", "catch exception : " + e.getMessage());
JAVATools.SetCmdwritelog("isPostion catch exception");
}
return data;
}
}

@ -0,0 +1,76 @@
package com.engine.htsc.lhccsq.pojo;
import java.util.List;
public class ExistTravelInfo {
String requestId;
String cclxzxx;
String ccrgh;
String sfsbsx;
/**
* 4
*/
List<ExistTravelInfoSpecific> travelInfo;
public ExistTravelInfo() {
}
public ExistTravelInfo(String requestId, String cclxzxx, String ccrgh, String sfsbsx, List<ExistTravelInfoSpecific> travelInfo) {
this.requestId = requestId;
this.cclxzxx = cclxzxx;
this.ccrgh = ccrgh;
this.sfsbsx = sfsbsx;
this.travelInfo = travelInfo;
}
@Override
public String toString() {
return "ExistTravelInfo{" +
"requestId='" + requestId + '\'' +
", cclxzxx='" + cclxzxx + '\'' +
", ccrgh='" + ccrgh + '\'' +
", sfsbsx='" + sfsbsx + '\'' +
", travelInfo=" + travelInfo +
'}';
}
public String getRequestId() {
return requestId;
}
public void setRequestId(String requestId) {
this.requestId = requestId;
}
public String getCclxzxx() {
return cclxzxx;
}
public void setCclxzxx(String cclxzxx) {
this.cclxzxx = cclxzxx;
}
public String getCcrgh() {
return ccrgh;
}
public void setCcrgh(String ccrgh) {
this.ccrgh = ccrgh;
}
public String getSfsbsx() {
return sfsbsx;
}
public void setSfsbsx(String sfsbsx) {
this.sfsbsx = sfsbsx;
}
public List<ExistTravelInfoSpecific> getTravelInfo() {
return travelInfo;
}
public void setTravelInfo(List<ExistTravelInfoSpecific> travelInfo) {
this.travelInfo = travelInfo;
}
}

@ -0,0 +1,66 @@
package com.engine.htsc.lhccsq.pojo;
public class ExistTravelInfoSpecific {
// 餐费自理
private String sfbc;
// 出发时间
private String cfsj;
// 返回时间
private String fhsj;
// 目的地
private String mddgn;
public ExistTravelInfoSpecific() {
}
public ExistTravelInfoSpecific(String sfbc, String cfsj, String fhsj, String mddgn) {
this.sfbc = sfbc;
this.cfsj = cfsj;
this.fhsj = fhsj;
this.mddgn = mddgn;
}
@Override
public String toString() {
return "ExistTravelInfoSpecific{" +
"sfbc='" + sfbc + '\'' +
", cfsj='" + cfsj + '\'' +
", fhsj='" + fhsj + '\'' +
", mddgn='" + mddgn + '\'' +
'}';
}
public String getSfbc() {
return sfbc;
}
public void setSfbc(String sfbc) {
this.sfbc = sfbc;
}
public String getCfsj() {
return cfsj;
}
public void setCfsj(String cfsj) {
this.cfsj = cfsj;
}
public String getFhsj() {
return fhsj;
}
public void setFhsj(String fhsj) {
this.fhsj = fhsj;
}
public String getMddgn() {
return mddgn;
}
public void setMddgn(String mddgn) {
this.mddgn = mddgn;
}
}

@ -0,0 +1,8 @@
package com.engine.htsc.lhccsq.service;
import java.util.Map;
public interface ComputerSubsidyService {
Map<String, Object> computeExsitSubsidy();
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save