📄 updateservice.java
字号:
package com.doone.fj1w.fjmgr.sysmgr.uurm;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import com.doone.data.DacClient;
import com.doone.fj1w.fjmgr.sysmgr.Util;
import com.doone.util.FileLogger;
import com.doone.uurm.Sys_Organise;
import com.doone.uurm.Sys_OrganiseType;
import com.doone.uurm.Sys_StaffAndOrg;
import com.doone.uurm.UserFactory;
import com.doone.uurm.WebAuth;
public class UpdateService {
/**添加员工与组织的关联
* @param request
* @param response
* @param param
* @return
*/
public static String AddStaffAndOrgRela(ServletRequest request,
ServletResponse response, Map param) {
try {
String sStaffId = (String) param.get("STAFFID");
String sOrganiseId = (String) param.get("ORGANISEID");
String sStartTime = (String) param.get("STARTTIME");
String sEndTime = (String) param.get("ENDTIME");
String sState = (String) param.get("STATE");
String sTechLevel = (String) param.get("TECHLEVEL");
SimpleDateFormat f1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sEndTime = Util.Replace(sEndTime);
sOrganiseId = Util.Replace(sOrganiseId);
sStartTime = Util.Replace(sStartTime);
sState = Util.Replace(sState);
sTechLevel = Util.Replace(sTechLevel);
sStaffId = Util.Replace(sStaffId);
long iStaffId = Long.parseLong(sStaffId);
long lOrganiseId = Long.parseLong(sOrganiseId);
DacClient db = new DacClient();
if ( Sys_StaffAndOrg.hasRelation(db, iStaffId, lOrganiseId)) {
return "员工与组织的关联已经建立。";
}
Sys_Organise org = Sys_Organise.getInstance(db, lOrganiseId);
if (! org.getOrganiseMode().equalsIgnoreCase(Sys_OrganiseType.ORGTYPE_POST)) {
return "员工必须被安排到具体的岗位上。";
}
Sys_StaffAndOrg oSys_StaffAndOrg = Sys_StaffAndOrg.newInstance(db);
oSys_StaffAndOrg.setStaffId(iStaffId);
oSys_StaffAndOrg.setOrganiseId(Long.parseLong(sOrganiseId));
oSys_StaffAndOrg.setCreateTime(new Date());
if (sStartTime.length() > 0)
oSys_StaffAndOrg.setStartTime(f1
.parse(sStartTime + " 00:00:00"));
if (sEndTime.length() > 0)
oSys_StaffAndOrg.setEndTime(f1.parse(sEndTime + " 23:59:59"));
oSys_StaffAndOrg.setState(sState);
oSys_StaffAndOrg.setTechLevel(Integer.parseInt(sTechLevel));
if ( oSys_StaffAndOrg.getStartTime() != null && oSys_StaffAndOrg.getEndTime() != null ) {
if ( oSys_StaffAndOrg.getStartTime().getTime() > oSys_StaffAndOrg.getEndTime().getTime() )
return "开始时间不能大于结束时间。";
}
UserFactory.OrganiseAddUser(oSys_StaffAndOrg);
} catch (RuntimeException ex) {
FileLogger.getLogger().info(
"AddStaffAndOrgRela-->" + ex.getMessage(), ex);
throw ex;
} catch (Exception ex) {
FileLogger.getLogger().warn(
"AddStaffAndOrgRela-->" + ex.getMessage(), ex);
throw new RuntimeException(ex.getMessage());
}
return "0";
}
/**修改员工与组织的关联
* @param request
* @param response
* @param param
* @return
*/
public static String ModifyStaffAndOrgRela(ServletRequest request,
ServletResponse response, Map param) {
try {
String sStaffId = (String) param.get("STAFFID");
String sOrganiseId = (String) param.get("ORGANISEID");
String sStartTime = (String) param.get("STARTTIME");
String sEndTime = (String) param.get("ENDTIME");
String sState = (String) param.get("STATE");
String sTechLevel = (String) param.get("TECHLEVEL");
SimpleDateFormat f1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sEndTime = Util.Replace(sEndTime);
sOrganiseId = Util.Replace(sOrganiseId);
sStartTime = Util.Replace(sStartTime);
sState = Util.Replace(sState);
sTechLevel = Util.Replace(sTechLevel);
sStaffId = Util.Replace(sStaffId);
long iStaffId = Long.parseLong(sStaffId);
long lOrganiseId = Long.parseLong(sOrganiseId);
// 检束设置的组织编号是否是当前岗位的子岗位,如果是则不允许修改。
// 检束设置的组织编号是否是当前岗位的子岗位,如果是则不允许修改。
StringBuffer sql = new StringBuffer();
sql.append("select count(1) from tf_organise o");
sql.append(" where o.organiseid = ? and exists (");
sql.append(" select 1 from tf_organise where organiseid = ?");
sql.append(" and length(o.indexcode) >= length(indexcode) ");
sql.append(" and ( length(indexcode) <= 3 or substr(indexcode, 0, length(indexcode) - 3) = substr(o.indexcode, 0, length(indexcode) - 3) ) )");
Object[] obj = new Object[2];
obj[0] = new Long(lOrganiseId);
obj[1] = new Long(WebAuth.getInstance((HttpServletRequest)request).getCurrPostID());
DacClient db = new DacClient();
if ( db.getStringFromSqlQuery(sql.toString(), obj).equals("0") ) {
return "您没有权限修改不属于您管辖的组织关联。";
}
Sys_StaffAndOrg oSys_StaffAndOrg = Sys_StaffAndOrg.getInstance(db,
iStaffId, lOrganiseId);
if (sStartTime.length() > 0)
oSys_StaffAndOrg.setStartTime(f1
.parse(sStartTime + " 00:00:00"));
if (sEndTime.length() > 0)
oSys_StaffAndOrg.setEndTime(f1.parse(sEndTime + " 23:59:59"));
oSys_StaffAndOrg.setState(sState);
oSys_StaffAndOrg.setTechLevel(Integer.parseInt(sTechLevel));
if ( oSys_StaffAndOrg.getStartTime() != null && oSys_StaffAndOrg.getEndTime() != null ) {
if ( oSys_StaffAndOrg.getStartTime().getTime() > oSys_StaffAndOrg.getEndTime().getTime() )
return "开始时间不能大于结束时间。";
}
UserFactory.OrganiseAddUser(oSys_StaffAndOrg);
} catch (RuntimeException ex) {
FileLogger.getLogger().info(
"ModifyStaffAndOrgRela-->" + ex.getMessage(), ex);
throw ex;
} catch (Exception ex) {
FileLogger.getLogger().warn(
"ModifyStaffAndOrgRela-->" + ex.getMessage(), ex);
throw new RuntimeException(ex.getMessage());
}
return "0";
}
/**删除员工与组织的关联
* @param request
* @param response
* @param param
* @return
*/
public static String DelStaffAndOrgRela(ServletRequest request,
ServletResponse response, Map param) {
try {
String sStaffId = (String) param.get("STAFFID");
String sOrganiseId = (String) param.get("ORGANISEID");
sOrganiseId = Util.Replace(sOrganiseId);
sStaffId = Util.Replace(sStaffId);
long lStaffId = Long.parseLong(sStaffId);
long lOrganiseId = Long.parseLong(sOrganiseId);
long currPostId = WebAuth.getInstance((HttpServletRequest)request).getCurrPostID();
// 检束设置的组织编号是否是当前岗位的子岗位,如果是则不允许修改。
StringBuffer sql = new StringBuffer();
sql.append("select count(1) from tf_organise o");
sql.append(" where o.organiseid = ? and exists (");
sql.append(" select 1 from tf_organise where organiseid = ?");
sql.append(" and length(o.indexcode) >= length(indexcode) ");
sql.append(" and ( length(indexcode) <= 3 or substr(indexcode, 0, length(indexcode) - 3) = substr(o.indexcode, 0, length(indexcode) - 3 ) ) )");
Object[] obj = new Object[2];
obj[0] = new Long(lOrganiseId);
obj[1] = new Long(currPostId);
DacClient db = new DacClient();
if ( db.getStringFromSqlQuery(sql.toString(), obj).equals("0") ) {
return "您没有权限删除不属于您管辖的组织关联。";
}
UserFactory.OrganiseDelUser(lOrganiseId, lStaffId);
} catch (RuntimeException ex) {
FileLogger.getLogger().info(
"DelStaffAndOrgRela-->" + ex.getMessage(), ex);
throw ex;
} catch (Exception ex) {
FileLogger.getLogger().warn(
"DelStaffAndOrgRela-->" + ex.getMessage(), ex);
throw new RuntimeException(ex.getMessage());
}
return "0";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -