Procházet zdrojové kódy

删除重复文件

heyuan před 3 měsíci
rodič
revize
5090bc9920

+ 315 - 325
GDYSL/src/com/kingdee/eas/custom/erp/util/SynAdminOrgToERPUtils.java

@@ -15,332 +15,322 @@ import com.kingdee.bos.Context;
 import com.kingdee.bos.qing.util.StringUtils;
 import com.kingdee.eas.util.app.DbUtil;
 import com.kingdee.jdbc.rowset.IRowSet;
-import com.kingdee.shr.sso.client.util.SSOUtil;
 
 public class SynAdminOrgToERPUtils {
 
-	
-	private static Logger log = LoggerFactory.getLogger(SynSalaryFromErpUtils.class);
-	
-	
-	//https://sites.gtiit.edu.cn/kderpdev/ierp/kapi/v2/gt15/base/bos_adminorg/gt15_adminorg_add
-	private static String ierp = "https://sites.gtiit.edu.cn/kderpdev/ierp";  
-	
-	
-	
-	/**
-	 * 新增:获取gt15_adminorg_add的请求地址
-	 * @param request
-	 * @param code
-	 * @return
-	 */
-	 public static String getGt15AdminOrgAddUrl() {
-		 Properties config = SynPublicUtils.getConfig();
-		  ierp = (String)config.get("ierp");
-	     return new StringBuffer().append(ierp).append("/kapi/v2/gt15/base/bos_adminorg/gt15_adminorg_add").toString();
-	       
-	 }
-	
-	
-	 /**
-		 * 封存:获取gt15_adminorg_beta的请求地址: https://sites.gtiit.edu.cn/kderpdev/ierp/kapi/v2/gt15/base/bos_adminorg/gt15_adminorg_beta
-		 * @param request
-		 * @param code
-		 * @return
-		 */
-		 public static String getGt15AdminOrgBetaUrl() {
-			 Properties config = SynPublicUtils.getConfig();
-			  ierp = (String)config.get("ierp");
-		     return new StringBuffer().append(ierp).append("/kapi/v2/gt15/base/bos_adminorg/gt15_adminorg_beta").toString();
-		       
-		 }
-	
-	
-	
-	/**
-	 * 新增:请求参数
-	 * 获取所有行政组织的
-	 * @param ctx
-	 * @return
-	 * @throws BOSException 
-	 * @throws SQLException 
-	 */
-	private static String getAdminOrgDetailEntry(Context ctx,String startDateStr, String endDateStr) throws BOSException, SQLException{
-		
-
-		//获取前一天的0点时间字符串
-		String lastDateZeroTimeStr = "";
-		
-		//获取当前时间的字符串
-		String noeTimeStr = "";
-		
-		if(StringUtils.isEmpty(startDateStr)|| StringUtils.isEmpty(endDateStr) ){	
-			 //获取上次同步结束的时间
-			 lastDateZeroTimeStr =  SynPublicUtils.getLastUpdateSynTableTimeStrByEvenName(ctx,"synAdminOrgToErp");
-			 
-			 if(StringUtils.isEmpty(lastDateZeroTimeStr)){
-				 //为空
-				//获取前一天的0点时间字符串
-				 lastDateZeroTimeStr = SynPublicUtils.getLastDateZeroTime();
-			 }
-			  
-			//更新最新 的时间为event_timeStamp,只有在自动触发的才会修改时间
-			 SynPublicUtils.updateSynTimeTable(ctx,"synAdminOrgToErp");
-			 
-			//获取当前时间的字符串
-			 noeTimeStr = SynPublicUtils.getNowTimeStr();
-		}else{
-			 lastDateZeroTimeStr = startDateStr;
-			 noeTimeStr = endDateStr;
-		}
-		
-		String sql = "select admin.fnumber as number,admin.fname_l1 as name_l1,admin.fname_l2 as name_l2,admin.fname_l3 as name_l3,admin.fsimplename as gt15_shortname,admin.fname_l2 as gt15_chinesename ,layerType.fnumber as orgpattern_number,layerType.fname_l1 as orgpattern_name ,admin.fdescription_l1 as fcomment,admin2.fnumber as viewparent_number from t_org_admin admin "
-          + " left join T_Org_LayerType   layerType on layerType.fid = admin.flayertypeid "
-          + " left join t_org_admin admin2 on admin2.fid = admin.fparentid where admin.fisousealup = 0 " 
-          +	"  and ( (admin.flastupdatetime >  {ts '"+lastDateZeroTimeStr+"'} and  admin.flastupdatetime <=  {ts '"+noeTimeStr+"'} ) "
-          +	"  or (layerType.flastupdatetime >  {ts '"+lastDateZeroTimeStr+"'} and  layerType.flastupdatetime <=  {ts '"+noeTimeStr+"'} ) "
-          +	"  or (admin2.flastupdatetime >  {ts '"+lastDateZeroTimeStr+"'} and  admin2.flastupdatetime <=  {ts '"+noeTimeStr+"'} )) ";
-          //+ " left join t_org_admin admin2 on admin2.fid = admin.fparentid where admin.fisousealup = 0 and  admin.fnumber  not in ('D0003','D0002','D0039','D0040') ";
-		log.info("getAdminOrgDetailEntry.sql:"+sql);
-		
-		IRowSet executeQuery = DbUtil.executeQuery(ctx, sql);
-		
-		JSONArray datas = new JSONArray();
-		 String  paramJOStr = "";
-		if(executeQuery.size()>0){
-			while(executeQuery.next()){
-				String number = executeQuery.getString("number");
-				String name_l1 = executeQuery.getString("name_l1");
-				String name_l2 = executeQuery.getString("name_l2");
-				String name_l3 = executeQuery.getString("name_l3");
-				String gt15_shortname = executeQuery.getString("gt15_shortname");
-				String gt15_chinesename = executeQuery.getString("gt15_chinesename");
-				String orgpattern_number = executeQuery.getString("orgpattern_number");
-				String orgpattern_name = executeQuery.getString("orgpattern_name");
-				String fcomment = executeQuery.getString("fcomment");
-				String viewparent_number =  executeQuery.getString("viewparent_number");
-				
-				
-				JSONArray structures = new JSONArray();
-				
-				JSONObject structure = new JSONObject();	
-				structure.put("view_number", "01");
-				
-				if(StringUtils.isEmpty(viewparent_number)){
-					//根部组织不传
-					continue;
-				}
-				structure.put("viewparent_number", viewparent_number);
-				structures.add(structure);
-				
-				
-				JSONObject data = new JSONObject();			
-				data.put("number",number);
-				
-				JSONObject name = new JSONObject();	
-				 name.put("en_US", name_l1);
-				 name.put("zh_CN", name_l2);
-				 name.put("zh_TW", name_l3);
-				
-				data.put("name",name);
-				data.put("gt15_shortname",gt15_shortname);
-				data.put("gt15_chinesename",gt15_chinesename);
-				
-				data.put("orgpattern_name",orgpattern_name);
-				
-				if("集团".equals(orgpattern_number)){
-					orgpattern_number = "Group";
-				}else if("公司".equals(orgpattern_number)){
-					orgpattern_number = "Company";
-				}else if("部门".equals(orgpattern_number)){
-					orgpattern_number = "Dept";
-				}
-				data.put("orgpattern_number",orgpattern_number);
-				
-				data.put("fcomment",fcomment);
-				
-				data.put("structure",structures);
-				
-		        datas.add(data);   
-			}
-			 JSONObject paramJO = new JSONObject();
-	         paramJO.put("data",datas);
-	         paramJOStr = paramJO.toString();
-		}
-		return paramJOStr;
-	}
-	
-	
-	
-	 
-	/**
-	 * 新增:新增行政组织接口,推送到星瀚
-	 * @param ctx
-	 * @param accessToken
-	 * @throws Exception 
-	 */
-	public static String gt15_adminorg_add(Context ctx,String accessToken,String startDate, String endDate) throws Exception{
-		//获取请求地址
-		String gt15AdminOrgAddUrl = getGt15AdminOrgAddUrl();
-		
-		log.info("SynAdminOrgToERPUtils.gt15_adminorg_add.gt15AdminOrgAddUrl:"+gt15AdminOrgAddUrl);
-		//构建行政组织参数
-		String paramJOStr = getAdminOrgDetailEntry(ctx, startDate, endDate);
-		log.info("SynAdminOrgToERPUtils.gt15_adminorg_add.paramJOStr:"+paramJOStr);
-		//数据保存接口
-        String  responseMsg = HttpsReqUtil.postByHttps(gt15AdminOrgAddUrl, paramJOStr, accessToken);
-		
-		
-		return responseMsg;
-	}
-	
-	
-	/**
-	 * 新增:推送数据到ERP功能:主体
-	 * @return
-	 * @throws Exception 
-	 */
-	 public static String synAdminorgToErp(Context ctx,String startDate, String endDate ) throws Exception{
-		 
-		 //获取appToken
-		 String appToken = SynSalaryFromErpUtils.getAppToken(ctx);
-		 log.info("获取synAdminorgToErp.appToken:"+appToken);
-		 //获取accessToken
-		 String accessToken = SynSalaryFromErpUtils.getAccessToken(appToken);
-		 log.info("获取synAdminorgToErp.accessToken状态为:"+accessToken);
-		 //薪酬明细保存接口
-		 String responseMsg =  gt15_adminorg_add(ctx,accessToken, startDate,  endDate);
-		 log.info("synAdminorgToErp.responseMsg:"+accessToken);
-		 return null;
-	 }
-	
-	
-	 
-	 
-	 /**
-	  * 封存:获取封存行政组织的请求参数
-	  * @param ctx
-	  * @param startDate
-	  * @param endDate
-	  * @return
-	  * @throws BOSException
-	  * @throws SQLException
-	  */
-	 public static List<String> getAdminOrgBetaDetailEntry(Context ctx,String startDateStr, String endDateStr) throws BOSException, SQLException{
-		 //String sql = " select fnumber as number from  t_org_admin where fisousealup = 1 and fnumber not in ('D0003','D0002','D0039','D0040')";
-		
-		//获取前一天的0点时间字符串
-			String lastDateZeroTimeStr = "";
-			
-			//获取当前时间的字符串
-			String noeTimeStr = "";
-			
-			if(StringUtils.isEmpty(startDateStr)|| StringUtils.isEmpty(endDateStr) ){	
-				 //获取上次同步结束的时间
-				 lastDateZeroTimeStr =  SynPublicUtils.getLastUpdateSynTableTimeStrByEvenName(ctx,"synAdminOrgBetaToErp");
-				 
-				 if(StringUtils.isEmpty(lastDateZeroTimeStr)){
-					 //为空
-					//获取前一天的0点时间字符串
-					 lastDateZeroTimeStr = SynPublicUtils.getLastDateZeroTime();
-				 }
-				  
-				//更新最新 的时间为event_timeStamp,只有在自动触发的才会修改时间
-				 SynPublicUtils.updateSynTimeTable(ctx,"synAdminOrgBetaToErp");
-				 
-				//获取当前时间的字符串
-				 noeTimeStr = SynPublicUtils.getNowTimeStr();
-			}else{
-				 lastDateZeroTimeStr = startDateStr;
-				 noeTimeStr = endDateStr;
-			}
-		 
-		 
-		 String sql = " select fnumber as number from  t_org_admin where fisousealup = 1 " +
-		 		" and (flastupdatetime > {ts '"+lastDateZeroTimeStr+"'} and  flastupdatetime <=  {ts '"+noeTimeStr+"'})";
-		 log.info("getAdminOrgBetaDetailEntry.sql"+sql);
-		 IRowSet executeQuery = DbUtil.executeQuery(ctx, sql);
-		 List<String> numbers = new ArrayList<String>();
-		 if(executeQuery.size()>0){
-				while(executeQuery.next()){
-					String number = executeQuery.getString("number");					
-					numbers.add(number);
-				}				
-			} 
-		 return numbers;
-	 }
-	 
-	 /**
-	  * 封存:通过编码获取
-	  * @param numbers
-	  * @return
-	  */
-	 public static String getParamJOStrByNumber(String number){
-		 JSONObject data = new JSONObject();
-		 data.put("number", number);
-		 JSONObject paramJO = new JSONObject();
-         paramJO.put("data",data);
-         String paramJOStr  = paramJO.toString();
-		 return paramJOStr;
-	 }
-	 
-	 
-	 
-	 /**
-	  * 封存:根据编码封存行政组织
-	  * @param ctx
-	  * @param accessToken
-	  * @return
-	 * @throws Exception 
-	  */
-	 public static void synGt15_adminorg_beta(Context ctx,String accessToken,String startDate, String endDate) throws Exception{
-		 //获取请求地址
-		String gt15AdminOrgBetaUrl = getGt15AdminOrgBetaUrl();
-			
-		log.info("SynAdminOrgToERPUtils.synGt15_adminorg_beta.gt15AdminOrgBetaUrl:"+gt15AdminOrgBetaUrl);
-		//构建行政组织参数
-		List<String> numbers =getAdminOrgBetaDetailEntry(ctx, startDate, endDate);
-		log.info("SynAdminOrgToERPUtils.gt15_adminorg_add.numbers:"+numbers.size());
-		
-		for(String number : numbers){
-			String paramJOStr = getParamJOStrByNumber(number);
-			//数据保存接口
-			   String  responseMsg = HttpsReqUtil.postByHttps(gt15AdminOrgBetaUrl, paramJOStr, accessToken);
-		}		
-	   
-	 }
-	 
-	 
-	 
-	 
-	 
-	 
-	 
-	 /**
-	  * 封存:封存根据编码封存行政组织:主体
-	  * @param ctx
-	  * @return
-	  * @throws Exception
-	  */
-	 public static String syndminorgBetaToErp(Context ctx,String startDate, String endDate) throws Exception{
-		 //获取appToken
-		 String appToken = SynSalaryFromErpUtils.getAppToken(ctx);
-		 log.info("获取syndminorgBetaToErp.appToken:"+appToken);
-		 //获取accessToken
-		 String accessToken = SynSalaryFromErpUtils.getAccessToken(appToken);
-		 log.info("获取syndminorgBetaToErp.accessToken为:"+accessToken);
-		 //薪酬明细保存接口
-		 synGt15_adminorg_beta(ctx,accessToken,startDate,endDate);
-		 log.info("syndminorgBetaToErp.responseMsg:"+accessToken);
-		 
-		 return "";
-	 }
-	 
-	 
-	 
-	 
-	 
-	 
-	 
-	 
+
+    private static Logger log = LoggerFactory.getLogger(SynSalaryFromErpUtils.class);
+
+
+    //https://sites.gtiit.edu.cn/kderpdev/ierp/kapi/v2/gt15/base/bos_adminorg/gt15_adminorg_add
+    private static String ierp = "https://sites.gtiit.edu.cn/kderpdev/ierp";
+
+
+    /**
+     * 新增:获取gt15_adminorg_add的请求地址
+     *
+     * @param request
+     * @param code
+     * @return
+     */
+    public static String getGt15AdminOrgAddUrl() {
+        Properties config = SynPublicUtils.getConfig();
+        ierp = (String) config.get("ierp");
+        return new StringBuffer().append(ierp).append("/kapi/v2/gt15/base/bos_adminorg/gt15_adminorg_add").toString();
+
+    }
+
+
+    /**
+     * 封存:获取gt15_adminorg_beta的请求地址: https://sites.gtiit.edu.cn/kderpdev/ierp/kapi/v2/gt15/base/bos_adminorg/gt15_adminorg_beta
+     *
+     * @param request
+     * @param code
+     * @return
+     */
+    public static String getGt15AdminOrgBetaUrl() {
+        Properties config = SynPublicUtils.getConfig();
+        ierp = (String) config.get("ierp");
+        return new StringBuffer().append(ierp).append("/kapi/v2/gt15/base/bos_adminorg/gt15_adminorg_beta").toString();
+
+    }
+
+
+    /**
+     * 新增:请求参数
+     * 获取所有行政组织的
+     *
+     * @param ctx
+     * @return
+     * @throws BOSException
+     * @throws SQLException
+     */
+    private static String getAdminOrgDetailEntry(Context ctx, String startDateStr, String endDateStr) throws BOSException, SQLException {
+
+
+        //获取前一天的0点时间字符串
+        String lastDateZeroTimeStr = "";
+
+        //获取当前时间的字符串
+        String noeTimeStr = "";
+
+        if (StringUtils.isEmpty(startDateStr) || StringUtils.isEmpty(endDateStr)) {
+            //获取上次同步结束的时间
+            lastDateZeroTimeStr = SynPublicUtils.getLastUpdateSynTableTimeStrByEvenName(ctx, "synAdminOrgToErp");
+
+            if (StringUtils.isEmpty(lastDateZeroTimeStr)) {
+                //为空
+                //获取前一天的0点时间字符串
+                lastDateZeroTimeStr = SynPublicUtils.getLastDateZeroTime();
+            }
+
+            //更新最新 的时间为event_timeStamp,只有在自动触发的才会修改时间
+            SynPublicUtils.updateSynTimeTable(ctx, "synAdminOrgToErp");
+
+            //获取当前时间的字符串
+            noeTimeStr = SynPublicUtils.getNowTimeStr();
+        } else {
+            lastDateZeroTimeStr = startDateStr;
+            noeTimeStr = endDateStr;
+        }
+
+        String sql = "select admin.fnumber as number,admin.fname_l1 as name_l1,admin.fname_l2 as name_l2,admin.fname_l3 as name_l3,admin.fsimplename as gt15_shortname,admin.fname_l2 as gt15_chinesename ,layerType.fnumber as orgpattern_number,layerType.fname_l1 as orgpattern_name ,admin.fdescription_l1 as fcomment,admin2.fnumber as viewparent_number from t_org_admin admin "
+                + " left join T_Org_LayerType   layerType on layerType.fid = admin.flayertypeid "
+                + " left join t_org_admin admin2 on admin2.fid = admin.fparentid where admin.fisousealup = 0 "
+                + "  and ( (admin.flastupdatetime >  {ts '" + lastDateZeroTimeStr + "'} and  admin.flastupdatetime <=  {ts '" + noeTimeStr + "'} ) "
+                + "  or (layerType.flastupdatetime >  {ts '" + lastDateZeroTimeStr + "'} and  layerType.flastupdatetime <=  {ts '" + noeTimeStr + "'} ) "
+                + "  or (admin2.flastupdatetime >  {ts '" + lastDateZeroTimeStr + "'} and  admin2.flastupdatetime <=  {ts '" + noeTimeStr + "'} )) ";
+        //+ " left join t_org_admin admin2 on admin2.fid = admin.fparentid where admin.fisousealup = 0 and  admin.fnumber  not in ('D0003','D0002','D0039','D0040') ";
+        log.info("getAdminOrgDetailEntry.sql:" + sql);
+
+        IRowSet executeQuery = DbUtil.executeQuery(ctx, sql);
+
+        JSONArray datas = new JSONArray();
+        String paramJOStr = "";
+        if (executeQuery.size() > 0) {
+            while (executeQuery.next()) {
+                String number = executeQuery.getString("number");
+                String name_l1 = executeQuery.getString("name_l1");
+                String name_l2 = executeQuery.getString("name_l2");
+                String name_l3 = executeQuery.getString("name_l3");
+                String gt15_shortname = executeQuery.getString("gt15_shortname");
+                String gt15_chinesename = executeQuery.getString("gt15_chinesename");
+                String orgpattern_number = executeQuery.getString("orgpattern_number");
+                String orgpattern_name = executeQuery.getString("orgpattern_name");
+                String fcomment = executeQuery.getString("fcomment");
+                String viewparent_number = executeQuery.getString("viewparent_number");
+
+
+                JSONArray structures = new JSONArray();
+
+                JSONObject structure = new JSONObject();
+                structure.put("view_number", "01");
+
+                if (StringUtils.isEmpty(viewparent_number)) {
+                    //根部组织不传
+                    continue;
+                }
+                structure.put("viewparent_number", viewparent_number);
+                structures.add(structure);
+
+
+                JSONObject data = new JSONObject();
+                data.put("number", number);
+
+                JSONObject name = new JSONObject();
+                name.put("en_US", name_l1);
+                name.put("zh_CN", name_l2);
+                name.put("zh_TW", name_l3);
+
+                data.put("name", name);
+                data.put("gt15_shortname", gt15_shortname);
+                data.put("gt15_chinesename", gt15_chinesename);
+
+                data.put("orgpattern_name", orgpattern_name);
+
+                if ("集团".equals(orgpattern_number)) {
+                    orgpattern_number = "Group";
+                } else if ("公司".equals(orgpattern_number)) {
+                    orgpattern_number = "Company";
+                } else if ("部门".equals(orgpattern_number)) {
+                    orgpattern_number = "Dept";
+                }
+                data.put("orgpattern_number", orgpattern_number);
+
+                data.put("fcomment", fcomment);
+
+                data.put("structure", structures);
+
+                datas.add(data);
+            }
+            JSONObject paramJO = new JSONObject();
+            paramJO.put("data", datas);
+            paramJOStr = paramJO.toString();
+        }
+        return paramJOStr;
+    }
+
+
+    /**
+     * 新增:新增行政组织接口,推送到星瀚
+     *
+     * @param ctx
+     * @param accessToken
+     * @throws Exception
+     */
+    public static String gt15_adminorg_add(Context ctx, String accessToken, String startDate, String endDate) throws Exception {
+        //获取请求地址
+        String gt15AdminOrgAddUrl = getGt15AdminOrgAddUrl();
+
+        log.info("SynAdminOrgToERPUtils.gt15_adminorg_add.gt15AdminOrgAddUrl:" + gt15AdminOrgAddUrl);
+        //构建行政组织参数
+        String paramJOStr = getAdminOrgDetailEntry(ctx, startDate, endDate);
+        log.info("SynAdminOrgToERPUtils.gt15_adminorg_add.paramJOStr:" + paramJOStr);
+        //数据保存接口
+        String responseMsg = HttpsReqUtil.postByHttps(gt15AdminOrgAddUrl, paramJOStr, accessToken);
+
+
+        return responseMsg;
+    }
+
+
+    /**
+     * 新增:推送数据到ERP功能:主体
+     *
+     * @return
+     * @throws Exception
+     */
+    public static String synAdminorgToErp(Context ctx, String startDate, String endDate) throws Exception {
+
+        //获取appToken
+        String appToken = SynSalaryFromErpUtils.getAppToken(ctx);
+        log.info("获取synAdminorgToErp.appToken:" + appToken);
+        //获取accessToken
+        String accessToken = SynSalaryFromErpUtils.getAccessToken(appToken);
+        log.info("获取synAdminorgToErp.accessToken状态为:" + accessToken);
+        //薪酬明细保存接口
+        String responseMsg = gt15_adminorg_add(ctx, accessToken, startDate, endDate);
+        log.info("synAdminorgToErp.responseMsg:" + accessToken);
+        return null;
+    }
+
+
+    /**
+     * 封存:获取封存行政组织的请求参数
+     *
+     * @param ctx
+     * @param startDateStr
+     * @param endDateStr
+     * @return
+     * @throws BOSException
+     * @throws SQLException
+     */
+    public static List<String> getAdminOrgBetaDetailEntry(Context ctx, String startDateStr, String endDateStr) throws BOSException, SQLException {
+        //String sql = " select fnumber as number from  t_org_admin where fisousealup = 1 and fnumber not in ('D0003','D0002','D0039','D0040')";
+
+        //获取前一天的0点时间字符串
+        String lastDateZeroTimeStr = "";
+
+        //获取当前时间的字符串
+        String noeTimeStr = "";
+
+        if (StringUtils.isEmpty(startDateStr) || StringUtils.isEmpty(endDateStr)) {
+            //获取上次同步结束的时间
+            lastDateZeroTimeStr = SynPublicUtils.getLastUpdateSynTableTimeStrByEvenName(ctx, "synAdminOrgBetaToErp");
+
+            if (StringUtils.isEmpty(lastDateZeroTimeStr)) {
+                //为空
+                //获取前一天的0点时间字符串
+                lastDateZeroTimeStr = SynPublicUtils.getLastDateZeroTime();
+            }
+
+            //更新最新 的时间为event_timeStamp,只有在自动触发的才会修改时间
+            SynPublicUtils.updateSynTimeTable(ctx, "synAdminOrgBetaToErp");
+
+            //获取当前时间的字符串
+            noeTimeStr = SynPublicUtils.getNowTimeStr();
+        } else {
+            lastDateZeroTimeStr = startDateStr;
+            noeTimeStr = endDateStr;
+        }
+
+
+        String sql = " select fnumber as number from  t_org_admin where fisousealup = 1 " +
+                " and (flastupdatetime > {ts '" + lastDateZeroTimeStr + "'} and  flastupdatetime <=  {ts '" + noeTimeStr + "'})";
+        log.info("getAdminOrgBetaDetailEntry.sql" + sql);
+        IRowSet executeQuery = DbUtil.executeQuery(ctx, sql);
+        List<String> numbers = new ArrayList<String>();
+        if (executeQuery.size() > 0) {
+            while (executeQuery.next()) {
+                String number = executeQuery.getString("number");
+                numbers.add(number);
+            }
+        }
+        return numbers;
+    }
+
+    /**
+     * 封存:通过编码获取
+     *
+     * @param number
+     * @return
+     */
+    public static String getParamJOStrByNumber(String number) {
+        JSONObject data = new JSONObject();
+        data.put("number", number);
+        JSONObject paramJO = new JSONObject();
+        paramJO.put("data", data);
+        String paramJOStr = paramJO.toString();
+        return paramJOStr;
+    }
+
+
+    /**
+     * 封存:根据编码封存行政组织
+     *
+     * @param ctx
+     * @param accessToken
+     * @return
+     * @throws Exception
+     */
+    public static void synGt15_adminorg_beta(Context ctx, String accessToken, String startDate, String endDate) throws Exception {
+        //获取请求地址
+        String gt15AdminOrgBetaUrl = getGt15AdminOrgBetaUrl();
+
+        log.info("SynAdminOrgToERPUtils.synGt15_adminorg_beta.gt15AdminOrgBetaUrl:" + gt15AdminOrgBetaUrl);
+        //构建行政组织参数
+        List<String> numbers = getAdminOrgBetaDetailEntry(ctx, startDate, endDate);
+        log.info("SynAdminOrgToERPUtils.gt15_adminorg_add.numbers:" + numbers.size());
+
+        for (String number : numbers) {
+            String paramJOStr = getParamJOStrByNumber(number);
+            //数据保存接口
+            String responseMsg = HttpsReqUtil.postByHttps(gt15AdminOrgBetaUrl, paramJOStr, accessToken);
+        }
+
+    }
+
+
+    /**
+     * 封存:封存根据编码封存行政组织:主体
+     *
+     * @param ctx
+     * @return
+     * @throws Exception
+     */
+    public static String syndminorgBetaToErp(Context ctx, String startDate, String endDate) throws Exception {
+        //获取appToken
+        String appToken = SynSalaryFromErpUtils.getAppToken(ctx);
+        log.info("获取syndminorgBetaToErp.appToken:" + appToken);
+        //获取accessToken
+        String accessToken = SynSalaryFromErpUtils.getAccessToken(appToken);
+        log.info("获取syndminorgBetaToErp.accessToken为:" + accessToken);
+        //薪酬明细保存接口
+        synGt15_adminorg_beta(ctx, accessToken, startDate, endDate);
+        log.info("syndminorgBetaToErp.responseMsg:" + accessToken);
+
+        return "";
+    }
+
+
 }

+ 0 - 84
GDYSL/websrc/com/kingdee/customer/Auth/handler/ConfigAddressServletUtil.java

@@ -1,84 +0,0 @@
-package com.kingdee.customer.Auth.handler;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Properties;
-
-import com.kingdee.bos.BOSException;
-
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
-import org.apache.log4j.Logger;
-
-/**
- * @author dengzhouhong
- * @version 1.0.0
- * @ClassName ConfigAddressServletUtil.java
- * @Description TODO
- * @createTime 2024年04月29日 10:25
- */
-public class ConfigAddressServletUtil {
-
-    private static Logger logger =
-            Logger.getLogger(ConfigAddressServletUtil.class);
-    static Properties prop = null;
-
-
-
-    /**
-     * 获取登陆邮箱信息
-     * @param
-     * @return
-     * @throws IOException
-     * @throws ConfigurationException
-     * @throws BOSException
-     */
-    public static void getProperties()
-    {
-        String configFilePath= System.getProperty("eas.properties.dir")+ "/adSsoConfig.properties";
-        logger.info("配置文件路径:"+configFilePath);
-        System.out.println("配置文件路径:"+configFilePath);
-        File configFile = new File(configFilePath);
-        prop = new Properties();
-
-        FileInputStream fin = null;
-        try
-        {
-            //createPropertiesFileIfNotExist(configFile);
-            fin = new FileInputStream(configFile);
-            PropertiesConfiguration config = new PropertiesConfiguration();
-            config.load(fin, "UTF-8");
-            prop.setProperty("authUrl", config.getString("authUrl"));
-            prop.setProperty("tokenUrl", config.getString("tokenUrl"));
-            prop.setProperty("refreshTokenUrl", config.getString("refreshTokenUrl"));
-            prop.setProperty("client_id", config.getString("client_id"));
-            prop.setProperty("client_secret", config.getString("client_secret"));
-            prop.setProperty("url", config.getString("shrUrl"));
-            prop.setProperty("userUrl", config.getString("userUrl"));
-            prop.setProperty("dataCenter", config.getString("dataCenter"));
-            prop.setProperty("locale", config.getString("locale"));
-            prop.setProperty("mobileEid", config.getString("mobileEid"));
-
-        }
-        catch (FileNotFoundException e) {
-            logger.error("ConfigAddressUtil.....FileNotFoundException ",e);
-        } catch (IOException e) {
-            logger.error("ConfigAddressUtil.....IOException ",e);
-        } catch (ConfigurationException e) {
-            logger.error("ConfigAddressUtil.....ConfigurationException ",e);
-        } finally {
-            try {
-                fin.close();
-            } catch (IOException e) {
-                logger.error("ConfigAddressUtil.....IOException ",e);
-            }
-        }
-    }
-
-    public static String getProperty(String fileName) {
-        getProperties();
-        return prop.getProperty(fileName);
-    }
-}

+ 0 - 201
GDYSL/websrc/com/kingdee/customer/Auth/handler/TestServlet.java

@@ -1,201 +0,0 @@
-package com.kingdee.customer.Auth.handler;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import java.util.Base64;
-import com.aliyun.odps.utils.StringUtils;
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.eas.cp.eip.sso.util.CloudParamUtil;
-import com.kingdee.eas.util.app.DbUtil;
-import com.kingdee.jdbc.rowset.IRowSet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class TestServlet extends HttpServlet {
-
-    private final Logger logger = LoggerFactory.getLogger(TestServlet.class);
-
-    public TestServlet() {
-        super();
-    }
-
-    /**
-     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
-     */
-    @Override
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        logger.error("into TestServlet.doGet");
-        //标准版流程助手
-        String url = "http://bos.kingdee.com/workflow/main.html?";
-        String wfversion = request.getParameter("wfversion");
-        String storeEid = request.getParameter("storeEid");
-        //移动bos版本流程助手,客户有使用移动bos可使用这个版本
-        //if("mbos".equals(wfversion)){
-
-        /**
-         * https://mbos.kdeascloud.com/mbos/page/loadPage?
-         * path=cmpSubmit88sp1&name=submitbill.editui
-         * &lczstype=list&cometype=havedo&billID=SPKUhmbQSQifgjFU2ESznbEdulw%3D
-         * &assignId=22910d25-d1b4-425c-9e87-eaa287f438b6WFWKITEM
-         * &fprocinstid=653327bb-c464-4472-aa8d-c60b35000674WFPCINST
-         * &operateState=VIEW&lczsapprove=9444be02b9d40929508ff587f216a64e&canChangeLanguage=1
-         * &eid=ww434cb2a638701cdd&appid=10036
-         *
-         * https://mbos.kdeascloud.com/mbos/page/loadPage?storeEid=21231
-         * &path=lczs2&name=approveui.navui
-         *
-         * &eid=ww434cb2a638701cdd&appid=10036
-         * &token=ZmVuZy5jaGVu
-         *
-         *
-         *
-         * &cometype=todo&assignId=22910d25-d1b4-425c-9e87-eaa287f438b6WFWKITEM
-         *
-         *
-         */
-
-        /**
-         * https://mbos.kdeascloud.com/mbos/page/loadPage?
-         *          * path=cmpSubmit88sp1&name=submitbill.editui
-         *          * &lczstype=list&cometype=havedo&billID=SPKUhmbQSQifgjFU2ESznbEdulw%3D
-         *          * &assignId=22910d25-d1b4-425c-9e87-eaa287f438b6WFWKITEM
-         *          * &fprocinstid=653327bb-c464-4472-aa8d-c60b35000674WFPCINST
-         *          * &operateState=VIEW&lczsapprove=9444be02b9d40929508ff587f216a64e&canChangeLanguage=1
-         *
-         *
-         */
-
-        //url = "https://mbos.kdeascloud.com/mbos/page/loadPage?storeEid=21231&path=lczs2&name=approveui.navui";
-
-
-        //TODO:加入的代码拼接跳转的参数
-        String assignmentId = "";
-        HttpSession session = request.getSession();
-        if (session != null) {
-            Map<String, String> assignmentMap = (Map) session.getAttribute("assignment");
-            if (assignmentMap != null && assignmentMap.size() > 0) {
-                assignmentId = assignmentMap.get("assignmentId");
-                logger.info("onSuccessfulValidation......assignmentId:" + assignmentId);
-            }
-        }
-        String billId = "";
-        String fprocinstid = "";
-        try {
-            Map<String,String> paramMap = getParamMapByAssignId(assignmentId);
-            billId = paramMap.get("billId");
-            fprocinstid = paramMap.get("fprocinstid");
-        } catch (BOSException e) {
-            logger.error("TestServlet.doGet" + e.getMessage());
-            throw new ServletException(e.getMessage());
-        }
-
-        url = "https://mbos.kdeascloud.com/mbos/page/loadPage?path=cmpSubmit88sp1&name=submitbill.editui&lczstype=list&billID="+billId+"&fprocinstid="+fprocinstid+"&operateState=VIEW&lczsapprove=9444be02b9d40929508ff587f216a64e&canChangeLanguage=1";
-        if (storeEid != null && !"".equals(storeEid) && !"null".equals(storeEid)) {
-            url = url.replace("storeEid=21231", "storeEid=" + storeEid);
-        }
-        //}
-
-        Map<String, String> infoMap = encryptUserInfo(request);
-
-        Set<String> keySet = infoMap.keySet();
-        for (String key : keySet) {
-            url += "&" + key + "=" + infoMap.get(key);
-        }
-        url = url.replace("?&", "?");
-
-
-        url += "&cometype=havedo&assignId=" + assignmentId;
-        logger.info("OtherAppPortalServlet.doget.url:" + url);
-        response.sendRedirect(url);
-    }
-
-
-    @Override
-    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        // TODO Auto-generated method stub
-        doGet(request, response);
-    }
-
-
-    /**
-     * accessurl
-     * 如果第三方app点击链接带token,这方法可以不写,将流程助手主页作为应用url,getLoginInfoByToken中根据第三方app的token解析到用户信息即可
-     * 如果第三方app点击链接不带token,将此接口作为应用的url,方法内获取第三方app用户对应的eas用户信息,方法返回值resultMap存跳转到流程助手的参数
-     * http://localhost:8080/otherapp/index?eid=21231&appid=10036&param=zhangsan
-     */
-    public Map<String, String> encryptUserInfo(HttpServletRequest request) {
-        HashMap<String, String> resultMap = new HashMap<String, String>();
-        String param = request.getParameter("param");
-        //下面三个参数为跳转流程助手主页参数
-        String eid = request.getParameter("eid");
-        String appid = request.getParameter("appid");
-        String token = "";
-        //........根据第三方app传来的参数,取到eas用户信息
-        try {
-            token = encrypt_Base64(param);
-        } catch (Exception e) {
-            logger.error("encryptUserInfo encrypt_Base64 Exception" + e.getMessage());
-            e.printStackTrace();
-        }
-        logger.info("encryptUserInfo.token:"+token);
-        resultMap.put("eid", eid);
-        resultMap.put("appid", appid == null ? "10036" : appid);
-        resultMap.put("token", token);
-        return resultMap;
-    }
-
-    /***
-     * Base64加密
-     * @param str 需要加密的参数
-     * @return
-     * @throws Exception
-     */
-    private static String encrypt_Base64(String str) throws Exception {
-        if(StringUtils.isEmpty(str)){
-            return "";
-        }
-        String result = Base64.getEncoder().encodeToString(str.getBytes("UTF-8"));
-        return result;
-    }
-
-
-    /**
-     * 通过assignId 查询出billId 和fprocinstId
-     * @param assignId
-     * @return
-     */
-    private  Map<String,String> getParamMapByAssignId(String assignId) throws BOSException {
-        Map<String,String> paramMap = new HashMap<String,String>();
-        String dataCenter=ConfigAddressServletUtil.getProperty("dataCenter");
-        String locale=ConfigAddressServletUtil.getProperty("locale");
-        Context ctx = CloudParamUtil.getContext(dataCenter, locale, "administrator");
-        String sql = "select fbizobjid as billId,fprocinstid from t_wfr_assign where fassignid = '"+assignId+"'";
-        String billId = "";
-        String fprocinstid = "";
-        try {
-            IRowSet result = DbUtil.executeQuery(ctx, sql);
-            while (result.next()) {
-                billId = result.getString("billId");
-                fprocinstid = result.getString("fprocinstid");
-                paramMap.put("billId",billId);
-                paramMap.put("fprocinstid",fprocinstid);
-            }
-        } catch (SQLException e) {
-            throw new BOSException(e);
-        }
-        return paramMap;
-    }
-
-
-
-}

+ 0 - 283
GDYSL/websrc/com/kingdee/customer/Auth/handler/UserEasAuthServlet.java

@@ -1,283 +0,0 @@
-package com.kingdee.customer.Auth.handler;
-
-import com.aliyun.odps.utils.StringUtils;
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.eas.cp.eip.sso.util.CloudParamUtil;
-import com.kingdee.eas.util.StringUtil;
-import com.kingdee.eas.util.app.DbUtil;
-import com.kingdee.jdbc.rowset.IRowSet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.sql.SQLException;
-import java.util.Base64;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author dengzhouhong
- * @version 1.0.0
- * @ClassName UserEasAuthServlet.java
- * @Description TODO
- * @createTime 2024年01月09日 16:24
- */
-public class UserEasAuthServlet extends HttpServlet{
-
-    private final Logger logger = LoggerFactory.getLogger(UserEasAuthServlet.class);
-
-    public UserEasAuthServlet() {
-        super();
-    }
-
-    /**
-     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
-     */
-    @Override
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        logger.error("into TestServlet.doGet");
-        //标准版流程助手
-        String url = "http://bos.kingdee.com/workflow/main.html?";
-        String wfversion = request.getParameter("wfversion");
-        String storeEid = request.getParameter("storeEid");
-        //移动bos版本流程助手,客户有使用移动bos可使用这个版本
-        //if("mbos".equals(wfversion)){
-
-        /**
-         * https://mbos.kdeascloud.com/mbos/page/loadPage?
-         * path=cmpSubmit88sp1&name=submitbill.editui
-         * &lczstype=list&cometype=havedo&billID=SPKUhmbQSQifgjFU2ESznbEdulw%3D
-         * &assignId=22910d25-d1b4-425c-9e87-eaa287f438b6WFWKITEM
-         * &fprocinstid=653327bb-c464-4472-aa8d-c60b35000674WFPCINST
-         * &operateState=VIEW&lczsapprove=9444be02b9d40929508ff587f216a64e&canChangeLanguage=1
-         * &eid=ww434cb2a638701cdd&appid=10036
-         *
-         * https://mbos.kdeascloud.com/mbos/page/loadPage?storeEid=21231
-         * &path=lczs2&name=approveui.navui
-         *
-         * &eid=ww434cb2a638701cdd&appid=10036
-         * &token=ZmVuZy5jaGVu
-         *
-         *
-         *
-         * &cometype=todo&assignId=22910d25-d1b4-425c-9e87-eaa287f438b6WFWKITEM
-         *
-         *
-         */
-
-        /**
-         * https://mbos.kdeascloud.com/mbos/page/loadPage?
-         *          * path=cmpSubmit88sp1&name=submitbill.editui
-         *          * &lczstype=list&cometype=havedo&billID=SPKUhmbQSQifgjFU2ESznbEdulw%3D
-         *          * &assignId=22910d25-d1b4-425c-9e87-eaa287f438b6WFWKITEM
-         *          * &fprocinstid=653327bb-c464-4472-aa8d-c60b35000674WFPCINST
-         *          * &operateState=VIEW&lczsapprove=9444be02b9d40929508ff587f216a64e&canChangeLanguage=1
-         *
-         *
-         */
-
-        //url = "https://mbos.kdeascloud.com/mbos/page/loadPage?storeEid=21231&path=lczs2&name=approveui.navui";
-
-
-        //TODO:加入的代码拼接跳转的参数
-        String assignmentId = "";
-        HttpSession session = request.getSession();
-        if (session != null) {
-            Map<String, String> assignmentMap = (Map) session.getAttribute("assignment");
-            if (assignmentMap != null && assignmentMap.size() > 0) {
-                assignmentId = assignmentMap.get("assignmentId");
-                logger.info("onSuccessfulValidation......assignmentId:" + assignmentId);
-            }
-        }
-        String billId = "";
-        String procinstId = "";
-        String actdefId = "";
-        String procdefId ="";
-        try {
-            Map<String,String> paramMap = getParamMapByAssignId(assignmentId);
-            billId = paramMap.get("billId");
-            procinstId = paramMap.get("procinstId");
-            actdefId = paramMap.get("actdefId");
-            procdefId = paramMap.get("procdefId");
-        } catch (BOSException e) {
-            logger.error("TestServlet.doGet" + e.getMessage());
-            throw new ServletException(e.getMessage());
-        }
-        //encode转换一下
-        if(!StringUtils.isEmpty(billId)){
-            billId = URLEncoder.encode(billId);
-        }
-
-        //url = "https://mbos.kdeascloud.com/mbos/page/loadPage?path=cmpSubmit88sp1&name=submitbill.editui&billID="+billId+"&fprocinstid="+procinstId+"&operateState=VIEW&lczsapprove=9444be02b9d40929508ff587f216a64e&canChangeLanguage=1";
-        url = "&billID="+billId+"&fprocinstid="+procinstId+"&operateState=VIEW&lczsapprove=9444be02b9d40929508ff587f216a64e&canChangeLanguage=0";
-
-        if (storeEid != null && !"".equals(storeEid) && !"null".equals(storeEid)) {
-            url = url.replace("storeEid=21231", "storeEid=" + storeEid);
-        }
-        //}
-
-        Map<String, String> infoMap = null;
-        try {
-            infoMap = encryptUserInfo(request);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        Set<String> keySet = infoMap.keySet();
-        for (String key : keySet) {
-            url += "&" + key + "=" + infoMap.get(key);
-        }
-        url = url.replace("?&", "?");
-
-
-        url += "&cometype=havedo&assignId=" + assignmentId;
-
-        //替换url:  url.replace("page/loadPage", "mbosw/getWorkflowUrl");
-        String urlR = "";
-        try {
-            urlR = getUrlByWorkflow(actdefId,procdefId);
-        } catch (BOSException e) {
-            logger.error("TestServlet.getUrlByWorkflow" + e.getMessage());
-            throw new ServletException(e.getMessage());
-        }
-        if(StringUtils.isEmpty(urlR)){
-            //静态列的显示地址
-            urlR = "https://mbos.kdeascloud.com/mbos/page/loadPage?storeEid=21231&path=lczs2&name=approveui.navui";
-            if (storeEid != null && !"".equals(storeEid) && !"null".equals(storeEid)) {
-                urlR = urlR.replace("storeEid=21231", "storeEid=" + storeEid);
-            }
-            //https://mbos.kdeascloud.com/mbos/page/loadPage?storeEid=21231&path=lczs2&name=approveui.navui&eid=ww434cb2a638701cdd&appid=10036&token=ZmVuZy5jaGVu&cometype=todo&assignId=22910d25-d1b4-425c-9e87-eaa287f438b6WFWKITEM
-            Set<String> keySet2 = infoMap.keySet();
-            for (String key : keySet2) {
-                urlR += "&" + key + "=" + infoMap.get(key);
-            }
-            urlR = urlR.replace("?&", "?");
-            urlR += "&canChangeLanguage=0&cometype=todo&assignId=" + assignmentId;
-            logger.info("静态列的显示地址:OtherAppPortalServlet.doget.urlR:" + urlR);
-
-        }else{
-            //动态列的显示
-            urlR = urlR +url;
-            urlR = urlR.replace("page/loadPage", "mbosw/getWorkflowUrl");
-            logger.info("动态态列的显示地址:OtherAppPortalServlet.doget.urlR:" + urlR);
-        }
-
-        logger.info("OtherAppPortalServlet.doget.url:" + urlR);
-        response.sendRedirect(urlR);
-    }
-
-
-    @Override
-    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        // TODO Auto-generated method stub
-        doGet(request, response);
-    }
-
-
-    /**
-     * accessurl
-     * 如果第三方app点击链接带token,这方法可以不写,将流程助手主页作为应用url,getLoginInfoByToken中根据第三方app的token解析到用户信息即可
-     * 如果第三方app点击链接不带token,将此接口作为应用的url,方法内获取第三方app用户对应的eas用户信息,方法返回值resultMap存跳转到流程助手的参数
-     * http://localhost:8080/otherapp/index?eid=21231&appid=10036&param=zhangsan
-     */
-    public Map<String, String> encryptUserInfo(HttpServletRequest request) throws ServletException {
-        HashMap<String, String> resultMap = new HashMap<String, String>();
-        String param = request.getParameter("param");
-        //下面三个参数为跳转流程助手主页参数
-        String eid = request.getParameter("eid");
-        String appid = request.getParameter("appid");
-        String token = "";
-        //........根据第三方app传来的参数,取到eas用户信息
-        try {
-            token = encrypt_Base64(param);
-        } catch (Exception e) {
-            logger.error("encryptUserInfo encrypt_Base64 Exception" + e.getMessage());
-            throw new ServletException(e.getMessage());
-        }
-        logger.info("encryptUserInfo.token:"+token);
-        resultMap.put("eid", eid);
-        resultMap.put("appid", appid == null ? "10036" : appid);
-        resultMap.put("token", token);
-        return resultMap;
-    }
-
-    /***
-     * Base64加密
-     * @param str 需要加密的参数
-     * @return
-     * @throws Exception
-     */
-    private static String encrypt_Base64(String str) throws Exception {
-        if(StringUtils.isEmpty(str)){
-            return "";
-        }
-        String result = Base64.getEncoder().encodeToString(str.getBytes("UTF-8"));
-        return result;
-    }
-
-    /**
-     * 通过assignId 查询出billId 和fprocinstId,actdefId
-     * @param assignId
-     * @return
-     */
-    private  Map<String,String> getParamMapByAssignId(String assignId) throws BOSException {
-        Map<String,String> paramMap = new HashMap<String,String>();
-        String dataCenter=ConfigAddressServletUtil.getProperty("dataCenter");
-        String locale=ConfigAddressServletUtil.getProperty("locale");
-        Context ctx = CloudParamUtil.getContext(dataCenter, locale, "administrator");
-        String sql = "select fbizobjid as billId,fprocinstid as procinstId,factdefid as actdefId,fprocdefid as procdefId from t_wfr_assign where fassignid = '"+assignId+"'";
-        logger.info("UserEasAuthServlet.getParamMapByAssignId.sql:"+sql);
-        String billId = "";
-        String procinstId = "";
-        String actdefId = "";
-        String procdefId = "";
-        try {
-            IRowSet result = DbUtil.executeQuery(ctx, sql);
-            while (result.next()) {
-                billId = result.getString("billId");
-                procinstId = result.getString("procinstId");
-                actdefId = result.getString("actdefId");
-                procdefId = result.getString("procdefId");
-                paramMap.put("billId",billId);
-                paramMap.put("procinstId",procinstId);
-                paramMap.put("actdefId",actdefId);
-                paramMap.put("procdefId",procdefId);
-            }
-        } catch (SQLException e) {
-            throw new BOSException(e);
-        }
-        return paramMap;
-    }
-
-    /**
-     *  获取审批的替换的url
-     * @return
-     */
-    private String getUrlByWorkflow(String actdefId,String procdefId) throws BOSException {
-        String dataCenter=ConfigAddressServletUtil.getProperty("dataCenter");
-        String locale=ConfigAddressServletUtil.getProperty("locale");
-        Context ctx = CloudParamUtil.getContext(dataCenter, locale, "administrator");
-        String sql = " SELECT url FROM T_WFR_MBOS_WORKFLOW where actDefId ='"+actdefId+"' and procdefid = '"+procdefId+"'";
-        logger.info("UserEasAuthServlet.getUrlByWorkflow.sql:"+sql);
-        String url = "";
-        try {
-            IRowSet result = DbUtil.executeQuery(ctx, sql);
-            while (result.next()) {
-                url = result.getString("url");
-            }
-        } catch (SQLException e) {
-            throw new BOSException(e);
-        }
-        return url;
-    }
-
-
-}

+ 0 - 279
GDYSL/websrc/com/kingdee/shr/compensation/integrate/verify/AbstractSubmitBillVerify.java

@@ -1,279 +0,0 @@
-package com.kingdee.shr.compensation.integrate.verify;
-
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
-import com.kingdee.eas.common.EASBizException;
-import com.kingdee.eas.custom.utils.DateTimeUtils;
-import com.kingdee.eas.framework.CoreBaseInfo;
-import com.kingdee.eas.hr.base.HRBillStateEnum;
-import com.kingdee.eas.util.app.DbUtil;
-import com.kingdee.jdbc.rowset.IRowSet;
-import com.kingdee.shr.compensation.app.entity.Pair;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillCollection;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillEntryCollection;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillEntryInfo;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillFactory;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillInfo;
-import com.kingdee.shr.compensation.app.integrate.CalSubmitSchemeCollection;
-import com.kingdee.shr.compensation.app.integrate.CalSubmitSchemeFactory;
-import com.kingdee.shr.compensation.app.integrate.DateTypeEnum;
-import com.kingdee.shr.compensation.exception.SubmitBillVerifyException;
-import com.kingdee.shr.compensation.integrate.verify.ISubmitBillVerifyInterface;
-import com.kingdee.shr.compensation.util.CmpDateUtil;
-import com.kingdee.shr.compensation.util.db.CmpInSql;
-import com.kingdee.shr.compensation.util.db.CmpInSqlFactory;
-import com.kingdee.shr.compensation.util.integrate.CmpIntegrateEntryHelper;
-import com.kingdee.shr.ml.util.SHRServerResource;
-import com.kingdee.util.LocaleUtils;
-import java.sql.SQLException;
-import java.text.MessageFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
-
-public abstract class AbstractSubmitBillVerify implements ISubmitBillVerifyInterface {
-	
-	private static Logger logger =
-	        Logger.getLogger("com.kingdee.shr.compensation.integrate.verify.AbstractSubmitBillVerify");
-	
-	public void verify(Context ctx, CoreBaseInfo model, Map<String, Object> otherParams) throws BOSException, EASBizException {
-		beforeVerify(ctx, model, otherParams);
-		runVerify(ctx, model, otherParams);
-		afterVerify(ctx, model, otherParams);
-	}
-
-	protected void beforeVerify(Context ctx, CoreBaseInfo model, Map<String, Object> otherParams) throws BOSException, EASBizException {
-		BatchSubmitShemeBillInfo info = (BatchSubmitShemeBillInfo)model;
-		checkBillNumber(ctx, info);
-		verifyBillState(ctx, (CoreBaseInfo)info);
-	}
-
-	protected void verifyBillState(Context ctx, CoreBaseInfo model) throws EASBizException, BOSException {
-		BatchSubmitShemeBillInfo info = (BatchSubmitShemeBillInfo)model;
-		BatchSubmitShemeBillCollection colsInDB = BatchSubmitShemeBillFactory.getLocalInstance(ctx).getBatchSubmitShemeBillCollection("select billState where id = '" + info.getId().toString() + "'");
-		if (colsInDB.isEmpty())
-			return;
-		HRBillStateEnum billState = colsInDB.get(0).getBillState();
-		if (HRBillStateEnum.SAVED != billState && HRBillStateEnum.SUBMITED != billState)
-			throw new SubmitBillVerifyException(SubmitBillVerifyException.EXCEPTION4);
-	}
-
-	protected void runVerify(Context ctx, CoreBaseInfo model, Map<String, Object> otherParams) throws BOSException, EASBizException {
-		BatchSubmitShemeBillInfo info = (BatchSubmitShemeBillInfo)model;
-		verifyRemovedCmpFile(ctx, info);
-		verifyCmpEmpRe(ctx, info);
-		verifySubmitPeriod(ctx, info);
-	}
-
-	protected void verifyRemovedCmpFile(Context ctx, BatchSubmitShemeBillInfo info) throws BOSException, EASBizException {
-		String billEntryTable = CmpIntegrateEntryHelper.getIntegrateDynamicEntryTableNameBySubmitSchemeId(ctx, info.getSubmitScheme().getId().toString());
-		String sqlTemplate = "SELECT entry.fpersonId, person.FName_%s personName, person.FNumber personNum FROM %s entry LEFT JOIN T_BD_PERSON person ON entry.FPersonId = person.Fid WHERE NOT EXISTS(SELECT 1 FROM T_HR_SCmpEmpORelation empOrel WHERE entry.FCmpEmpORelationID = empOrel.FID) AND entry.fbillId = '%s'";
-		Set<String> nameAndNumSet = new HashSet<>();
-		String personHint = SHRServerResource.getString("com.kingdee.shr.compensation.resource.CommonResource", "label195", ctx.getLocale());
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, String.format(sqlTemplate, new Object[] { LocaleUtils.getShortCode(ctx.getLocale()), billEntryTable, info
-					.getId().toString() }));
-			while (rs.next()) {
-				nameAndNumSet.add(MessageFormat.format(personHint, new Object[] { rs.getString("personName"), rs.getString("personNum") }));
-			}
-		} catch (SQLException e) {
-			throw new BOSException(e.getMessage(), e);
-		}
-		if (!nameAndNumSet.isEmpty())
-			throw new SubmitBillVerifyException(SubmitBillVerifyException.EXCEPTION1, nameAndNumSet.toArray());
-	}
-
-	protected void afterVerify(Context ctx, CoreBaseInfo model, Map<String, Object> otherParams) throws BOSException {}
-
-	protected void verifyCmpEmpRe(Context ctx, BatchSubmitShemeBillInfo info) throws BOSException, EASBizException {
-		Map<String, Pair<Date, Date>> empCmpRelationsFromDb = getEmpCmpRelationsFromDb(ctx, info);
-		
-		if (empCmpRelationsFromDb.isEmpty())
-			return;
-		Set<String> errorPersons = new HashSet<>();
-		DateTypeEnum effectDateDisplay = null;
-		CalSubmitSchemeCollection submitScheme = CalSubmitSchemeFactory.getLocalInstance(ctx).getCalSubmitSchemeCollection("where id = '" + info.getSubmitScheme().getId().toString() + "'");
-		if (submitScheme != null && submitScheme.size() > 0)
-			effectDateDisplay = submitScheme.get(0).getEffectDateDisplay();
-		BatchSubmitShemeBillEntryCollection coll = info.getEntry();
-		
-		int adjustMonth = 0;
-		Set<String> personSet = new HashSet<>();
-		int dataSource = info.getDatasource().getValue();
-		if(dataSource == 2) {
-			Set<String> personIdSet = new HashSet<>();
-			for (int i = 0; i < coll.size(); i++) {
-				BatchSubmitShemeBillEntryInfo entryInfo = coll.get(i);
-				String personId = entryInfo.getPerson().getId().toString();
-				personIdSet.add(personId);
-			}
-			logger.error("人员ID集合:"+personIdSet);
-			StringBuffer personIds = new StringBuffer();
-			for(String id:personIdSet) {
-				personIds.append("'"+id+"',");
-			}
-			
-			String sql = "select top 1 * from T_HR_SHRRsvItem0 where fnumber = '1005' and FState = '1'";
-			//调整月份
-			try {
-				IRowSet rs = DbUtil.executeQuery(ctx, sql);
-				while(rs.next()) {
-					adjustMonth = rs.getInt("FName_l2");
-				}
-				if(personIds.length()>0) {
-					personIds.deleteCharAt(personIds.length()-1);
-					String nowDate = DateTimeUtils.dateFormat(new Date(), "yyyy-MM-dd");
-					String personSql = "SELECT DISTINCT a.fpersonid,a.fpositionid FROM T_HR_EmpOrgRelation a "
-							+ "left join T_HR_EmpLaborRelationHis b on a.FPERSONID=b.fpersonid "
-							+ "left join T_HR_BDEmployeeType c on c.fid=b.flaborrelationstateid "
-							+ "where c.finservice not in ('2','3') and a.feffdt <= '"+nowDate+"' "
-							+ "and a.fleffdt >= '"+nowDate+"' and a.fislatestinaday = '1' "
-							+ "and b.fstartdatetime <= '"+nowDate+"' and b.fenddatetime >= '"+nowDate+"' "
-							+ "and a.fpersonid in ("+personIds+")";
-					logger.error("查询在职人员SQL:"+personSql);
-					IRowSet personRow = DbUtil.executeQuery(ctx, personSql);
-					while(personRow.next()) {
-						personSet.add(personRow.getString("fpersonid")+ "_" + personRow.getString("fpositionid"));
-					}
-					logger.error("员工+部门ID集合"+personSet);
-				}
-			} catch (BOSException e) {
-				e.printStackTrace();
-			} catch (SQLException e) {
-				e.printStackTrace();
-			}
-		}
-		
-		
-		if (coll != null && coll.size() > 0)
-			for (int i = 0; i < coll.size(); i++) {
-				BatchSubmitShemeBillEntryInfo entryInfo = coll.get(i);
-				String employeeTypeId = entryInfo.getCmpEmpORelation().getId().toString();
-				Date entryDate = entryInfo.getEffectDate();
-				String personId = entryInfo.getPerson().getId().toString();
-				String positionId = entryInfo.getPosition().getId().toString();
-				
-				//校验发生日期时根据调整月份进行调整(只针对离职员工)
-				if(!personSet.contains(personId+"_"+positionId)) {
-					Calendar calendar = Calendar.getInstance();
-					calendar.setTime(entryDate);
-					calendar.add(Calendar.MONTH, adjustMonth);
-					entryDate = calendar.getTime();
-				}
-				
-				Pair<Date, Date> pair = empCmpRelationsFromDb.get(personId + "_" + positionId + "_" + employeeTypeId);
-				if (null != pair) {
-					Date effectDate = (Date)pair.getFirst();
-					Date leffectDate = (Date)pair.getSecond();
-					String personName = getPersonNameIfVerified(entryInfo);
-					if (effectDateDisplay == DateTypeEnum.yyyyMM) {
-						if (CmpDateUtil.compareMonth(entryDate, effectDate) < 0 || CmpDateUtil.compareMonth(entryDate, leffectDate) > 0)
-							errorPersons.add(personName);
-					} else if (entryDate.compareTo(effectDate) < 0 || entryDate.compareTo(leffectDate) > 0) {
-						errorPersons.add(personName);
-					}
-				}
-			}
-		int maxSize = 30;
-		int size = 1;
-		StringBuilder errorMessage = new StringBuilder();
-		for (String errorPersonName : errorPersons) {
-			if (maxSize <= size)
-				break;
-			errorMessage.append(errorPersonName).append("、");
-					size++;
-		}
-		if (errorMessage.length() > 0) {
-			String message = errorMessage.substring(0, errorMessage.length() - 1);
-			if (size == maxSize)
-				message = message + "...";
-			throw new SubmitBillVerifyException(SubmitBillVerifyException.EXCEPTION5, new Object[] { message });
-		}
-	}
-
-	protected String getPersonNameIfVerified(BatchSubmitShemeBillEntryInfo entryInfo) throws EASBizException {
-		String personName = entryInfo.getPerson().getName();
-		if (StringUtils.isEmpty(personName))
-			throw new SubmitBillVerifyException(SubmitBillVerifyException.PERSON_PERM_ERROR);
-		return personName;
-	}
-
-	protected Map<String, Pair<Date, Date>> getEmpCmpRelationsFromDb(Context ctx, BatchSubmitShemeBillInfo info) throws BOSException, EASBizException {
-		BatchSubmitShemeBillEntryCollection coll = info.getEntry();
-		Set<String> personIds = new HashSet<>();
-		boolean personIsNull = false;
-		for (int i = 0; i < coll.size(); i++) {
-			if (coll.get(i).getPerson() == null || coll.get(i).getPerson().getId() == null) {
-				personIsNull = true;
-			} else {
-				personIds.add(coll.get(i).getPerson().getId().toString());
-			}
-		}
-		if (personIsNull) {
-			throw new SubmitBillVerifyException(SubmitBillVerifyException.EXCEPTION8);
-		}
-		CmpInSql<String> cmpInSql = CmpInSqlFactory.getInstance();
-		String personInSql = cmpInSql.createInSqlBaseOnFId(ctx, personIds);
-		String hrOrgUnitId = info.getHrOrgUnit().getId().toString();
-		String adminOrgId = info.getAdminOrg().getId().toString();
-		String longNumber = getLongNumber(ctx, adminOrgId);
-		StringBuilder filter = new StringBuilder();
-		String sql = "select p.Fid personId, p.FNumber, ce.FEffectDate, ce.FLeffectDate, pt.Fid positionId,ce.Fid employeeTypeId  FROM T_HR_SCmpEmpORelation AS ce  INNER JOIN T_HR_SPersonCmp AS pc ON ce.FPersonCmpID = pc.FID  INNER JOIN T_HR_EmpOrgRelation AS er ON ce.FEmpOrgRelationID = er.FID  INNER JOIN T_BD_Person AS p ON ce.FPersonID = p.FID  INNER JOIN T_ORG_HRO AS h ON pc.FHrOrgUnitID = h.FID  LEFT OUTER JOIN T_ORG_Admin AS ad ON er.FAdminOrgID = ad.FID  LEFT OUTER JOIN T_ORG_Position AS pt ON er.FPositionID = pt.FID LEFT OUTER JOIN T_HR_EmpLaborRelationHis AS re ON er.FlaborRelationID =re.FHistoryRelateID and er.FEndDateTime >=re.FStartDateTime and er.FEndDateTime <=re.FEndDateTime LEFT OUTER JOIN T_HR_BDEmployeeType AS et ON re.FLaborRelationStateID =et.FID ";
-		filter.append(sql);
-		filter.append(" where h.FID = '").append(hrOrgUnitId).append("'");
-		filter.append(" and ((ad.flongNumber LIKE '").append(longNumber).append("%' and ce.fuseDefault=1) or ce.fuseDefault=0)");
-		filter.append(" and p.FID in").append(personInSql);
-		Map<String, Pair<Date, Date>> dbMap = new HashMap<>();
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, filter.toString());
-			while (rs.next()) {
-				Pair<Date, Date> pair = new Pair();
-				Date effectDate = rs.getDate("FEffectDate");
-				Date leffectDate = rs.getDate("FLeffectDate");
-				pair.setFirst(effectDate);
-				pair.setSecond(leffectDate);
-				String personIdDB = rs.getString("personId");
-				String positionIdDB = rs.getString("positionId");
-				String employeeTypeId = rs.getString("employeeTypeId");
-				dbMap.put(personIdDB + "_" + positionIdDB + "_" + employeeTypeId, pair);
-			}
-		} catch (SQLException e) {
-			throw new BOSException(e.getMessage(), e);
-		}
-		cmpInSql.release(ctx);
-		return dbMap;
-	}
-
-	protected String getLongNumber(Context ctx, String id) throws BOSException {
-		String sql = "select FLongNumber from T_ORG_Admin where fid = '" + id + "'";
-		String longNumber = "";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next())
-				longNumber = rs.getString("FLongNumber");
-		} catch (SQLException e) {
-			throw new BOSException(e.getMessage(), e);
-		}
-		return longNumber;
-	}
-
-	protected void checkBillNumber(Context ctx, BatchSubmitShemeBillInfo info) throws BOSException, EASBizException {
-		String number = info.getNumber();
-		boolean flag = BatchSubmitShemeBillFactory.getLocalInstance(ctx).exists("where number = '" + number + "' and id <> '" + info
-				.getId().toString() + "'");
-		if (flag)
-			throw new SubmitBillVerifyException(SubmitBillVerifyException.EXCEPTION6, new Object[] { number });
-	}
-
-	protected void verifySubmitPeriod(Context ctx, BatchSubmitShemeBillInfo info) throws EASBizException, BOSException {}
-
-	protected String getMultiLan(Context ctx, String label) {
-		return SHRServerResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", label, ctx.getLocale());
-	}
-}

+ 0 - 542
GDYSL/websrc/com/kingdee/shr/compensation/service/CalFunctionIntegrateServiceEx.java

@@ -1,542 +0,0 @@
- package com.kingdee.shr.compensation.service;
- 
- import java.math.BigDecimal;
-import java.sql.SQLException;
-import java.text.DecimalFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.log4j.Logger;
-
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.bos.metadata.MetaDataLoaderFactory;
-import com.kingdee.bos.metadata.MetaDataPK;
-import com.kingdee.bos.metadata.entity.EntityObjectInfo;
-import com.kingdee.eas.base.core.util.EmptyUtil;
-import com.kingdee.eas.util.app.ContextUtil;
-import com.kingdee.eas.util.app.DbUtil;
-import com.kingdee.jdbc.rowset.IRowSet;
-import com.kingdee.shr.compensation.CalSchemeInfo;
-import com.kingdee.shr.compensation.app.formula.SalaryCalFunction;
-import com.kingdee.shr.compensation.app.formula.data.Tools;
-import com.kingdee.shr.compensation.app.integrate.CalSubmitItemCollection;
-import com.kingdee.shr.compensation.app.integrate.CalSubmitItemDataType;
-import com.kingdee.shr.compensation.app.integrate.CalSubmitItemFactory;
-import com.kingdee.shr.compensation.app.integrate.CalSubmitItemInfo;
-import com.kingdee.shr.compensation.app.integrate.DateTypeEnum;
-import com.kingdee.shr.compensation.app.integrate.SubmitElementCollection;
-import com.kingdee.shr.compensation.app.integrate.SubmitElementFactory;
-import com.kingdee.shr.compensation.app.integrate.SubmitElementInfo;
-import com.kingdee.shr.compensation.util.CmpDateUtil;
-import com.kingdee.util.StringUtils;
- 
- public class CalFunctionIntegrateServiceEx extends SalaryCalFunction
- {
-	
-	 private static Logger logger = Logger.getLogger("com.kingdee.shr.compensation.service.CalFunctionIntegrateServiceEx");
-   public double getTransferSalaryData(Map paramMap, HashMap tempMap, Map<String, BigDecimal> currencyMap, CalSchemeInfo calScheme, String mainTableRowFilter, String calSubmitScheme, String calSubmitItem, String company, double needSubOrg, String beginDate, String endDate,String hrNum)
-   {
-     String key = new StringBuilder().append("TransferSalaryEx:").append(calScheme.getNumber()).append("-").append(calSubmitScheme).append("-").append(calSubmitItem).append("-").append(company).append("-").append(needSubOrg).append(beginDate).append("-").append(endDate).toString();
-     String relyKey = new StringBuilder().append("TransferSalaryEx-").append(calScheme.getNumber()).append("-").append(calSubmitScheme).append("-").append(calSubmitItem).append("-").append(company).append("-").append(needSubOrg).append(beginDate).append("-").append(endDate).append("-").append("Rely").toString();
-     Map salaryMap = new HashMap();
- 
-     String calItem = (String)paramMap.get("CALITEM");
-//     logger.error("tempMap.get(key) ====="+tempMap.get(key) );
-     if (tempMap.get(key) == null) {
-	       String personFilter = getPersonFilterSql(calScheme, company, needSubOrg, beginDate, endDate, mainTableRowFilter);
-	       logger.error("personFilter====="+personFilter);
-	       Map methodParamMap = new HashMap();
-	       methodParamMap.put("calSubmitScheme", calSubmitScheme);
-	       methodParamMap.put("calSubmitItem", calSubmitItem);
-	       methodParamMap.put("personFilter", personFilter);
-	       methodParamMap.put("key", key);
-	       methodParamMap.put("relyKey", relyKey);
-	       methodParamMap.put("isNumber", Boolean.valueOf(true));
-	       methodParamMap.put("isCycleScheme", Boolean.valueOf(false));
-	       combineTransSalaryData(tempMap, currencyMap, methodParamMap,hrNum);
-//	       logger.error("tempMap=="+tempMap);
-     }
-     String personId = (String)paramMap.get("T_HR_SCMPCALTABLE_FPERSONID");
-     
-     logger.error("key=="+key);
-     logger.error("personId=="+personId);
-     salaryMap = (Map)tempMap.get(key);
-     logger.error("salaryMap=="+salaryMap);
-     putSubmitDataToParam(paramMap, tempMap, calItem, relyKey);
-     logger.error("salaryMap.containsKey(personId)="+salaryMap.containsKey(personId));
-     logger.error("((salaryMap.containsKey(personId)) ? EmptyUtil.isEmpty(salaryMap.get(personId))?0.0D:((BigDecimal)salaryMap.get(personId)).doubleValue() : 0.0D)=="+((salaryMap.containsKey(personId)) ? EmptyUtil.isEmpty(salaryMap.get(personId))?0.0D:((BigDecimal)salaryMap.get(personId)).doubleValue() : 0.0D));
-     return ((salaryMap.containsKey(personId)) ? EmptyUtil.isEmpty(salaryMap.get(personId))?0.0D:((BigDecimal)salaryMap.get(personId)).doubleValue() : 0.0D);
-   }
- 
- 
-   private String getPersonFilterSql(CalSchemeInfo calScheme, String company, double needSubOrg, String beginDate, String endDate, String mainTableRowFilter)
-   {
-     String calschemeid = calScheme.getId().toString();
-     int calTime = calScheme.getCalTime();
-     int periodYear = calScheme.getPeriodYear();
-     int periodMonth = calScheme.getPeriodMonth();
-     boolean haveSubOrg = 1.0D == needSubOrg;
-     String salaryPeriod = new StringBuilder().append(periodYear).append("-").append(periodMonth).append("-").append(calTime).toString();
-     String beginDateSql = new StringBuilder().append("{ts '").append(beginDate).append("'}").toString(); String endDateSql = new StringBuilder().append("{ts '").append(endDate).append("'}").toString();
- 
-     StringBuilder str = new StringBuilder();
-     str.append(" select FPersonID from T_HR_SCmpCalTable where FcalSchemeID = '").append(calschemeid).append("' ");
-     str.append(" and FperiodYear = ").append(periodYear);
-     str.append(" and FperiodMonth = ").append(periodMonth);
-     str.append(" and FcalTime = ").append(calTime);
-     if (!(StringUtils.isEmpty(mainTableRowFilter))) {
-       str.append(" and ").append(mainTableRowFilter);
-     }
-     String personSql = str.toString();
- 
-     String adminOrgSql = getAdminOrgIdFilterSql(company, haveSubOrg);
- 
-     str = new StringBuilder();
-     str.append(" WHERE ").append(adminOrgSql);
-     str.append(new StringBuilder().append(" AND FPERSONID  IN ( ").append(personSql).append(" )").toString());
-     str.append(" AND FEFFECTDATE >= ").append(beginDateSql);
-     str.append(" AND FEFFECTDATE <= ").append(endDateSql);
-     str.append(" AND FCALSTATE = '03' ");
-     str.append(" AND FSALARYPERIOD ='").append(salaryPeriod).append("'");
-     return str.toString();
-   }
- 
-   private void combineTransSalaryData(HashMap tempMap, Map<String, BigDecimal> currencyMap, Map<String, Object> methodParamMap,String hrNum)
-   {
-     String calSubmitScheme = (String)methodParamMap.get("calSubmitScheme");
-     String calSubmitItem = (String)methodParamMap.get("calSubmitItem");
-     String personFilter = (String)methodParamMap.get("personFilter");
-     String key = (String)methodParamMap.get("key");
-     String relyKey = (String)methodParamMap.get("relyKey");
-     Boolean isNumber = (Boolean)methodParamMap.get("isNumber");
-     Boolean isCycleScheme = (Boolean)methodParamMap.get("isCycleScheme");
- 
-     
-     
-     Boolean isDate = (Boolean)methodParamMap.get("isDate");
-     Boolean dateTypeToDay = (Boolean)methodParamMap.get("dateTypeToDay");
- 
-     Context ctx = Tools.getInstance().getCtx();
- 
-     Map salaryMap = new HashMap();
- 
-     Map relyMap = new HashMap();
- 
-     List relyList = new ArrayList();
- 
-     String calItem = (String)this.paramMap.get("CALITEM");
- 
-     //取所有提报单对应的临时表
-     ArrayList schemeTableNameList = initSubmitSchemeTable(ctx, tempMap, calSubmitItem);
-     if (EmptyUtil.isEmpty(schemeTableNameList)) {
-       tempMap.put(key, salaryMap);
-       return;
-     }
- 
-     CalSubmitItemInfo itemInfo = initSubmitItem(ctx, tempMap, calSubmitItem);
-     if (null == itemInfo) {
-       tempMap.put(key, salaryMap);
-       return;
-     }
-     String itemSn = new StringBuilder().append("S").append(itemInfo.getFieldSn()).toString();
-     String itemDatatTypeValue = itemInfo.getDataType().getValue();
-     DecimalFormat df = new DecimalFormat((null == itemInfo.getDataDot()) ? "0" : itemInfo.getDataDot().toString());
-     DateTypeEnum dateTypeEnum = itemInfo.getDateType();
-     if ((itemDatatTypeValue != null) && ("2".equals(itemDatatTypeValue))) {
-       isDate = Boolean.valueOf(true);
-       if ((dateTypeEnum != null) && (10 == dateTypeEnum.getValue())) {
-         dateTypeToDay = Boolean.valueOf(true);
-       }
- 
-     }
- 
-     Set schemeItemSet = initSchemeItem(ctx, tempMap, calSubmitItem);
- 
-     if (!(schemeItemSet.contains(new StringBuilder().append(itemInfo.getFieldSn()).append("").toString()))) {
-       tempMap.put(key, salaryMap);
-       return;
-     }
-     //循环拼接 union all  提报临时表  按提报项目查询金额
-     StringBuilder str = new StringBuilder();
-     str.append("/*dialect*/ select t.fbillid,t.FPERSONID,t.FSALARYPERIOD,t.FID,t.FCURRENCYID, ").append("t."+itemSn).append("  from (");
-     for (int i = 0; i < schemeTableNameList.size(); i++) {
-    	 str= str.append(" SELECT fbillid,FPERSONID,FSALARYPERIOD,FID,FCURRENCYID,").append(itemSn);
-    	 str=str.append(" FROM ").append(schemeTableNameList.get(i)).append(" t ");
-    	
-    	 str.append(personFilter);
-    	
-         if (isCycleScheme.booleanValue()) {
-        	 str= str.append(" ORDER BY t.FTransYear desc,t.FTransMonth desc, t.FTransTime desc,t.FPERSONID, t.FEFFECTDATE DESC, t.FCREATETIME DESC ");
-         }
-         else if (!(isNumber.booleanValue())) {
-        	 str= str.append(" ORDER BY t.FPERSONID, t.FEFFECTDATE DESC, t.sFCREATETIME DESC ");
-         }
-     
-    	 if(schemeTableNameList.size()>1&&i!=schemeTableNameList.size()-1) {
-    		 str= str.append(" union all");
-    	 }
-	  }
-     
-     str.append(") as t ");
-     str=str.append(" left join  T_HR_SBatchSubmitShemeBill   t1  on t.fbillid = t1.fid ");
-	 str=str.append(" left join  T_ORG_BaseUnit   t2  on t1.FHrOrgUnitID = t2.fid ");
-	 str.append(" where  nvl(t2.fnumber,'##') ='"+hrNum+"' ");
-     logger.error("temp_table_sql ===== "+str.toString());
-     SimpleDateFormat yearMonthFormat = new SimpleDateFormat("yyyy-MM");
-     SimpleDateFormat yearMonthDateFormat = new SimpleDateFormat("yyyy-MM-dd");
-     try
-     {
-       logger.error("sql===="+str.toString());
-       IRowSet rowSet = DbUtil.executeQuery(ctx, str.toString());
- 
-       String moneyStr = "";
- 
-       while (rowSet.next()) {
-         String personId = rowSet.getString("FPersonID");
-         logger.error("isCycleScheme ===== "+isCycleScheme);
-         Map personRelyMap = new HashMap();
-         personRelyMap.put("SUBMITITEMID", null);
-         personRelyMap.put("SUBMITITEMTABLE", null);
-         if (isCycleScheme.booleanValue()) {
-           if (isNumber.booleanValue()) {
-        	   
-             String currencyId = rowSet.getString("FCURRENCYID");
-             BigDecimal money = rowSet.getBigDecimal(itemSn);
-             personRelyMap.put("SUBMITMONEY", df.format(money.doubleValue()));
- 
-             BigDecimal rate = (null == currencyMap.get(currencyId)) ? new BigDecimal(1) : (BigDecimal)currencyMap.get(currencyId);
-             if (salaryMap.containsKey(personId)) {
-               continue;
-             }
-             salaryMap.put(personId, money.multiply(rate));
-           }
-           else
-           {
-             if ((isDate != null) && (isDate.booleanValue())) {
-               java.sql.Date date = rowSet.getDate(itemSn);
-               if (date != null) {
-                 java.util.Date utilDate = new java.util.Date(date.getTime());
-                 if ((dateTypeToDay != null) && (dateTypeToDay.booleanValue()))
-                   moneyStr = yearMonthDateFormat.format(utilDate);
-                 else
-                   moneyStr = yearMonthFormat.format(utilDate);
-               }
-               else {
-                 moneyStr = "";
-               }
-             } else {
-               moneyStr = (null == rowSet.getString(itemSn)) ? "" : rowSet.getString(itemSn);
- 
-               if ("0".equals(itemDatatTypeValue)) {
-                 BigDecimal money = rowSet.getBigDecimal(itemSn);
-                 if (money == null) {
-                   moneyStr = "";
-                 } else {
-                   boolean isSQLServerDB = "MS SQL Server".equalsIgnoreCase(ContextUtil.getDbType(ctx));
-                   if (isSQLServerDB)
-                     moneyStr = df.format(money.doubleValue());
-                   else {
-                     moneyStr = (null == rowSet.getString(itemSn)) ? "" : rowSet.getString(itemSn);
-                   }
-                 }
-               }
-             }
-             personRelyMap.put("SUBMITMONEY", moneyStr);
-             if (salaryMap.containsKey(personId)) {
-               continue;
-             }
-             salaryMap.put(personId, moneyStr);
-           }
- 
-         }
-         else if (isNumber.booleanValue()) {
-           String currencyId = rowSet.getString("FCURRENCYID");
-           BigDecimal money = EmptyUtil.isEmpty(rowSet.getBigDecimal(itemSn))?BigDecimal.ZERO:rowSet.getBigDecimal(itemSn);
-           logger.error("money===="+money);
-           personRelyMap.put("SUBMITMONEY", df.format(money.doubleValue()));
-           BigDecimal rate = (null == currencyMap.get(currencyId)) ? new BigDecimal(1) : (BigDecimal)currencyMap.get(currencyId);
-           BigDecimal sum = (null == salaryMap.get(personId)) ? money.multiply(rate) : ((BigDecimal)salaryMap.get(personId)).add(money.multiply(rate));
-           salaryMap.put(personId, sum);
-          
-         } else {
-           if ((isDate != null) && (isDate.booleanValue())) {
-             java.sql.Date date = rowSet.getDate(itemSn);
-             if (date != null) {
-               java.util.Date utilDate = new java.util.Date(date.getTime());
-               if ((dateTypeToDay != null) && (dateTypeToDay.booleanValue()))
-                 moneyStr = yearMonthDateFormat.format(utilDate);
-               else
-                 moneyStr = yearMonthFormat.format(utilDate);
-             }
-             else {
-               moneyStr = "";
-             }
-           } else {
-             moneyStr = (null == rowSet.getString(itemSn)) ? "" : rowSet.getString(itemSn);
- 
-             if ("0".equals(itemDatatTypeValue)) {
-               BigDecimal money = rowSet.getBigDecimal(itemSn);
-               if (money == null) {
-                 moneyStr = "";
-               } else {
-                 boolean isSQLServerDB = "MS SQL Server".equalsIgnoreCase(ContextUtil.getDbType(ctx));
-                 if (isSQLServerDB)
-                   moneyStr = df.format(money.doubleValue());
-                 else {
-                   moneyStr = (null == rowSet.getString(itemSn)) ? "" : rowSet.getString(itemSn);
-                 }
-               }
-             }
-           }
-           personRelyMap.put("SUBMITMONEY", moneyStr);
-           if (salaryMap.containsKey(personId)) {
-             continue;
-           }
-           salaryMap.put(personId, moneyStr);
-         }
- 
-         personRelyMap.put("SUBMITTABLE", schemeTableNameList.get(0));
-         personRelyMap.put("SUBMITTABLEID", rowSet.getString("FID"));
-         personRelyMap.put("CALITEM", calItem);
-         personRelyMap.put("SUBMITNUMBER", calSubmitItem);
-         personRelyMap.put("ISBASIC", Integer.valueOf(0));
- 
-         if (relyMap.containsKey(personId))
-           relyList = (List)relyMap.get(personId);
-         else {
-           relyList = new ArrayList();
-         }
-         relyList.add(personRelyMap);
-         relyMap.put(personId, relyList);
-       }
-     } catch (Exception e) {
-       e.printStackTrace();
-     }
-     tempMap.put(key, salaryMap);
-     tempMap.put(relyKey, relyMap);
-   }
- 
-   private void putSubmitDataToParam(Map paramMap, HashMap tempMap, String calItem, String relyKey)
-   {
-     String personId = (String)paramMap.get("T_HR_SCMPCALTABLE_FPERSONID");
- 
-     List relyList = new ArrayList();
- 
-     Map relyMap = (Map)tempMap.get(relyKey);
-     if ((null == relyMap) || (!(relyMap.containsKey(personId)))) {
-       return;
-     }
- 
-     if (paramMap.containsKey("SUBMITRELY")) {
-       Map paramRelayMap = (Map)paramMap.get("SUBMITRELY");
-       if (paramRelayMap.containsKey(calItem)) {
-         relyList = (List)paramRelayMap.get(calItem);
-         relyList.addAll((Collection)relyMap.get(personId));
-       } else {
-         paramRelayMap.put(calItem, relyMap.get(personId));
-       }
-     } else {
-       Map paramRelayMap = new HashMap();
-       paramRelayMap.put(calItem, relyMap.get(personId));
-       paramMap.put("SUBMITRELY", paramRelayMap);
-     }
-   }
- 
-   public String getAdminOrgIdFilterSql(String companyNum, boolean haveSubOrg)
-   {
-     Context ctx = Tools.getInstance().getCtx();
-     StringBuffer sqlBuffer = new StringBuffer();
- 
-     String queryOrg = new StringBuilder().append("SELECT FLONGNUMBER,FID FROM T_ORG_ADMIN WHERE FNUMBER = '").append(companyNum).append("'").toString();
-     String companyLongNumber = ""; String adminOrgUnitId = "";
-     try
-     {
-       IRowSet executeQuery = DbUtil.executeQuery(ctx, queryOrg);
-       while (executeQuery.next()) {
-         companyLongNumber = executeQuery.getString("fLongNumber");
-         adminOrgUnitId = executeQuery.getString("fid");
-       }
-       if (StringUtils.isEmpty(companyLongNumber)) {
-         return null;
-       }
-       if (haveSubOrg)
-         sqlBuffer.append(new StringBuilder().append(" FADMINORGUNITID IN (SELECT FID FROM T_ORG_ADMIN WHERE FLONGNUMBER LIKE '").append(companyLongNumber).append("%')").toString());
-       else {
-         sqlBuffer.append(new StringBuilder().append(" FADMINORGUNITID IN ('").append(adminOrgUnitId).append("')").toString());
-       }
-     }
-     catch (BOSException e)
-     {
-       e.printStackTrace();
-     } catch (SQLException e) {
-       e.printStackTrace();
-     }
-     return sqlBuffer.toString();
-   }
- 
-   public static List<String> getCalShemeTableName(Context ctx, String calSubmitSchemeNum, String calSubmitItemNum)
-   {
-     List list = new ArrayList();
-     String sql = new StringBuilder().append("Select n.FCalShemeTableName, m.fieldSn  from  T_HR_SCalSubmitScheme e  inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID = e.fid   inner join T_HR_SCalSubmitSchemeItem sm on sm.FCalSubmitSchemeID = e.fid   inner join T_HR_SCalSubmitItem m on m.fid = sm.FCalSubmitItemID  where e.FNumber = '").append(calSubmitSchemeNum).append("' and m.FNumber =  '").append(calSubmitItemNum).append("'  ").toString();
-     try
-     {
-       IRowSet rs = DbUtil.executeQuery(ctx, sql);
-       while (rs.next())
-       {
-         list.add(rs.getString("FCalShemeTableName"));
-         list.add(new StringBuilder().append("S").append(rs.getString("fieldSn")).toString());
-       }
-     } catch (Exception e) {
-       e.printStackTrace();
-     }
-     return list;
-   }
- 
-   public ArrayList initSubmitSchemeTable(Context ctx, HashMap tempMap, String schemeNumber)
-   {
-     String key = "CALFUNCTIONINTEGRATESERVICE_SCHEMETABLE_EXT_"+schemeNumber;
-     ArrayList list = new ArrayList<String>();
-     Map schemeMap = new HashMap();
-     if (null == tempMap.get(key)) {
-       StringBuilder str = new StringBuilder();
-       str.append(" SELECT REL.FCALSHEMETABLENAME PROPERTYTABLE, REL.FBILLENTRYTABLENAME DATATABLE, SCHEME.FNUMBER ");
-       str.append(" FROM T_HR_SCALSHEMETABLERELATION REL ");
-       str.append(" INNER JOIN T_HR_SCALSUBMITSCHEME SCHEME ON REL.FSUBMITSCHEMEID = SCHEME.FID ");
-       str.append(" INNER JOIN T_HR_SCALSUBMITSCHEMEITEM SCHEMEITEM ON SCHEME.FID = SCHEMEITEM.FCALSUBMITSCHEMEID ");
-       str.append(" INNER JOIN T_HR_SCALSUBMITITEM ITEM ON ITEM.FID = SCHEMEITEM.FCALSUBMITITEMID ");
-       str.append(" where ITEM.fnumber ='"+schemeNumber+"' ");
-        logger.error("initSubmitSchemeTable====="+str.toString());
-      
-       try {
-         IRowSet rowSet = DbUtil.executeQuery(ctx, str.toString());
-         while (rowSet.next()) {
-           schemeMap.put(rowSet.getString("FNUMBER"), rowSet.getString("DATATABLE"));
-         	list.add(rowSet.getString("DATATABLE"));
-         }
-       }
-       catch (Exception e) {
-         e.printStackTrace();
-       }
-       tempMap.put(key, schemeMap);
-     } else {
-       schemeMap = (Map)tempMap.get(key);
-     }
-     return list;
-   }
- 
-   public SubmitElementInfo initElementItem(Context ctx, HashMap tempMap, String elementItemNum)
-   {
-     String key = "INITELEMENTITEM_SERVICE_SUBMITITEM";
- 
-     Map itemMap = new HashMap();
-     if (null == tempMap.get(key)) {
-       SubmitElementCollection itemColl = null;
-       try {
-         itemColl = SubmitElementFactory.getLocalInstance(ctx).getSubmitElementCollection("select id, number, name ");
-       } catch (BOSException e) {
-         e.printStackTrace();
-       }
-       for (int i = 0; i < itemColl.size(); ++i) {
-         SubmitElementInfo submitElementInfo = itemColl.get(i);
-         itemMap.put(submitElementInfo.getNumber(), submitElementInfo);
-       }
-       tempMap.put(key, itemMap);
-     } else {
-       itemMap = (Map)tempMap.get(key);
-     }
-     SubmitElementInfo submitElementInfo = (SubmitElementInfo)itemMap.get(elementItemNum);
-     if (null == submitElementInfo)
-       return null;
-     return ((SubmitElementInfo)itemMap.get(elementItemNum));
-   }
- 
-   public CalSubmitItemInfo initSubmitItem(Context ctx, HashMap tempMap, String itemNumber)
-   {
-     String key = "CALFUNCTIONINTEGRATESERVICE_SUBMITITEM_EXT_"+itemNumber;
-     String basicItemKey = new StringBuilder().append("CALFUNCTIONINTEGRATESERVICE_SUBMITITEM_").append(itemNumber).toString();
- 
-     Map itemMap = new HashMap();
-     if (null == tempMap.get(key)) {
-       CalSubmitItemCollection itemColl = null;
-       try {
-         itemColl = CalSubmitItemFactory.getLocalInstance(ctx).getCalSubmitItemCollection("select id, fieldSn, number, dateType, dataType,dataDot,filterField.entityName ");
-       } catch (BOSException e) {
-         e.printStackTrace();
-       }
-       for (int i = 0; i < itemColl.size(); ++i) {
-         CalSubmitItemInfo calSubmitItemInfo = itemColl.get(i);
-         itemMap.put(calSubmitItemInfo.getNumber(), calSubmitItemInfo);
-       }
-       tempMap.put(key, itemMap);
-     } else {
-       itemMap = (Map)tempMap.get(key);
-     }
- 
-     CalSubmitItemInfo calSubmitItemInfo = (CalSubmitItemInfo)itemMap.get(itemNumber);
-     if (null == calSubmitItemInfo)
-       return null;
-     if ((calSubmitItemInfo.getDataType().equals(CalSubmitItemDataType.F7)) && (null == tempMap.get(basicItemKey))) {
-       Map basicItemMap = new HashMap();
-       String entityName = calSubmitItemInfo.getFilterField().getEntity();
-       MetaDataPK meataDataPk = MetaDataPK.create(entityName);
-       EntityObjectInfo entityInfo = MetaDataLoaderFactory.getRemoteMetaDataLoader().getEntity(meataDataPk);
-       String tableName = entityInfo.getTable().getName();
-       String sql = new StringBuilder().append("SELECT FID, FNUMBER FROM ").append(tableName).toString();
-       try {
-         IRowSet rowSet = DbUtil.executeQuery(ctx, sql);
-         while (rowSet.next()) {
-           basicItemMap.put(rowSet.getString("FNUMBER"), new StringBuilder().append(rowSet.getString("FID")).append("###").append(rowSet.getString("FNUMBER")).toString());
-         }
- 
-         basicItemMap.put("TABLENAME", tableName);
-       } catch (Exception e) {
-         e.printStackTrace();
-       }
-       tempMap.put(basicItemKey, basicItemMap);
-     }
- 
-     return ((CalSubmitItemInfo)itemMap.get(itemNumber));
-   }
- 
-   public Set<String> initSchemeItem(Context ctx, HashMap tempMap, String schemeNumber)
-   {
-     String key = "CALFUNCTIONINTEGRATESERVICE_SCHEMEITEM";
- 
-     Set itemSet = new HashSet();
-     Map<String, Set<String>> schemeItemMap = new HashMap<String, Set<String>>();
-     if (null == tempMap.get(key)) {
-       StringBuilder str = new StringBuilder();
-       str.append(" SELECT ITEM.FNUMBER, ITEM.FIELDSN ");
-       str.append(" FROM T_HR_SCALSUBMITSCHEME SCHEME ");
-       str.append(" INNER JOIN T_HR_SCALSUBMITSCHEMEITEM SCHEMEITEM ON SCHEME.FID = SCHEMEITEM.FCALSUBMITSCHEMEID ");
-       str.append(" INNER JOIN T_HR_SCALSUBMITITEM ITEM ON ITEM.FID = SCHEMEITEM.FCALSUBMITITEMID ");
-       try {
-         IRowSet rowSet = DbUtil.executeQuery(ctx, str.toString());
-         while (rowSet.next()) {
-           String number = rowSet.getString("FNUMBER");
-           if (schemeItemMap.containsKey(number)) {
-             ((Set)schemeItemMap.get(number)).add(rowSet.getString("FIELDSN"));
-           }
-           itemSet = new HashSet();
-           itemSet.add(rowSet.getString("FIELDSN"));
-           schemeItemMap.put(number, itemSet);
-         }
-       }
-       catch (Exception e) {
-         e.printStackTrace();
-       }
-     } else {
-       schemeItemMap = (Map)tempMap.get(key);
-     }
-     return schemeItemMap.containsKey(schemeNumber) ? schemeItemMap.get(schemeNumber) : new HashSet<String>();
-   }
- 
- }

+ 0 - 295
GDYSL/websrc/com/kingdee/shr/compensation/service/CustomerFunctionSalaryService.java

@@ -1,295 +0,0 @@
-package com.kingdee.shr.compensation.service;
-
-
-import java.math.BigDecimal;
-import java.sql.SQLException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
-
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.eas.util.app.DbUtil;
-import com.kingdee.jdbc.rowset.IRowSet;
-import com.kingdee.shr.compensation.CalSchemeInfo;
-import com.kingdee.shr.compensation.app.formula.data.Tools;
-import com.kingdee.shr.customer.gtiit.util.DateTimeUtils;
-
-/**
- * 薪酬函数
- * @author issuser
- *
- */
-public class CustomerFunctionSalaryService {
-
-	private static Logger logger =
-	        Logger.getLogger("com.kingdee.shr.compensation.service.CustomerFunctionSalaryService");
-	
-	/**
-	 * 获取员工工资包当月金额
-	 * @param personId
-	 * @param cmpItemId
-	 * @param months
-	 * @return
-	 * @throws BOSException 
-	 * @throws SQLException 
-	 */
-	public double getSalayBag(Map<String, Object> paramMap, HashMap<String, Object> tempMap, CalSchemeInfo calSchemeInfo ,String cmpItemId,String months, String mainTableRowFilter) throws BOSException, SQLException {
-		Context ctx = Tools.getInstance().getCtx();
-		String personId = (String)paramMap.get("T_HR_SCMPCALTABLE_FPERSONID");
-		String sql = "SELECT top 1 b.* FROM CT_SAL_SalaryBag a " + 
-				" left join CT_SAL_SalaryBagEntry b on a.fid = b.fbillId " + 
-				" where a.FBillState = 3 and CFPersonID = '" + personId + "' " + 
-				" and a.CFCmpItemID = (select fid from T_HR_SCmpItem where FNumber = '" + cmpItemId + "') and b.CFMonths = '" + months + "'";
-		System.out.println("工资包查询sql:" + sql);
-		IRowSet rowSet = DbUtil.executeQuery(ctx, sql);
-		if(rowSet.next()) {
-			if(rowSet.getObject("CFAmountPayable")==null || rowSet.getDouble("CFAmountPayable")==0) {
-				return rowSet.getDouble("CFMoneys");
-			}else {
-				return rowSet.getDouble("CFAmountPayable");
-			}
-		} 
-		return 0.0D;
-	}
-	
-	
-	/**
-	 * 获取工资追溯信息
-	 * @param personId
-	 * @param cmpItemId
-	 * @param months
-	 * @return
-	 * @throws BOSException 
-	 * @throws SQLException 
-	 */
-	public double getSalayTraceability(Map<String, Object> paramMap, HashMap<String, Object> tempMap, CalSchemeInfo calSchemeInfo ,String projectNumber,String date, String mainTableRowFilter) throws BOSException, SQLException {
-		Context ctx = Tools.getInstance().getCtx();
-		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-		int year = 0;
-		int month = 0;
-		try {
-			Date parse = format.parse(date);
-			Calendar calendar = Calendar.getInstance();
-			calendar.setTime(parse);
-			year = calendar.get(Calendar.YEAR);
-			month = calendar.get(Calendar.MONTH)+1;
-		} catch (ParseException e) {
-			e.printStackTrace();
-		}
-		String personId = (String)paramMap.get("T_HR_SCMPCALTABLE_FPERSONID");
-		String sql = "SELECT sum(cfreissuemonthpay) reissuemonthpay,sum(cfreissueoverpay) reissueoverpay,sum(cfreissuerestoverpay) reissuerestoverpay,"
-				+ "sum(cfreissueholidaysoverpay) reissueholidaysoverpay,sum(cfreissueunleavededuction) reissueunleavededuction "
-				+ "FROM CT_CUS_PersonPayForm where year(cfformmonth)="+year+" and month(cfformmonth)="+month+" and cfpersonid='"+personId+"'";
-		System.out.println("工资追溯查询sql:" + sql);
-		IRowSet rowSet = DbUtil.executeQuery(ctx, sql);
-		if(rowSet.next()) {
-			if(projectNumber.equals("0")) {
-				return rowSet.getDouble("reissuemonthpay");
-			}else if(projectNumber.equals("1")) {
-				return rowSet.getDouble("reissueoverpay");
-			}else if(projectNumber.equals("2")) {
-				return rowSet.getDouble("reissuerestoverpay");
-			}else if(projectNumber.equals("3")) {
-				return rowSet.getDouble("reissueholidaysoverpay");
-			}else if(projectNumber.equals("4")) {
-				return rowSet.getDouble("reissueunleavededuction");
-			}
-		} 
-		return 0.0D;
-	}
-	
-	
-	/**
-	 * 获取工资提报信息
-	 * @param personId
-	 * @param cmpItemId
-	 * @param months
-	 * @return
-	 * @throws BOSException 
-	 * @throws SQLException
-	 * 取工资提报,对于AssignType来说, 0表示兼职,1表示主要任职,3表示 无
-	 * 参数takeType 0表示主职,1表示兼职
- 	 */
-	public double getPutForward(Map<String, Object> paramMap, HashMap<String, Object> tempMap, CalSchemeInfo calSchemeInfo ,String projectNumber,String date, String takeType, String isHour, String mainTableRowFilter) throws BOSException, SQLException {
-		Context ctx = Tools.getInstance().getCtx();
-		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-		String personId = (String)paramMap.get("T_HR_SCMPCALTABLE_FPERSONID");
-		int year = 0;
-		int month = 0;
-		try {
-			Date parse = format.parse(date);
-			Calendar calendar = Calendar.getInstance();
-			calendar.setTime(parse);
-			year = calendar.get(Calendar.YEAR);
-			month = calendar.get(Calendar.MONTH)+1;
-		} catch (ParseException e) {
-			e.printStackTrace();
-		}
-		
-		String assignType = "";
-		if(takeType.equals("0")) {
-			assignType = "1";
-		}else {
-			assignType = "0";
-		}
-		//查询全职、兼职总工时数
-		if(StringUtils.isNotBlank(isHour)) {
-			String hourSql = "SELECT sum(b.CFTOTALWORKHOURS) sumHour FROM T_HR_SBatchSubmitShemeBill a "
-					+ "left join T_HR_SchemeBillEntry b on a.fid=b.fbillid "
-					+ "left join T_HR_SCmpEmpORelation c on b.FCMPEMPORELATIONID=c.fid "
-					+ "left join T_HR_EmpPostExperienceHis d on d.fid=c.femppostexphisid "  
-					+ "where year(b.FEFFECTDATE)="+year+" and month(b.FEFFECTDATE)="+month+" "
-					+ "and d.FASSIGNTYPE='"+assignType+"' and a.FBILLSTATE = '3' and b.fpersonid='"+personId+"'";
-			logger.error("查询员工全职总工时SQL:"+hourSql);
-			IRowSet schemeRow = DbUtil.executeQuery(ctx, hourSql);
-			while(schemeRow.next()) {
-				return schemeRow.getDouble("sumHour");
-			}
-		}
-		
-		//全职
-		if(takeType.equals("0")) {
-			if(StringUtils.isBlank(projectNumber)) {
-				String amountSql = "SELECT sum(b.CFTOTALAMOUNT) sumAmount FROM T_HR_SBatchSubmitShemeBill a "
-						+ "left join T_HR_SchemeBillEntry b on a.fid=b.fbillid "
-						+ "left join T_HR_SCmpEmpORelation c on b.FCMPEMPORELATIONID=c.fid "
-						+ "left join T_HR_EmpPostExperienceHis d on d.fid=c.femppostexphisid "  
-						+ "where year(b.FEFFECTDATE)="+year+" and month(b.FEFFECTDATE)="+month+" "
-						+ "and d.FASSIGNTYPE='1' and a.FBILLSTATE = '3' and b.fpersonid='"+personId+"'";
-				logger.error("查询员工全职总金额SQL:"+amountSql);
-				IRowSet schemeRow = DbUtil.executeQuery(ctx, amountSql);
-				while(schemeRow.next()) {
-					return schemeRow.getDouble("sumAmount");
-				}
-			}
-			
-			/*String projectFieldSql = "SELECT fieldsn FROM T_HR_SCalSubmitItem where FNUMBER = '"+projectNumber+"'";
-			IRowSet fieldRow = DbUtil.executeQuery(ctx, projectFieldSql);
-			String fieldNo = "";
-			while(fieldRow.next()) {
-				fieldNo = "S"+fieldRow.getString("fieldsn");
-			}
-			if(StringUtils.isEmpty(fieldNo)) {
-				logger.error("根据提报项目编码未查到提报项目");
-				return 0.0D;
-			} 
-			
-			String tableSql = "SELECT c.FBILLENTRYTABLENAME FROM T_HR_SCalSubmitItem a "
-					+ "left join T_HR_SCalSubmitSchemeItem b on a.fid=b.fcalsubmititemid "
-					+ "left join T_HR_SCalShemeTableRelation c on b.FCALSUBMITSCHEMEID = c.fsubmitschemeid "
-					+ "where a.FNUMBER = '"+projectNumber+"'";
-			logger.error("查询提报项目对应表名SQL:"+tableSql);
-			IRowSet tableRow = DbUtil.executeQuery(ctx, tableSql);
-			String tableName = "";
-			while(tableRow.next()) {
-				tableName = tableRow.getString("FBILLENTRYTABLENAME");
-			}
-			
-			String schemeSql = "SELECT sum(k."+fieldNo+") sumHours FROM T_HR_SBatchSubmitShemeBill a "
-					+ "left join T_HR_SchemeBillEntry b on a.fid=b.fbillid "
-					+ "left join T_HR_SCmpEmpORelation c on b.FCMPEMPORELATIONID=c.fid "
-					+ "left join T_HR_EmpPostExperienceHis d on d.fid=c.femppostexphisid "
-					+ "left join T_HR_SCalSubmitScheme e on e.fid=a.fsubmitschemeid  "
-					+ "left join T_HR_SCalShemeTableRelation g on g.fsubmitschemeid=e.fid  "
-					+ "left join T_HR_SCalSubmitSchemeItem s on s.FCALSUBMITSCHEMEID = e.fid "
-					+ "left join T_HR_SCalSubmitItem h on h.fid=s.fcalsubmititemid "
-					+ "left join "+tableName+" k on k.fid = b.fid "  
-					+ "where year(b.FEFFECTDATE)="+year+" and month(b.FEFFECTDATE)="+month+" and d.FASSIGNTYPE='1' "
-					+ "and h.fnumber='"+projectNumber+"' and a.FBILLSTATE = '3' and b.fpersonid='"+personId+"'";
-			logger.error("查询项目对应工时SQL:"+schemeSql);
-			IRowSet schemeRow = DbUtil.executeQuery(ctx, schemeSql);
-			while(schemeRow.next()) {
-				return schemeRow.getDouble("sumHours");
-			}*/
-		}else {
-			String amountSql = "SELECT sum(b.CFTOTALAMOUNT) sumAmount FROM T_HR_SBatchSubmitShemeBill a "
-					+ "left join T_HR_SchemeBillEntry b on a.fid=b.fbillid "
-					+ "left join T_HR_SCmpEmpORelation c on b.FCMPEMPORELATIONID=c.fid "
-					+ "left join T_HR_EmpPostExperienceHis d on d.fid=c.femppostexphisid "  
-					+ "where year(b.FEFFECTDATE)="+year+" and month(b.FEFFECTDATE)="+month+" "
-					+ "and d.FASSIGNTYPE='0' and a.FBILLSTATE = '3' and b.fpersonid='"+personId+"'";
-			logger.error("查询员工兼职总金额SQL:"+amountSql);
-			IRowSet schemeRow = DbUtil.executeQuery(ctx, amountSql);
-			while(schemeRow.next()) {
-				return schemeRow.getDouble("sumAmount");
-			}
-		}
-		return 0.0D;
-	}
-	
-	// 0 兼职 1 全职
-	/**
-	 * 获取月份最新的离职补偿金
-	 * @param months
-	 * @return
-	 * @throws BOSException 
-	 * @throws SQLException 
-	 */
-	public double getSeparationAllowance(String months ) throws BOSException, SQLException {
-		Context ctx = Tools.getInstance().getCtx();
-		String sql = "select top 1 * from CT_COM_Compensationthreshold where CFEffectivedate <= '" + months + "' order by CFEffectivedate desc";
-		System.out.println("获取月份最新的离职补偿金sql:" + sql);
-		IRowSet rowSet = DbUtil.executeQuery(ctx, sql);
-		if(rowSet.next()) {
-			return rowSet.getDouble("FName_l2");
-		}
-		return 0.0;
-	}
-	
-	public double getMianPosHour(Map<String, Object> paramMap, HashMap<String, Object> tempMap, CalSchemeInfo calSchemeInfo ,String date, String mainTableRowFilter) throws BOSException, SQLException {
-		logger.error("获取主要任职时薪日期参数:"+date);
-		Context ctx = Tools.getInstance().getCtx();
-		String personId = (String)paramMap.get("T_HR_SCMPCALTABLE_FPERSONID");
-		String sql = "SELECT cfhourlywage FROM T_HR_EmpOrgRelation where fpersonid = '"+personId+"' and fassignType = '1' and fislatestinaday = '1' and feffdt <= '"+date+"' and fleffdt >= '"+date+"'";
-		logger.error("获取主要任职时薪SQL:"+sql);
-		IRowSet rowSet = DbUtil.executeQuery(ctx, sql);
-		int count = 0;
-		Double hour = 0.0D;
-		if(rowSet.next()) {
-			hour = rowSet.getDouble("cfhourlywage");
-			count++;
-		}
-		logger.error("时薪:"+hour+", 次数:"+count);
-		if(count>1) {
-			return 0.0D;
-		}
-		return hour;
-	}
-	
-	/**
-	 * 根据日期段获取人员离职日期
-	 * @param paramMap
-	 * @param tempMap
-	 * @param calSchemeInfo
-	 * @param date
-	 * @param mainTableRowFilter
-	 * @return
-	 * @throws BOSException
-	 * @throws SQLException
-	 */
-	public String getDepartDate(Map<String, Object> paramMap, HashMap<String, Object> tempMap, CalSchemeInfo calSchemeInfo ,String beginDate, String endDate, String mainTableRowFilter) throws BOSException, SQLException {
-		logger.error("获取离职日期参数:开始日期:"+beginDate+",结束日期:"+endDate);
-		Context ctx = Tools.getInstance().getCtx();
-		String personId = (String)paramMap.get("T_HR_SCMPCALTABLE_FPERSONID");
-		String departDate = "";
-		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-		String sql = "SELECT top 1 b.FBIZDATE FROM T_HR_ResignBizBill a left join T_HR_ResignBizBillEntry b on a.FID = b.FBILLID where b.FBIZDATE >= '"+beginDate+"' and b.FBIZDATE <= '"+endDate+"' and a.FBILLSTATE = '3' and b.FPERSONID = '"+personId+"'";
-		logger.error("获取离职日期SQL:"+sql);
-		IRowSet rowSet = DbUtil.executeQuery(ctx, sql);
-		if(rowSet.next()) {
-			Date date = rowSet.getDate("FBIZDATE");
-			departDate = sdf.format(date);
-		}
-		if(StringUtils.isNotBlank(departDate)) {
-			logger.error("人员ID:"+personId+",离职日期:"+departDate);
-		}
-		return departDate;
-	}
-}

+ 0 - 1020
GDYSL/websrc/com/kingdee/shr/compensation/util/integrate/CmpIntegrateUtils.java

@@ -1,1020 +0,0 @@
-package com.kingdee.shr.compensation.util.integrate;
-
-import com.alibaba.fastjson.JSONObject;
-import com.google.common.collect.Maps;
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.bos.util.EASResource;
-import com.kingdee.eas.common.EASBizException;
-import com.kingdee.eas.hr.base.HRBillBaseInfo;
-import com.kingdee.eas.hr.base.HRBillStateEnum;
-import com.kingdee.eas.hr.base.app.util.HRWorkFlowCheckUtil;
-import com.kingdee.eas.util.app.DbUtil;
-import com.kingdee.jdbc.rowset.IRowSet;
-import com.kingdee.shr.base.syssetting.json.JSONUtils;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillCollection;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillFactory;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillInfo;
-import com.kingdee.shr.compensation.integrate.dto.CalShemeSubmitItemDTO;
-import com.kingdee.shr.compensation.util.CmpStrUtil;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
-
-public class CmpIntegrateUtils {
-	private static Logger logger = Logger.getLogger(CmpIntegrateUtils.class);
-
-	private static String FIELDS_STR = "fields";
-
-	private static String FORMULA_STR = "formula";
-
-	private static String TARGET_STR = "targetField";
-
-	private static String TARGET_NAME_STR = "name";
-
-	private static String TARGET_PRECISION_STR = "decimalPrecision";
-
-	public static void updateEntryBillState(Context ctx, String billId, HRBillStateEnum stateEnum, String billEntryTable) throws BOSException, EASBizException {
-		BatchSubmitShemeBillInfo info = BatchSubmitShemeBillFactory.getLocalInstance(ctx).getBatchSubmitShemeBillInfo("where id = '" + billId + "'");
-		String billEntryTableName = billEntryTable;
-		if (StringUtils.isEmpty(billEntryTableName)) {
-			Map<String, Object> map = getBillColumnListAndBillEntryTableName(ctx, info
-					.getSubmitScheme().getId().toString());
-			billEntryTableName = map.get("fBillEntryTableName").toString();
-		}
-		String sqlTemplate = "UPDATE %s SET FBillState = ? WHERE FBILLID = ?";
-		String sql = String.format(sqlTemplate, new Object[] { billEntryTableName });
-		DbUtil.execute(ctx, sql, new Object[] { Integer.valueOf(stateEnum.getValue()), info.getId().toString() });
-	}
-
-	public static String getUsableItemByHro(Context ctx, String hrOrgUnit, boolean isDisatribute) {
-		StringBuilder personCmpItemPerm = new StringBuilder();
-		personCmpItemPerm.append("select FBaseInfoId from T_HR_SCalSubmitItemRelHR  where T_HR_SCalSubmitItemRelHR.FHrOrgUseId ='");
-		personCmpItemPerm.append(hrOrgUnit).append("'");
-		if (isDisatribute)
-			personCmpItemPerm.append(" and FState=100 ");
-		return personCmpItemPerm.toString();
-	}
-
-	public static boolean checkSubmitSchemeIsUsingBill(Context ctx, String schemeId) {
-		boolean flag = false;
-		if (StringUtils.isEmpty(schemeId))
-			return flag;
-		String sql = "Select top 1 fid  from T_HR_SBatchSubmitShemeBill where fbillstate in (0,1,2)  and FSubmitSchemeID = ? ";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql, new Object[] { schemeId });
-			if (rs.size() > 0)
-				flag = true;
-		} catch (BOSException e) {
-			logger.error(e);
-		}
-		return flag;
-	}
-
-	public static boolean checkSubmitBillEntryIsExists(Context ctx, String billEntryTableName, String billId) {
-		boolean flag = false;
-		if (StringUtils.isEmpty(billId))
-			return flag;
-		String sql = "Select top 1 fid  from " + billEntryTableName + " where fbillId = ? ";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql, new Object[] { billId });
-			if (rs.size() > 0)
-				flag = true;
-		} catch (BOSException e) {
-			logger.error(e);
-		}
-		return flag;
-	}
-
-	public static boolean checkSubmitSchemeIsUsedBill(Context ctx, String schemeId) {
-		boolean flag = false;
-		if (StringUtils.isEmpty(schemeId))
-			return flag;
-		String sql = "Select top 1 fid  from T_HR_SBatchSubmitShemeBill where fbillstate in (1,2)  and FSubmitSchemeID = ? ";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql, new Object[] { schemeId });
-			if (rs.size() > 0)
-				flag = true;
-		} catch (BOSException e) {
-			logger.error(e);
-		}
-		return flag;
-	}
-
-	public static Map checkSubmitSchemesIsUsingBill(Context ctx, List<String> list) {
-		Map<String, Boolean> map = new HashMap<>();
-		String sql = "Select distinct FSubmitSchemeID from T_HR_SBatchSubmitShemeBill where fbillstate in (0,1,2)  and FSubmitSchemeID in( " + CmpStrUtil.convertListToString(list) + ") ";
-		Set<String> snSet = new HashSet<>();
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {
-				String submitSchemeID = rs.getString("FSubmitSchemeID");
-				snSet.add(submitSchemeID);
-			}
-			for (String submitSchemeID : list)
-				map.put(submitSchemeID, Boolean.valueOf(snSet.contains(submitSchemeID)));
-		} catch (Exception e) {
-			logger.error(e);
-		}
-		return map;
-	}
-
-	public static Map<String, List> assembleSubmitSchemeColModel(Context ctx, String schemeId, Integer dataSource, String costTypeId) throws BOSException {
-		Map<String, List> map = new HashMap<>();
-		List<String> colNames = new ArrayList<>();
-		List<Map<String, Object>> colModel = new ArrayList<>();
-		if (StringUtils.isEmpty(schemeId))
-			return map;
-		String language = ctx.getLocale().getLanguage();
-		Set<String> calItemSn = getCalItemSn(ctx, schemeId);
-		Map<String, List<Map<String, Object>>> initAutoCalFieldOption = initAutoCalFieldOption(ctx, schemeId);
-		String sql = "Select m.FNumber,e.FSubmitSchemeType,e.FSubmitTarget,e.FIsEnableSubmitElement,e.FEFFECTDATEDISPLAY , m.fieldSn,m.fdataType,m.fname_" + language + " MNAME,t.FIsRequired ,m.FDataDot,m.FDataLength,  M.FDATETYPE,M.FFILTERFIELD,B.FNAME_" + language + " BNAME, B.FUipk FMAINTAINUIPK,b.FISBASIC   from  T_HR_SCalSubmitScheme e  inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid  inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID  left join  T_HR_SCalSchemeItemForF7 b on m.FFilterField = b.fid  where e.fid = '" + schemeId + "' and t.FIsShow = 1 order by  t.FSortSn asc ";
-		try {
-			String submitTarget = "", dataType = "";
-			int dateType = 0;
-			int effectDateDisplay = 0;
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			String label45 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label45", ctx.getLocale());
-			String label46 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label46", ctx.getLocale());
-			String label47 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label47", ctx.getLocale());
-			String label48 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label48", ctx.getLocale());
-			String label49 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label49", ctx.getLocale());
-			String label50 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label50", ctx.getLocale());
-			String label51 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label51", ctx.getLocale());
-			String label52 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label52", ctx.getLocale());
-			String label53 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label53", ctx.getLocale());
-			String label54 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label54", ctx.getLocale());
-			String label55 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label55", ctx.getLocale());
-			boolean f7Flag = true, isEnableSubmitElement = false;
-			while (rs.next()) {
-				submitTarget = rs.getString("FSubmitTarget");
-				effectDateDisplay = rs.getInt("FEFFECTDATEDISPLAY");
-				isEnableSubmitElement = rs.getBoolean("FIsEnableSubmitElement");
-				dataType = rs.getString("fdataType");
-				if (f7Flag) {
-					f7Flag = false;
-					Map<String, Object> gridMainKeyIdMap = new HashMap<>();
-					Map<String, Object> adminOrgUnitGridMainKeyIdMap = new HashMap<>();
-					Map<String, Object> positionGridMainKeyIdMap = new HashMap<>();
-					Map<String, Object> cmpEmpORGridMainKeyIdMap = new HashMap<>();
-					Map<String, Object> gridIdMap = new HashMap<>();
-					assembleColModelId(gridIdMap);
-					colNames.add("id");
-					colModel.add(gridIdMap);
-					if ("02".equals(submitTarget)) {
-						assembleColModelF7(gridMainKeyIdMap, "orgUnit", label45, true);
-						gridMainKeyIdMap.put("editoptions", assembleColModelF7(label45, "com.kingdee.eas.basedata.org.app.AdminOrgUnit.F7", true));
-						gridMainKeyIdMap.put("sortable", Boolean.valueOf(true));
-						colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label0", ctx.getLocale()));
-						colModel.add(gridMainKeyIdMap);
-					} else {
-						Map<String, Object> map1 = new HashMap<>();
-						map1.put("name", "number");
-						map1.put("label", label46);
-						map1.put("frozen", Boolean.valueOf(false));
-						map1.put("width", Integer.valueOf(90));
-						map1.put("align", "left");
-						map1.put("key", Boolean.valueOf(true));
-						map1.put("hidden", Boolean.valueOf(false));
-						map1.put("editable", Boolean.valueOf(false));
-						map1.put("sorttype", "string");
-						map1.put("classes", "disabled");
-						map1.put("edittype", "shrtext");
-						map1.put("sortable", Boolean.valueOf(true));
-						colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label1", ctx.getLocale()));
-						colModel.add(map1);
-						String CmpEmpORelF7Uipk = "com.kingdee.shr.compensation.app.integrate.CmpEmpORelation.F7";
-						if (3 == dataSource.intValue())
-							CmpEmpORelF7Uipk = "com.kingdee.shr.compensation.app.integrate.stores.CmpEmpORelation.F7";
-						assembleColModelF7(gridMainKeyIdMap, "person", label47, true);
-						gridMainKeyIdMap.put("editoptions", assembleColModelF7(label47, CmpEmpORelF7Uipk, true));
-						gridIdMap.put("frozen", Boolean.valueOf(true));
-						map1.put("frozen", Boolean.valueOf(true));
-						gridMainKeyIdMap.put("frozen", Boolean.valueOf(true));
-						colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label2", ctx.getLocale()));
-						colModel.add(gridMainKeyIdMap);
-						assembleColModelF7NotEdit(adminOrgUnitGridMainKeyIdMap, "adminOrgUnit", label48);
-						adminOrgUnitGridMainKeyIdMap.put("sortable", Boolean.valueOf(true));
-						colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label3", ctx.getLocale()));
-						colModel.add(adminOrgUnitGridMainKeyIdMap);
-						assembleColModelF7NotEdit(positionGridMainKeyIdMap, "position", label49);
-						positionGridMainKeyIdMap.put("sortable", Boolean.valueOf(true));
-						colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label4", ctx.getLocale()));
-						colModel.add(positionGridMainKeyIdMap);
-						assembleColModelF7Hidden(cmpEmpORGridMainKeyIdMap, "cmpEmpORelation", label50);
-						colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label5", ctx.getLocale()));
-						colModel.add(cmpEmpORGridMainKeyIdMap);
-						Map<String, Object> gridPersonIdMap = new HashMap<>();
-						gridPersonIdMap.put("name", "tempId");
-						gridPersonIdMap.put("label", label51);
-						gridPersonIdMap.put("frozen", Boolean.valueOf(false));
-						gridPersonIdMap.put("width", Integer.valueOf(90));
-						gridPersonIdMap.put("align", "left");
-						gridPersonIdMap.put("key", Boolean.valueOf(true));
-						gridPersonIdMap.put("hidden", Boolean.valueOf(true));
-						gridPersonIdMap.put("editable", Boolean.valueOf(false));
-						gridPersonIdMap.put("sorttype", "string");
-						gridPersonIdMap.put("classes", "disabled");
-						gridPersonIdMap.put("edittype", "shrtext");
-						colNames.add("tempId");
-						colModel.add(gridPersonIdMap);
-					}
-					if (isEnableSubmitElement) {
-						Map<String, Object> gridSubmitElementMap = new HashMap<>();
-						assembleColModelF7(gridSubmitElementMap, "submitElement", label52, true);
-						gridSubmitElementMap.put("editoptions", assembleColModelF7(label52, "com.kingdee.shr.compensation.app.integrate.SubmitElement.SubmitBillEntry.F7", true));
-						colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label6", ctx.getLocale()));
-						colModel.add(gridSubmitElementMap);
-					}
-					Map<String, Object> gridCurrencyMap = new HashMap<>();
-					assembleColModelF7(gridCurrencyMap, "currency", label53, true);
-					gridCurrencyMap.put("editoptions", assembleColModelF7(label53, "com.kingdee.eas.basedata.assistant.app.Currency.CMP.F7", true));
-					colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label7", ctx.getLocale()));
-					colModel.add(gridCurrencyMap);
-					Map<String, Object> gridPersonNumberMap = new HashMap<>();
-					gridPersonNumberMap.put("name", "effectDay");
-					gridPersonNumberMap.put("label", label54);
-					gridPersonNumberMap.put("frozen", Boolean.valueOf(false));
-					gridPersonNumberMap.put("width", Integer.valueOf(100));
-					gridPersonNumberMap.put("align", "left");
-					gridPersonNumberMap.put("key", Boolean.valueOf(true));
-					gridPersonNumberMap.put("hidden", Boolean.valueOf(false));
-					gridPersonNumberMap.put("editable", Boolean.valueOf(true));
-					gridPersonNumberMap.put("sorttype", "date");
-					gridPersonNumberMap.put("sortable", Boolean.valueOf(false));
-					gridPersonNumberMap.put("formatter", "shrDateTimePicker");
-					gridPersonNumberMap.put("edittype", "shrDateTimePicker");
-					gridPersonNumberMap.put("classes", "required");
-					StringBuilder datapickerjsonBuilder = new StringBuilder();
-					datapickerjsonBuilder.append("{");
-					datapickerjsonBuilder.append("\"datepickerjson\":");
-					datapickerjsonBuilder.append("{");
-					datapickerjsonBuilder.append("\"id\":\"dp_autoSize\",");
-					datapickerjsonBuilder.append("\"name\":\"dp_autoSize\",");
-					datapickerjsonBuilder.append("\"minuteStep\":\"\",");
-					datapickerjsonBuilder.append("\"showTimeZoneForCtrl\":false,");
-					datapickerjsonBuilder.append("\"isAutoTimeZoneTrans\":false,");
-					datapickerjsonBuilder.append("\"isShowUTC\":false,");
-					datapickerjsonBuilder.append("\"isReadonlyUTC\":true,");
-					datapickerjsonBuilder.append("\"isRemoveSeconds\":true,");
-					if (20 == effectDateDisplay) {
-						datapickerjsonBuilder.append("\"isRemoveDay\":true,");
-					} else if (10 == effectDateDisplay) {
-						datapickerjsonBuilder.append("\"isRemoveDay\":false,");
-					} else {
-						datapickerjsonBuilder.append("\"isRemoveDay\":true,");
-					}
-					datapickerjsonBuilder.append("\"ctrlType\":\"Date\"");
-					datapickerjsonBuilder.append("},");
-					datapickerjsonBuilder.append("\"validateJson\":");
-					datapickerjsonBuilder.append("{");
-					datapickerjsonBuilder.append("\"errMsg\":\"\",");
-					datapickerjsonBuilder.append("\"rules\":\"required:true\",");
-					datapickerjsonBuilder.append("\"validatetrigger\":\"focus keyup datachange\"");
-					datapickerjsonBuilder.append("}");
-					datapickerjsonBuilder.append("}");
-					gridPersonNumberMap.put("editoptions", JSONObject.parseObject(datapickerjsonBuilder.toString()));
-					colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label8", ctx.getLocale()));
-					colModel.add(gridPersonNumberMap);
-				}
-				dataType = rs.getString("fdataType");
-				int isRequired = rs.getInt("FIsRequired");
-				int fDataDot = rs.getInt("FDataDot");
-				int fDataLength = rs.getInt("FDataLength");
-				String fieldSn = "S" + rs.getString("fieldSn");
-				if ("0".equals(dataType)) {
-					Map<String, Object> schemeMap = new HashMap<>();
-					schemeMap.put("name", fieldSn);
-					schemeMap.put("label", rs.getString("MNAME"));
-					schemeMap.put("frozen", Boolean.valueOf(false));
-					schemeMap.put("width", Integer.valueOf(90));
-					schemeMap.put("align", "left");
-					schemeMap.put("key", Boolean.valueOf(false));
-					schemeMap.put("editable", Boolean.valueOf(true));
-					schemeMap.put("sorttype", "bigdecimal");
-					schemeMap.put("sortable", Boolean.valueOf(false));
-					schemeMap.put("formatter", "numberfield");
-					schemeMap.put("edittype", "numberfield");
-					JSONObject jSONObject1 = JSONObject.parseObject("{ \"inputJson\": { \"id\": \"txt_money\", \"name\": \"money\", \"formatType\": \"number\" }, \"validateJson\": {}}");
-					if (isRequired == 1) {
-						schemeMap.put("classes", "required");
-						jSONObject1.put("validateJson", JSONObject.parseObject("{ \"errMsg\": \"\", \"rules\": \"required:true\", \"validatetrigger\": \"focus keyup datachange\" }"));
-					}
-					if (calItemSn.contains(fieldSn)) {
-						schemeMap.put("editable", Boolean.valueOf(false));
-						schemeMap.put("classes", "disabled");
-					}
-					JSONObject jSONObject2 = jSONObject1.getJSONObject("inputJson");
-					jSONObject2.put("decimalPrecision", Integer.valueOf(fDataDot));
-					jSONObject2.put("maxlength", Integer.valueOf(fDataLength));
-					if (initAutoCalFieldOption.containsKey(fieldSn)) {
-						jSONObject1.put("autoCal", Boolean.valueOf(true));
-						jSONObject1.put("cellFomular", initAutoCalFieldOption.get(fieldSn));
-					}
-					schemeMap.put("editoptions", jSONObject1);
-					colModel.add(schemeMap);
-					colNames.add(rs.getString("MNAME"));
-					continue;
-				}
-				if ("1".equals(dataType)) {
-					Map<String, Object> schemeMap = new HashMap<>();
-					schemeMap.put("name", fieldSn);
-					schemeMap.put("label", rs.getString("MNAME"));
-					schemeMap.put("frozen", Boolean.valueOf(false));
-					schemeMap.put("width", Integer.valueOf(90));
-					schemeMap.put("align", "left");
-					schemeMap.put("key", Boolean.valueOf(false));
-					schemeMap.put("editable", Boolean.valueOf(true));
-					schemeMap.put("sorttype", "string");
-					schemeMap.put("sortable", Boolean.valueOf(false));
-					JSONObject jSONObject1 = JSONObject.parseObject("{ \"inputJson\": {  } }");
-					if (isRequired == 1) {
-						schemeMap.put("classes", "required");
-						jSONObject1.put("validateJson", JSONObject.parseObject("{ \"errMsg\": \"\", \"rules\": \"required:true\", \"validatetrigger\": \"focus keyup datachange\" }"));
-					} else {
-						jSONObject1.put("validateJson", JSONObject.parseObject("{ \"errMsg\": \"\", \"rules\": \"required:false\", \"validatetrigger\": \"focus keyup datachange\" }"));
-					}
-					if (calItemSn.contains(fieldSn)) {
-						schemeMap.put("editable", Boolean.valueOf(false));
-						schemeMap.put("classes", "disabled");
-					}
-					JSONObject jSONObject2 = jSONObject1.getJSONObject("inputJson");
-					jSONObject2.put("decimalPrecision", Integer.valueOf(fDataDot));
-					jSONObject2.put("maxlength", Integer.valueOf(fDataLength));
-					schemeMap.put("editoptions", jSONObject1);
-					schemeMap.put("edittype", "shrtext");
-					colModel.add(schemeMap);
-					colNames.add(rs.getString("MNAME"));
-					continue;
-				}
-				if ("2".equals(dataType)) {
-					dateType = rs.getInt("FDATETYPE");
-					Map<String, Object> schemeMap = new HashMap<>();
-					schemeMap.put("name", fieldSn);
-					schemeMap.put("label", rs.getString("MNAME"));
-					schemeMap.put("frozen", Boolean.valueOf(false));
-					schemeMap.put("width", Integer.valueOf(100));
-					schemeMap.put("align", "left");
-					schemeMap.put("key", Boolean.valueOf(true));
-					schemeMap.put("hidden", Boolean.valueOf(false));
-					schemeMap.put("editable", Boolean.valueOf(true));
-					schemeMap.put("sorttype", "date");
-					schemeMap.put("sortable", Boolean.valueOf(false));
-					schemeMap.put("formatter", "shrDateTimePicker");
-					schemeMap.put("edittype", "shrDateTimePicker");
-					if (isRequired == 1)
-						schemeMap.put("classes", "required");
-					StringBuilder datapickerjsonBuffer = new StringBuilder();
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"datepickerjson\":");
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"id\":\"dp_autoSize\",");
-					datapickerjsonBuffer.append("\"name\":\"dp_autoSize\",");
-					datapickerjsonBuffer.append("\"minuteStep\":\"\",");
-					datapickerjsonBuffer.append("\"showTimeZoneForCtrl\":false,");
-					datapickerjsonBuffer.append("\"isAutoTimeZoneTrans\":false,");
-					datapickerjsonBuffer.append("\"isShowUTC\":false,");
-					datapickerjsonBuffer.append("\"isReadonlyUTC\":true,");
-					datapickerjsonBuffer.append("\"isRemoveSeconds\":true,");
-					if (20 == dateType) {
-						datapickerjsonBuffer.append("\"isRemoveDay\":true,");
-					} else if (10 == dateType) {
-						datapickerjsonBuffer.append("\"isRemoveDay\":false,");
-					} else {
-						datapickerjsonBuffer.append("\"isRemoveDay\":false,");
-					}
-					datapickerjsonBuffer.append("\"ctrlType\":\"Date\"");
-					datapickerjsonBuffer.append("},");
-					datapickerjsonBuffer.append("\"validateJson\":");
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"errMsg\":\"\",");
-					if (isRequired == 1) {
-						datapickerjsonBuffer.append("\"rules\":\"required:true\",");
-					} else {
-						datapickerjsonBuffer.append("\"rules\":\"required:false\",");
-					}
-					datapickerjsonBuffer.append("\"validatetrigger\":\"focus keyup datachange\"");
-					datapickerjsonBuffer.append("}");
-					datapickerjsonBuffer.append("}");
-					schemeMap.put("editoptions", JSONObject.parseObject(datapickerjsonBuffer.toString()));
-					colNames.add(rs.getString("MNAME"));
-					colModel.add(schemeMap);
-					continue;
-				}
-				if ("3".equals(dataType)) {
-					Map<String, Object> schemeMap = new HashMap<>();
-					assembleColModelF7(schemeMap, fieldSn, rs.getString("MNAME"), (isRequired == 1));
-					String filter = "";
-					if ("AwardName".equals(rs.getString("FNumber")) && StringUtils.isNotEmpty(costTypeId)) {
-						filter = (rs.getInt("FISBASIC") == 1) ? ("CostType.id = '" + costTypeId + "' and state = 1") : "";
-					} else {
-						filter = (rs.getInt("FISBASIC") == 1) ? "state = 1" : "";
-					}
-					Map<String, Object> map1 = assembleColModelF7(rs.getString("BNAME"), rs.getString("FMAINTAINUIPK"), (isRequired == 1), filter);
-					schemeMap.put("editoptions", map1);
-					colNames.add(rs.getString("MNAME"));
-					colModel.add(schemeMap);
-				}
-			}
-			Map<String, Object> gridDescriptionMap = new HashMap<>();
-			gridDescriptionMap.put("name", "description");
-			gridDescriptionMap.put("label", label55);
-			gridDescriptionMap.put("frozen", Boolean.valueOf(false));
-			gridDescriptionMap.put("width", Integer.valueOf(90));
-			gridDescriptionMap.put("align", "left");
-			gridDescriptionMap.put("key", Boolean.valueOf(false));
-			gridDescriptionMap.put("editable", Boolean.valueOf(true));
-			gridDescriptionMap.put("sortable", Boolean.valueOf(false));
-			gridDescriptionMap.put("formatter", "shrMultiLangBox");
-			gridDescriptionMap.put("edittype", "shrMultiLangBox");
-			JSONObject editoptions = JSONObject.parseObject("{ \"inputJson\": {  } }");
-			JSONObject inputJson = editoptions.getJSONObject("inputJson");
-			inputJson.put("maxlength", Integer.valueOf(255));
-			gridDescriptionMap.put("editoptions", editoptions);
-			colNames.add(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label9", ctx.getLocale()));
-			colModel.add(gridDescriptionMap);
-		} catch (Exception e) {
-			throw new BOSException(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label10", ctx.getLocale()));
-		}
-		map.put("colNames", colNames);
-		map.put("colModel", colModel);
-		return map;
-	}
-
-	public static Map<String, Object> assembleColModelId(Map<String, Object> gridIdMap) {
-		gridIdMap.put("name", "id");
-		gridIdMap.put("label", "id");
-		gridIdMap.put("frozen", Boolean.valueOf(false));
-		gridIdMap.put("width", Integer.valueOf(90));
-		gridIdMap.put("align", "left");
-		gridIdMap.put("key", Boolean.valueOf(true));
-		gridIdMap.put("hidden", Boolean.valueOf(true));
-		gridIdMap.put("editable", Boolean.valueOf(false));
-		gridIdMap.put("sorttype", "");
-		gridIdMap.put("sortable", Boolean.valueOf(false));
-		gridIdMap.put("classes", "disabled");
-		return gridIdMap;
-	}
-
-	public static Map<String, Object> assembleColModelF7(String name, String uipk, boolean isRequired) {
-		Map<String, Object> resultMap = new HashMap<>();
-		Map<String, Object> f7JsonMap = new HashMap<>();
-		Map<String, Object> validateJsonMap = new HashMap<>();
-		Map<String, Object> uipkMap = new HashMap<>();
-		uipkMap.put("title", name);
-		uipkMap.put("uipk", uipk);
-		uipkMap.put("query", "");
-		uipkMap.put("filter", "");
-		uipkMap.put("multiselect", Boolean.valueOf(false));
-		uipkMap.put("isTree", Boolean.valueOf(false));
-		uipkMap.put("treeUrl", "");
-		uipkMap.put("isContainLowerOrg", Boolean.valueOf(false));
-		uipkMap.put("isAdminOrg", Boolean.valueOf(false));
-		uipkMap.put("isEnableExpFilter", Boolean.valueOf(true));
-		f7JsonMap.put("subWidgetOptions", uipkMap);
-		f7JsonMap.put("subWidgetName", "shrPromptGrid");
-		f7JsonMap.put("searchFields", "");
-		f7JsonMap.put("isHROrg", Boolean.valueOf(false));
-		f7JsonMap.put("isAdminOrg", Boolean.valueOf(false));
-		f7JsonMap.put("searchLikePattern", "any");
-		resultMap.put("f7Json", f7JsonMap);
-		validateJsonMap.put("errMsg", "");
-		if (isRequired)
-			validateJsonMap.put("rules", "required:true");
-		validateJsonMap.put("validatetrigger", "focus keyup datachange");
-		resultMap.put("validateJson", validateJsonMap);
-		return resultMap;
-	}
-
-	public static Map<String, Object> assembleColModelF7(String name, String uipk, boolean isRequired, String filter) {
-		Map<String, Object> resultMap = new HashMap<>();
-		Map<String, Object> f7JsonMap = new HashMap<>();
-		Map<String, Object> validateJsonMap = new HashMap<>();
-		Map<String, Object> uipkMap = new HashMap<>();
-		uipkMap.put("title", name);
-		uipkMap.put("uipk", uipk);
-		uipkMap.put("query", "");
-		uipkMap.put("filter", filter);
-		uipkMap.put("multiselect", Boolean.valueOf(false));
-		uipkMap.put("isTree", Boolean.valueOf(false));
-		uipkMap.put("treeUrl", "");
-		uipkMap.put("isContainLowerOrg", Boolean.valueOf(false));
-		uipkMap.put("isAdminOrg", Boolean.valueOf(false));
-		f7JsonMap.put("subWidgetOptions", uipkMap);
-		f7JsonMap.put("subWidgetName", "shrPromptGrid");
-		f7JsonMap.put("searchFields", "");
-		f7JsonMap.put("isHROrg", Boolean.valueOf(false));
-		f7JsonMap.put("isAdminOrg", Boolean.valueOf(false));
-		f7JsonMap.put("searchLikePattern", "any");
-		resultMap.put("f7Json", f7JsonMap);
-		validateJsonMap.put("errMsg", "");
-		if (isRequired)
-			validateJsonMap.put("rules", "required:true");
-		validateJsonMap.put("validatetrigger", "focus keyup datachange");
-		resultMap.put("validateJson", validateJsonMap);
-		return resultMap;
-	}
-
-	public static Map<String, Object> assembleColModelF7(Map<String, Object> gridMainKeyIdMap, String name, String label, boolean isRequired) {
-		gridMainKeyIdMap.put("name", name);
-		gridMainKeyIdMap.put("label", label);
-		gridMainKeyIdMap.put("frozen", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("width", Integer.valueOf(120));
-		gridMainKeyIdMap.put("align", "left");
-		gridMainKeyIdMap.put("key", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("edittype", "promptBox");
-		gridMainKeyIdMap.put("editable", Boolean.valueOf(true));
-		gridMainKeyIdMap.put("sorttype", "objectvalue");
-		gridMainKeyIdMap.put("sortable", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("formatter", "promptBox");
-		if (isRequired)
-			gridMainKeyIdMap.put("classes", "required");
-		return gridMainKeyIdMap;
-	}
-
-	public static Map<String, Object> assembleColModelF7NotEdit(Map<String, Object> gridMainKeyIdMap, String name, String label) {
-		gridMainKeyIdMap.put("name", name);
-		gridMainKeyIdMap.put("label", label);
-		gridMainKeyIdMap.put("frozen", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("width", Integer.valueOf(120));
-		gridMainKeyIdMap.put("align", "left");
-		gridMainKeyIdMap.put("key", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("edittype", "promptBox");
-		gridMainKeyIdMap.put("editable", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("sorttype", "objectvalue");
-		gridMainKeyIdMap.put("sortable", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("formatter", "promptBox");
-		gridMainKeyIdMap.put("classes", "disabled");
-		return gridMainKeyIdMap;
-	}
-
-	public static Map<String, Object> assembleColModelF7Hidden(Map<String, Object> gridMainKeyIdMap, String name, String label) {
-		gridMainKeyIdMap.put("name", name);
-		gridMainKeyIdMap.put("label", label);
-		gridMainKeyIdMap.put("frozen", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("width", Integer.valueOf(120));
-		gridMainKeyIdMap.put("hidden", Boolean.valueOf(true));
-		gridMainKeyIdMap.put("align", "left");
-		gridMainKeyIdMap.put("key", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("edittype", "promptBox");
-		gridMainKeyIdMap.put("editable", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("sorttype", "objectvalue");
-		gridMainKeyIdMap.put("sortable", Boolean.valueOf(false));
-		gridMainKeyIdMap.put("formatter", "promptBox");
-		gridMainKeyIdMap.put("classes", "disabled");
-		return gridMainKeyIdMap;
-	}
-
-	public static Map<String, Object> getBillColumnListAndQuerySql(Context ctx, String submitSchemeId, String billID) throws BOSException {
-		Map<String, Object> map = new HashMap<>();
-		List<String> colNames = new ArrayList<>();
-		Map<String, Object> columnMap = new HashMap<>();
-		if (StringUtils.isEmpty(submitSchemeId))
-			return map;
-		if (null != billID && billID.contains(" "))
-			throw new BOSException("Illegal parameter: " + billID);
-		try {
-			String sqlBuilder = " SELECT   item.fieldSn FIELDSN,  b.FTable FTABLE FROM T_HR_SCalSubmitScheme scheme  inner join T_HR_SCalSubmitSchemeItem schemeItem on scheme.fid = schemeItem.FCalSubmitSchemeID  inner join T_HR_SCalSubmitItem item on item.fid = schemeItem.FCalSubmitItemID  inner join T_HR_SCalSchemeItemForF7 b on item.FFilterField = b.fid  where scheme.fid = ? and item.FDataType = '3' order by  FSortSn";
-			IRowSet rs = DbUtil.executeQuery(ctx, sqlBuilder, (Object[])new String[] { submitSchemeId });
-			Map<String, Map<String, String>> f7ItemTableMapper = Maps.newHashMap();
-			int tableNameCount = 1;
-			while (rs.next()) {
-				Map<String, String> tableNameMap = new HashMap<>();
-				tableNameMap.put("TABLENAME", rs.getString("FTABLE"));
-				tableNameMap.put("ALIANAME", rs.getString("FTABLE") + tableNameCount);
-				f7ItemTableMapper.put("S" + rs.getInt("FIELDSN"), tableNameMap);
-				tableNameCount++;
-			}
-			String language = ctx.getLocale().getLanguage();
-			String sql = "Select e.FSubmitSchemeType,e.FSubmitTarget,e.FIsEnableSubmitElement , m.fieldSn,m.FDataDot,m.fdataType,m.fname_" + language + " ,n.FBillEntryTableName from  T_HR_SCalSubmitScheme e  inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid  inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID  inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid   where e.fid = '" + submitSchemeId + "'  order by FSortSn ";
-			StringBuilder sd = new StringBuilder(" select t.fid id ,  t.FEffectDate effectDate ,t.FLEffectDate leffectDate , t.FCmpEmpORelationID cmpEmpORelation,");
-			colNames.add("id");
-			colNames.add("effectDate");
-			colNames.add("leffectDate");
-			String submitTarget = "", fBillEntryTableName = "";
-			rs = DbUtil.executeQuery(ctx, sql);
-			boolean f7Flag = true, personFlag = true, isEnableSubmitElement = false;
-			while (rs.next()) {
-				submitTarget = rs.getString("FSubmitTarget");
-				isEnableSubmitElement = rs.getBoolean("FIsEnableSubmitElement");
-				if (f7Flag) {
-					f7Flag = false;
-					fBillEntryTableName = rs.getString("FBillEntryTableName");
-					if ("02".equals(submitTarget)) {
-						personFlag = false;
-						colNames.add("orgId");
-						colNames.add("name");
-						colNames.add("number");
-						sd.append("n.fid orgId , n.fname_").append(language).append(" name , n.fnumber number ");
-					} else {
-						colNames.add("dealStatus");
-						colNames.add("personId");
-						colNames.add("name");
-						colNames.add("number");
-						colNames.add("admOrgId");
-						colNames.add("admOrgName");
-						colNames.add("positionId");
-						colNames.add("positionName");
-						colNames.add("cmpEmpORelation");
-						sd.append(" t.FDealStatus dealStatus, person.fid personId , person.fname_").append(language).append("  name, person.fnumber number, adminOrgUnit.fid admOrgId, adminOrgUnit.fname_").append(language).append(" admOrgName, position.fid positionId, position.fname_").append(language).append(" positionName  ");
-					}
-				}
-				String fieldName = "S" + rs.getString("fieldSn");
-				if (f7ItemTableMapper.containsKey(fieldName)) {
-					Map<String, String> map2 = f7ItemTableMapper.get(fieldName);
-					String ailaName = map2.get("ALIANAME");
-					sd.append(",").append(ailaName).append(".FID ").append(fieldName).append("id,").append(ailaName).append(".FNAME_").append(language).append(" ").append(fieldName).append(",").append(ailaName).append(".FNUMBER ").append(fieldName).append("number");
-				} else {
-					sd.append(",").append(fieldName);
-				}
-				colNames.add(fieldName);
-				if ("0".equals(rs.getString("fdataType")))
-					columnMap.put(fieldName, Integer.valueOf(rs.getInt("FDataDot")));
-			}
-			colNames.add("description");
-			if (isEnableSubmitElement) {
-				colNames.add("submitElement");
-				sd.append(", t.FSubmitElementID submitElement,submitElement.Fname_").append(language).append(" submitElementName ");
-			}
-			colNames.add("currency");
-			sd.append(",currency.fid currency,currency.fname_").append(language).append(" currencyName,t.fdescription_l1 description_l1,t.fdescription_l2 description_l2,t.fdescription_l3 description_l3");
-			
-			// start xiaoxin 添加提报单分录字段
-			sd.append(",se.CFSuperiorID superiorId,se.CFSuperiorName superiorName,se.CFHourlyWage hourlyWage,se.CFStartTime startTime,se.CFEndTime endTime,se.CFRestStartTime restStartTime,se.CFRemark remark");
-			sd.append(",se.CFRestEndTime restEndTime,se.CFExplain explain,se.CFTotalWorkHours totalWorkHours,se.CFTotalAmount totalAmount,se.CFBeginContractDate beginContractDate,se.CFEndContractDate endContractDate");
-			colNames.add("superiorId"); 
-			colNames.add("superiorName");
-			colNames.add("hourlyWage");
-			colNames.add("startTime");
-			colNames.add("endTime");
-			colNames.add("restStartTime");
-			colNames.add("restEndTime");
-			colNames.add("explain");
-			colNames.add("totalWorkHours");
-			colNames.add("totalAmount");
-			colNames.add("beginContractDate");
-			colNames.add("endContractDate");
-			colNames.add("remark");
-			// end xiaoxin
-			
-			sd.append(" from ").append(fBillEntryTableName).append(" ");
-			if (personFlag) {
-				sd.append(" t  inner join t_bd_person person on t.fpersonId = person.fid ");
-				sd.append(" LEFT join T_ORG_Admin adminOrgUnit on t.FAdminOrgUnitID = adminOrgUnit.fid ");
-				sd.append(" LEFT join T_ORG_Position position on t.FPositionID = position.fid ");
-			} else {
-				sd.append(" t  inner join T_ORG_Admin  n on t.FOrgUnitID = n.fid ");
-			}
-			sd.append(" LEFT join T_BD_Currency currency on t.fCurrencyID = currency.fid ");
-			
-			// start xiaoxin 添加提报单分录字段
-			sd.append(" LEFT join T_HR_SchemeBillEntry se on se.fid = t.fid ");
-			// end xiaoxin
-			
-			if (isEnableSubmitElement)
-				sd.append(" LEFT join T_HR_SSubmitElement submitElement on t.FSubmitElementID = submitElement.fid ");
-			Set<String> f7KeySet = f7ItemTableMapper.keySet();
-			for (String f7Key : f7KeySet) {
-				Map<String, String> map2 = f7ItemTableMapper.get(f7Key);
-				String tableName = map2.get("TABLENAME");
-				String aliaTbName = map2.get("ALIANAME");
-				sd.append(" LEFT JOIN ").append(tableName).append(" ").append(aliaTbName).append(" on t.").append(f7Key).append(" = ").append(aliaTbName).append(".FID ");
-			}
-			sd.append(" where t.fbillid = '").append(StringEscapeUtils.escapeSql(billID)).append("'");
-			map.put("querySql", sd.toString());
-			map.put("colNames", colNames);
-			map.put("columnMap", columnMap);
-		} catch (Exception e) { 
-			throw new BOSException(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label10", ctx.getLocale()));
-		}
-		return map;
-	}
-
-	public static Map<String, Object> getBillColumnListAndBillEntryTableName(Context ctx, String submitSchemeId) throws BOSException {
-		Map<String, Object> map = new HashMap<>();
-		List<String> colNames = new ArrayList<>();
-		List<String> colTypes = new ArrayList<>();
-		if (StringUtils.isEmpty(submitSchemeId))
-			return map;
-		String language = ctx.getLocale().getLanguage();
-		String sql = "Select e.FSubmitTarget , m.fieldSn,m.fdataType,m.fname_" + language + " ,n.FBillEntryTableName ,n.FCalShemeTableName ,t.FIsRequired from  T_HR_SCalSubmitScheme e  inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid  inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID  inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid   where e.fid = '" + submitSchemeId + "'  order by FSortSn ";
-		try {
-			String fBillEntryTableName = "";
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {
-				if (StringUtils.isEmpty(fBillEntryTableName))
-					fBillEntryTableName = rs.getString("FBillEntryTableName");
-				colNames.add("S" + rs.getString("fieldSn"));
-				colTypes.add(rs.getString("fdataType"));
-			}
-			map.put("fBillEntryTableName", fBillEntryTableName);
-			map.put("colNames", colNames);
-			map.put("colTypes", colTypes);
-		} catch (Exception e) {
-			throw new BOSException(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label10", ctx.getLocale()));
-		}
-		return map;
-	}
-
-	public static Map<String, Object> getBillColumnListAndBillEntryTableNameByDataType(Context ctx, String submitSchemeId, String dataType) throws BOSException {
-		Map<String, Object> map = new HashMap<>();
-		List<String> colNames = new ArrayList<>();
-		if (StringUtils.isEmpty(submitSchemeId))
-			return map;
-		String language = ctx.getLocale().getLanguage();
-		String sql = "Select e.FSubmitTarget , m.fieldSn,m.fdataType,m.fname_" + language + " ,n.FBillEntryTableName ,n.FCalShemeTableName ,t.FIsRequired from  T_HR_SCalSubmitScheme e  inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid  inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID  inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid   where e.fid = '" + submitSchemeId + "' and m.fdataType = '" + dataType + "'  order by FSortSn ";
-		try {
-			String fBillEntryTableName = "", fCalShemeTableName = "";
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {
-				if (StringUtils.isEmpty(fBillEntryTableName)) {
-					fBillEntryTableName = rs.getString("FBillEntryTableName");
-					fCalShemeTableName = rs.getString("FCalShemeTableName");
-				}
-				colNames.add("S" + rs.getString("fieldSn"));
-			}
-			map.put("fBillEntryTableName", fBillEntryTableName);
-			map.put("fCalShemeTableName", fCalShemeTableName);
-			map.put("colNames", colNames);
-		} catch (Exception e) {
-			throw new BOSException(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label10", ctx.getLocale()));
-		}
-		return map;
-	}
-
-	public static String getSchemeEntryTableName(Context ctx, String submitSchemeId) {
-		String fBillEntryTableName = "";
-		String sql = "Select n.FBillEntryTableName  from  T_HR_SCalSubmitScheme e  inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid   where e.fid = '" + submitSchemeId + "'  ";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next())
-				fBillEntryTableName = rs.getString("FBillEntryTableName");
-		} catch (Exception e) {
-			logger.info(e);
-		}
-		return fBillEntryTableName;
-	}
-
-	public static String getCalShemeTableName(Context ctx, String submitSchemeId) {
-		String calShemeTableName = "";
-		String sql = "Select n.FBillEntryTableName  from  T_HR_SCalSubmitScheme e  inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid   where e.fid = '" + submitSchemeId + "'  ";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next())
-				calShemeTableName = rs.getString("FBillEntryTableName");
-		} catch (Exception e) {
-			logger.info(e);
-		}
-		return calShemeTableName;
-	}
-
-	public static boolean deleteSubmitSchemeRelationDate(Context ctx, String schemeId) throws BOSException, SQLException {
-		boolean flag = false;
-		if (StringUtils.isEmpty(schemeId))
-			return flag;
-		String sql = "select FBillEntryTableName , FCalShemeTableName  from T_HR_SCalShemeTableRelation where FSubmitSchemeID = ?";
-		String calShemeTableName = "";
-		String billEntryTableName = "";
-		IRowSet list = DbUtil.executeQuery(ctx, sql, new Object[] { schemeId });
-		while (list.next()) {
-			billEntryTableName = list.getString("FBillEntryTableName");
-			calShemeTableName = list.getString("FCalShemeTableName");
-		}
-		if (!CmpStrUtil.isEmpty(calShemeTableName)) {
-			DbUtil.execute(ctx, "If exists (select * from KSQL_USERTABLES where KSQL_TABNAME ='" + calShemeTableName + "') drop table " + calShemeTableName + "");
-			DbUtil.execute(ctx, "If exists (select * from KSQL_USERTABLES where KSQL_TABNAME ='" + billEntryTableName + "') drop table " + billEntryTableName + "");
-		}
-		DbUtil.execute(ctx, "delete   from T_HR_SCalShemeTableRelation where FSubmitSchemeID = ? ", new Object[] { schemeId });
-		DbUtil.execute(ctx, "delete   from T_HR_SCalSubmitSchemeItem where FCalSubmitSchemeID = ?", new Object[] { schemeId });
-		DbUtil.execute(ctx, "delete   from T_HR_SBaseFormula where FBusinessRelationConfigID in(select fid from T_HR_SBusinessRelationConfig where FBusinessId = ?)", new Object[] { schemeId });
-		DbUtil.execute(ctx, "delete   from T_HR_SBusinessRelationConfig where FBusinessId = ?", new Object[] { schemeId });
-		DbUtil.execute(ctx, "delete   from T_HR_SSchemeDeduConfig where FCalSubmitSchemeID = ?", new Object[] { schemeId });
-		DbUtil.execute(ctx, "delete   from T_HR_SSubmitSchemeVRuleNodeRel where FSubmitSchemeVRuleID in(select fid from T_HR_SSubSchemeVerifiRule where FSubmitSchemeID = ? )", new Object[] { schemeId });
-		DbUtil.execute(ctx, "delete   from T_HR_SSubSchemeVerifiRule where FSubmitSchemeID = ?", new Object[] { schemeId });
-		DbUtil.execute(ctx, "delete   from T_HR_SCalSubmitPeriod where FSubmitSchemeId = ?", new Object[] { schemeId });
-		DbUtil.execute(ctx, "delete   from T_HR_SchemeBizKeyDefine where FSubmitSchemeId = ?", new Object[] { schemeId });
-		return flag;
-	}
-
-	public static boolean dropSubmitSchemeEntryTableCol(Context ctx, String schemeId, String itemId) throws BOSException, SQLException {
-		boolean flag = false;
-		if (StringUtils.isEmpty(schemeId))
-			return flag;
-		String sql = "select FBillEntryTableName , FCalShemeTableName  from T_HR_SCalShemeTableRelation where FSubmitSchemeID = '" + schemeId + "'";
-		String sqlItem = "select fieldSn from  T_HR_SCalSubmitItem m  inner join  T_HR_SCalSubmitSchemeItem t on m.fid = t.FCalSubmitItemID  where t.fid  = '" + itemId + "'";
-		String calShemeTableName = "", billEntryTableName = "", col = "";
-		IRowSet rs = DbUtil.executeQuery(ctx, sql);
-		while (rs.next()) {
-			billEntryTableName = rs.getString("FBillEntryTableName");
-			calShemeTableName = rs.getString("FCalShemeTableName");
-		}
-		rs = DbUtil.executeQuery(ctx, sqlItem);
-		while (rs.next())
-			col = "S" + rs.getString("fieldSn");
-		StringBuilder calShemeTable = new StringBuilder("If  exists (select * from KSQL_USERCOLUMNS where KSQL_COL_NAME ='" + col + "'  and KSQL_COL_TABNAME='" + calShemeTableName + "')");
-		calShemeTable.append("ALTER TABLE " + calShemeTableName + " drop column " + col + " ");
-		StringBuilder billEntryTable = new StringBuilder("If  exists (select * from KSQL_USERCOLUMNS where KSQL_COL_NAME ='" + col + "'  and KSQL_COL_TABNAME='" + billEntryTableName + "')");
-		billEntryTable.append("ALTER TABLE " + billEntryTableName + " drop column " + col + " ");
-		if (!CmpStrUtil.isEmpty(calShemeTableName)) {
-			DbUtil.execute(ctx, calShemeTable.toString());
-			DbUtil.execute(ctx, billEntryTable.toString());
-		}
-		return flag;
-	}
-
-	public static Map<String, Object> getRequiredColumns(Context ctx, String submitSchemeId, boolean needEnableData) throws BOSException {
-		Map<String, Object> map = new HashMap<>();
-		List<Map<String, Object>> colNames = new ArrayList<>();
-		if (StringUtils.isEmpty(submitSchemeId))
-			return map;
-		String language = ctx.getLocale().getLanguage();
-		String sql = "Select e.FSubmitTarget , m.fieldSn,m.fdataType,m.fname_" + language + " MNAME,n.FBillEntryTableName ,n.FCalShemeTableName ,t.FIsRequired,t.fstate state from  T_HR_SCalSubmitScheme e  inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid  inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID  inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid   where e.fid = '" + submitSchemeId + "'";
-		if (needEnableData)
-			sql = sql + "and t.fstate = 1 ";
-		sql = sql + " order by t.FSortSn asc ";
-		String submitTarget = null;
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {
-				Map<String, Object> gridIdMap = new HashMap<>();
-				gridIdMap.put("rename", rs.getString("MNAME"));
-				gridIdMap.put("name", "CMP_SMT002.S" + rs.getString("fieldSn"));
-				gridIdMap.put("label", rs.getString("MNAME"));
-				gridIdMap.put("type", "String");
-				submitTarget = rs.getString("FSubmitTarget");
-				colNames.add(gridIdMap);
-			}
-			map.put("colNames", colNames);
-			map.put("submitTarget", submitTarget);
-		} catch (Exception e) {
-			throw new BOSException(EASResource.getString("com.kingdee.shr.compensation.resource.SubmitShemeBillResource", "label10", ctx.getLocale()));
-		}
-		return map;
-	}
-
-	public static List<CalShemeSubmitItemDTO> getDynamicSubmitItemBySchemeId(Context ctx, String schemeId) {
-		List<CalShemeSubmitItemDTO> calShemeSubmitItemDTOS = new ArrayList<>();
-		StringBuilder sqlBuffer = new StringBuilder();
-		String language = ctx.getLocale().getLanguage();
-		sqlBuffer.append(" SELECT M.FNUMBER AS ITEMNUMBER,E.FID AS SCHEMEID, M.FID as ITEMID,  M.FIELDSN,M.FDATATYPE,M.FNAME_" + language + " AS ITEMNAME,T.FISREQUIRED ,M.FDATADOT,M.FDATALENGTH ");
-		sqlBuffer.append(" FROM  T_HR_SCALSUBMITSCHEME E  ");
-		sqlBuffer.append(" INNER JOIN  T_HR_SCALSUBMITSCHEMEITEM T ON T.FCALSUBMITSCHEMEID = E.FID  ");
-		sqlBuffer.append(" INNER JOIN T_HR_SCALSUBMITITEM M ON  M.FID = T.FCALSUBMITITEMID WHERE T.FISSHOW=1  AND T.FState= ").append(1).append(" AND E.FID = '");
-		sqlBuffer.append(schemeId);
-		sqlBuffer.append("' ORDER BY T.FSORTSN");
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sqlBuffer.toString());
-			CalShemeSubmitItemDTO calShemeSubmitItemDTO = null;
-			while (rs.next()) {
-				calShemeSubmitItemDTO = new CalShemeSubmitItemDTO();
-				calShemeSubmitItemDTO.setSubmitSchemeId(rs.getString("SCHEMEID"));
-				calShemeSubmitItemDTO.setItemId(rs.getString("ITEMID"));
-				calShemeSubmitItemDTO.setFieldSn(Integer.valueOf(rs.getInt("FIELDSN")));
-				calShemeSubmitItemDTO.setDataType(rs.getString("FDATATYPE"));
-				calShemeSubmitItemDTO.setSubmitItemName(rs.getString("ITEMNAME"));
-				calShemeSubmitItemDTO.setIsRequired(Integer.valueOf(rs.getInt("FISREQUIRED")));
-				calShemeSubmitItemDTO.setDataDot(Integer.valueOf(rs.getInt("FDATADOT")));
-				calShemeSubmitItemDTO.setDataLength(Integer.valueOf(rs.getInt("FDATALENGTH")));
-				calShemeSubmitItemDTO.setSubmitItemNumber(rs.getString("ITEMNUMBER"));
-				calShemeSubmitItemDTOS.add(calShemeSubmitItemDTO);
-			}
-		} catch (BOSException e) {
-			e.printStackTrace();
-			logger.error(e.getMessage(), (Throwable)e);
-		} catch (SQLException e) {
-			logger.error(e.getMessage(), e);
-			e.printStackTrace();
-		}
-		return calShemeSubmitItemDTOS;
-	}
-
-	public static Map<String, Integer> getCellLength(Context ctx, String schemeId) {
-		Map<String, Integer> map = new HashMap<>();
-		String sql = "Select m.fieldSn,m.FDataLength from  T_HR_SCalSubmitScheme e  inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid  inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID  where e.fid = '" + schemeId + "' and FDataType = '1' order by  FSortSn";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {
-				String fieldSn = String.valueOf(rs.getInt(1));
-				Integer dataLength = Integer.valueOf(rs.getInt(2));
-				map.put(fieldSn, dataLength);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return map;
-	}
-
-	public static Set<String> getCalItemSn(Context ctx, String schemeId) throws BOSException {
-		Set<String> calItemSn = new HashSet<>();
-		String formulaSql = "SELECT bf.FCalItem calItem FROM T_HR_SBaseFormula bf LEFT JOIN T_HR_SBusinessRelationConfig brc ON bf.FBUSINESSRELATIONCONFIGID = brc.FID WHERE brc.FBUSINESSID = '" + schemeId + "' AND bf.FISCAL = 1";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, formulaSql);
-			while (rs.next()) {
-				String sn = rs.getString("calItem");
-				if (null != sn || !"".equals(sn))
-					calItemSn.add(sn);
-			}
-		} catch (SQLException e) {
-			String label56 = EASResource.getString("com.kingdee.shr.compensation.resource.CmpXQLangResource", "label56", ctx.getLocale());
-			throw new BOSException(label56, e);
-		}
-		return calItemSn;
-	}
-
-	public static Map<String, List<Map<String, Object>>> initAutoCalFieldOption(Context ctx, String schemeId) {
-		StringBuilder sqlBuffer = new StringBuilder();
-		sqlBuffer.append(" SELECT FORMULA.FCALITEM, FORMULA.FSORTSN, FORMULA.FEXPRESS, FORMULA.FLISTITEM, ");
-		sqlBuffer.append(" ITEM.FDATADOT FDATADOT ");
-		sqlBuffer.append(" FROM T_HR_SBUSINESSRELATIONCONFIG CONFIG  ");
-		sqlBuffer.append(" INNER JOIN T_HR_SBASEFORMULA FORMULA ON FORMULA.FBUSINESSRELATIONCONFIGID = CONFIG.FID ");
-		sqlBuffer.append(" LEFT JOIN T_HR_SCalSubmitItem ITEM ON FORMULA.FCALITEM =  CONCAT('S',CONVERT(VARCHAR,ITEM.FIELDSN))  ");
-		sqlBuffer.append(" WHERE ");
-		sqlBuffer.append(" CONFIG.FBUSINESSID = '").append(schemeId).append("' ");
-		sqlBuffer.append(" AND FORMULA.FISCAL = 1 ");
-		sqlBuffer.append(" AND FORMULA.FEXPRESS IS NOT NULL ");
-		sqlBuffer.append(" AND FORMULA.FCALITEM IS NOT NULL ");
-		sqlBuffer.append(" AND (FORMULA.FLISTFUNC IS NULL OR FORMULA.FLISTFUNC LIKE '') ");
-		sqlBuffer.append(" AND (FORMULA.FLISTVAR IS NULL OR FORMULA.FLISTVAR LIKE '') ");
-		sqlBuffer.append(" AND ITEM.FDATATYPE = '").append("0").append("' ");
-		sqlBuffer.append(" ORDER BY FORMULA.FSORTSN ");
-		String tableName = getSchemeEntryTableName(ctx, schemeId);
-		HashMap<String, List<Map<String, Object>>> result = new HashMap<>();
-		HashMap<String, List<Map<String, Object>>> realResult = new HashMap<>();
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sqlBuffer.toString());
-			String calItem = "", express = "", listItems = "";
-			int targetDataDot = 2;
-			while (rs.next()) {
-				Map<String, Object> targetFieldMap = new HashMap<>();
-				calItem = rs.getString("FCALITEM");
-				targetDataDot = rs.getInt("FDATADOT");
-				targetFieldMap.put(TARGET_NAME_STR, calItem);
-				targetFieldMap.put(TARGET_PRECISION_STR, Integer.valueOf(targetDataDot));
-				express = rs.getString("FEXPRESS");
-				listItems = rs.getString("FLISTITEM");
-				if (express.contains("if"))
-					continue;
-				express = express.replace(tableName, "").replace("_", "");
-				express = express.substring(express.indexOf("=") + 1);
-				listItems = listItems.replace(tableName, "").replace("double", "").replace("~", "");
-				String[] listItemsArr = listItems.split(";");
-				if (listItemsArr.length == 1 && listItems.equals(calItem))
-					continue;
-				List<String> realListItems = new ArrayList<>(listItemsArr.length - 1);
-				for (String str : listItemsArr) {
-					if (!str.equals(calItem))
-						realListItems.add(str);
-				}
-				for (String str : realListItems) {
-					List<Map<String, Object>> perFieldFormulas;
-					if (result.containsKey(str)) {
-						perFieldFormulas = result.get(str);
-					} else {
-						perFieldFormulas = new ArrayList<>();
-					}
-					Map<String, Object> perFormula = new HashMap<>();
-					perFormula.put(FIELDS_STR, realListItems);
-					perFormula.put(FORMULA_STR, express);
-					perFormula.put(TARGET_STR, targetFieldMap);
-					perFieldFormulas.add(perFormula);
-					result.put(str, perFieldFormulas);
-				}
-			}
-			Set<String> keySet = result.keySet();
-			Iterator<String> iterator = keySet.iterator();
-			String listItem = "", tempItem = "";
-			String resultStr = JSONUtils.convertObjectToJson(ctx, result);
-			realResult.putAll(JSONUtils.convertJsonToObject(ctx, resultStr));
-			while (iterator.hasNext()) {
-				listItem = iterator.next();
-				List<Map<String, Object>> perFieldFormulas = result.get(listItem);
-				Iterator<Map<String, Object>> iterator2 = perFieldFormulas.iterator();
-				while (iterator2.hasNext()) {
-					tempItem = (String)((Map)((Map)iterator2.next()).get(TARGET_STR)).get(TARGET_NAME_STR);
-					if (result.containsKey(tempItem))
-						((List)realResult.get(listItem)).addAll(result.get(tempItem));
-				}
-			}
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-		}
-		return realResult;
-	}
-
-	public static void checkHRBillIsEdit(Context ctx, String billId) throws BOSException, EASBizException {
-		if (!StringUtils.isEmpty(billId)) {
-			BatchSubmitShemeBillCollection billInfoC = BatchSubmitShemeBillFactory.getLocalInstance(ctx).getBatchSubmitShemeBillCollection("select  id,billState where id = '" + billId + "'");
-			BatchSubmitShemeBillInfo billInfo = billInfoC.isEmpty() ? null : billInfoC.get(0);
-			HRBillStateEnum oldBillState = billInfoC.isEmpty() ? null : billInfoC.get(0).getBillState();
-			HRWorkFlowCheckUtil.checkHRBillIsEdit(ctx, (HRBillBaseInfo)billInfo, oldBillState);
-		}
-	}
-}

+ 0 - 1432
GDYSL/websrc/com/kingdee/shr/compensation/util/integrate/CmpIntegrateUtilsNew.java

@@ -1,1432 +0,0 @@
-package com.kingdee.shr.compensation.util.integrate;
-
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
-
-import com.alibaba.fastjson.JSONObject;
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.bos.util.EASResource;
-import com.kingdee.eas.common.EASBizException;
-import com.kingdee.eas.hr.base.HRBillStateEnum;
-import com.kingdee.eas.util.app.DbUtil;
-import com.kingdee.jdbc.rowset.IRowSet;
-import com.kingdee.shr.base.syssetting.app.filter.HRFilterUtils;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitSchemeBillDataSource;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillFactory;
-import com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBillInfo;
-import com.kingdee.shr.compensation.app.integrate.CalSubmitItemDataType;
-import com.kingdee.shr.compensation.app.integrate.DateTypeEnum;
-import com.kingdee.shr.compensation.integrate.dto.CalShemeSubmitItemDTO;
-import com.kingdee.shr.compensation.resource.ResourceConstant;
-import com.kingdee.shr.compensation.util.CmpDateUtil;
-import com.kingdee.shr.compensation.util.CmpStrUtil;
-
-public class CmpIntegrateUtilsNew {
-	
-	private static Logger logger = Logger.getLogger(CmpIntegrateUtilsNew.class);
-	
-	
-	
-	/**
-	 * 重载更新分录审批状态
-	 * 
-	 * @param ctx
-	 * @param billId
-	 * @param stateEnum
-	 * @throws BOSException
-	 * @throws EASBizException
-	 */
-	public static void updateEntryBillState(Context ctx, String billId, HRBillStateEnum stateEnum,
-			String billEntryTable) throws BOSException, EASBizException {
-		BatchSubmitShemeBillInfo info = BatchSubmitShemeBillFactory.getLocalInstance(ctx)
-				.getBatchSubmitShemeBillInfo("where id = '" + billId + "'");
-
-		String billEntryTableName = billEntryTable;
-		if (StringUtils.isEmpty(billEntryTableName)) {
-			Map<String, Object> map = CmpIntegrateUtilsNew.getBillColumnListAndBillEntryTableName(ctx,
-					info.getSubmitScheme().getId().toString());
-			billEntryTableName = map.get("fBillEntryTableName").toString(); // 方案对应的动态表名
-		}
-		// 更新分录状态
-		String sqlTemplate = "UPDATE %s SET FBillState = ? WHERE FBILLID = ?";
-		String sql = String.format(sqlTemplate, billEntryTableName);
-
-		DbUtil.execute(ctx, sql, new Object[] {stateEnum.getValue(), info.getId().toString()});
-	}
-	
-	
-	
-	/**
-	 * 指定业务组织下,当前用户可使用且数据权限分配的薪酬项目
-	 * @throws EASBizException 
-	 */
-	public static String getUsableItemByHro(Context ctx, String hrOrgUnit,boolean isDisatribute)  {
-		StringBuffer personCmpItemPerm = new StringBuffer();
-		personCmpItemPerm.append("select FBaseInfoId from T_HR_SCalSubmitItemRelHR  where T_HR_SCalSubmitItemRelHR.FHrOrgUseId ='");
-		personCmpItemPerm.append(hrOrgUnit).append("'");//可使用
-		if(isDisatribute){
-			personCmpItemPerm.append(" and FState=100 ");
-		}
-		return personCmpItemPerm.toString();
-	}
-	
-	
-	
-	/**
-	 * 判断提报方案是否存在 未提交 审批中 未审批 已审批
-	 * @param schemeId
-	 * @return
-	 */
-	public static boolean checkSubmitSchemeIsUsingBill(	Context ctx,String schemeId){
-		boolean flag = false ;
-		if (StringUtils.isEmpty(schemeId)) {
-			return flag ;
-		}
-		String sql  = "Select top 1 fid  from T_HR_SBatchSubmitShemeBill where fbillstate in (0,1,2)  and FSubmitSchemeID = ? " ;
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql, new Object[]{schemeId});
-			if (rs.size()>0) {
-				flag =  true;
-			}
-		} catch (BOSException e) {
-			logger.error(e);
-		}
-		return flag ;
-	}
-	
-	/**
-	 * 判断提报方案是否存在 未提交 审批中 未审批 已审批
-	 * @param schemeId
-	 * @return
-	 */
-	public static boolean checkSubmitBillEntryIsExists(	Context ctx,String  billEntryTableName ,String billId){
-		boolean flag = false ;
-		if (StringUtils.isEmpty(billId)) {
-			return flag ;
-		}
-		String sql  = "Select top 1 fid  from "+billEntryTableName+" where fbillId = ? " ;
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql, new Object[]{billId});
-			if (rs.size()>0) {
-				flag =  true;
-			}
-		} catch (BOSException e) {
-			logger.error(e);
-		}
-		return flag ;
-	}
-	
-	/**
-	 * 判断提报方案是否存在  审批中 未审批
-	 * @param schemeId
-	 * @return
-	 */
-	public static boolean checkSubmitSchemeIsUsedBill(Context ctx,String schemeId){
-		boolean flag = false ;
-		if (StringUtils.isEmpty(schemeId)) {
-			return flag ;
-		}
-		String sql  = "Select top 1 fid  from T_HR_SBatchSubmitShemeBill where fbillstate in (1,2)  and FSubmitSchemeID = ? " ;
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql, new Object[]{schemeId});
-			if (rs.size()>0) {
-				flag =  true;
-			}
-		} catch (BOSException e) {
-			logger.error(e);
-		}
-		return flag ;
-	}
-	
-	
-	/**
-	 * 判断提报方案是否存在 未提交 审批中 未审批
-	 * @param schemeId
-	 * @return
-	 */
-	@SuppressWarnings("rawtypes")
-	public static Map checkSubmitSchemesIsUsingBill(Context ctx,List<String> list){
-		Map<String ,Boolean > map = new HashMap<String ,Boolean>();
-		String sql  = "Select distinct FSubmitSchemeID from T_HR_SBatchSubmitShemeBill where fbillstate in (0,1,2) "
-				+ " and FSubmitSchemeID in( "+CmpStrUtil.convertListToString(list)+") " ;
-		Set<String> snSet = new HashSet<String>();
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {
-				String submitSchemeID = rs.getString("FSubmitSchemeID");
-				snSet.add(submitSchemeID);
-			}
-			for( String submitSchemeID: list){
-				map.put(submitSchemeID, snSet.contains(submitSchemeID));
-			}
-		} catch (Exception e) {
-			logger.error(e);
-		}
-		return map ;
-	}
-	
-	
-	/**
-	 * 
-	 * 根据方案id 获取方案提报单分录的提报项目列
-	 * @param schemeId
-	 * @return
-	 * @throws BOSException 
-	 * 
-	 */
-	
-	@SuppressWarnings("rawtypes")
-	public static Map<String,List> assembleSubmitSchemeColModel(Context ctx,String schemeId, Integer dataSource) throws BOSException{
-		Map<String,List> map = new HashMap<String,List>();
-		List<String> colNames = new ArrayList<String>();
-		List<Map<String, Object>> colModel = new ArrayList<Map<String, Object>>();
-		if (StringUtils.isEmpty(schemeId)) {
-			return map ;
-		}
-		
-		String language = ctx.getLocale().getLanguage();
-		
-		String  sql = "Select e.FSubmitTarget, e.FIsEnableSubmitElement,e.FEFFECTDATEDISPLAY , m.fieldSn,m.fdataType,m.fname_"+ language +" MNAME,t.FIsRequired ,m.FDataDot,m.FDataLength, "
-				+ " M.FDATETYPE,M.FFILTERFIELD,B.FENTITYNAME,B.FNAME_"+ language +" BNAME,B.FUSEUIPK, B.FMAINTAINUIPK  "
-				+ " from  T_HR_SCalSubmitScheme e "
-				+ " inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid "
-				+ " inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID "
-				+ " left join  T_BS_SHRBasicItem b on m.FFilterField = b.fid "
-				+ " where e.fid = '"+schemeId+"' order by  FSortSn";
-//		String  sql = "Select m.FNumber,e.FSubmitTarget,e.FIsEnableSubmitElement,e.FEFFECTDATEDISPLAY , m.fieldSn,m.fdataType,m.fname_"+ language +" MNAME,t.FIsRequired ,m.FDataDot,m.FDataLength, "
-//				+ " M.FDATETYPE,M.FFILTERFIELD,B.FNAME_"+ language +" BNAME, B.FUipk FMAINTAINUIPK,b.FISBASIC  "
-//				+ " from  T_HR_SCalSubmitScheme e "
-//				+ " inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid "
-//				+ " inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID "
-//				+ " left join  T_HR_SCalSchemeItemForF7 b on m.FFilterField = b.fid "
-////				+ " where e.fid = '"+schemeId+"' and m.FNumber != 'AwardName' and t.FIsShow = 1 order by  FSortSn";
-//				+ " where e.fid = '"+schemeId+"'  order by  t.FSortSn asc ";
-		try {
-			String  submitTarget = "" ,dataType = ""; //提报对象 01 person  02 org
-			int dateType = 0;// 日期类型
-			int effectDateDisplay = 0;
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			boolean  f7Flag = true,isEnableSubmitElement = false;
-			while (rs.next()) {
-				//=====组装提报对象
-			    submitTarget = rs.getString("FSubmitTarget");
-			    effectDateDisplay = rs.getInt("FEFFECTDATEDISPLAY");
-			    isEnableSubmitElement = rs.getBoolean("FIsEnableSubmitElement");
-			    dataType = rs.getString("fdataType");// 0 数值 1 字符串
-				//提报对象列
-				if (f7Flag) {
-					f7Flag = false;
-					Map<String, Object> gridMainKeyIdMap = new HashMap<String, Object>();
-					Map<String, Object> adminOrgUnitGridMainKeyIdMap = new HashMap<String, Object>();
-					Map<String, Object> positionGridMainKeyIdMap = new HashMap<String, Object>();
-					Map<String, Object> cmpEmpORGridMainKeyIdMap = new HashMap<String, Object>();
-					Map<String, Object> gridIdMap = new HashMap<String, Object>();
-					// 组装ID前端基础属性
-					assembleColModelId(gridIdMap);
-					colNames.add("id");
-					colModel.add(gridIdMap);
-					//==== 组装F7
-					if ("02".equals(submitTarget)) {
-						assembleColModelF7(gridMainKeyIdMap, "orgUnit", "提报组织", true);
-						gridMainKeyIdMap.put(ColModelAttributeConstants.editoptions, assembleColModelF7("提报组织", "com.kingdee.eas.basedata.org.app.AdminOrgUnit.F7", true));
-						gridMainKeyIdMap.put(ColModelAttributeConstants.sortable, true);
-						colNames.add("提报组织");  //colNames.add("提报组织");
-						colModel.add(gridMainKeyIdMap);
-					}else{
-						Map<String, Object> gridPersonNumberMap = new HashMap<String, Object>();
-						gridPersonNumberMap.put(ColModelAttributeConstants.name, "number");
-						gridPersonNumberMap.put(ColModelAttributeConstants.label, "员工编码");
-						gridPersonNumberMap.put(ColModelAttributeConstants.frozen, false);
-						gridPersonNumberMap.put(ColModelAttributeConstants.width, 90);
-						gridPersonNumberMap.put(ColModelAttributeConstants.align, "left");
-						gridPersonNumberMap.put(ColModelAttributeConstants.key, true);
-						gridPersonNumberMap.put(ColModelAttributeConstants.hidden, false);
-						gridPersonNumberMap.put(ColModelAttributeConstants.editable, false);				
-						gridPersonNumberMap.put(ColModelAttributeConstants.sorttype, "string");
-						gridPersonNumberMap.put(ColModelAttributeConstants.classes, "disabled");
-						gridPersonNumberMap.put(ColModelAttributeConstants.edittype, "shrtext");
-						gridPersonNumberMap.put(ColModelAttributeConstants.sortable, true);
-						
-						
-						colNames.add("员工编码"); // colNames.add("员工编码");
-						colModel.add(gridPersonNumberMap);
-						
-						String CmpEmpORelF7Uipk = "com.kingdee.shr.compensation.app.integrate.CmpEmpORelation.F7";
-						// 3表示来源为团队提报的
-						if (BatchSubmitSchemeBillDataSource.TEAM_SUBMIT_VALUE == dataSource) {
-							CmpEmpORelF7Uipk = "com.kingdee.shr.compensation.app.integrate.stores.CmpEmpORelation.F7";
-						} 
-						assembleColModelF7(gridMainKeyIdMap, "person", "员工姓名", true);
-						gridMainKeyIdMap.put(ColModelAttributeConstants.editoptions, assembleColModelF7("员工姓名", CmpEmpORelF7Uipk,true));
-						colNames.add("员工姓名"); // colNames.add("员工姓名");
-						colModel.add(gridMainKeyIdMap);
-						
-						//行政组织
-						assembleColModelF7NotEdit(adminOrgUnitGridMainKeyIdMap, "adminOrgUnit", "所属行政组织");
-						adminOrgUnitGridMainKeyIdMap.put(ColModelAttributeConstants.sortable, true);
-
-//						gridMainKeyIdMap.put(ColModelAttributeConstants.editoptions, assembleColModelF7("姓名", "shr.person.HRAndAdminOrg.F7"));
-						colNames.add("所属行政组织");  //colNames.add("所属行政组织");
-						colModel.add(adminOrgUnitGridMainKeyIdMap);
-						
-						//职位
-						assembleColModelF7NotEdit(positionGridMainKeyIdMap, "position", "职位");
-						positionGridMainKeyIdMap.put(ColModelAttributeConstants.sortable, true);
-
-						colNames.add("职位");  //colNames.add("职位");
-						colModel.add(positionGridMainKeyIdMap);
-						
-						//发薪任职id
-						assembleColModelF7Hidden(cmpEmpORGridMainKeyIdMap, "cmpEmpORelation", "发薪任职");
-						colNames.add("发薪任职"); // colNames.add("发薪任职");
-						colModel.add(cmpEmpORGridMainKeyIdMap);
-						
-						
-						//=====虚拟id 用于编辑保存
-						Map<String, Object> gridPersonIdMap = new HashMap<String, Object>();
-						gridPersonIdMap.put(ColModelAttributeConstants.name, "tempId");
-						gridPersonIdMap.put(ColModelAttributeConstants.label, "员工或者组织临时id");
-						gridPersonIdMap.put(ColModelAttributeConstants.frozen, false);
-						gridPersonIdMap.put(ColModelAttributeConstants.width, 90);
-						gridPersonIdMap.put(ColModelAttributeConstants.align, "left");
-						gridPersonIdMap.put(ColModelAttributeConstants.key, true);
-						gridPersonIdMap.put(ColModelAttributeConstants.hidden, true);
-						gridPersonIdMap.put(ColModelAttributeConstants.editable, false);				
-						gridPersonIdMap.put(ColModelAttributeConstants.sorttype, "string");
-						gridPersonIdMap.put(ColModelAttributeConstants.classes, "disabled");
-						gridPersonIdMap.put(ColModelAttributeConstants.edittype, "shrtext");
-						colNames.add("tempId");
-						colModel.add(gridPersonIdMap);
-					}
-					// 申报要素,如果提报方案上选了启用申报要素,则申报要素必填
-					if(isEnableSubmitElement){
-						Map<String, Object> gridSubmitElementMap = new HashMap<String, Object>();
-						assembleColModelF7(gridSubmitElementMap, "submitElement", "申报要素", true);
-						gridSubmitElementMap.put(ColModelAttributeConstants.editoptions, assembleColModelF7("申报要素", "com.kingdee.shr.compensation.app.integrate.SubmitElement.SubmitBillEntry.F7",true));
-						colNames.add("申报要素"); // colNames.add("申报要素");
-						colModel.add(gridSubmitElementMap);
-					}
-					
-					
-					// 币别
-					Map<String, Object> gridCurrencyMap = new HashMap<String, Object>();
-					assembleColModelF7(gridCurrencyMap, "currency", "币别", true);
-					gridCurrencyMap.put(ColModelAttributeConstants.editoptions, assembleColModelF7("币别", "com.kingdee.eas.basedata.assistant.app.Currency.CMP.F7",true));
-					colNames.add("币别");   // colNames.add("币别");
-					colModel.add(gridCurrencyMap);
-					
-					//日期控件
-					//8.6sp1日期控件
-					Map<String, Object> gridPersonNumberMap = new HashMap<String, Object>();
-					gridPersonNumberMap.put(ColModelAttributeConstants.name, "effectDay");
-					gridPersonNumberMap.put(ColModelAttributeConstants.label, "发生日期");
-					gridPersonNumberMap.put(ColModelAttributeConstants.frozen, false);
-					gridPersonNumberMap.put(ColModelAttributeConstants.width, 100);
-					gridPersonNumberMap.put(ColModelAttributeConstants.align, "left");
-					gridPersonNumberMap.put(ColModelAttributeConstants.key, true);
-					gridPersonNumberMap.put(ColModelAttributeConstants.hidden, false);
-					gridPersonNumberMap.put(ColModelAttributeConstants.editable, true);				
-					gridPersonNumberMap.put(ColModelAttributeConstants.sorttype, "date");
-					gridPersonNumberMap.put(ColModelAttributeConstants.sortable, false);
-//					gridPersonNumberMap.put(ColModelAttributeConstants.formatter, "datepicker");    8.5sp1
-//					gridPersonNumberMap.put(ColModelAttributeConstants.edittype, "shrdatepicker");
-					gridPersonNumberMap.put(ColModelAttributeConstants.formatter, "shrDateTimePicker");
-					gridPersonNumberMap.put(ColModelAttributeConstants.edittype, "shrDateTimePicker");
-					gridPersonNumberMap.put(ColModelAttributeConstants.classes, "required");
-					
-					StringBuffer datapickerjsonBuffer = new StringBuffer();
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"datepickerjson\":");
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"id\":\"dp_autoSize\",");
-					datapickerjsonBuffer.append("\"name\":\"dp_autoSize\",");
-					datapickerjsonBuffer.append("\"minuteStep\":\"\",");
-					datapickerjsonBuffer.append("\"showTimeZoneForCtrl\":false,");
-					datapickerjsonBuffer.append("\"isAutoTimeZoneTrans\":false,");
-					datapickerjsonBuffer.append("\"isShowUTC\":false,");
-					datapickerjsonBuffer.append("\"isReadonlyUTC\":true,");
-					datapickerjsonBuffer.append("\"isRemoveSeconds\":true,");
-					
-					if(DateTypeEnum.YYYYMM_VALUE == effectDateDisplay){
-						datapickerjsonBuffer.append("\"isRemoveDay\":true,");
-					}else if(DateTypeEnum.YYYYMMDD_VALUE == effectDateDisplay){
-						datapickerjsonBuffer.append("\"isRemoveDay\":false,");
-					}else{
-						datapickerjsonBuffer.append("\"isRemoveDay\":true,");
-					}
-					
-					datapickerjsonBuffer.append("\"ctrlType\":\"Date\"");
-					datapickerjsonBuffer.append("},");
-					datapickerjsonBuffer.append("\"validateJson\":");
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"errMsg\":\"\",");
-					datapickerjsonBuffer.append("\"rules\":\"required:true\",");
-					datapickerjsonBuffer.append("\"validatetrigger\":\"focus keyup datachange\"");
-					datapickerjsonBuffer.append("}");
-					datapickerjsonBuffer.append("}");
-					gridPersonNumberMap.put(ColModelAttributeConstants.editoptions, JSONObject.parseObject(datapickerjsonBuffer.toString()));
-					colNames.add("发生日期");  // colNames.add("发生日期");
-					colModel.add(gridPersonNumberMap);
-				}
-				
-				//=====组装提报项目
-			    dataType = rs.getString("fdataType");// 0 数值 1 字符串2日期类型3F7过滤
-			    int isRequired = rs.getInt("FIsRequired"); // 1 必填
-			    int fDataDot = rs.getInt("FDataDot"); // 1 精度
-			    int fDataLength = rs.getInt("FDataLength"); // 1 字符长度
-			    if ("0".equals(dataType)) {
-			    	// 0 数值
-			    	Map<String, Object> schemeMap = new HashMap<String, Object>();
-			    	schemeMap.put(ColModelAttributeConstants.name, "S"+rs.getString("fieldSn"));
-					schemeMap.put(ColModelAttributeConstants.label, rs.getString("MNAME"));
-					schemeMap.put(ColModelAttributeConstants.frozen, false);
-					schemeMap.put(ColModelAttributeConstants.width, 90);
-					schemeMap.put(ColModelAttributeConstants.align, "left");
-					schemeMap.put(ColModelAttributeConstants.key, false);
-					schemeMap.put(ColModelAttributeConstants.editable, true);				
-					schemeMap.put(ColModelAttributeConstants.sorttype, "bigdecimal");
-//					schemeMap.put(ColModelAttributeConstants.sortable, true);
-					//先不排序
-					schemeMap.put(ColModelAttributeConstants.sortable, false);
-					schemeMap.put(ColModelAttributeConstants.formatter, "numberfield");
-					schemeMap.put(ColModelAttributeConstants.edittype, "numberfield");
-					JSONObject editoptions = JSONObject.parseObject("{ \"inputJson\": { \"id\": \"txt_money\", \"name\": \"money\", \"<formatTy></formatTy>pe\": \"number\" }}");
-					
-					//添加必填校验
-					if(isRequired == 1) {
-						schemeMap.put(ColModelAttributeConstants.classes, "required");
-						editoptions.put("validateJson", JSONObject.parseObject("{ \"errMsg\": \"\", \"rules\": \"required:true\", \"validatetrigger\": \"focus keyup datachange\" }"));
-					}
-					
-					//添加精度
-					JSONObject inputJson = editoptions.getJSONObject("inputJson");
-					inputJson.put("decimalPrecision", fDataDot);
-					//添加长度
-					inputJson.put("maxlength", fDataLength);
-					
-					
-					schemeMap.put(ColModelAttributeConstants.editoptions,editoptions);
-					colModel.add(schemeMap);
-					colNames.add(rs.getString("MNAME"));
-				}else if(CalSubmitItemDataType.STRING_VALUE.equals(dataType)) {
-					
-					Map<String, Object> schemeMap = new HashMap<String, Object>();
-					schemeMap.put(ColModelAttributeConstants.name, "S"+rs.getString("fieldSn"));
-					schemeMap.put(ColModelAttributeConstants.label, rs.getString("MNAME"));
-					schemeMap.put(ColModelAttributeConstants.frozen, false);
-					schemeMap.put(ColModelAttributeConstants.width, 90);
-					schemeMap.put(ColModelAttributeConstants.align, "left");
-					schemeMap.put(ColModelAttributeConstants.key, false);
-					schemeMap.put(ColModelAttributeConstants.editable, true);				
-					schemeMap.put(ColModelAttributeConstants.sorttype, "string");
-//					schemeMap.put(ColModelAttributeConstants.sortable, true);
-					schemeMap.put(ColModelAttributeConstants.sortable, false);
-					JSONObject editoptions = JSONObject.parseObject("{ \"inputJson\": {  } }");
-					if(isRequired == 1) {
-						schemeMap.put(ColModelAttributeConstants.classes, "required");
-						editoptions.put("validateJson", JSONObject.parseObject("{ \"errMsg\": \"\", \"rules\": \"required:true\", \"validatetrigger\": \"focus keyup datachange\" }"));
-					}else{
-						editoptions.put("validateJson", JSONObject.parseObject("{ \"errMsg\": \"\", \"rules\": \"required:false\", \"validatetrigger\": \"focus keyup datachange\" }"));
-					}
-					
-					
-					//添加精度
-					JSONObject inputJson = editoptions.getJSONObject("inputJson");
-					inputJson.put("decimalPrecision", fDataDot);
-					//添加长度
-					inputJson.put("maxlength", fDataLength);
-					schemeMap.put(ColModelAttributeConstants.editoptions, editoptions);
-					schemeMap.put(ColModelAttributeConstants.edittype, "shrtext");				
-					colModel.add(schemeMap);
-					colNames.add(rs.getString("MNAME"));
-				}else if(CalSubmitItemDataType.DATE_VALUE.equals(dataType)){//日期类型
-					dateType = rs.getInt("FDATETYPE");
-					
-					Map<String, Object> schemeMap = new HashMap<String, Object>();
-					schemeMap.put(ColModelAttributeConstants.name, "S"+rs.getString("fieldSn"));
-					schemeMap.put(ColModelAttributeConstants.label, rs.getString("MNAME"));
-					schemeMap.put(ColModelAttributeConstants.frozen, false);
-					schemeMap.put(ColModelAttributeConstants.width, 100);
-					schemeMap.put(ColModelAttributeConstants.align, "left");
-					schemeMap.put(ColModelAttributeConstants.key, true);
-					schemeMap.put(ColModelAttributeConstants.hidden, false);
-					schemeMap.put(ColModelAttributeConstants.editable, true);				
-					schemeMap.put(ColModelAttributeConstants.sorttype, "date");
-					schemeMap.put(ColModelAttributeConstants.sortable, false);
-//					gridPersonNumberMap.put(ColModelAttributeConstants.formatter, "datepicker");    8.5sp1
-//					gridPersonNumberMap.put(ColModelAttributeConstants.edittype, "shrdatepicker");
-					schemeMap.put(ColModelAttributeConstants.formatter, "shrDateTimePicker");
-					schemeMap.put(ColModelAttributeConstants.edittype, "shrDateTimePicker");
-					if(isRequired == 1) {
-						schemeMap.put(ColModelAttributeConstants.classes, "required");
-					}
-					StringBuffer datapickerjsonBuffer = new StringBuffer();
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"datepickerjson\":");
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"id\":\"dp_autoSize\",");
-					datapickerjsonBuffer.append("\"name\":\"dp_autoSize\",");
-					datapickerjsonBuffer.append("\"minuteStep\":\"\",");
-					datapickerjsonBuffer.append("\"showTimeZoneForCtrl\":false,");
-					datapickerjsonBuffer.append("\"isAutoTimeZoneTrans\":false,");
-					datapickerjsonBuffer.append("\"isShowUTC\":false,");
-					datapickerjsonBuffer.append("\"isReadonlyUTC\":true,");
-					datapickerjsonBuffer.append("\"isRemoveSeconds\":true,");
-					if(DateTypeEnum.YYYYMM_VALUE == dateType){
-						datapickerjsonBuffer.append("\"isRemoveDay\":true,");
-					}else if(DateTypeEnum.YYYYMMDD_VALUE == dateType){
-						datapickerjsonBuffer.append("\"isRemoveDay\":false,");
-					}else{
-						datapickerjsonBuffer.append("\"isRemoveDay\":false,");
-					}
-					datapickerjsonBuffer.append("\"ctrlType\":\"Date\"");
-					datapickerjsonBuffer.append("},");
-					datapickerjsonBuffer.append("\"validateJson\":");
-					datapickerjsonBuffer.append("{");
-					datapickerjsonBuffer.append("\"errMsg\":\"\",");
-					if(isRequired == 1){
-						datapickerjsonBuffer.append("\"rules\":\"required:true\",");
-					}else{
-						datapickerjsonBuffer.append("\"rules\":\"required:false\",");
-					}
-					datapickerjsonBuffer.append("\"validatetrigger\":\"focus keyup datachange\"");
-					datapickerjsonBuffer.append("}");
-					datapickerjsonBuffer.append("}");
-					schemeMap.put(ColModelAttributeConstants.editoptions, JSONObject.parseObject(datapickerjsonBuffer.toString()));
-					colNames.add(rs.getString("MNAME"));
-					colModel.add(schemeMap);
-				}else if(CalSubmitItemDataType.F7_VALUE.equals(dataType)){
-					
-					Map<String, Object> schemeMap = new HashMap<String, Object>();
-					assembleColModelF7(schemeMap, "S"+rs.getString("fieldSn"), rs.getString("MNAME"), isRequired == 1);
-					Map<String, Object> editoptions = assembleColModelF7(rs.getString("BNAME"), rs.getString("FMAINTAINUIPK"), isRequired == 1,"");
-//					Map<String, Object> f7Json = (Map<String, Object>) editoptions.get("f7Json");   //F7的过滤使用可维护,由于可使用查询可能会很慢,如果需要调整为可使用,则调整uipk获取可使用的即可,并且调整displayFormat和submitFormat
-//					f7Json.put("displayFormat", "{BaseInfo.name}");
-//					f7Json.put("submitFormat", "{BaseInfo.id}");
-					schemeMap.put(ColModelAttributeConstants.editoptions, editoptions);
-					colNames.add(rs.getString("MNAME"));
-					colModel.add(schemeMap);
-				}
-			}
-			
-			// 描述
-			Map<String, Object> gridDescriptionMap = new HashMap<String, Object>();
-			gridDescriptionMap.put(ColModelAttributeConstants.name, "description");
-			gridDescriptionMap.put(ColModelAttributeConstants.label, "备注");
-			gridDescriptionMap.put(ColModelAttributeConstants.frozen, false);
-			gridDescriptionMap.put(ColModelAttributeConstants.width, 90);
-			gridDescriptionMap.put(ColModelAttributeConstants.align, "left");
-			gridDescriptionMap.put(ColModelAttributeConstants.key, false);
-			gridDescriptionMap.put(ColModelAttributeConstants.editable, true);				
-			gridDescriptionMap.put(ColModelAttributeConstants.sortable, false);
-			gridDescriptionMap.put(ColModelAttributeConstants.formatter, "shrMultiLangBox");
-			gridDescriptionMap.put(ColModelAttributeConstants.edittype, "shrMultiLangBox");
-			JSONObject editoptions = JSONObject.parseObject("{ \"inputJson\": {  } }");
-			
-			//添加精度
-			JSONObject inputJson = editoptions.getJSONObject("inputJson");
-			//添加长度
-			inputJson.put("maxlength", 255);
-			gridDescriptionMap.put(ColModelAttributeConstants.editoptions, editoptions);
-			colNames.add("备注"); // colNames.add("备注");
-			colModel.add(gridDescriptionMap);
-
-			
-		} catch (Exception e) {
-			throw new BOSException("获取提报方案的提报项目列出错!"); // "获取提报方案的提报项目列出错!"
-		}
-		map.put("colNames", colNames);
-		map.put("colModel", colModel);
-		return map ;
-	}
-	
-	
-	/**
-     *  组装ID前端基础属性
-     * @param gridIdMap
-     * @param name
-     * @param label
-     * @return
-     * @throws BOSException
-     */
-	public static Map<String, Object>  assembleColModelId(Map<String, Object> gridIdMap){
-    	gridIdMap.put(ColModelAttributeConstants.name, "id");
-		gridIdMap.put(ColModelAttributeConstants.label, "id");
-		gridIdMap.put(ColModelAttributeConstants.frozen, false);
-		gridIdMap.put(ColModelAttributeConstants.width, 90);
-		gridIdMap.put(ColModelAttributeConstants.align, "left");
-		gridIdMap.put(ColModelAttributeConstants.key, true);
-		gridIdMap.put(ColModelAttributeConstants.hidden, true);
-		gridIdMap.put(ColModelAttributeConstants.editable, false);				
-		gridIdMap.put(ColModelAttributeConstants.sorttype, "");
-		gridIdMap.put(ColModelAttributeConstants.sortable, false);
-		gridIdMap.put(ColModelAttributeConstants.classes, "disabled");
-	   return gridIdMap;
-	}
-	
-	
-   /**
-    * 组装F7前端editoptions属性
-    * @param name
-    * @param uipk
-    * @param isRequired
-    * @return
-    */
-	public static Map<String, Object>  assembleColModelF7(String name , String uipk, boolean isRequired){
-	
-			//=====组装F7
-	        Map<String, Object> resultMap = new HashMap<String, Object>();
-	        Map<String, Object> f7JsonMap = new HashMap<String, Object>();
-	        Map<String, Object> validateJsonMap = new HashMap<String, Object>();
-	        // ======subWidgetOptions属性
-			Map<String, Object> uipkMap = new HashMap<String, Object>();
-			uipkMap.put(ColModelAttributeConstants.title, name);
-			uipkMap.put(ColModelAttributeConstants.uipk, uipk);
-			uipkMap.put(ColModelAttributeConstants.query, "");
-			uipkMap.put(ColModelAttributeConstants.filter, "");
-			uipkMap.put(ColModelAttributeConstants.multiselect, false);
-			uipkMap.put(ColModelAttributeConstants.isTree, false);
-			uipkMap.put(ColModelAttributeConstants.treeUrl, "");				
-			uipkMap.put(ColModelAttributeConstants.isContainLowerOrg, false);
-			uipkMap.put(ColModelAttributeConstants.isAdminOrg, false);
-//			uipkMap.put(ColModelAttributeConstants.isEnableExpFilter, true); 
-			
-			f7JsonMap.put("subWidgetOptions", uipkMap);
-			// =====其他属性
-			f7JsonMap.put(ColModelAttributeConstants.subWidgetName, "shrPromptGrid");
-			f7JsonMap.put(ColModelAttributeConstants.searchFields, "");
-			f7JsonMap.put(ColModelAttributeConstants.isHROrg, false);
-			f7JsonMap.put(ColModelAttributeConstants.isAdminOrg, false);
-			f7JsonMap.put(ColModelAttributeConstants.searchLikePattern,  "any");
-			resultMap.put("f7Json", f7JsonMap);
-			//======validateJsonMap 
-			validateJsonMap.put(ColModelAttributeConstants.errMsg, "");
-			if(isRequired){
-				validateJsonMap.put(ColModelAttributeConstants.rules, "required:true");
-			}
-			validateJsonMap.put(ColModelAttributeConstants.validatetrigger, "focus keyup datachange");
-			resultMap.put("validateJson", validateJsonMap);
-	        return resultMap;
-	}
-	
-	/**
-	    * 组装F7前端editoptions属性
-	    * @param name
-	    * @param uipk
-	    * @param isRequired
-	    * @return
-	    */
-		public static Map<String, Object>  assembleColModelF7(String name , String uipk, boolean isRequired, String filter){
-		
-				//=====组装F7
-		        Map<String, Object> resultMap = new HashMap<String, Object>();
-		        Map<String, Object> f7JsonMap = new HashMap<String, Object>();
-		        Map<String, Object> validateJsonMap = new HashMap<String, Object>();
-		        // ======subWidgetOptions属性
-				Map<String, Object> uipkMap = new HashMap<String, Object>();
-				uipkMap.put(ColModelAttributeConstants.title, name);
-				uipkMap.put(ColModelAttributeConstants.uipk, uipk);
-				uipkMap.put(ColModelAttributeConstants.query, "");
-				uipkMap.put(ColModelAttributeConstants.filter, filter);
-				uipkMap.put(ColModelAttributeConstants.multiselect, false);
-				uipkMap.put(ColModelAttributeConstants.isTree, false);
-				uipkMap.put(ColModelAttributeConstants.treeUrl, "");				
-				uipkMap.put(ColModelAttributeConstants.isContainLowerOrg, false);
-				uipkMap.put(ColModelAttributeConstants.isAdminOrg, false);
-				f7JsonMap.put("subWidgetOptions", uipkMap);
-				// =====其他属性
-				f7JsonMap.put(ColModelAttributeConstants.subWidgetName, "shrPromptGrid");
-				f7JsonMap.put(ColModelAttributeConstants.searchFields, "");
-				f7JsonMap.put(ColModelAttributeConstants.isHROrg, false);
-				f7JsonMap.put(ColModelAttributeConstants.isAdminOrg, false);
-				f7JsonMap.put(ColModelAttributeConstants.searchLikePattern,  "any");
-				resultMap.put("f7Json", f7JsonMap);
-				//======validateJsonMap 
-				validateJsonMap.put(ColModelAttributeConstants.errMsg, "");
-				if(isRequired){
-					validateJsonMap.put(ColModelAttributeConstants.rules, "required:true");
-				}
-				validateJsonMap.put(ColModelAttributeConstants.validatetrigger, "focus keyup datachange");
-				resultMap.put("validateJson", validateJsonMap);
-		        return resultMap;
-		}
-	
-    /**
-     *  组装F7前端基础属性
-     * @param gridMainKeyIdMap
-     * @param name
-     * @param label
-     * @return
-     * @throws BOSException
-     */
-	public static Map<String, Object>  assembleColModelF7(Map<String, Object> gridMainKeyIdMap,String name ,String label, boolean isRequired){
-    	gridMainKeyIdMap.put(ColModelAttributeConstants.name, name);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.label, label);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.frozen, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.width, 120);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.align, "left");
-		gridMainKeyIdMap.put(ColModelAttributeConstants.key, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.edittype, "promptBox");
-		gridMainKeyIdMap.put(ColModelAttributeConstants.editable, true);				
-		gridMainKeyIdMap.put(ColModelAttributeConstants.sorttype, "objectvalue");
-//		gridMainKeyIdMap.put(ColModelAttributeConstants.sortable, true);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.sortable, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.formatter, "promptBox");
-		
-		if(isRequired){
-			gridMainKeyIdMap.put(ColModelAttributeConstants.classes, "required");
-		}
-	   return gridMainKeyIdMap;
-	}
-	
-	/**
-	 *  组装F7前端基础属性不可编辑
-	 * @param gridMainKeyIdMap
-	 * @param name
-	 * @param label
-	 * @return
-	 * @throws BOSException
-	 */
-	public static Map<String, Object>  assembleColModelF7NotEdit(Map<String, Object> gridMainKeyIdMap,String name ,String label){
-		gridMainKeyIdMap.put(ColModelAttributeConstants.name, name);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.label, label);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.frozen, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.width, 120);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.align, "left");
-		gridMainKeyIdMap.put(ColModelAttributeConstants.key, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.edittype, "promptBox");
-		gridMainKeyIdMap.put(ColModelAttributeConstants.editable, false);				
-		gridMainKeyIdMap.put(ColModelAttributeConstants.sorttype, "objectvalue");
-//		gridMainKeyIdMap.put(ColModelAttributeConstants.sortable, true);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.sortable, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.formatter, "promptBox");
-		gridMainKeyIdMap.put(ColModelAttributeConstants.classes, "disabled");
-		return gridMainKeyIdMap;
-	}
-	
-	/**
-	 *  组装F7前端基础属性隐藏
-	 * @param gridMainKeyIdMap
-	 * @param name
-	 * @param label
-	 * @return
-	 * @throws BOSException
-	 */
-	public static Map<String, Object>  assembleColModelF7Hidden(Map<String, Object> gridMainKeyIdMap,String name ,String label){
-		gridMainKeyIdMap.put(ColModelAttributeConstants.name, name);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.label, label);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.frozen, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.width, 120);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.hidden, true);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.align, "left");
-		gridMainKeyIdMap.put(ColModelAttributeConstants.key, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.edittype, "promptBox");
-		gridMainKeyIdMap.put(ColModelAttributeConstants.editable, false);				
-		gridMainKeyIdMap.put(ColModelAttributeConstants.sorttype, "objectvalue");
-//		gridMainKeyIdMap.put(ColModelAttributeConstants.sortable, true);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.sortable, false);
-		gridMainKeyIdMap.put(ColModelAttributeConstants.formatter, "promptBox");
-		gridMainKeyIdMap.put(ColModelAttributeConstants.classes, "disabled");
-		return gridMainKeyIdMap;
-	}
-	
-	
-	   public static Map<String, Object> getBillColumnListAndQuerySql(Context ctx, String submitSchemeId, String billID)
-			/*      */     throws BOSException
-			/*      */   {
-			/*  727 */     Map map = new HashMap();
-			/*  728 */     List colNames = new ArrayList();
-			/*  729 */     Map columnMap = new HashMap();
-			/*  730 */     if (StringUtils.isEmpty(submitSchemeId)) {
-			/*  731 */       return map;
-			/*      */     }
-			/*      */ 
-			/*  734 */     String language = ctx.getLocale().getLanguage();
-			/*      */ 
-			/*  736 */     String sql = new StringBuilder().append("Select e.FSubmitTarget,e.FIsEnableSubmitElement , m.fieldSn,m.FDataDot,m.fdataType,m.fname_").append(language).append(" ,n.FBillEntryTableName from  T_HR_SCalSubmitScheme e ").append(" inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid ").append(" inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID ").append(" inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid  ").append(" where e.fid = '").append(submitSchemeId).append("'  order by FSortSn ").toString();
-			/*      */ 
-			/*  742 */     StringBuilder sd = new StringBuilder(" select t.fid id ,  t.FEffectDate effectDay , t.FCmpEmpORelationID cmpEmpORelation,");
-			/*  743 */     colNames.add("id");
-			/*  744 */     colNames.add("effectDay");
-			/*      */     try {
-			/*  746 */       String submitTarget = ""; String fBillEntryTableName = "";
-			/*  747 */       IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			/*  748 */       boolean f7Flag = true; boolean personFlag = true; boolean isEnableSubmitElement = false;
-			/*  749 */       while (rs.next())
-			/*      */       {
-			/*  751 */         submitTarget = rs.getString("FSubmitTarget");
-			/*  752 */         isEnableSubmitElement = rs.getBoolean("FIsEnableSubmitElement");
-			/*      */ 
-			/*  754 */         if (f7Flag) {
-			/*  755 */           f7Flag = false;
-			/*      */ 
-			/*  757 */           fBillEntryTableName = rs.getString("FBillEntryTableName");
-			/*      */ 
-			/*  759 */           if ("02".equals(submitTarget)) {
-			/*  760 */             personFlag = false;
-			/*  761 */             colNames.add("orgId");
-			/*  762 */             colNames.add("name");
-			/*  763 */             colNames.add("number");
-			/*  764 */             sd.append("n.fid orgId , n.fname_").append(language).append(" name , n.fnumber number ");
-			/*      */           } else {
-			/*  766 */             colNames.add("personId");
-			/*  767 */             colNames.add("name");
-			/*  768 */             colNames.add("number");
-			/*  769 */             colNames.add("admOrgId");
-			/*  770 */             colNames.add("admOrgName");
-			/*      */ 
-			/*  772 */             colNames.add("positionId");
-			/*  773 */             colNames.add("positionName");
-			/*  774 */             colNames.add("cmpEmpORelation");
-			/*      */ 
-			/*  777 */             sd.append(" n.fid personId , n.fname_").append(language).append("  name, n.fnumber number, a.fid admOrgId, a.fname_").append(language).append(" admOrgName, p.fid positionId, p.fname_").append(language).append(" positionName  ");
-			/*      */           }
-			/*      */         }
-			/*  780 */         sd.append(new StringBuilder().append(",S").append(rs.getString("fieldSn")).toString());
-			/*      */ 
-			/*  782 */         colNames.add(new StringBuilder().append("S").append(rs.getString("fieldSn")).toString());
-			/*      */ 
-			/*  785 */         if ("0".equals(rs.getString("fdataType")));
-			/*  786 */         columnMap.put(new StringBuilder().append("S").append(rs.getString("fieldSn")).toString(), Integer.valueOf(rs.getInt("FDataDot")));
-			/*      */       }
-			/*      */ 
-			/*  789 */       colNames.add("description");
-			/*  790 */       if (isEnableSubmitElement) {
-			/*  791 */         colNames.add("submitElement");
-			/*  792 */         sd.append(", t.FSubmitElementID submitElement,subele.Fname_").append(language).append(" submitElementName ");
-			/*      */       }
-			/*  794 */       colNames.add("currency");
-			/*  795 */       sd.append(",c.fid currency,c.fname_").append(language).append(" currencyName,t.fdescription_l1 description_l1,t.fdescription_l2 description_l2,t.fdescription_l3 description_l3");
-			/*      */ 
-			/*  797 */       sd.append(new StringBuilder().append(" from   ").append(fBillEntryTableName).append(" ").toString());
-			/*  798 */       if (personFlag) {
-			/*  799 */         sd.append(" t  inner join t_bd_person n on t.fpersonId = n.fid ");
-			/*  800 */         sd.append(" LEFT join T_ORG_Admin a on t.FAdminOrgUnitID = a.fid ");
-			/*  801 */         sd.append(" LEFT join T_ORG_Position p on t.FPositionID = p.fid ");
-			/*      */       } else {
-			/*  803 */         sd.append(" t on b.fid = t.fbillid  inner join T_ORG_Admin  n on t.FOrgUnitID = n.fid ");
-			/*      */       }
-			/*  805 */       sd.append(" LEFT join T_BD_Currency c on t.fCurrencyID = c.fid ");
-			/*  806 */       if (isEnableSubmitElement) {
-			/*  807 */         sd.append(" LEFT join T_HR_SSubmitElement subele on t.FSubmitElementID = subele.fid ");
-			/*      */       }
-			/*      */ 
-			/*  810 */       sd.append(new StringBuilder().append(" where t.fbillid = '").append(billID).append("'").toString());
-			///*  811 */       sd.append(new StringBuilder().append(" and  b.FSubmitSchemeID = '").append(submitSchemeId).append("' ").toString());
-			/*      */ 
-			/*  813 */       map.put("querySql", sd.toString());
-			/*  814 */       map.put("colNames", colNames);
-			/*  815 */       map.put("columnMap", columnMap);
-			/*      */     }
-			/*      */     catch (Exception e) {
-			/*  818 */       throw new BOSException("获取提报方案的提报项目列出错!");
-			/*      */     }
-			/*  820 */     return map;
-			/*      */   }
-	
-	/**
-	 * 
-	 * 根据方案id 获取方案提报单分录的提报项目列及对应的分录表名
-	 * @param schemeId
-	 * @return List
-	 * @throws BOSException 
-	 */
-	public static Map<String, Object>  getBillColumnListAndBillEntryTableName(Context ctx,String submitSchemeId) throws BOSException{
-		
-		Map<String, Object> map = new HashMap<String, Object>();
-		List<String> colNames = new ArrayList<String>();
-		List<String> colTypes = new ArrayList<String>();
-		if (StringUtils.isEmpty(submitSchemeId)) {
-			return map ;
-		}
-		
-		String language = ctx.getLocale().getLanguage();
-		
-		String  sql = "Select e.FSubmitTarget , m.fieldSn,m.fdataType,m.fname_" + language + " ,n.FBillEntryTableName ,n.FCalShemeTableName ,t.FIsRequired from  T_HR_SCalSubmitScheme e "
-				+ " inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid "
-				+ " inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID "
-				+ " inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid  "
-				+ " where e.fid = '"+submitSchemeId+"'  order by FSortSn ";
-		try {
-			String fBillEntryTableName = ""; //提报对象 01 person  02 org
-			logger.error("CmpIntegrateUtilsNew.getBillColumnListAndBillEntryTableName.sql:"+sql);
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {			
-				//=====组装提报项目
-				if (StringUtils.isEmpty(fBillEntryTableName)) {
-					fBillEntryTableName = rs.getString("FBillEntryTableName");
-//					fCalShemeTableName = rs.getString("FCalShemeTableName");
-				}
-				colNames.add("S"+rs.getString("fieldSn"));
-				colTypes.add(rs.getString("fdataType"));
-			}	
-			map.put("fBillEntryTableName", fBillEntryTableName);
-//			map.put("fCalShemeTableName", fCalShemeTableName);
-			map.put("colNames", colNames);
-			map.put("colTypes", colTypes);
-			
-		} catch (Exception e) {
-			throw new BOSException("获取提报方案的提报项目列出错!"); //"获取提报方案的提报项目列出错!"
-		}
-		return map ;
-	}
-	
-	/**
-	 * 获取插入的列1
-	 * @param ctx
-	 * @param billEntryTable
-	 * @param colNames
-	 * @param billId
-	 * @return
-	 */
-	public static String getAssembleField1Sql(Context ctx, String billEntryTable,
-			List<String> colNames, String billId) {
-		StringBuilder insertCol = new StringBuilder(" insert into ");
-		String userId = HRFilterUtils.getCurrentUserId(ctx);
-		Date date = new Date();
-		insertCol.append(billEntryTable);
-		insertCol.append(" (FID ,fparentid ");
-		
-
-		/*StringBuilder insertval = new StringBuilder(new StringBuilder().append(
-				" values ( ?,'").append(billId).append("', '").append(userId)
-				.append("', ").append(CmpDateUtil.toKSqlDate(date)).toString());
-		insertval.append(", ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ");*/
-		for (String schemeItem : colNames) {
-			insertCol.append(new StringBuilder().append(",").append(schemeItem)
-					.toString());
-			//insertval.append(", ? ");
-		}
-		insertCol.append(" )");
-		//insertval.append(" ,?,?,?,?)");
-		//insertCol.append(insertval);
-
-		return insertCol.toString();
-	}
-	
-	
-	/**
-	 * 获取插入的列1
-	 * @param ctx
-	 * @param billEntryTable
-	 * @param colNames
-	 * @param billId
-	 * @return
-	 */
-	public static String getAssembleField2Sql(Context ctx, String billEntryTable,
-			List<String> colNames, String billId) {
-		StringBuilder insertCol = new StringBuilder(" insert into ");
-		String userId = HRFilterUtils.getCurrentUserId(ctx);
-		Date date = new Date();
-		insertCol.append(billEntryTable);
-		insertCol.append(" (FID ,fbillid ");
-		
-
-		/*StringBuilder insertval = new StringBuilder(new StringBuilder().append(
-				" values ( ?,'").append(billId).append("', '").append(userId)
-				.append("', ").append(CmpDateUtil.toKSqlDate(date)).toString());
-		insertval.append(", ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ");*/
-		for (String schemeItem : colNames) {
-			insertCol.append(new StringBuilder().append(",").append(schemeItem)
-					.toString());
-			//insertval.append(", ? ");
-		}
-		insertCol.append(" )");
-		//insertval.append(" ,?,?,?,?)");
-		//insertCol.append(insertval);
-
-		return insertCol.toString();
-	}
-	
-	
-
-	/**
-	 * 获取临时表的fid,billId所有动态字段
-	 * @param ctx
-	 * @param billEntryTable
-	 * @param colNames
-	 * @param billId
-	 * @return
-	 * @throws BOSException 
-	 */
-	public static List<Map<String,Object>> getAssembleListByCmp(Context ctx, String billEntryTable,
-			List<String> colNames, String billId) throws BOSException {
-		List<Map<String,Object>> sValuelist= new ArrayList<Map<String,Object>>();
-		StringBuilder sql = new StringBuilder(" SELECT ");
-		String userId = HRFilterUtils.getCurrentUserId(ctx);
-		
-		
-		sql.append(" FID ,fbillid ");
-		
-
-		/*StringBuilder insertval = new StringBuilder(new StringBuilder().append(
-				" values ( ?,'").append(billId).append("', '").append(userId)
-				.append("', ").append(CmpDateUtil.toKSqlDate(date)).toString());
-		insertval.append(", ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ");*/
-		for (String schemeItem : colNames) {
-			sql.append(new StringBuilder().append(",").append(schemeItem)
-					.toString());
-			//insertval.append(", ? ");
-		}
-		sql.append(" from ");
-		sql.append(billEntryTable);
-		sql.append(" where fbillid = '"+billId+"'");
-		logger.error("BatchSubmitSchemeBillControllerBeanExt.getAssembleListByCmp.sql:"+sql.toString());
-		//insertval.append(" ,?,?,?,?)");
-		//insertCol.append(insertval);
-		try{
-			IRowSet rs = DbUtil.executeQuery(ctx, sql.toString()); 
-			String fid = "";
-			String fbillid = "";
-			while (rs.next()) {		
-				Map<String,Object> sValueMap = new HashMap<String,Object>();
-				//=====组装提报项目
-				fid = rs.getString("FID");
-				fbillid = rs.getString("fbillid");
-				sValueMap.put("fid", fid);
-				sValueMap.put("fbillid", fbillid);
-				for (String schemeItem : colNames) {
-					sValueMap.put(""+schemeItem, rs.getObject(""+schemeItem));
-				}
-				sValuelist.add(sValueMap);
-						
-			}	
-			} catch (Exception e) {
-				throw new BOSException("获取提报方案的提报项目列出错!"); //"获取提报方案的提报项目列出错!"
-			}
-		
-		
-		return sValuelist;
-	}
-	
-	
-	/**
-	 * 更新提报分录的s字段
-	 * @param ctx
-	 * @param colNames
-	 * @param sValue
-	 * @throws BOSException 
-	 */
-	public static void updateSchemeBillEntryByCmpS(Context ctx,List<String> colNames,Map<String,Object> sValue) throws BOSException{
-		logger.error("into updateSchemeBillEntryByCmpS method.colNames.size:"+colNames.size());
-		StringBuilder sqlSb = new StringBuilder(" update T_HR_SchemeBillEntry set ");
-		Object cmpObje = null;
-		//是否免税字符串
-		String s81ValueId = "";
-		for (String schemeItem : colNames) {		
-			cmpObje = sValue.get(""+schemeItem);
-			if(cmpObje instanceof String){
-				sqlSb.append(" CF"+schemeItem).append("='").append(cmpObje).append("',");
-				
-				//是否免税特殊处理
-				if("S81".equals(schemeItem)){
-					if(cmpObje!=null){
-						s81ValueId = (String)cmpObje;
-					}
-				}
-				
-				
-			}else{
-				sqlSb.append(" CF"+schemeItem).append("=").append(cmpObje).append(",");
-			}
-		}
-		String sqlSbStr = sqlSb.toString();
-		if(sqlSbStr.endsWith(",")) {
-			sqlSbStr = sqlSbStr.substring(0, sqlSbStr.length() - 1);
-		}
-		Object fidObj = sValue.get("fid");
-		
-		if(fidObj == null){
-			logger.error("BatchSubmitSchemeBillControllerBeanExt.updateSchemeBillEntryByCmpS:fidObj为空");
-			return;
-		}
-		String fid= (String)fidObj;
-		sqlSbStr = sqlSbStr + " where fid = '"+fid+"'";
-		logger.error("BatchSubmitSchemeBillControllerBeanExt.updateSchemeBillEntryByCmpS:sqlSbStr:"+sqlSbStr);
-		DbUtil.execute(ctx,sqlSbStr);
-		
-		//更新分录的是否免税字符串		
-		updateSchemeBillEntryCFTaxExemptionStrByEntryFid(ctx,s81ValueId,fid);
-	}
-	
-	
-	/**
-	 * 更新分录的是否免税字符串
-	 * @param ctx
-	 * @param s81ValueId
-	 * @param fid
-	 * @throws BOSException 
-	 */
-	private static void updateSchemeBillEntryCFTaxExemptionStrByEntryFid(Context ctx,String s81ValueId , String fid) throws BOSException{
-		String sql = "update T_HR_SchemeBillEntry set cftaxexemptionstr = (select fname_l1 from CT_CUS_TaxExemption where fid ='"+s81ValueId+"' ) where fid ='"+fid+"'";
-		logger.error("BatchSubmitSchemeBillControllerBeanExt.updateSchemeBillEntryCFTaxExemptionStrByEntryFid:sql:"+sql);
-		
-		DbUtil.execute(ctx,sql);
-	}
-	
-	
-	
-	/**
-	 * 
-	 * 根据方案id,dataType获取方案提报单分录在提报项目列及对应的分录表名
-	 * @param schemeId
-	 * @return List
-	 * @throws BOSException 
-	 */
-	public static Map<String, Object>  getBillColumnListAndBillEntryTableNameByDataType(Context ctx,String submitSchemeId, String dataType) throws BOSException{
-		
-		Map<String, Object> map = new HashMap<String, Object>();
-		List<String> colNames = new ArrayList<String>();
-		if (StringUtils.isEmpty(submitSchemeId)) {
-			return map ;
-		}
-		
-		String language = ctx.getLocale().getLanguage();
-		
-		String  sql = "Select e.FSubmitTarget , m.fieldSn,m.fdataType,m.fname_"+language+" ,n.FBillEntryTableName ,n.FCalShemeTableName ,t.FIsRequired from  T_HR_SCalSubmitScheme e "
-				+ " inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid "
-				+ " inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID "
-				+ " inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid  "
-				+ " where e.fid = '"+submitSchemeId+"' and m.fdataType = '"+dataType+"'  order by FSortSn ";
-		try {
-			String fBillEntryTableName = "" ,fCalShemeTableName = ""; //提报对象 01 person  02 org
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {			
-				//=====组装提报项目
-				if (StringUtils.isEmpty(fBillEntryTableName)) {
-					fBillEntryTableName = rs.getString("FBillEntryTableName");
-					fCalShemeTableName = rs.getString("FCalShemeTableName");
-				}
-				colNames.add("S"+rs.getString("fieldSn"));
-			}	
-			map.put("fBillEntryTableName", fBillEntryTableName);
-			map.put("fCalShemeTableName", fCalShemeTableName);
-			map.put("colNames", colNames);
-			
-		} catch (Exception e) {
-			throw new BOSException("获取提报方案的提报项目列出错!"); //"获取提报方案的提报项目列出错!"
-		}
-		return map ;
-	}
-	
-	/**
-	 * 
-	 * 根据方案id 获取方案提报单分录的对应的分录表名
-	 * @param schemeId
-	 * @return List
-	 * @throws BOSException 
-	 */
-	public static String getSchemeEntryTableName(Context ctx,String submitSchemeId) {
-		String fBillEntryTableName = "" ; 
-		String  sql = "Select n.FBillEntryTableName  from  T_HR_SCalSubmitScheme e "
-				+ " inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid  "
-				+ " where e.fid = '"+submitSchemeId+"'  ";
-		try {
-			//提报对象 01 person  02 org
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {			
-				//=====组装提报项目
-				fBillEntryTableName = rs.getString("FBillEntryTableName");		
-			}	
-		} catch (Exception e) {
-			logger.info(e);
-		}
-		return fBillEntryTableName ;
-	}
-	
-	/**
-	 * 
-	 * 根据方案id 获取方案提报单分录的对应的分录表名
-	 * @param schemeId
-	 * @return List
-	 * @throws BOSException 
-	 */
-	public static String getCalShemeTableName(Context ctx,String submitSchemeId) {
-		String calShemeTableName = "" ; 
-		String  sql = "Select n.FBillEntryTableName  from  T_HR_SCalSubmitScheme e "
-				+ " inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid  "
-				+ " where e.fid = '"+submitSchemeId+"'  ";
-		try {
-			//提报对象 01 person  02 org
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {			
-				//=====组装提报项目
-				calShemeTableName = rs.getString("FBillEntryTableName");		
-			}	
-		} catch (Exception e) {
-			logger.info(e);
-		}
-		return calShemeTableName ;
-	}
-	
-	/**
-	 * 删除提报方案关联的动态表及数据
-	 * @param schemeId
-	 * @return
-	 * @throws BOSException 
-	 * @throws SQLException 
-	 */
-	public static boolean deleteSubmitSchemeRelationDate(Context ctx,String schemeId) throws BOSException, SQLException {
-		boolean flag = false ;
-		if (StringUtils.isEmpty(schemeId)) {
-			return flag ;
-		}
-		String sql = "select FBillEntryTableName , FCalShemeTableName  from T_HR_SCalShemeTableRelation where FSubmitSchemeID = '"+schemeId+"'";
-		String  calShemeTableName = "" ,billEntryTableName ="";
-		IRowSet list = DbUtil.executeQuery(ctx, sql);
-		while (list.next()) {
-			billEntryTableName = list.getString("FBillEntryTableName");
-			calShemeTableName = list.getString("FCalShemeTableName");
-		}
-		if (!CmpStrUtil.isEmpty(calShemeTableName)) {
-			DbUtil.execute(ctx, "If exists (select * from KSQL_USERTABLES where KSQL_TABNAME ='" + calShemeTableName + "') drop table " + calShemeTableName + "");
-			DbUtil.execute(ctx, "If exists (select * from KSQL_USERTABLES where KSQL_TABNAME ='" + billEntryTableName + "') drop table " + billEntryTableName + "");
-		}
-		DbUtil.execute(ctx, "delete   from T_HR_SCalShemeTableRelation where FSubmitSchemeID = '"+schemeId+"'");		
-		return flag ;
-	}
-	
-	/**
-	 * 删除提报方案关联的动态表列
-	 * @param schemeId
-	 * @return
-	 * @throws BOSException 
-	 * @throws SQLException 
-	 */
-	public static boolean dropSubmitSchemeEntryTableCol(Context ctx,String schemeId,String itemId) throws BOSException, SQLException {
-		boolean flag = false ;
-		if (StringUtils.isEmpty(schemeId)) {
-			return flag ;
-		}
-		String sql = "select FBillEntryTableName , FCalShemeTableName  from T_HR_SCalShemeTableRelation where FSubmitSchemeID = '"+schemeId+"'";
-		String sqlItem  = "select fieldSn from  T_HR_SCalSubmitItem m "
-				+ " inner join  T_HR_SCalSubmitSchemeItem t on m.fid = t.FCalSubmitItemID  where t.fid  = '"+itemId+"'" ;
-		String  calShemeTableName = "" ,billEntryTableName ="",col="";
-		IRowSet rs = DbUtil.executeQuery(ctx, sql);
-		while (rs.next()) {
-			billEntryTableName = rs.getString("FBillEntryTableName");
-			calShemeTableName = rs.getString("FCalShemeTableName");
-		}
-		rs = DbUtil.executeQuery(ctx, sqlItem);
-		while (rs.next()) {
-			col = "S"+rs.getString("fieldSn");
-		}
-		StringBuilder calShemeTable = new StringBuilder("If  exists (select * from KSQL_USERCOLUMNS where KSQL_COL_NAME ='"+col+"' "
-				+ " and KSQL_COL_TABNAME='"+calShemeTableName+"')");
-		calShemeTable.append("ALTER TABLE "+calShemeTableName+" drop column "+col+" ");
-	
-		StringBuilder billEntryTable = new StringBuilder("If  exists (select * from KSQL_USERCOLUMNS where KSQL_COL_NAME ='"+col+"' "
-				+ " and KSQL_COL_TABNAME='"+billEntryTableName+"')");
-		billEntryTable.append("ALTER TABLE "+billEntryTableName+" drop column "+col+" ");
-		if (!CmpStrUtil.isEmpty(calShemeTableName)) {
-			DbUtil.execute(ctx,calShemeTable.toString());
-			DbUtil.execute(ctx,billEntryTable.toString());
-		}		
-		return flag ;
-	}
-	
-	/**
-	 * 
-	 * 根据方案id 获取方案提报单分录的提报项目列及对应的分录表名
-	 * @param schemeId
-	 * @return List
-	 * @throws BOSException 
-	 */
-	public static Map<String ,Object>  getRequiredColumns(Context ctx,String submitSchemeId) throws BOSException{
-		Map<String ,Object>  map  = new HashMap<String ,Object>();
-		//Set集合保存提报项目信息导致提报项目无法排序,只能改成list
-		List<Map<String, Object>>  colNames = new ArrayList<Map<String, Object>>();
-		if (StringUtils.isEmpty(submitSchemeId)) {
-			return map ;
-		}
-		String language = ctx.getLocale().getLanguage();
-		String  sql = "Select e.FSubmitTarget , m.fieldSn,m.fdataType,m.fname_"+language+" MNAME,n.FBillEntryTableName ,n.FCalShemeTableName ,t.FIsRequired"
-				+ " from  T_HR_SCalSubmitScheme e "
-				+ " inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid "
-				+ " inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID "
-				+ " inner join T_HR_SCalShemeTableRelation n on n.FSubmitSchemeID =e.fid  "
-				+ " where e.fid = '"+submitSchemeId+"' order by fieldSn ";
-		String submitTarget =null;
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {		
-				Map<String, Object> gridIdMap = new HashMap<String, Object>();
-				gridIdMap.put("rename", rs.getString("MNAME"));
-				gridIdMap.put("name", "CMP_SMT002."+"S"+rs.getString("fieldSn"));
-				gridIdMap.put("label", rs.getString("MNAME"));
-				gridIdMap.put("type", "String");
-				submitTarget = rs.getString("FSubmitTarget");
-				//=====组装提报项目
-				colNames.add(gridIdMap);
-			}	
-			map.put("colNames", colNames);
-			map.put("submitTarget", submitTarget);
-		} catch (Exception e) {
-			throw new BOSException("获取提报方案的提报项目列出错!"); // "获取提报方案的提报项目列出错!"
-		}
-		return map ;
-	}
-
-    /**
-     * 获取指定提报方案的动态项目
-     * @param ctx
-     * @param schemeId
-     * @return
-     */
-    public static List<CalShemeSubmitItemDTO> getDynamicSubmitItemBySchemeId(Context ctx, String schemeId){
-        List<CalShemeSubmitItemDTO> calShemeSubmitItemDTOS=new ArrayList<CalShemeSubmitItemDTO>();
-        StringBuffer sqlBuffer=new StringBuffer();
-        String language = ctx.getLocale().getLanguage();
-        sqlBuffer.append(" SELECT E.FID AS SCHEMEID, M.FID as ITEMID,  M.FIELDSN,M.FDATATYPE,M.FNAME_"+language+" AS ITEMNAME,T.FISREQUIRED ,M.FDATADOT,M.FDATALENGTH ");
-        sqlBuffer.append(" FROM  T_HR_SCALSUBMITSCHEME E  ");
-        sqlBuffer.append(" INNER JOIN  T_HR_SCALSUBMITSCHEMEITEM T ON T.FCALSUBMITSCHEMEID = E.FID  ");
-        sqlBuffer.append(" INNER JOIN T_HR_SCALSUBMITITEM M ON  M.FID = T.FCALSUBMITITEMID WHERE E.FID = '");
-        sqlBuffer.append(schemeId);
-        sqlBuffer.append("' ORDER BY T.FSORTSN");
-        try {
-            IRowSet rs = DbUtil.executeQuery(ctx, sqlBuffer.toString());
-            CalShemeSubmitItemDTO calShemeSubmitItemDTO=null;
-            while (rs.next()){
-                calShemeSubmitItemDTO=new CalShemeSubmitItemDTO();
-                calShemeSubmitItemDTO.setSubmitSchemeId(rs.getString("SCHEMEID"));
-                calShemeSubmitItemDTO.setItemId(rs.getString("ITEMID"));
-                calShemeSubmitItemDTO.setFieldSn(rs.getInt("FIELDSN"));
-                calShemeSubmitItemDTO.setDataType(rs.getString("FDATATYPE"));
-                calShemeSubmitItemDTO.setSubmitItemName(rs.getString("ITEMNAME"));
-                calShemeSubmitItemDTO.setIsRequired(rs.getInt("FISREQUIRED"));
-                calShemeSubmitItemDTO.setDataDot(rs.getInt("FDATADOT"));
-                calShemeSubmitItemDTO.setDataLength(rs.getInt("FDATALENGTH"));
-                calShemeSubmitItemDTOS.add(calShemeSubmitItemDTO);
-            }
-        } catch (BOSException e) {
-            e.printStackTrace();
-            logger.error(e.getMessage(),e);
-        } catch (SQLException e) {
-            logger.error(e.getMessage(),e);
-            e.printStackTrace();
-        }
-        return calShemeSubmitItemDTOS;
-    }
-    
-    
-    
-    /**
-     * 获取指定提报方案的动态项目
-     * @param ctx
-     * @param schemeId
-     * @return
-     */
-    public static List<CalShemeSubmitItemDTO> getDynamicSubmitItemBySchemeIdNotCenter(Context ctx, String schemeId){
-        List<CalShemeSubmitItemDTO> calShemeSubmitItemDTOS=new ArrayList<CalShemeSubmitItemDTO>();
-        StringBuffer sqlBuffer=new StringBuffer();
-        String language = ctx.getLocale().getLanguage();
-        sqlBuffer.append(" SELECT E.FID AS SCHEMEID, M.FID as ITEMID,  M.FIELDSN,M.FDATATYPE,M.FNAME_"+language+" AS ITEMNAME,"
-        		+ "T.FISREQUIRED ,M.FDATADOT,M.FDATALENGTH ");
-        sqlBuffer.append(" FROM  T_HR_SCALSUBMITSCHEME E  ");
-        sqlBuffer.append(" INNER JOIN  T_HR_SCALSUBMITSCHEMEITEM T ON T.FCALSUBMITSCHEMEID = E.FID  ");
-        sqlBuffer.append(" INNER JOIN T_HR_SCALSUBMITITEM M ON  M.FID = T.FCALSUBMITITEMID WHERE E.FID = '");
-        sqlBuffer.append(schemeId);
-        sqlBuffer.append("'  and M.Fnumber not in('DormFee027','DormFee026')");
-        sqlBuffer.append("   AND T.FState=1 ORDER BY T.FSORTSN");
-       
-        try {
-            IRowSet rs = DbUtil.executeQuery(ctx, sqlBuffer.toString());
-            CalShemeSubmitItemDTO calShemeSubmitItemDTO=null;
-            while (rs.next()){
-                calShemeSubmitItemDTO=new CalShemeSubmitItemDTO();
-                calShemeSubmitItemDTO.setSubmitSchemeId(rs.getString("SCHEMEID"));
-                calShemeSubmitItemDTO.setItemId(rs.getString("ITEMID"));
-                calShemeSubmitItemDTO.setFieldSn(rs.getInt("FIELDSN"));
-                calShemeSubmitItemDTO.setDataType(rs.getString("FDATATYPE"));
-                calShemeSubmitItemDTO.setSubmitItemName(rs.getString("ITEMNAME"));
-                calShemeSubmitItemDTO.setIsRequired(rs.getInt("FISREQUIRED"));
-                calShemeSubmitItemDTO.setDataDot(rs.getInt("FDATADOT"));
-                calShemeSubmitItemDTO.setDataLength(rs.getInt("FDATALENGTH"));
-                calShemeSubmitItemDTOS.add(calShemeSubmitItemDTO);
-            }
-        } catch (BOSException e) {
-            e.printStackTrace();
-            logger.error(e.getMessage(),e);
-        } catch (SQLException e) {
-            logger.error(e.getMessage(),e);
-            e.printStackTrace();
-        }
-        return calShemeSubmitItemDTOS;
-    }
-    
-    
-    
-
-    
-    /**
-     * 获取指定提报方案的动态项目排除实缴
-     * @param ctx
-     * @param schemeId
-     * @return
-     */
-    public static List<CalShemeSubmitItemDTO>  getDynamicSubmitItemBySchemeIdExcludePaid (Context ctx, String schemeId){
-        List<CalShemeSubmitItemDTO> calShemeSubmitItemDTOS=new ArrayList<CalShemeSubmitItemDTO>();
-        StringBuffer sqlBuffer=new StringBuffer();
-        String language = ctx.getLocale().getLanguage();
-        sqlBuffer.append(" SELECT E.FID AS SCHEMEID, M.FID as ITEMID,  M.FIELDSN,M.FDATATYPE,M.FNAME_"+language+" AS ITEMNAME,T.FISREQUIRED ,M.FDATADOT,M.FDATALENGTH ");
-        sqlBuffer.append(" FROM  T_HR_SCALSUBMITSCHEME E  ");
-        sqlBuffer.append(" INNER JOIN  T_HR_SCALSUBMITSCHEMEITEM T ON T.FCALSUBMITSCHEMEID = E.FID  ");
-        sqlBuffer.append(" INNER JOIN T_HR_SCALSUBMITITEM M ON  M.FID = T.FCALSUBMITITEMID WHERE E.FID = '");
-        sqlBuffer.append(schemeId);
-        sqlBuffer.append("' and M.fnumber not in('DormFee026','DormFee027') ORDER BY T.FSORTSN");
-        try {
-            IRowSet rs = DbUtil.executeQuery(ctx, sqlBuffer.toString());
-            CalShemeSubmitItemDTO calShemeSubmitItemDTO=null;
-            while (rs.next()){
-                calShemeSubmitItemDTO=new CalShemeSubmitItemDTO();
-                calShemeSubmitItemDTO.setSubmitSchemeId(rs.getString("SCHEMEID"));
-                calShemeSubmitItemDTO.setItemId(rs.getString("ITEMID"));
-                calShemeSubmitItemDTO.setFieldSn(rs.getInt("FIELDSN"));
-                calShemeSubmitItemDTO.setDataType(rs.getString("FDATATYPE"));
-                calShemeSubmitItemDTO.setSubmitItemName(rs.getString("ITEMNAME"));
-                calShemeSubmitItemDTO.setIsRequired(rs.getInt("FISREQUIRED"));
-                calShemeSubmitItemDTO.setDataDot(rs.getInt("FDATADOT"));
-                calShemeSubmitItemDTO.setDataLength(rs.getInt("FDATALENGTH"));
-                calShemeSubmitItemDTOS.add(calShemeSubmitItemDTO);
-            }
-        } catch (BOSException e) {
-            e.printStackTrace();
-            logger.error(e.getMessage(),e);
-        } catch (SQLException e) {
-            logger.error(e.getMessage(),e);
-            e.printStackTrace();
-        }
-        return calShemeSubmitItemDTOS;
-    }
-    
-    
-    public static Map<String, Integer> getCellLength(Context ctx, String schemeId){
-    	Map<String, Integer> map = new HashMap<String, Integer>();
-		String  sql = "Select m.fieldSn,m.FDataLength"
-				+ " from  T_HR_SCalSubmitScheme e "
-				+ " inner join  T_HR_SCalSubmitSchemeItem t on t.FCalSubmitSchemeID = e.fid "
-				+ " inner join T_HR_SCalSubmitItem m on  m.fid = t.FCalSubmitItemID "
-				+ " where e.fid = '"+schemeId+"' and FDataType = '1' order by  FSortSn";
-		try {
-			IRowSet rs = DbUtil.executeQuery(ctx, sql);
-			while (rs.next()) {
-				String fieldSn = String.valueOf(rs.getInt(1));
-				Integer dataLength = rs.getInt(2);
-				map.put(fieldSn, dataLength);
-			}
-		}catch(Exception e){
-			e.printStackTrace();
-		}
-    	return map;
-    }
-}

+ 0 - 45
GDYSL/websrc/com/kingdee/shr/preentry/app/PEPersonCredentialsTypeControllerBean.java

@@ -1,45 +0,0 @@
-//
-// Source code recreated from a .class file by IntelliJ IDEA
-// (powered by FernFlower decompiler)
-//
-
-package com.kingdee.shr.preentry.app;
-
-import com.kingdee.bos.BOSException;
-import com.kingdee.bos.Context;
-import com.kingdee.bos.dao.IObjectPK;
-import com.kingdee.bos.dao.IObjectValue;
-import com.kingdee.eas.common.EASBizException;
-import com.kingdee.eas.hr.emp.app.util.SHREmpCheckCredentialsTypeUtil;
-import com.kingdee.shr.preentry.PEPersonCredentialsTypeInfo;
-import org.apache.log4j.Logger;
-
-public class PEPersonCredentialsTypeControllerBean extends AbstractPEPersonCredentialsTypeControllerBean {
-    private static Logger logger = Logger.getLogger("com.kingdee.shr.preentry.app.PEPersonCredentialsTypeControllerBean");
-
-    public PEPersonCredentialsTypeControllerBean() {
-    }
-
-    protected IObjectPK _addnew(Context ctx, IObjectValue model) throws BOSException, EASBizException {
-        PEPersonCredentialsTypeInfo info = (PEPersonCredentialsTypeInfo)model;
-        this.checkCredentialsTypeAndNo(ctx, info);
-        return super._addnew(ctx, info);
-    }
-
-    protected void _update(Context ctx, IObjectPK pk, IObjectValue model) throws BOSException, EASBizException {
-        PEPersonCredentialsTypeInfo info = (PEPersonCredentialsTypeInfo)model;
-        this.checkCredentialsTypeAndNo(ctx, info);
-        super._update(ctx, pk, model);
-    }
-
-    protected void _delete(Context ctx, IObjectPK pk) throws BOSException, EASBizException {
-        super._delete(ctx, pk);
-    }
-
-    public void checkCredentialsTypeAndNo(Context ctx, PEPersonCredentialsTypeInfo info) throws EASBizException, BOSException {
-        //SHREmpCheckCredentialsTypeUtil.checkCredentialsTypeUnique(ctx, info, info.getTalent());
-        String excludePreEntryBillId = info.getId() == null ? "" : info.getId().toString();
-        SHREmpCheckCredentialsTypeUtil.checkCredentiaslTypeForEmp(ctx, info, excludePreEntryBillId);
-        SHREmpCheckCredentialsTypeUtil.checkCredentialsTypeNoByOSF(ctx, info);
-    }
-}