<%@ page import="weaver.general.*" %> <%@page import="weaver.conn.RecordSet"%> <%@ page import="com.alibaba.fastjson.JSONObject" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.util.*" %> <%@ page import="org.apache.commons.lang3.StringUtils" %> <%@ page import="weaver.formmode.setup.ModeRightInfo" %> <%@ page import="java.time.LocalDate" %> <%@ page import="java.time.Period" %> <%@ page language="java" contentType="text/html; charset=UTF-8" %> <% List> dataList = new ArrayList>(); Map data_Map = null; RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); SimpleDateFormat sdf = new SimpleDateFormat("MM-dd" ) ; SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy" ) ; SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd") ; int days = 30 ; String workflowid = "838"; String formtable = "" ; String sql = "select abs(formid) as formid from workflow_base where id = "+workflowid ; rs.executeQuery(sql); if(rs.next()){ String formid = Util.null2String(rs.getString("formid")); if(StringUtils.isNotBlank(formid)){ formtable = "formtable_main_"+formid ; } } String where = "" ; if(StringUtils.isNotBlank(formtable)){ where = " and h.id not in(select k.lzyg \n" + " from workflow_requestbase p\n" + " inner join "+formtable+" k on k.requestid = p.requestid\n" + " where workflowid = "+workflowid+"\n" + " and p.currentnodetype = 3 ) "; } for(int i=0;i"); if(yearsDiff > 0){ String userid = Util.null2String(rs.getString("id")); String lastname = Util.null2String(rs.getString("lastname")); String sex = Util.null2String(rs.getString("sex")); String departmentname = Util.null2String(rs.getString("departmentname")); String subcompanyname = Util.null2String(rs.getString("subcompanyname")); // String zn = Util.null2String(rs.getString("zn")); String departmentid = Util.null2String(rs.getString("departmentid")); String jobtitlename = Util.null2String(rs.getString("jobtitlename")); String deptnamenew = "" ; data_Map = new HashMap(); data_Map.put("userid",userid); data_Map.put("sex",sex); data_Map.put("jobtitlename",jobtitlename); data_Map.put("lastname",lastname); data_Map.put("departmentname",departmentname); data_Map.put("subcompanyname",subcompanyname); if(StringUtils.isNotBlank(departmentid)){ deptnamenew = getTopDepartment(departmentid); } if(StringUtils.isBlank(deptnamenew)){ deptnamenew = departmentname ; } data_Map.put("deptnamenew",deptnamenew); data_Map.put("zn",yearsDiff+""); data_Map.put("nf",currentYear); dataList.add(data_Map); } } } } String modeid = "" ; String formid = "" ; String uftable = "uf_rzznzfgly"; sql =" select k.id,k.formid from modeinfo k \n" + " inner join workflow_bill l on formid = l.id\n" + " where l.tablename = '"+uftable+"' " ; rs.execute(sql); if(rs.next()){ modeid = Util.null2String(rs.getString("id")); formid = Util.null2String(rs.getString("formid")); } for(int i=0;i dMap = dataList.get(i); String nf = dMap.get("nf"); String ry = dMap.get("userid"); int rzzn = Util.getIntValue(dMap.get("zn")); if(StringUtils.isNotBlank(ry) && StringUtils.isNotBlank(nf)){ sql = " select id from "+uftable+" where ry='"+ry+"' and nf ='"+nf+"'"; rs.executeQuery(sql); if(rs.next()){ billid = Util.null2String(rs.getString("id")); } if(StringUtils.isBlank(billid)){ billid = updateAnniversaryWishes(ry,modeid,nf,rzzn); } } dMap.put("billid",billid); dMap.put("modeid",modeid); dMap.put("formid",formid); } JSONObject jsonObject = new JSONObject(); jsonObject.put("data",dataList); %> <%=jsonObject.toString() %> <%! public String getTopDepartment(String departmentid){ RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); String departmentname = "" ; if(StringUtils.isNotBlank(departmentid)){ String sql = " with tem_table(department_id,department_name,supdep_id,curlevel) as (\n" + " select id,departmentname,supdepid, 1 as level \n" + " from HrmDepartment where id = " + departmentid+ " union all \n" + " select a.id,a.departmentname,a.supdepid, b.curlevel+1 \n" + " from HrmDepartment a \n" + " inner join tem_table b on (a.id = b.supdep_id)\n" + " ) \n" + " select * from tem_table "; bb.writeLog("sql:"+sql); rs.executeQuery(sql); while (rs.next()){ String department_id = Util.null2String(rs.getString("department_id")); String department_name = Util.null2String(rs.getString("department_name")); String supdep_id = Util.null2String(rs.getString("supdep_id")); if(StringUtils.isBlank(supdep_id) || "0".equals(supdep_id)){ departmentname = department_name ; } } } bb.writeLog("departmentname:"+departmentname); return departmentname; } public String updateAnniversaryWishes(String user_id,String modeid,String currentYear,int rzzn){ String billid = "" ; BaseBean log = new BaseBean(); log.writeLog("updateAnniversaryWishes! "); String uftable = "uf_rzznzfgly"; RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy" ) ; try{ Map dataMap = new HashMap(); bb.writeLog("currentYear:"+currentYear); String sql =" select k.* from (" + " select h.id,h.lastname,h.sex,h.companystartdate,h.departmentid,h.subcompanyid1," + " right(companystartdate,5) startday " + " from hrmresource h " + " where h.id = "+user_id+" " + " and h.status in(0,1,2,3) " + " and (h.belongto is null or h.belongto = -1 ) " + " and h.companystartdate is not null " + " ) k " + " order by k.startday desc " ; bb.writeLog("updateAnniversaryWishes-sql:"+sql); rs.executeQuery(sql); if (rs.next()){ String userid = Util.null2String(rs.getString("id")); String lastname = Util.null2String(rs.getString("lastname")); // int rzzn = Util.getIntValue(Util.null2String(rs.getString("rzzn")),0); String subcompanyid1 = Util.null2String(rs.getString("subcompanyid1")); String departmentid = Util.null2String(rs.getString("departmentid")); String companystartdate = Util.null2String(rs.getString("companystartdate")); String zfy = getZfy(lastname,rzzn); String rzyr = Util.null2String(rs.getString("startday")); dataMap = new HashMap(); dataMap.put("ry",userid); dataMap.put("xm",lastname); dataMap.put("zfy",zfy); dataMap.put("bm",departmentid); dataMap.put("rzrq",companystartdate); dataMap.put("fb",subcompanyid1); dataMap.put("nf",currentYear); dataMap.put("rzzn",rzzn+""); dataMap.put("rzyr",rzyr); } if(!dataMap.isEmpty()){ String ry = dataMap.get("ry"); String nf = dataMap.get("nf"); sql = " select id from "+uftable+" where ry='"+ry+"' and nf = '"+nf+"'"; rs.executeQuery(sql); if(rs.next()){ billid = Util.null2String(rs.getString("id")); } if(StringUtils.isBlank(billid)){ billid = updateWishesInfo(uftable,dataMap,modeid); } } }catch (Exception e){ } return billid; } public String updateWishesInfo(String fromtable,Map datas,String formmodeid){ RecordSet rs = new RecordSet(); String dataid = "" ; BaseBean bb = new BaseBean(); ModeRightInfo modeRightInfo = new ModeRightInfo(); String uuid = UUID.randomUUID().toString().replace("-",""); bb.writeLog("uuid:"+uuid); SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat formatter2 = new SimpleDateFormat("HH:mm:ss"); String currentdate = formatter1.format(new Date()); String currenttime = formatter2.format(new Date()); String modedatacreater = "1"; String modedatacreatertype = "0"; bb.writeLog("formmodeid:"+formmodeid); datas.put("formmodeid", formmodeid); datas.put("modedatacreater", modedatacreater); datas.put("modedatacreatertype", modedatacreatertype); datas.put("modedatacreatedate", currentdate); datas.put("modedatacreatetime", currenttime); datas.put("uuid", uuid); String tablenvalue = ""; String tablename = ""; for (Map.Entry entry : datas.entrySet()) { String fieldname = Util.null2String(entry.getKey()).trim(); String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim(); tablename += tablename == "" ? fieldname : "," + fieldname; tablenvalue += tablenvalue == "" ? "'" + fieldvalue + "'" : ",'" + fieldvalue + "'"; } if (tablename != "" && tablenvalue != "") { int count = 0; String sql = " insert into " + fromtable + "(" + tablename + ") values (" + tablenvalue + ")"; bb.writeLog("sql:" + sql); boolean boo = rs.executeUpdate(sql); if (boo) { count++; } bb.writeLog("count:" + count); if (count > 0) { sql = " select id from " + fromtable + " where uuid='" + uuid + "'"; bb.writeLog("sql:" + sql); rs.execute(sql); if (rs.next()) { dataid = Util.null2String(rs.getString("id")); } if (!"".equals(dataid)) { modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Util.getIntValue(formmodeid), Integer.parseInt(dataid)); } } } return dataid; } public static String convert(int number) { if (number <= 0) { return ""; } //数字对应的汉字 String[] num = {"一", "二", "三", "四", "五", "六", "七", "八", "九"}; //单位 String[] unit = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万亿"}; //将输入数字转换为字符串 String result = String.valueOf(number); //将该字符串分割为数组存放 char[] ch = result.toCharArray(); //结果 字符串 String str = ""; int length = ch.length; for (int i = 0; i < length; i++) { int c = (int) ch[i] - 48; if (c != 0) { str += num[c - 1] + unit[length - i - 1]; } } if (number < 20 && number > 9) { str = str.substring(1); } // System.out.println(str); return str ; } public String getZfy(String lastname,int rzzn){ String rzzzdx = "" ; if(rzzn > 0){ rzzzdx = convert(rzzn); } String zfy ="
\n" + "

亲爱的"+lastname+"

\n" + "

 

\n" + "

衷心祝贺您与铭沣同行"+rzzzdx+"周年快乐!

\n" + "

感谢您将自己的青春年华和工作热情奉献给了铭沣!

\n" + "

感谢您辛勤的付出与不懈的跟随与守候,期待我们一起度过下一个周年!

\n" + "

今天的您是否忙碌在工作岗位上而忽略了这个重要的日子......

\n" + "

但公司记得您每一份付出和努力!

\n" + "

感谢您的一路相伴,未来我们继续同行!

\n" + "

 

\n" + "

 

\n" + "

 MATFRON

\n" + "
"; return zfy; } %>