历史花名册
This commit is contained in:
parent
67fb396a14
commit
0dca9b6fdd
|
|
@ -5,4 +5,6 @@ sick_leave_rule_id=14
|
||||||
# 是否初始化结转 1是开启,其他是关闭
|
# 是否初始化结转 1是开启,其他是关闭
|
||||||
init_carry_over=1
|
init_carry_over=1
|
||||||
# 结转额度
|
# 结转额度
|
||||||
carry_over_limit=7
|
carry_over_limit=7
|
||||||
|
# 人事变更记录表billid
|
||||||
|
rsbgjl_table_billid=-198
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
package com.api.zhuyou.controller;
|
||||||
|
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
|
||||||
|
@Path("/zy/common/formmode")
|
||||||
|
public class CommonFormModeController extends com.engine.zhuyou.controller.CommonFormModeController {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,191 @@
|
||||||
|
package com.engine.zhuyou.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.engine.ais.util.BzExcelExpUtil;
|
||||||
|
import com.engine.common.util.ParamUtil;
|
||||||
|
import com.engine.common.util.ServiceUtil;
|
||||||
|
import com.engine.kq.biz.KQLeaveRulesDetailComInfo;
|
||||||
|
import com.engine.zhuyou.service.CommonFormModeService;
|
||||||
|
import com.engine.zhuyou.service.impl.CommonFormModeServiceImpl;
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.general.Util;
|
||||||
|
import weaver.hrm.HrmUserVarify;
|
||||||
|
import weaver.hrm.User;
|
||||||
|
import weaver.interfaces.ais.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 javax.ws.rs.core.Response;
|
||||||
|
import javax.ws.rs.core.StreamingOutput;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
|
||||||
|
public class CommonFormModeController {
|
||||||
|
private CommonFormModeService commonFormModeService(User user) {
|
||||||
|
return ServiceUtil.getService(CommonFormModeServiceImpl.class, user);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取历史花名册数据
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GET
|
||||||
|
@Path("/getAllState")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public String getAllState(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
Map<String, Object> params = ParamUtil.request2Map(request);
|
||||||
|
return new Gson().toJson(commonFormModeService(user).getAllState(params));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 历史花名册数据(Excel导出)
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GET
|
||||||
|
@Path("/getExcelHrm")
|
||||||
|
@Produces({MediaType.APPLICATION_JSON})
|
||||||
|
public Response getExcelHrm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
BaseBean bb = new BaseBean();
|
||||||
|
bb.writeLog("getExcelHrm into start.");
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
StreamingOutput output = null;
|
||||||
|
try {
|
||||||
|
|
||||||
|
Map<String, Object> params = ParamUtil.request2Map(request);
|
||||||
|
String rq = Util.null2String(params.get("rq"));
|
||||||
|
if (StringUtils.isEmpty(rq)) {
|
||||||
|
rq = weaver.common.DateUtil.getCurrentDate();
|
||||||
|
}
|
||||||
|
List<Map<String, Object>> titleList = new ArrayList<>();
|
||||||
|
Map<String, Object> title = null;
|
||||||
|
String titles[] = {"编号", "姓名", "部门", "工程", "职务", "区分", "职种", "资格等级", "级号", "班别"};
|
||||||
|
for (String ti : titles) {
|
||||||
|
title = new HashMap<>();
|
||||||
|
title.put("rowSpan", 3);
|
||||||
|
title.put("title", ti);
|
||||||
|
title.put("width", 30 * 256);
|
||||||
|
title.put("colSpan", 1);
|
||||||
|
titleList.add(title);
|
||||||
|
}
|
||||||
|
|
||||||
|
String billid = bb.getPropValue("zhuyou_prop_zm", "rsbgjl_table_billid");
|
||||||
|
if (StringUtils.isEmpty(billid)) {
|
||||||
|
billid = "-198";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取动态数据
|
||||||
|
List<List<Object>> dataList = new ArrayList<>();
|
||||||
|
String sql = "SELECT t1.*, t3.lastname, t4.jobactivitymark, t5.zgdj as zgdjName, t6.jhmc, t7.bbmc " +
|
||||||
|
"FROM uf_rsbgjl t1\n" +
|
||||||
|
"INNER JOIN (\n" +
|
||||||
|
" SELECT \n" +
|
||||||
|
" xm,\n" +
|
||||||
|
" MAX(sxrq) AS sxrq " +
|
||||||
|
" FROM uf_rsbgjl\n" +
|
||||||
|
" WHERE sxrq <= '" + rq + "' " +
|
||||||
|
" GROUP BY xm\n" +
|
||||||
|
") t2 ON t1.xm = t2.xm \n" +
|
||||||
|
" AND t1.sxrq = t2.sxrq " +
|
||||||
|
"LEFT JOIN hrmresource t3 ON t1.xm = t3.id " +
|
||||||
|
"LEFT JOIN hrmjobactivities t4 ON t1.zw = t4.id " +
|
||||||
|
"LEFT JOIN uf_zgdjda t5 ON t1.zgdj = t5.zgdjbh " +
|
||||||
|
"LEFT JOIN uf_jhda t6 ON t1.jh = t6.jhbm " +
|
||||||
|
"LEFT JOIN uf_bbgl t7 on t1.bb = t7.bbbm ";
|
||||||
|
|
||||||
|
rs.execute(sql);
|
||||||
|
while (rs.next()) {
|
||||||
|
String lastname = rs.getString("lastname");
|
||||||
|
String gh = rs.getString("gh");
|
||||||
|
String bmmc = rs.getString("bmmc");
|
||||||
|
String gcmc = rs.getString("gcmc");
|
||||||
|
String jobactivitymark = rs.getString("jobactivitymark");
|
||||||
|
String qf = rs.getString("qf");
|
||||||
|
String zz = rs.getString("zz");
|
||||||
|
String zgdjName = rs.getString("zgdjName");
|
||||||
|
String jhmc = rs.getString("jhmc");
|
||||||
|
String bbmc = rs.getString("bbmc");
|
||||||
|
|
||||||
|
List<Object> data = new ArrayList<>();
|
||||||
|
data.add(gh);
|
||||||
|
data.add(lastname);
|
||||||
|
data.add(bmmc);
|
||||||
|
data.add(gcmc);
|
||||||
|
data.add(jobactivitymark);
|
||||||
|
data.add(getSelectNameMain("qf", billid, qf));
|
||||||
|
data.add(getSelectNameMain("zz", billid, zz));
|
||||||
|
data.add(zgdjName);
|
||||||
|
data.add(jhmc);
|
||||||
|
data.add(bbmc);
|
||||||
|
dataList.add(data);
|
||||||
|
}
|
||||||
|
LinkedHashMap<String, Object> workbookObj = new LinkedHashMap<>();
|
||||||
|
SXSSFWorkbook workbook = new SXSSFWorkbook();
|
||||||
|
Map<String, Object> sheet = new HashMap<>();
|
||||||
|
sheet.put("titleList", titleList);
|
||||||
|
sheet.put("sheetName", "历史花名册");
|
||||||
|
sheet.put("sheetTitle", "历史花名册");
|
||||||
|
sheet.put("dataList", dataList);
|
||||||
|
List<Object> lsSheet = new ArrayList<>();
|
||||||
|
lsSheet.add(sheet);
|
||||||
|
workbookObj.put("sheet", lsSheet);
|
||||||
|
workbookObj.put("fileName", "历史花名册");
|
||||||
|
|
||||||
|
BzExcelExpUtil bzExcelExpUtil = new BzExcelExpUtil();
|
||||||
|
Integer nBack = bzExcelExpUtil.createSheetBz(workbook, workbookObj);
|
||||||
|
bb.writeLog("getExcelHrm nBack:" + nBack);
|
||||||
|
|
||||||
|
String filename = URLEncoder.encode("历史花名册", "utf-8");
|
||||||
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
||||||
|
response.setHeader("Content-Disposition", "Attachment;Filename=" + filename + ".xlsx");
|
||||||
|
response.setHeader("Cache-Control", "no-cache");
|
||||||
|
|
||||||
|
output = outputStream -> {
|
||||||
|
workbook.write(outputStream);
|
||||||
|
outputStream.flush();
|
||||||
|
};
|
||||||
|
} catch (Exception e) {
|
||||||
|
bb.writeLog("getExcelHrm error:" + e);
|
||||||
|
}
|
||||||
|
bb.writeLog("getExcelHrm end.");
|
||||||
|
return Response.ok(output).build();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getSelectNameMain(String fieldName, String billid, String selectValue) {
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
rs.executeQuery("select id from workflow_billfield where fieldname = ? and billid = ? and viewtype=0", fieldName, billid);
|
||||||
|
rs.next();
|
||||||
|
int fieldId = com.weaver.general.Util.getIntValue(rs.getString("id"),-1);
|
||||||
|
rs.executeQuery("select selectname from workflow_SelectItem where fieldid = ? and selectvalue = ?", fieldId, selectValue);
|
||||||
|
rs.next();
|
||||||
|
return com.weaver.general.Util.null2String(rs.getString("selectname"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.engine.zhuyou.service;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface CommonFormModeService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取整体情况报表数据
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Map<String, Object> getAllState(Map<String, Object> param);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,169 @@
|
||||||
|
package com.engine.zhuyou.service.impl;
|
||||||
|
|
||||||
|
import com.engine.core.impl.Service;
|
||||||
|
import com.engine.zhuyou.service.CommonFormModeService;
|
||||||
|
import com.weaver.general.BaseBean;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import weaver.common.DateUtil;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.general.Util;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class CommonFormModeServiceImpl extends Service implements CommonFormModeService {
|
||||||
|
|
||||||
|
public BaseBean bb = new BaseBean();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> getAllState(Map<String, Object> param) {
|
||||||
|
bb.writeLog("getAllState param:" + param);
|
||||||
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
try {
|
||||||
|
String rq = Util.null2String(param.get("rq"));
|
||||||
|
if (StringUtils.isEmpty(rq)) {
|
||||||
|
rq = DateUtil.getCurrentDate();
|
||||||
|
}
|
||||||
|
// 结转额度
|
||||||
|
String billid = bb.getPropValue("zhuyou_prop_zm", "rsbgjl_table_billid");
|
||||||
|
if (StringUtils.isEmpty(billid)) {
|
||||||
|
billid = "-198";
|
||||||
|
}
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
//表格数据
|
||||||
|
List<Map<String, Object>> infos = new ArrayList<>();
|
||||||
|
String sql = "SELECT t1.*, t3.lastname, t4.jobactivitymark, t5.zgdj as zgdjName, t6.jhmc, t7.bbmc " +
|
||||||
|
"FROM uf_rsbgjl t1\n" +
|
||||||
|
"INNER JOIN (\n" +
|
||||||
|
" SELECT \n" +
|
||||||
|
" xm,\n" +
|
||||||
|
" MAX(sxrq) AS sxrq " +
|
||||||
|
" FROM uf_rsbgjl\n" +
|
||||||
|
" WHERE sxrq <= '" + rq + "' " +
|
||||||
|
" GROUP BY xm\n" +
|
||||||
|
") t2 ON t1.xm = t2.xm \n" +
|
||||||
|
" AND t1.sxrq = t2.sxrq " +
|
||||||
|
"LEFT JOIN hrmresource t3 ON t1.xm = t3.id " +
|
||||||
|
"LEFT JOIN hrmjobactivities t4 ON t1.zw = t4.id " +
|
||||||
|
"LEFT JOIN uf_zgdjda t5 ON t1.zgdj = t5.zgdjbh " +
|
||||||
|
"LEFT JOIN uf_jhda t6 ON t1.jh = t6.jhbm " +
|
||||||
|
"LEFT JOIN uf_bbgl t7 on t1.bb = t7.bbbm ";
|
||||||
|
|
||||||
|
rs.execute(sql);
|
||||||
|
while (rs.next()) {
|
||||||
|
String xm = rs.getString("xm");
|
||||||
|
String lastname = rs.getString("lastname");
|
||||||
|
String gh = rs.getString("gh");
|
||||||
|
String bmmc = rs.getString("bmmc");
|
||||||
|
String gcmc = rs.getString("gcmc");
|
||||||
|
String jobactivitymark = rs.getString("jobactivitymark");
|
||||||
|
String qf = rs.getString("qf");
|
||||||
|
String zz = rs.getString("zz");
|
||||||
|
String zgdjName = rs.getString("zgdjName");
|
||||||
|
String jhmc = rs.getString("jhmc");
|
||||||
|
String bbmc = rs.getString("bbmc");
|
||||||
|
String sxrq = rs.getString("sxrq");
|
||||||
|
|
||||||
|
Map<String, Object> info = new HashMap<>();
|
||||||
|
info.put("ryid", xm);
|
||||||
|
info.put("xm", lastname);
|
||||||
|
info.put("gh", gh);
|
||||||
|
info.put("bm", bmmc);
|
||||||
|
info.put("gc", gcmc);
|
||||||
|
info.put("zw", jobactivitymark);
|
||||||
|
info.put("qf", getSelectNameMain("qf", billid, qf));
|
||||||
|
info.put("zz", getSelectNameMain("zz", billid, zz));
|
||||||
|
info.put("zgdj", zgdjName);
|
||||||
|
info.put("jh", jhmc);
|
||||||
|
info.put("bb", bbmc);
|
||||||
|
info.put("sxrq", sxrq);
|
||||||
|
infos.add(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Map<String, String>> colMapList = new ArrayList<>();
|
||||||
|
Map<String, String> colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "gh");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "工号");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "xm");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "姓名");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "bm");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "部门");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "gc");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "工程");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "zw");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "职务");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "qf");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "区分");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "zz");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "职种");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "zgdj");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "资格等级");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "jh");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "级号");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
colMap = new HashMap<>();
|
||||||
|
colMap.put("colSpan", "1");
|
||||||
|
colMap.put("dataIndex", "bb");
|
||||||
|
colMap.put("width", "100");
|
||||||
|
colMap.put("title", "班别");
|
||||||
|
colMapList.add(colMap);
|
||||||
|
|
||||||
|
resultMap.put("count", infos.size());
|
||||||
|
resultMap.put("dataList", infos);
|
||||||
|
resultMap.put("colList", colMapList);
|
||||||
|
resultMap.put("code", "200");
|
||||||
|
} catch (Exception e) {
|
||||||
|
resultMap.put("code", "500");
|
||||||
|
bb.writeLog("getAllState error:" + e);
|
||||||
|
}
|
||||||
|
bb.writeLog("getAllState end.");
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getSelectNameMain(String fieldName, String billid, String selectValue) {
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
rs.executeQuery("select id from workflow_billfield where fieldname = ? and billid = ? and viewtype=0", fieldName, billid);
|
||||||
|
rs.next();
|
||||||
|
int fieldId = com.weaver.general.Util.getIntValue(rs.getString("id"),-1);
|
||||||
|
rs.executeQuery("select selectname from workflow_SelectItem where fieldid = ? and selectvalue = ?", fieldId, selectValue);
|
||||||
|
rs.next();
|
||||||
|
return com.weaver.general.Util.null2String(rs.getString("selectname"));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue