Ecology-Dev-chaofa/FiveHzCenter/interface.wuyuan/kqConfirm.jsp

174 lines
7.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.general.TimeUtil" %>
<%@ page import="com.alibaba.fastjson.JSON" %>
<%@ page import="com.engine.kq.service.KQReportService" %>
<%@ page import="com.engine.common.util.ServiceUtil" %>
<%@ page import="com.engine.kq.service.impl.KQReportServiceImpl" %>
<%@ page import="weaver.formmode.setup.ModeRightInfo" %>
<%@ page import="java.time.format.DateTimeFormatter" %>
<%@ page import="java.time.LocalDate" %>
<%@ page import="java.time.format.DateTimeParseException" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs1" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs2" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rst" class="weaver.conn.RecordSet" scope="page" />
<%
int kqbbsd_formmodeid = Util.getIntValue(rs.getPropValue("wuyuan_hrminfo","kqbbsd_formmodeid"));
JSONObject data = new JSONObject();
User user = HrmUserVarify.getUser(request, response);
int userid = user.getUID();
//发起审批按钮
boolean flag = false;
String parmm = Util.null2String(request.getParameter("parmm"));
rs.writeLog("=============== kqConfirmMessage.jsp parmm ==================="+ parmm);
JSONObject jsonObject = JSONObject.parseObject(parmm);
rs.writeLog("=============== kqConfirmMessage.jsp jsonObject ==================="+ jsonObject);
Map<String,Object> params = jsonObject.toJavaObject(Map.class);
rs.writeLog("=============== kqConfirmMessage.jsp params ==================="+ params);
String sqlWhere = "";
JSONObject jsonObj = JSON.parseObject(Util.null2String(params.get("data")));
String fromDate = Util.null2String(jsonObj.get("fromDate"));
String toDate = Util.null2String(jsonObj.get("toDate"));
String typeselect =Util.null2String(jsonObj.get("typeselect"));
String subCompanyId = Util.null2String(jsonObj.get("subCompanyId"));
String departmentId = Util.null2String(jsonObj.get("departmentId"));
String resourceId = Util.null2String(jsonObj.get("resourceId"));
String status = Util.null2String(jsonObj.get("status"));
if(status.length()>0){
if (!status.equals("8") && !status.equals("9")) {
sqlWhere += " and a.status = "+status+ "";
}else if (status.equals("8")) {
sqlWhere += " and (a.status = 0 or a.status = 1 or a.status = 2 or a.status = 3) ";
}
}
if(subCompanyId.length()>0){
sqlWhere +=" and b.subcompanyid in("+subCompanyId+") ";
}
if(departmentId.length()>0){
sqlWhere +=" and b.departmentid in("+departmentId+") ";
}
if(resourceId.length()>0){
sqlWhere +=" and b.resourceid in("+resourceId+") ";
}
if(typeselect.length()==0)typeselect = "3";
if(!typeselect.equals("") && !typeselect.equals("0")&& !typeselect.equals("6")){
if(typeselect.equals("1")){
fromDate = TimeUtil.getCurrentDateString();
toDate = TimeUtil.getCurrentDateString();
}else{
fromDate = TimeUtil.getDateByOption(typeselect,"0");
toDate = TimeUtil.getDateByOption(typeselect,"1");
}
}
String deptids = "";
rs.executeQuery("select id from Matrixtable_2 where bmfzr in ("+ userid+")");
while(rs.next()){
String deptid = Util.null2String(rs.getString("id"));
deptids += deptid + ",";
}
if(deptids.endsWith(",")){
deptids = deptids.substring(0,deptids.length()-1);
}
Set<String> deptSet = new HashSet<>();
rs1.executeQuery("select a.id,a.lastname,a.workcode,a.dsporder,b.resourceid,a.subcompanyid1 as subcompanyid,a.departmentid,a.jobtitle,case when b.sfqr='0' then '是' else '否' end as sfqr, " +
"b.kqdate " +
"from hrmresource a, kq_format_total b " +
"where a.id= b.resourceid and b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"' " +
"and a.loginid is not null and a.loginid<>'' and (a.status = 0 or a.status = 1 or a.status = 2 or a.status = 3) "+ sqlWhere);
while(rs1.next()){
String mxid = Util.null2String(rs1.getString("id"));
String kqdate = Util.null2String(rs1.getString("kqdate"));
String departmentid = Util.null2String(rs1.getString("departmentid"));
deptSet.add(departmentid);
flag = rst.executeUpdate("update kq_format_total set sfqr='0' where resourceid = ? and kqdate = ?",mxid,kqdate);
}
if(flag){
for(String deptid:deptids.split(",")) {
rs.executeQuery("select id from uf_kqbbsd where ksrq=? and bm=?", fromDate, deptid);
if (!rs.next()) {
String yearmonth = getMonthByDateStr(fromDate);
toDate = yearmonth + "-25";
//入库明细存档
String insertSql = " insert into uf_kqbbsd(ksrq,jsrq,bm,sfsd," +
"modedatacreater,modedatacreatedate,modedatacreatetime,formmodeid,modeuuid) " +
"values(?,?,?,?,?,?,?,?,?)";
String currentdate = TimeUtil.getCurrentDateString();
String currenttime = TimeUtil.getOnlyCurrentTimeString();
String uuid = UUID.randomUUID().toString();
boolean exeRes = rs1.executeUpdate(insertSql, fromDate, toDate, deptid, "0", userid, currentdate, currenttime, kqbbsd_formmodeid, uuid);
int billid = -1;
if (exeRes) {
//重构权限
rs2.executeQuery(" select id from uf_kqbbsd where modeuuid=? ", new Object[]{uuid});
rs2.next();
billid = rs2.getInt("id");
ModeRightInfo moderight = new ModeRightInfo();
moderight.editModeDataShare(userid, kqbbsd_formmodeid, billid);
}
}else{
String mxid = Util.null2String(rs.getString("id"));
rst.executeUpdate("update uf_kqbbsd set sfsd='0' where id=?",mxid);
}
}
}
data.put("flag",flag);
out.print(data.toJSONString());
%>
<%!
/**
* 获取日期字符串中的年月份
* @param dateString
* @return
*/
public static String getMonthByDateStr(String dateString){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 定义日期格式
String result = "";
try {
// 解析日期字符串并获取LocalDate对象
LocalDate date = LocalDate.parse(dateString, formatter);
int year = date.getYear();
System.out.println(year);
// 获取月份1代表1月...12代表12月
int month = date.getMonthValue(); // 或者使用date.getMonth().getValue()也是可以的,两者效果相同
System.out.println("月份: " + month); // 输出4因为4月是第4个月份
result += year+"-";
System.out.println(result);
if(month > 10){
result += ""+month;
}else{
result += "0"+month;
}
} catch (DateTimeParseException e) {
System.out.println("日期格式错误"); // 如果日期字符串格式不正确,将抛出异常并打印错误信息
}
return result;
}
private KQReportService getService(User user) {
return (KQReportService) ServiceUtil.getService(KQReportServiceImpl.class, user);
}
%>