yaoyu 3 هفته پیش
والد
کامیت
0d6da2a5a4

+ 8 - 0
gl/gl/META-INF/service.upm

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding='gb2312'?>
+<module name="gl">
+    <public>
+ 	   <component name="VoucherAdd" accessProtected="false"  remote="true" singleton="true" tx="NONE" supportAlias="true">
+       <implementation>nc.bs.gl.impl.VoucherAddImpl</implementation>
+ 	   </component>
+    </public>
+</module>

+ 41 - 0
gl/gl/src/private/nc/bs/gl/impl/VoucherAddImpl.java

@@ -0,0 +1,41 @@
+package nc.bs.gl.impl;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import nc.bs.framework.adaptor.IHttpServletAdaptor;
+import nc.bs.framework.common.InvocationInfoProxy;
+import nc.bs.framework.common.NCLocator;
+import nc.bs.framework.server.ISecurityTokenCallback;
+import nc.bs.servlet.service.BaseServlet;
+import nc.itf.uap.IUAPQueryBS;
+import nc.log.NcLog;
+import net.sf.json.JSONObject;
+
+public class VoucherAddImpl extends BaseServlet implements IHttpServletAdaptor{
+	private IUAPQueryBS iuap = (IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
+
+	@Override
+	public void doAction(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+		//InvocationInfoProxy.getInstance().setUserDataSource("NC6337");
+		NCLocator.getInstance().lookup(ISecurityTokenCallback.class).token("NCSystem".getBytes(),"pfxx".getBytes());
+		String createStr = buildJson(req, resp, this.getClass().getName());
+		JSONObject json = JSONObject.fromObject(createStr);
+		NcLog.info("ƾ֤"+json.toString());
+		checkJson(json);//·Ç¿ÕÅжÏ
+		
+	}
+
+	/**
+	 * ·Ç¿ÕÅжÏ
+	 * @param json
+	 */
+	private void checkJson(JSONObject json) {
+		// TODO Auto-generated method stub
+		
+	}
+
+}

+ 40 - 14
hr/hr/src/client/nc/ui/hr/baod_orders/view/AccumulationFundAllInsertDiaLog.java

@@ -41,9 +41,14 @@ public class AccumulationFundAllInsertDiaLog extends UIDialog implements ActionL
 	private UIButton btnAddRow;
 	private UIButton btnRemoveRow;
 	private UIPanel ivjUIPanel = null;
-	
+	private String orgCode = null;
+	private String orgName = null;
+	private String period = null;
 	@SuppressWarnings("deprecation")
-	public AccumulationFundAllInsertDiaLog() throws Exception {
+	public AccumulationFundAllInsertDiaLog(String orgCode, String orgName, String period) throws Exception {
+		this.orgCode = orgCode;
+		this.orgName = orgName;
+		this.period = period;
 		initialize();
 	}
 	
@@ -84,16 +89,25 @@ public class AccumulationFundAllInsertDiaLog extends UIDialog implements ActionL
 			//根据单据模板编码加载模板
 			this.jlcardPanel.loadTemplet("gjjft",null,WorkbenchEnvironment.getInstance().getLoginUser().getPrimaryKey(),
 					WorkbenchEnvironment.getInstance().getLoginUser().getPk_org());
-			UIRefPane orgCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("orgcode").getComponent();
+			//UIRefPane orgCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("orgcode").getComponent();
 			UIRefPane orgCodeRefs = (UIRefPane) this.jlcardPanel.getBodyItem("contributoryorg").getComponent();
 			//节点编码
 			String nodeCode = "60H20104";
 			//权限组织
 			String[] pkorgs = FunctionPermProfileManager.getInstance().getProfile(WorkbenchEnvironment.getInstance().getLoginUser().getUser_code()).getFuncSubInfo(nodeCode).getFuncPermissionPkorgs();
 			//公司字段设置组织权限
-			orgCodeRef.getRefModel().setFilterPks(pkorgs);
+			//orgCodeRef.getRefModel().setFilterPks(pkorgs);
 			//成本归属公司设置组织权限
 			orgCodeRefs.getRefModel().setFilterPks(pkorgs);
+			try {
+				String orgId = queyrOrgId(orgName);
+				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
+				// 设置当前组织
+				clerkCodeRef.setPk_org(orgId);
+			} catch (Exception e) {
+				MessageDialog.showHintDlg(this, "提示", e.getMessage());
+			}
+
 		}
 		return this.jlcardPanel;
 	}
@@ -138,16 +152,18 @@ public class AccumulationFundAllInsertDiaLog extends UIDialog implements ActionL
 
 	private void doOKAction() {
 		try {
+			
 			BillCardPanel cp = this.jlcardPanel;
+			
 			//判断必填项
 			this.jlcardPanel.dataNotNullValidate();	
 
 			//循环表单行数
 			for (int i = 0; i < cp.getRowCount(); i++) {
 				String tableName = ValueUtils.getString(cp.getBodyValueAt(i, "tablename"));//表
-				String orgCode = queyrOrgCode(ValueUtils.getString(cp.getBodyValueAt(i, "orgcode")));//公司
+				//String orgCode = queyrOrgCode(ValueUtils.getString(cp.getBodyValueAt(i, "orgcode")));//公司
 				String contributoryOrgName = ValueUtils.getString(cp.getBodyValueAt(i, "contributoryorg"));//成本归属公司
-				String period = ValueUtils.getString(cp.getBodyValueAt(i, "period"));//年月
+				//String period = ValueUtils.getString(cp.getBodyValueAt(i, "period"));//年月
 				String clerkCode = ValueUtils.getString(cp.getBodyValueAt(i, "clerkcode"));//员工编号
 				String clerkName = ValueUtils.getString(cp.getBodyValueAt(i, "clerkname"));//姓名
 				String basicssum = ValueUtils.getString(cp.getBodyValueAt(i, "basicssum"));//缴纳基数
@@ -220,16 +236,14 @@ public class AccumulationFundAllInsertDiaLog extends UIDialog implements ActionL
 		this.jlcardPanel.delLine();
 	}
 	
-	
 	@Override
 	public void afterEdit(BillEditEvent e) {
 		try {
-			if("orgcode".equals(e.getKey())) {
-				String pk_org = String.valueOf(e.getValue());
-				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
-				// 设置当前组织
-				clerkCodeRef.setPk_org(pk_org);
-			}
+//			if("orgcode".equals(e.getKey())) {
+//				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
+//				// 设置当前组织
+//				clerkCodeRef.setPk_org(orgId);
+//			}
 			if("clerkcode".equals(e.getKey())) {
 				String clerkcode = String.valueOf(e.getValue());
 				if(clerkcode != null) {
@@ -250,7 +264,8 @@ public class AccumulationFundAllInsertDiaLog extends UIDialog implements ActionL
 
 	@Override
 	public void bodyRowChange(BillEditEvent arg0) {
-		
+		this.jlcardPanel.setBodyValueAt(orgName, 0, "orgcode");
+		this.jlcardPanel.setBodyValueAt(period, 0, "period");
 	}
 
 	@Override
@@ -681,4 +696,15 @@ public class AccumulationFundAllInsertDiaLog extends UIDialog implements ActionL
 		String sql = "select code from org_financeorg where name ='"+orgName+"' and enablestate = '2' and dr = 0";
 		return  (String) iuap.executeQuery(sql.toString(), new ColumnProcessor());
 	}
+	
+	/**
+	 * 根据组织名称查询组织主键
+	 * @param orgName
+	 * @return
+	 * @throws Exception
+	 */
+	public String queyrOrgId(String orgName) throws Exception {
+		String sql = "select pk_financeorg from org_financeorg where name ='"+orgName+"' and enablestate = '2' and dr = 0";
+		return  (String) iuap.executeQuery(sql.toString(), new ColumnProcessor());
+	}
 }

+ 9 - 3
hr/hr/src/client/nc/ui/hr/baod_orders/view/AccumulationFundAllUpdateDialog.java

@@ -22,6 +22,8 @@ import nc.ui.pub.beans.UIButton;
 import nc.ui.pub.beans.UIDialog;
 import nc.ui.pub.beans.UIPanel;
 import nc.vo.ecpubapp.pattern.data.ValueUtils;
+import nc.vo.pub.lang.UFDouble;
+import nc.vo.pubapp.pattern.pub.MathTool;
 
 /**
  * 公积金分摊表修改界面
@@ -152,9 +154,13 @@ public class AccumulationFundAllUpdateDialog extends UIDialog {
 				String table_org = ValueUtils.getString(table.getValueAt(i, 1));//公司
 				String clerkCode = ValueUtils.getString(table.getValueAt(i, 2));//员工编号
 				String clerkName = ValueUtils.getString(table.getValueAt(i, 3));//姓名
-				String basicssum = ValueUtils.getString(table.getValueAt(i, 4));//缴纳基数
-				String staffsum = ValueUtils.getString(table.getValueAt(i, 5));//个人部分
-				String orgsum = ValueUtils.getString(table.getValueAt(i, 6));//公司部分
+				//String basicssum = ValueUtils.getString(table.getValueAt(i, 4));//缴纳基数
+				UFDouble basicssum = MathTool.nvl(ValueUtils.getUFDouble(table.getValueAt(i, 4))).setScale(2, UFDouble.ROUND_HALF_UP);
+				//String staffsum = ValueUtils.getString(table.getValueAt(i, 5));//个人部分
+				UFDouble staffsum = MathTool.nvl(ValueUtils.getUFDouble(table.getValueAt(i, 5))).setScale(2, UFDouble.ROUND_HALF_UP);
+				//String orgsum = ValueUtils.getString(table.getValueAt(i, 6));//公司部分
+				UFDouble orgsum = MathTool.nvl(ValueUtils.getUFDouble(table.getValueAt(i, 6))).setScale(2, UFDouble.ROUND_HALF_UP);
+
 				String mark = ValueUtils.getString(table.getValueAt(i, 7));//备注
 				String combinedField = table_name + table_org + clerkCode + clerkName;
 				//第一次处理调新增,第二次处理调修改

+ 19 - 16
hr/hr/src/client/nc/ui/hr/baod_orders/view/AccumulationFundAllocationUI.java

@@ -288,7 +288,7 @@ public class AccumulationFundAllocationUI extends ToftPanel {
 				Vector v = (Vector) periodData.get(0);
 				period = v.get(0).toString();
 			}
-			if (!"bt_insert".equals(bt.getCode()) && (orgCode == null || period == null)) {
+			if(orgCode == null || period == null) {
 				ExceptionUtils.wrappBusinessException("财务组织、年月必须选择,请选择后再操作!");
 			}
 			if ("bt_query".equals(bt.getCode())) {
@@ -426,10 +426,12 @@ public class AccumulationFundAllocationUI extends ToftPanel {
 		UFDouble tableSixOrg = tableMap.get("tableSix").get("org");// 实际已缴当月工资个人部分未扣公司部分
 		UFDouble tableSevenStaff = tableMap.get("tableSeven").get("staff");// 实际未缴当月工资个人部分已扣个人部分
 		UFDouble tableSevenOrg = tableMap.get("tableSeven").get("org");// 实际未缴当月工资个人部分已扣公司部分
+		UFDouble tableEightStaff = tableMap.get("TableEight").get("staff");// 实际集团内其他公司已缴当月工资个人部分已扣个人部分
+		UFDouble tableEightOrg = tableMap.get("TableEight").get("org");// 实际集团内其他公司已缴当月工资个人部分已扣公司部分
 		UFDouble queryTableNine = nvl(queryTableNine(orgCode, period), 2);// 个人工资表扣缴数
 		Map<String, String> TableTenMap = queryTableTen(orgCode, period);
-		UFDouble TableTenStaff = nvl(TableTenMap.get("so_staff_sum"), 2);// 个人实际缴纳数
-		UFDouble TableTenOrg = nvl(TableTenMap.get("so_org_sum"), 2);// 公司实际缴纳数
+		UFDouble TableTenStaff = nvl(TableTenMap.get("housing_fund_staff"), 2);// 个人实际缴纳数
+		UFDouble TableTenOrg = nvl(TableTenMap.get("housing_fund_org"), 2);// 公司实际缴纳数
 		// 社保账单实际交纳数 = 个人实际缴纳数+公司实际缴纳数
 		UFDouble actualSum = TableTenStaff.add(TableTenOrg);
 		// 社保分摊表金额 = 个人承担个人、公司部分+外部公司承担个人、公司部分+部门承担或全额公司承担个人、公司部分+
@@ -437,21 +439,21 @@ public class AccumulationFundAllocationUI extends ToftPanel {
 		UFDouble specialfillSum = tableOneStaff.add(tableOneOrg).add(tableTwoStaff).add(tableTwoOrg).add(tableThreeStaff).add(tableThreeOrg).add(tableFourStaff).add(tableFourOrg).add(tableFiveStaff)
 				.add(tableFiveOrg).add(tableSixStaff).add(tableSixOrg);
 		// 个人工资表扣缴数分摊表金额 = 月薪工资表中当月扣当月缴纳个人部分 +实际未缴当月工资个人部分已扣个人部分 + 实际集团内其他公司已缴当月工资个人部分已扣个人部分
-		UFDouble staffPaymentSum = tableFiveStaff.add(tableSevenStaff);
+		UFDouble staffPaymentSum = tableFiveStaff.add(tableSevenStaff).add(tableEightStaff);
 		// 个人实际缴纳数分摊表金额 = 个人承担个人部分 + 外部公司承担个人部分 +部门承担或全额公司承担个人部分 + 个人部分已在集团内其他公司扣除个人部分
 		// +月薪工资表中当月扣当月缴纳个人部分 + 实际已缴当月工资个人部分未扣个人部分
 		UFDouble staffActualSum = tableOneStaff.add(tableTwoStaff).add(tableThreeStaff).add(tableFourStaff).add(tableFiveStaff).add(tableSixStaff);
 		// 公司实际缴纳数分摊表金额 = 个人承担公司部分 + 外部公司承担公司部分 + 部门承担或全额公司承担公司部分 + 个人部分已在集团内其他公司扣除公司部分 +
-		// 月薪工资表中当月扣当月缴纳公司部分 + 实际已缴当月工资个人部分未扣公司部分 + 实际未缴当月工资个人部分已扣公司部分
-		UFDouble orgActualSum = tableOneOrg.add(tableTwoOrg).add(tableThreeOrg).add(tableFourOrg).add(tableFiveOrg).add(tableSixOrg).add(tableSevenOrg);
+		// 月薪工资表中当月扣当月缴纳公司部分 + 实际已缴当月工资个人部分未扣公司部分
+		UFDouble orgActualSum = tableOneOrg.add(tableTwoOrg).add(tableThreeOrg).add(tableFourOrg).add(tableFiveOrg).add(tableSixOrg);
 		dataList.set(0, new Object[] { "汇总信息" });
 		dataList.set(1, new Object[] { "公积金汇缴单实际缴纳数", actualSum, "公积金分摊表金额", specialfillSum });
 		dataList.set(2, new Object[] { "个人承担", "公司部分", tableOneOrg, "外部公司承担", "公司部分", tableTwoOrg, "部门承担或全额公司承担", "公司部分", tableThreeOrg });
 		dataList.set(3, new Object[] { "个人承担", "个人部分", tableOneStaff, "外部公司承担", "个人部分", tableTwoStaff, "部门承担或全额公司承担", "个人部分", tableThreeStaff });
 		dataList.set(4, new Object[] { "个人部分已在集团内其他公司扣除  ", "公司部分", tableFourOrg, "月薪工资表中当月扣当月缴纳", "公司部分", tableFiveOrg, "实际已缴当月工资个人部分未扣", "公司部分", tableSixOrg });
 		dataList.set(5, new Object[] { "个人部分已在集团内其他公司扣除  ", "个人部分", tableFourStaff, "月薪工资表中当月扣当月缴纳", "个人部分", tableFiveStaff, "实际已缴当月工资个人部分未扣", "个人部分", tableSixStaff });
-		dataList.set(6, new Object[] { "实际未缴当月工资个人部分已扣  ", "公司部分", tableSevenOrg, "实际集团内其他公司已缴当月工资个人部分已扣", "公司部分", null });
-		dataList.set(7, new Object[] { "实际未缴当月工资个人部分已扣  ", "个人部分", tableSevenStaff, "实际集团内其他公司已缴当月工资个人部分已扣", "个人部分", null });
+		dataList.set(6, new Object[] { "实际未缴当月工资个人部分已扣  ", "公司部分", tableSevenOrg, "实际集团内其他公司已缴当月工资个人部分已扣", "公司部分", tableEightOrg});
+		dataList.set(7, new Object[] { "实际未缴当月工资个人部分已扣  ", "个人部分", tableSevenStaff, "实际集团内其他公司已缴当月工资个人部分已扣", "个人部分", tableEightStaff});
 		dataList.set(8, new Object[] { "个人", "工资表扣缴数", queryTableNine, "分摊表金额", staffPaymentSum, "差异", queryTableNine.sub(staffPaymentSum) });
 		dataList.set(9, new Object[] { "个人", "实际缴纳数", TableTenStaff, "分摊表金额", staffActualSum, "差异", TableTenStaff.sub(staffActualSum) });
 		dataList.set(10, new Object[] { "公司", "实际缴纳数", TableTenOrg, "分摊表金额", orgActualSum, "差异", TableTenOrg.sub(orgActualSum) });
@@ -746,9 +748,9 @@ public class AccumulationFundAllocationUI extends ToftPanel {
 		sql.append(" NULL AS orgname,");
 		sql.append(" clerkcode as clerkcode,");
 		sql.append(" clerkname as clerkname,");
-		sql.append(" CAST(endowment_base AS VARCHAR2 ( 50 ) ) AS basicssum,");
-		sql.append(" CAST(so_staff_sum AS VARCHAR2 ( 50 ) ) AS staffsum,");
-		sql.append(" CAST(so_org_sum AS VARCHAR2 ( 50 ) ) AS orgsum,");
+		sql.append(" CAST(housing_fund_base AS VARCHAR2 ( 50 ) ) AS basicssum,");
+		sql.append(" CAST(housing_fund_staff AS VARCHAR2 ( 50 ) ) AS staffsum,");
+		sql.append(" CAST(housing_fund_org AS VARCHAR2 ( 50 ) ) AS orgsum,");
 		sql.append(" mark AS mark");
 		sql.append(" FROM nc6337.V_SUM_TB_HR_SOCIAL_SECURITY t");
 		sql.append(" WHERE");
@@ -921,7 +923,7 @@ public class AccumulationFundAllocationUI extends ToftPanel {
 		sql.append(" T13.Name AS orgname,");
 		sql.append(" clerkcode,");
 		sql.append(" clerkname,");
-		sql.append(" CAST(endowment_base AS VARCHAR2 ( 50 ) ) AS basicssum,");
+		sql.append(" CAST(housing_fund_base AS VARCHAR2 ( 50 ) ) AS basicssum,");
 		sql.append(" CAST(housing_fund_staff AS VARCHAR2 ( 50 ) ) AS staffsum,");
 		sql.append(" CAST(housing_fund_org AS VARCHAR2 ( 50 ) ) AS orgsum,");
 		sql.append(" mark");
@@ -952,7 +954,7 @@ public class AccumulationFundAllocationUI extends ToftPanel {
 		sql.append(" GROUP BY t.CLERKCODE) t2");
 		sql.append(" WHERE");
 		sql.append(" t2.sumVALUE > 0)");
-		sql.append(" AND T1.PK_POST NOT IN ( SELECT T3.PK_POST FROM NC6337.om_post t3 WHERE T3.postname IN ( '残保金人员', '资质人员' ) ) AND t1.out_org IS NULL");
+		sql.append(" AND T12.NC_PK_POST NOT IN ( SELECT T3.PK_POST FROM NC6337.om_post t3 WHERE T3.postname IN ( '残保金人员', '资质人员' ) ) AND t1.out_org IS NULL");
 		sql.append(" AND t1.housing_fund_base <> 0 AND t1.PAY_MONTH = '"+period+"'AND t1.ORGCODE_HOUSE = '"+orgCode+"'");
 		sql.append(jointSql(title, orgCode, period));
 		sql.append(" )GROUP BY orgname,clerkcode,clerkname ORDER BY orgname,clerkcode");
@@ -1095,8 +1097,8 @@ public class AccumulationFundAllocationUI extends ToftPanel {
 		Map<String, String> map = (Map<String, String>) iuap.executeQuery(sql.toString(), new MapProcessor());
 		if (map == null) {
 			map = new HashMap<String, String>();
-			map.put("so_staff_sum", null);
-			map.put("so_org_sum", null);
+			map.put("housing_fund_staff", null);
+			map.put("housing_fund_org", null);
 		}
 		return map;
 	}
@@ -1209,8 +1211,9 @@ public class AccumulationFundAllocationUI extends ToftPanel {
 	 */
 	private void insert() {
 		try {
+			String orgName = getOrgPanel().getRefModel().getRefNameValue();
 			// 0表示有实际新增,而不是点击弹框后关闭了
-			if (new AccumulationFundAllInsertDiaLog().showModal() == 0) {
+			if (new AccumulationFundAllInsertDiaLog(orgCode, orgName, period).showModal() == 0) {
 				MessageDialog.showHintDlg(this, "提示", "新增成功!");
 			}
 		} catch (Exception e) {

+ 38 - 12
hr/hr/src/client/nc/ui/hr/baod_orders/view/ServiceChargeAllInsertDiaLog.java

@@ -43,9 +43,15 @@ public class ServiceChargeAllInsertDiaLog extends UIDialog implements ActionList
 	private UIButton btnAddRow;
 	private UIButton btnRemoveRow;
 	private UIPanel ivjUIPanel = null;
+	private String orgCode = null;
+	private String orgName = null;
+	private String period = null;
 	
 	@SuppressWarnings("deprecation")
-	public ServiceChargeAllInsertDiaLog() throws Exception {
+	public ServiceChargeAllInsertDiaLog(String orgCode, String orgName, String period) throws Exception {
+		this.orgCode = orgCode;
+		this.orgName = orgName;
+		this.period = period;
 		initialize();
 	}
 	
@@ -86,16 +92,25 @@ public class ServiceChargeAllInsertDiaLog extends UIDialog implements ActionList
 			//根据单据模板编码加载模板
 			this.jlcardPanel.loadTemplet("fwfxz",null,WorkbenchEnvironment.getInstance().getLoginUser().getPrimaryKey(),
 					WorkbenchEnvironment.getInstance().getLoginUser().getPk_org());
-			UIRefPane orgCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("orgcode").getComponent();
+			//UIRefPane orgCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("orgcode").getComponent();
 			UIRefPane orgCodeRefs = (UIRefPane) this.jlcardPanel.getBodyItem("contributoryorg").getComponent();
 			//节点编码
 			String nodeCode = "60H20105";
 			//权限组织
 			String[] pkorgs = FunctionPermProfileManager.getInstance().getProfile(WorkbenchEnvironment.getInstance().getLoginUser().getUser_code()).getFuncSubInfo(nodeCode).getFuncPermissionPkorgs();
 			//公司字段设置组织权限
-			orgCodeRef.getRefModel().setFilterPks(pkorgs);
+			//orgCodeRef.getRefModel().setFilterPks(pkorgs);
 			//成本归属公司设置组织权限
 			orgCodeRefs.getRefModel().setFilterPks(pkorgs);
+			try {
+				String orgId = queyrOrgId(orgName);
+				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
+				// 设置当前组织
+				clerkCodeRef.setPk_org(orgId);
+			} catch (Exception e) {
+				MessageDialog.showHintDlg(this, "提示", e.getMessage());
+			}
+
 		}
 		return this.jlcardPanel;
 	}
@@ -147,9 +162,9 @@ public class ServiceChargeAllInsertDiaLog extends UIDialog implements ActionList
 			//循环表单行数
 			for (int i = 0; i < cp.getRowCount(); i++) {
 				String tableName = ValueUtils.getString(cp.getBodyValueAt(i, "tablename"));//表
-				String orgCode = queyrOrgCode(ValueUtils.getString(cp.getBodyValueAt(i, "orgcode")));//公司
+				//String orgCode = queyrOrgCode(ValueUtils.getString(cp.getBodyValueAt(i, "orgcode")));//公司
 				String contributoryOrgName = ValueUtils.getString(cp.getBodyValueAt(i, "contributoryorg"));//成本归属公司
-				String period = ValueUtils.getString(cp.getBodyValueAt(i, "period"));//年月
+				//String period = ValueUtils.getString(cp.getBodyValueAt(i, "period"));//年月
 				String clerkCode = ValueUtils.getString(cp.getBodyValueAt(i, "clerkcode"));//员工编号
 				String clerkName = ValueUtils.getString(cp.getBodyValueAt(i, "clerkname"));//姓名
 				String basicssum = ValueUtils.getString(cp.getBodyValueAt(i, "basicssum"));//缴纳基数
@@ -227,12 +242,11 @@ public class ServiceChargeAllInsertDiaLog extends UIDialog implements ActionList
 					this.jlcardPanel.setBodyValueAt(null, 0, "staffsum");
 				}
 			}
-			if("orgcode".equals(e.getKey())) {
-				String pk_org = String.valueOf(e.getValue());
-				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
-				// 设置当前组织
-				clerkCodeRef.setPk_org(pk_org);
-			}
+//			if("orgcode".equals(e.getKey())) {
+//				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
+//				// 设置当前组织
+//				clerkCodeRef.setPk_org(orgId);
+//			}
 			if("clerkcode".equals(e.getKey())) {
 				String clerkcode = String.valueOf(e.getValue());
 				if(clerkcode != null) {
@@ -252,7 +266,8 @@ public class ServiceChargeAllInsertDiaLog extends UIDialog implements ActionList
 
 	@Override
 	public void bodyRowChange(BillEditEvent arg0) {
-		
+		this.jlcardPanel.setBodyValueAt(orgName, 0, "orgcode");
+		this.jlcardPanel.setBodyValueAt(period, 0, "period");
 	}
 
 	@Override
@@ -490,4 +505,15 @@ public class ServiceChargeAllInsertDiaLog extends UIDialog implements ActionList
 		String sql = "select code from org_financeorg where name ='"+orgName+"' and enablestate = '2' and dr = 0";
 		return  (String) iuap.executeQuery(sql.toString(), new ColumnProcessor());
 	}
+	
+	/**
+	 * 根据组织名称查询组织主键
+	 * @param orgName
+	 * @return
+	 * @throws Exception
+	 */
+	public String queyrOrgId(String orgName) throws Exception {
+		String sql = "select pk_financeorg from org_financeorg where name ='"+orgName+"' and enablestate = '2' and dr = 0";
+		return  (String) iuap.executeQuery(sql.toString(), new ColumnProcessor());
+	}
 }

+ 6 - 3
hr/hr/src/client/nc/ui/hr/baod_orders/view/ServiceChargeAllocationUI.java

@@ -97,6 +97,8 @@ public class ServiceChargeAllocationUI extends ToftPanel {
 	private Map<String, Map<String, UFDouble>> beforePsgMoney = null; // 处理前金额
 	private Map<String, Map<String, UFDouble>> afterPsgMoney = null; // 处理后金额
 	private String orgCode;// 查询组织
+	private String orgName = null;
+	private String orgId = null;
 	private String period;// 查询期间
 	Map<String, Map<String, String>> middleTableData = new HashMap<String, Map<String, String>>();// 中间表数
 	private SocialInsuranceAllMaintain siaMaintain = NCLocator.getInstance().lookup(SocialInsuranceAllMaintain.class);
@@ -275,7 +277,7 @@ public class ServiceChargeAllocationUI extends ToftPanel {
 				Vector v = (Vector) periodData.get(0);
 				period = v.get(0).toString();
 			}
-			if (!"bt_insert".equals(bt.getCode()) && (orgCode == null || period == null)) {
+			if(orgCode == null || period == null) {
 				ExceptionUtils.wrappBusinessException("财务组织、年月必须选择,请选择后再操作!");
 			}
 			if ("bt_query".equals(bt.getCode())) {
@@ -814,7 +816,7 @@ public class ServiceChargeAllocationUI extends ToftPanel {
 		sql.append("SELECT orgname,clerkcode,clerkname,sum(basicssum) as basicssum,sum(staffsum) as staffsum,sum(orgsum) as orgsum,max(mark) as mark");
 		sql.append(" FROM");
 		sql.append(" (SELECT");
-		sql.append(" salocation AS orgname,");
+		sql.append(" costorgname AS orgname,");
 		sql.append(" clerkcode,");
 		sql.append(" clerkname,");
 		sql.append(" CAST(NULL AS VARCHAR2 ( 50 ) ) AS basicssum,");
@@ -938,8 +940,9 @@ public class ServiceChargeAllocationUI extends ToftPanel {
 	 */
 	private void insert() {
 		try {
+			String orgName = getOrgPanel().getRefModel().getRefNameValue();
 			// 0表示有实际新增,而不是点击弹框后关闭了
-			if (new ServiceChargeAllInsertDiaLog().showModal() == 0) {
+			if (new ServiceChargeAllInsertDiaLog(orgCode, orgName, period).showModal() == 0) {
 				MessageDialog.showHintDlg(this, "提示", "新增成功!");
 			}
 		} catch (Exception e) {

+ 39 - 12
hr/hr/src/client/nc/ui/hr/baod_orders/view/SocialInsuranceAllInsertDialog.java

@@ -38,9 +38,15 @@ public class SocialInsuranceAllInsertDialog extends UIDialog implements ActionLi
 	private UIButton btnAddRow;
 	private UIButton btnRemoveRow;
 	private UIPanel ivjUIPanel = null;
+	private String orgCode = null;
+	private String orgName = null;
+	private String period = null;
 	
 	@SuppressWarnings("deprecation")
-	public SocialInsuranceAllInsertDialog() throws Exception {
+	public SocialInsuranceAllInsertDialog(String orgCode, String orgName,String period) throws Exception {
+		this.orgCode = orgCode;
+		this.orgName = orgName;
+		this.period = period;
 		initialize();
 	}
 	
@@ -79,16 +85,25 @@ public class SocialInsuranceAllInsertDialog extends UIDialog implements ActionLi
 			//根据单据模板编码加载模板
 			this.jlcardPanel.loadTemplet("gjjft",null,WorkbenchEnvironment.getInstance().getLoginUser().getPrimaryKey(),
 					WorkbenchEnvironment.getInstance().getLoginUser().getPk_org());
-			UIRefPane orgCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("orgcode").getComponent();
+			//UIRefPane orgCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("orgcode").getComponent();
 			UIRefPane orgCodeRefs = (UIRefPane) this.jlcardPanel.getBodyItem("contributoryorg").getComponent();
 			//节点编码
 			String nodeCode = "60H20103";
 			//权限组织
 			String[] pkorgs = FunctionPermProfileManager.getInstance().getProfile(WorkbenchEnvironment.getInstance().getLoginUser().getUser_code()).getFuncSubInfo(nodeCode).getFuncPermissionPkorgs();
 			//公司字段设置组织权限
-			orgCodeRef.getRefModel().setFilterPks(pkorgs);
+			//orgCodeRef.getRefModel().setFilterPks(pkorgs);
 			//成本归属公司设置组织权限
 			orgCodeRefs.getRefModel().setFilterPks(pkorgs);
+			
+			try {
+				String orgId = queyrOrgId(orgName);
+				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
+				// 设置当前组织
+				clerkCodeRef.setPk_org(orgId);
+			} catch (Exception e) {
+				MessageDialog.showHintDlg(this, "提示", e.getMessage());
+			}
 		}
 		return this.jlcardPanel;
 	}
@@ -140,9 +155,9 @@ public class SocialInsuranceAllInsertDialog extends UIDialog implements ActionLi
 			//循环表单行数
 			for (int i = 0; i < cp.getRowCount(); i++) {
 				String tableName = ValueUtils.getString(cp.getBodyValueAt(i, "tablename"));//表
-				String orgCode = queyrOrgCode(ValueUtils.getString(cp.getBodyValueAt(i, "orgcode")));//公司
+				//String orgCode = queyrOrgCode(ValueUtils.getString(cp.getBodyValueAt(i, "orgcode")));//公司
 				String contributoryOrgName = ValueUtils.getString(cp.getBodyValueAt(i, "contributoryorg"));//成本归属公司
-				String period = ValueUtils.getString(cp.getBodyValueAt(i, "period"));//年月
+				//String period = ValueUtils.getString(cp.getBodyValueAt(i, "period"));//年月
 				String clerkCode = ValueUtils.getString(cp.getBodyValueAt(i, "clerkcode"));//员工编号
 				String clerkName = ValueUtils.getString(cp.getBodyValueAt(i, "clerkname"));//姓名
 				String basicssum = ValueUtils.getString(cp.getBodyValueAt(i, "basicssum"));//缴纳基数
@@ -219,12 +234,12 @@ public class SocialInsuranceAllInsertDialog extends UIDialog implements ActionLi
 	@Override
 	public void afterEdit(BillEditEvent e) {
 		try {
-			if("orgcode".equals(e.getKey())) {
-				String pk_org = String.valueOf(e.getValue());
-				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
-				// 设置当前组织
-				clerkCodeRef.setPk_org(pk_org);
-			}
+//			if("orgcode".equals(e.getKey())) {
+//				String pk_org = String.valueOf(e.getValue());
+//				UIRefPane clerkCodeRef = (UIRefPane) this.jlcardPanel.getBodyItem("clerkcode").getComponent();
+//				// 设置当前组织
+//				clerkCodeRef.setPk_org(pk_org);
+//			}
 			if("clerkcode".equals(e.getKey())) {
 				String clerkcode = String.valueOf(e.getValue());
 				if(clerkcode != null) {
@@ -245,7 +260,8 @@ public class SocialInsuranceAllInsertDialog extends UIDialog implements ActionLi
 
 	@Override
 	public void bodyRowChange(BillEditEvent arg0) {
-		
+		this.jlcardPanel.setBodyValueAt(orgName, 0, "orgcode");
+		this.jlcardPanel.setBodyValueAt(period, 0, "period");
 	}
 
 	@Override
@@ -655,4 +671,15 @@ public class SocialInsuranceAllInsertDialog extends UIDialog implements ActionLi
 		String sql = "select code from org_financeorg where name ='"+orgName+"' and enablestate = '2' and dr = 0";
 		return  (String) iuap.executeQuery(sql.toString(), new ColumnProcessor());
 	}
+	
+	/**
+	 * 根据组织名称查询组织主键
+	 * @param orgName
+	 * @return
+	 * @throws Exception
+	 */
+	public String queyrOrgId(String orgName) throws Exception {
+		String sql = "select pk_financeorg from org_financeorg where name ='"+orgName+"' and enablestate = '2' and dr = 0";
+		return  (String) iuap.executeQuery(sql.toString(), new ColumnProcessor());
+	}
 }

+ 7 - 6
hr/hr/src/client/nc/ui/hr/baod_orders/view/SocialInsuranceAllocationUI.java

@@ -287,7 +287,7 @@ public class SocialInsuranceAllocationUI extends ToftPanel {
 				Vector v = (Vector) periodData.get(0);
 				period = v.get(0).toString();
 			}
-			if (!"bt_insert".equals(bt.getCode()) && (orgCode == null || period == null)) {
+			if(orgCode == null || period == null) {
 				ExceptionUtils.wrappBusinessException("财务组织、年月必须选择,请选择后再操作!");
 			}
 			if ("bt_query".equals(bt.getCode())) {
@@ -438,7 +438,7 @@ public class SocialInsuranceAllocationUI extends ToftPanel {
 		UFDouble specialfillSum = tableOneStaff.add(tableOneOrg).add(tableTwoStaff).add(tableTwoOrg).add(tableThreeStaff).add(tableThreeOrg).add(tableFourStaff).add(tableFourOrg).add(tableFiveStaff)
 				.add(tableFiveOrg).add(tableSixStaff).add(tableSixOrg);
 		// 个人工资表扣缴数分摊表金额 = 月薪工资表中当月扣当月缴纳个人部分 +实际未缴当月工资个人部分已扣个人部分 + 实际集团内其他公司已缴当月工资个人部分已扣个人部分
-		UFDouble staffPaymentSum = tableFiveStaff.add(tableSevenStaff);
+		UFDouble staffPaymentSum = tableFiveStaff.add(tableSevenStaff).add(tableEightStaff);
 		// 个人实际缴纳数分摊表金额 = 个人承担个人部分 + 外部公司承担个人部分 +部门承担或全额公司承担个人部分 + 个人部分已在集团内其他公司扣除个人部分
 		// +月薪工资表中当月扣当月缴纳个人部分 + 实际已缴当月工资个人部分未扣个人部分
 		UFDouble staffActualSum = tableOneStaff.add(tableTwoStaff).add(tableThreeStaff).add(tableFourStaff).add(tableFiveStaff).add(tableSixStaff);
@@ -451,8 +451,8 @@ public class SocialInsuranceAllocationUI extends ToftPanel {
 		dataList.set(3, new Object[] { "个人承担", "个人部分", tableOneStaff, "外部公司承担", "个人部分", tableTwoStaff, "部门承担或全额公司承担", "个人部分", tableThreeStaff });
 		dataList.set(4, new Object[] { "个人部分已在集团内其他公司扣除  ", "公司部分", tableFourOrg, "月薪工资表中当月扣当月缴纳", "公司部分", tableFiveOrg, "实际已缴当月工资个人部分未扣", "公司部分", tableSixOrg });
 		dataList.set(5, new Object[] { "个人部分已在集团内其他公司扣除  ", "个人部分", tableFourStaff, "月薪工资表中当月扣当月缴纳", "个人部分", tableFiveStaff, "实际已缴当月工资个人部分未扣", "个人部分", tableSixStaff });
-		dataList.set(6, new Object[] { "实际未缴当月工资个人部分已扣  ", "公司部分", tableSevenOrg, "实际集团内其他公司已缴当月工资个人部分已扣", "公司部分", tableEightStaff });
-		dataList.set(7, new Object[] { "实际未缴当月工资个人部分已扣  ", "个人部分", tableSevenStaff, "实际集团内其他公司已缴当月工资个人部分已扣", "个人部分", tableEightOrg });
+		dataList.set(6, new Object[] { "实际未缴当月工资个人部分已扣  ", "公司部分", tableSevenOrg, "实际集团内其他公司已缴当月工资个人部分已扣", "公司部分",  tableEightOrg});
+		dataList.set(7, new Object[] { "实际未缴当月工资个人部分已扣  ", "个人部分", tableSevenStaff, "实际集团内其他公司已缴当月工资个人部分已扣", "个人部分",  tableEightStaff});
 		dataList.set(8, new Object[] { "个人", "工资表扣缴数", queryTableNine, "分摊表金额", staffPaymentSum, "差异", queryTableNine.sub(staffPaymentSum) });
 		dataList.set(9, new Object[] { "个人", "实际缴纳数", TableTenStaff, "分摊表金额", staffActualSum, "差异", TableTenStaff.sub(staffActualSum) });
 		dataList.set(10, new Object[] { "公司", "实际缴纳数", TableTenOrg, "分摊表金额", orgActualSum, "差异", TableTenOrg.sub(orgActualSum) });
@@ -948,7 +948,7 @@ public class SocialInsuranceAllocationUI extends ToftPanel {
 		sql.append(" FROM NC6337.v_data_xz_gjjshare t WHERE t.key IN ( '社保个人合计', '社保个人扣款' ) AND t.ym = '" + period + "' || '-01'");
 		sql.append(" GROUP BY t.CLERKCODE ");
 		sql.append(" ) t2 WHERE t2.sumVALUE > 0)");
-		sql.append(" AND T1.PK_POST NOT IN ( SELECT T3.PK_POST FROM NC6337.om_post t3 WHERE T3.postname IN ( '残保金人员', '资质人员' ) )");
+		sql.append(" AND t12.NC_PK_POST NOT IN ( SELECT T3.PK_POST FROM NC6337.om_post t3 WHERE T3.postname IN ( '残保金人员', '资质人员' ) )");
 		sql.append(" AND t1.out_org IS NULL AND t1.Endowment_Base <> 0 AND t1.PAY_MONTH = '" + period + "' AND t1.ORGCODE = '" + orgCode + "'");
 		sql.append(" UNION ALL SELECT");
 		sql.append(" t1.CLERKCODE,t1.CLERKNAME,t1.Endowment_Base,t1.so_org_sum,t1.so_staff_sum,t1.mark,T13.Name AS orgname");
@@ -1199,8 +1199,9 @@ public class SocialInsuranceAllocationUI extends ToftPanel {
 	 */
 	private void insert() {
 		try {
+			String orgName = getOrgPanel().getRefModel().getRefNameValue();
 			// 0表示有实际新增,而不是点击弹框后关闭了
-			if (new SocialInsuranceAllInsertDialog().showModal() == 0) {
+			if (new SocialInsuranceAllInsertDialog(orgCode, orgName, period).showModal() == 0) {
 				MessageDialog.showHintDlg(this, "提示", "新增成功!");
 			}
 		} catch (Exception e) {

+ 1 - 1
hr/hr/src/public/nc/ui/hr/ref/model/PsndocDefaultRefModel.java

@@ -89,7 +89,7 @@ public class PsndocDefaultRefModel extends AbstractRefGridTreeBigDataModel {
 																 */
 		setResourceID(IBDResourceIDConst.PSNDOC);
 		setClassResouceID(IOrgResourceCodeConst.DEPT);
-		setAddEnableStateWherePart(true);
+		//setAddEnableStateWherePart(true);
 		// ¹ýÂËÖØ¸´Êý¾Ý
 		setStrPatch(IRefConst.DISTINCT);
 		resetFieldName();