HistoryDevByCx/二开源码/钱智/qianzhi/mobile/plugin/1/workflowBillAction.jsp

200 lines
11 KiB
Plaintext
Raw Permalink 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 language="java" pageEncoding="UTF-8"%>
<%@ page import="java.util.Map" %>
<%@ page import="weaver.hrm.User" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="weaver.general.Util,weaver.general.BaseBean" %>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ page import="weaver.systeminfo.SystemEnv" %>
<%@ page import="weaver.hrm.attendance.domain.*"%>
<%@ page import="weaver.hrm.attendance.manager.*"%>
<%@ page import="weaver.hrm.schedule.HrmAnnualManagement"%>
<%@ page import="weaver.hrm.schedule.HrmPaidSickManagement"%>
<%@ page import="weaver.hrm.schedule.manager.HrmScheduleManager"%>
<%@ page import="net.sf.json.JSONObject,weaver.common.StringUtil" %>
<%@ page import="weaver.mobile.webservices.workflow.WorkflowService" %>
<%@ page import="weaver.mobile.webservices.workflow.WorkflowServiceImpl" %>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<jsp:useBean id="attProcSetManager" class="weaver.hrm.attendance.manager.HrmAttProcSetManager" scope="page" />
<jsp:useBean id="strUtil" class="weaver.common.StringUtil" scope="page" />
<jsp:useBean id="colorManager" class="weaver.hrm.attendance.manager.HrmLeaveTypeColorManager" scope="page" />
<%
BaseBean logBean = new BaseBean();
//获取当前
try{
String action = StringUtil.vString(request.getParameter("action"));
String _cmd = StringUtil.vString(request.getParameter("cmd"));
User user = HrmUserVarify.getUser (request , response) ;
if(user == null) return ;
if("getLeaveDays".equals(action)){
String fromDate = StringUtil.vString(request.getParameter("fromDate"));
String fromTime = StringUtil.vString(request.getParameter("fromTime"));
String toDate = StringUtil.vString(request.getParameter("toDate"));
String toTime = StringUtil.vString(request.getParameter("toTime"));
String resourceId = StringUtil.vString(request.getParameter("resourceId"));
String newLeaveType = StringUtil.vString(request.getParameter("newLeaveType"));
boolean worktime = Boolean.parseBoolean(StringUtil.vString(request.getParameter("worktime"), "true"));
WorkflowService wfService = new WorkflowServiceImpl();
String result = wfService.getLeaveDays(fromDate, fromTime, toDate, toTime, resourceId, worktime,newLeaveType);
Map daymap = new HashMap();
daymap.put("resourceId", resourceId);
daymap.put("days", result);
JSONObject jo = JSONObject.fromObject(daymap);
result = jo.toString();
out.print(result);
} else if(_cmd.equals("leaveInfo")) {
String result = "";
String allannualValue = "";
String allpsldaysValue = "";
String paidLeaveDaysValue = "";
String strRealAllannualValue = "";
String strRealAllpsldaysValue = "";
String strRealPaidLeaveDaysValue = "";
float realAllannualValue = 0;
float realAllpsldaysValue = 0;
float realPaidLeaveDaysValue = 0;
String currentDate = StringUtil.vString(request.getParameter("currentDate"));
String resourceId = StringUtil.vString(request.getParameter("resourceId"));
String bohai = StringUtil.vString(request.getParameter("bohai"));
int workflowid = StringUtil.parseToInt(request.getParameter("workflowid"));
int nodetype = StringUtil.parseToInt(request.getParameter("nodetype"));
int nodeid = StringUtil.parseToInt(request.getParameter("nodeid"));
HrmAttVacationManager attVacationManager = new HrmAttVacationManager();
if("getAnnualInfo".equals(action)){
String userannualinfo = HrmAnnualManagement.getUserAannualInfo(resourceId,currentDate);
String thisyearannual = Util.TokenizerString2(userannualinfo,"#")[0];
String lastyearannual = Util.TokenizerString2(userannualinfo,"#")[1];
String allannual = Util.TokenizerString2(userannualinfo,"#")[2];
allannualValue = allannual;
float[] freezeDays = attVacationManager.getFreezeDays(resourceId,currentDate);
if(freezeDays[0] > 0) allannual += " - "+freezeDays[0];
realAllannualValue = strUtil.parseToFloat(allannualValue, 0);
if(bohai.equals("true")){
realAllannualValue = (float)strUtil.round(realAllannualValue - freezeDays[0]);
}else{
if(attProcSetManager.isFreezeNodeId(workflowid, nodeid)) {
realAllannualValue = (float)strUtil.round(realAllannualValue - freezeDays[0]);
}
}
result = SystemEnv.getHtmlLabelName(21614,user.getLanguage())+" : "+lastyearannual+"\r\n"+SystemEnv.getHtmlLabelName(21615,user.getLanguage())+" : "+thisyearannual+"\r\n"+SystemEnv.getHtmlLabelName(21616,user.getLanguage())+" : "+allannual;
} else if("getPSInfo".equals(action)){
String leavetype = Util.null2String(request.getParameter("leavetype"));
List listtypes = new ArrayList();
String typeName = "";
if(leavetype.length() > 0){
listtypes = colorManager.find(colorManager.getMapParam("field004:"+leavetype));
HrmLeaveTypeColor tmpbean = (HrmLeaveTypeColor)listtypes.get(0);
typeName = tmpbean.getField001();
}
String userpslinfo = HrmPaidSickManagement.getUserPaidSickInfo(resourceId, currentDate,leavetype);
String thisyearpsldays = ""+Util.getFloatValue(Util.TokenizerString2(userpslinfo,"#")[0], 0);
String lastyearpsldays = ""+Util.getFloatValue(Util.TokenizerString2(userpslinfo,"#")[1], 0);
String allpsldays = ""+Util.getFloatValue(Util.TokenizerString2(userpslinfo,"#")[2], 0);
allpsldaysValue = allpsldays;
float freezeDays = attVacationManager.getPaidFreezeDays(resourceId,leavetype);
if(freezeDays > 0) allpsldays += " - "+freezeDays;
realAllpsldaysValue = strUtil.parseToFloat(allpsldaysValue, 0);
if(bohai.equals("true")){
realAllpsldaysValue = (float)strUtil.round(realAllpsldaysValue - freezeDays);
}else{
if(attProcSetManager.isFreezeNodeId(workflowid, nodeid)) {
realAllpsldaysValue = (float)strUtil.round(realAllpsldaysValue - freezeDays);
}
}
String combinelabelPS1 = SystemEnv.getHtmlLabelName(131649,user.getLanguage());
String combinelabelPS2 = SystemEnv.getHtmlLabelName(131650,user.getLanguage());
String combinelabelPS3 = SystemEnv.getHtmlLabelName(131651,user.getLanguage());
if(typeName.length() > 0){
combinelabelPS1 = SystemEnv.getHtmlLabelName(382185,user.getLanguage())+typeName+SystemEnv.getHtmlLabelName(496,user.getLanguage());
combinelabelPS2 = SystemEnv.getHtmlLabelName(382186,user.getLanguage())+typeName+SystemEnv.getHtmlLabelName(496,user.getLanguage());
combinelabelPS3 = SystemEnv.getHtmlLabelName(382187,user.getLanguage())+typeName+SystemEnv.getHtmlLabelName(496,user.getLanguage());
}
result = combinelabelPS1+" : "+lastyearpsldays+"\r\n"+combinelabelPS2+" : "+thisyearpsldays+"\r\n"+combinelabelPS3+" : "+allpsldays;
} else if("getTXInfo".equals(action)){
HrmPaidLeaveTimeManager paidLeaveTimeManager = new HrmPaidLeaveTimeManager();
String paidLeaveDays = String.valueOf(paidLeaveTimeManager.getCurrentPaidLeaveDaysByUser(resourceId, currentDate, true));
paidLeaveDaysValue = paidLeaveDays;
float[] freezeDays = attVacationManager.getFreezeDays(resourceId);
realPaidLeaveDaysValue = strUtil.parseToFloat(paidLeaveDaysValue, 0);
if(freezeDays[2] > 0) paidLeaveDays += " - "+freezeDays[2];
if(bohai.equals("true")){
realPaidLeaveDaysValue = (float)strUtil.round(realPaidLeaveDaysValue - freezeDays[2]);
}else{
if(attProcSetManager.isFreezeNodeId(workflowid, nodeid)) {
realPaidLeaveDaysValue = (float)strUtil.round(realPaidLeaveDaysValue - freezeDays[2]);
}
}
result = SystemEnv.getHtmlLabelName(82854,user.getLanguage())+" : "+paidLeaveDays;
}else if("initInfo".equals(action)){
String userannualinfo = HrmAnnualManagement.getUserAannualInfo(resourceId,currentDate);
String thisyearannual = Util.TokenizerString2(userannualinfo,"#")[0];
String lastyearannual = Util.TokenizerString2(userannualinfo,"#")[1];
String allannual = Util.TokenizerString2(userannualinfo,"#")[2];
allannualValue = allannual;
float[] freezeDays = attVacationManager.getFreezeDays(resourceId,currentDate);
if(freezeDays[0] > 0) allannual += " - "+freezeDays[0];
realAllannualValue = strUtil.parseToFloat(allannualValue, 0);
if(bohai.equals("true")){
realAllannualValue = (float)strUtil.round(realAllannualValue - freezeDays[0]);
}else{
if(attProcSetManager.isFreezeNodeId(workflowid, nodeid)) {
realAllannualValue = (float)strUtil.round(realAllannualValue - freezeDays[0]);
}
}
String leavetype = Util.null2String(request.getParameter("leavetype"));
String userpslinfo = HrmPaidSickManagement.getUserPaidSickInfo(resourceId, currentDate,leavetype);
String thisyearpsldays = ""+Util.getFloatValue(Util.TokenizerString2(userpslinfo,"#")[0], 0);
String lastyearpsldays = ""+Util.getFloatValue(Util.TokenizerString2(userpslinfo,"#")[1], 0);
String allpsldays = ""+Util.getFloatValue(Util.TokenizerString2(userpslinfo,"#")[2], 0);
allpsldaysValue = allpsldays;
float freezePaidDays = attVacationManager.getPaidFreezeDays(resourceId,leavetype);
if(freezePaidDays > 0) allpsldays += " - "+freezeDays;
realAllpsldaysValue = strUtil.parseToFloat(allpsldaysValue, 0);
if(bohai.equals("true")){
realAllpsldaysValue = (float)strUtil.round(realAllpsldaysValue - freezePaidDays);
}else{
if(attProcSetManager.isFreezeNodeId(workflowid, nodeid)) {
realAllpsldaysValue = (float)strUtil.round(realAllpsldaysValue - freezePaidDays);
}
}
HrmPaidLeaveTimeManager paidLeaveTimeManager = new HrmPaidLeaveTimeManager();
String paidLeaveDays = String.valueOf(paidLeaveTimeManager.getCurrentPaidLeaveDaysByUser(resourceId, currentDate, true));
paidLeaveDaysValue = paidLeaveDays;
realPaidLeaveDaysValue = strUtil.parseToFloat(paidLeaveDaysValue, 0);
if(freezeDays[2] > 0) paidLeaveDays += " - "+freezeDays[2];
if(bohai.equals("true")){
realPaidLeaveDaysValue = (float)strUtil.round(realPaidLeaveDaysValue - freezeDays[2]);
}else{
if(attProcSetManager.isFreezeNodeId(workflowid, nodeid)) {
realPaidLeaveDaysValue = (float)strUtil.round(realPaidLeaveDaysValue - freezeDays[2]);
}
}
}
//因为json在存储float的时候会存在精度丢失的问题改为存储字符串
strRealAllannualValue = ""+realAllannualValue;
strRealAllpsldaysValue = ""+realAllpsldaysValue;
strRealPaidLeaveDaysValue = ""+realPaidLeaveDaysValue;
Map daymap = new HashMap();
daymap.put("resourceId", resourceId);
daymap.put("info", result);
daymap.put("allannualValue", allannualValue);
daymap.put("realAllannualValue", strRealAllannualValue);
daymap.put("allpsldaysValue", allpsldaysValue);
daymap.put("realAllpsldaysValue", strRealAllpsldaysValue);
daymap.put("paidLeaveDaysValue", paidLeaveDaysValue);
daymap.put("realPaidLeaveDaysValue", strRealPaidLeaveDaysValue);
JSONObject jo = JSONObject.fromObject(daymap);
result = jo.toString();
out.print(result);
}
}catch(Exception e) {
logBean.writeLog("", e);
}
%>