⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updateservice.java

📁 电信的网厅的整站代码
💻 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 + -