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 getAllState(Map params) { bb.writeLog("getAllState param:" + params); Map resultMap = new HashMap<>(); try { String rq = Util.null2String(params.get("rq")); if (StringUtils.isEmpty(rq)) { rq = DateUtil.getCurrentDate(); } String bhParam = Util.null2String(params.get("bh")); String ygxmParam = Util.null2String(params.get("ygxm")); String gcParam = Util.null2String(params.get("gc")); String bmParam = Util.null2String(params.get("bm")); String zwParam = Util.null2String(params.get("zw")); String qfParam = Util.null2String(params.get("qf")); String zzParam = Util.null2String(params.get("zz")); String zgdjParam = Util.null2String(params.get("zgdj")); String jhParam = Util.null2String(params.get("jh")); String bbParam = Util.null2String(params.get("bb")); // 人事变更记录表billid String billid = bb.getPropValue("zhuyou_prop_zm", "rsbgjl_table_billid"); if (StringUtils.isEmpty(billid)) { billid = "-198"; } RecordSet rs = new RecordSet(); //表格数据 List> 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"); String qfName = null; if (StringUtils.isNotEmpty(qf)) { qfName = getSelectNameMain("qf", billid, qf); } String zzName = null; if (StringUtils.isNotEmpty(zz)) { zzName = getSelectNameMain("zz", billid, zz); } if (StringUtils.isNotEmpty(bhParam)) { if (StringUtils.isEmpty(gh) || !gh.contains(bhParam)) { continue; } } if (StringUtils.isNotEmpty(ygxmParam)) { if (StringUtils.isEmpty(lastname) || !lastname.contains(ygxmParam)) { continue; } } if (StringUtils.isNotEmpty(gcParam)) { if (StringUtils.isEmpty(gcmc) || !gcmc.contains(gcParam)) { continue; } } if (StringUtils.isNotEmpty(bmParam)) { if (StringUtils.isEmpty(bmmc) || !bmmc.contains(bmParam)) { continue; } } if (StringUtils.isNotEmpty(zwParam)) { if (StringUtils.isEmpty(jobactivitymark) || !jobactivitymark.contains(zwParam)) { continue; } } if (StringUtils.isNotEmpty(qfParam)) { if (StringUtils.isEmpty(qfName) || !qfName.contains(qfParam)) { continue; } } if (StringUtils.isNotEmpty(zzParam)) { if (StringUtils.isEmpty(zzName) || !zzName.contains(zzParam)) { continue; } } if (StringUtils.isNotEmpty(zgdjParam)) { if (StringUtils.isEmpty(zgdjName) || !zgdjName.contains(zgdjParam)) { continue; } } if (StringUtils.isNotEmpty(jhParam)) { if (StringUtils.isEmpty(jhmc) || !jhmc.contains(jhParam)) { continue; } } if (StringUtils.isNotEmpty(bbParam)) { if (StringUtils.isEmpty(bbmc) || !bbmc.contains(bbParam)) { continue; } } Map info = new HashMap<>(); info.put("ryid", xm); info.put("xm", lastname); info.put("gh", gh); info.put("gc", gcmc); info.put("bm", bmmc); info.put("zw", jobactivitymark); info.put("qf", qfName); info.put("zz", zzName); info.put("zgdj", zgdjName); info.put("jh", jhmc); info.put("bb", bbmc); info.put("sxrq", sxrq); infos.add(info); } List> colMapList = new ArrayList<>(); Map 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", "gc"); 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", "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")); } }