Procházet zdrojové kódy

处理薪酬推付款单报错问题

longht před 2 roky
rodič
revize
732428a888

+ 13 - 8
hrwa/src/private/nc/bs/wa/paydata/devMethod/PushPayBillMethod.java

@@ -126,10 +126,10 @@ public class PushPayBillMethod {
 	     for (String watype : wadataMap.keySet()) {
 			if(waclassmap.containsKey("研发费用")&&waclassmap.get("研发费用").get(0).getPk_wa_class().equals(watype)) {
 				//计算研发费用 
-				CalRDMap(wadataMap.get(watype),rdmap,projectmap,FK005,FK007);
+				CalRDMap(wadataMap.get(watype),rdmap,projectmap,FK005,FK007,ispushyear);
 			}else {
 				//计算非研发费
-				CalSalaryMap(wadataMap.get(watype),salarymap,FK004,FK006);
+				CalSalaryMap(wadataMap.get(watype),salarymap,FK004,FK006,ispushyear);
 			}
 		}
 	     
@@ -495,14 +495,19 @@ public class PushPayBillMethod {
 			}		
 	}
 
-	private void CalRDMap(List<DevWaDataVO> rdlist, HashMap<String, UFDouble> rdmap, HashMap<String, String> projectmap, List<DefdocVO> fK005, List<DefdocVO> fK007) {
+	private void CalRDMap(List<DevWaDataVO> rdlist, HashMap<String, UFDouble> rdmap, HashMap<String, String> projectmap, List<DefdocVO> fK005, List<DefdocVO> fK007, boolean ispushyear) {
 		// TODO Auto-generated method stub
 		if(CollectionUtils.isEmpty(rdlist))
 			return;
 		//统一计算
 		List<DefdocVO> inoutList = new ArrayList<DefdocVO>();
-		inoutList.addAll(fK005);
-		inoutList.addAll(fK007);
+		if(ispushyear) {
+			
+			inoutList.addAll(fK007);
+		}else {
+			
+			inoutList.addAll(fK005);
+		}
 		//获取研发项目
 		HashMap<String,String> projectkeymap =null;
 		String qprojectkeysql = "select * from wa_item where nvl(dr,0)=0 and code like 'YFXM%'";
@@ -610,7 +615,7 @@ public class PushPayBillMethod {
 	}
 
 	
-	private void CalSalaryMap(List<DevWaDataVO> salaryList, HashMap<String, UFDouble> salarymap, List<DefdocVO> fK004, List<DefdocVO> fK006) throws BusinessException {
+	private void CalSalaryMap(List<DevWaDataVO> salaryList, HashMap<String, UFDouble> salarymap, List<DefdocVO> fK004, List<DefdocVO> fK006, boolean ispushyear) throws BusinessException {
 		// TODO Auto-generated method stub
 		if(CollectionUtils.isEmpty(salaryList))
 			return;
@@ -619,7 +624,7 @@ public class PushPayBillMethod {
 	    	 String pk_dept = DevWaDataVO.getPk_financedept();
 	    	 String cyearperiod =DevWaDataVO.getCyearperiod();
 	    	 String pk_gwlb =  PubAppTool.isNull(DevWaDataVO.getPk_gwlb())?"gwlb": DevWaDataVO.getPk_gwlb();
-	    	 if(CollectionUtils.isNotEmpty(fK004)) {
+	    	 if(!ispushyear&&CollectionUtils.isNotEmpty(fK004)) {
 	    		 
 	    		 //处理工资数据
 	    		 for (DefdocVO defvo : fK004) {
@@ -659,7 +664,7 @@ public class PushPayBillMethod {
 	    		 }
 	    	 }
 	    	 
-	    	 if(CollectionUtils.isNotEmpty(fK006)) {
+	    	 if(ispushyear&&CollectionUtils.isNotEmpty(fK006)) {
 	    		 
 	    		 //处理年金数据
 	    		 for (DefdocVO defvo : fK006) {