Bläddra i källkod

提交收回验证逻辑修改

longht 4 år sedan
förälder
incheckning
d37dd0003c

+ 15 - 4
hrwa/nccloud/src/client/nccloud/web/hrwa/pubinfo/wadataexplain/action/WadataexplainBatchCommitAction.java

@@ -1,5 +1,6 @@
 package nccloud.web.hrwa.pubinfo.wadataexplain.action;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 
@@ -21,19 +22,29 @@ public class WadataexplainBatchCommitAction extends NCCAction {
 		Grid grid = (Grid) para;
 		GridModelConvertUtils gridConvUtl = new GridModelConvertUtils();
 		Wadataexplain[] vos = gridConvUtl.toVOs(Wadataexplain.class, grid.getModel());
-		StringBuffer pk_psndoc_buf = new StringBuffer();
+		StringBuffer pk_wa_class_buf = new StringBuffer();
 		StringBuffer pk_buf = new StringBuffer();
+		StringBuffer cyearperiodbuff = new StringBuffer();
+		List<String> cyplist = new ArrayList<String>();
+		List<String> waclasslist = new ArrayList<String>();
 		HashMap<String,String> psndocMap = new HashMap<String,String>();
 		for (Wadataexplain vo : vos) {
 			String pk_psndoc = vo.getPk_psndoc();
 			String pk_wa_data_explain = vo.getPk_wa_data_explain();
-			pk_psndoc_buf.append("'").append(pk_psndoc).append("',");
+			String pk_wa_class = vo.getPk_wa_class();
+			String cyp = vo.getDef1();
 			pk_buf.append("'").append(pk_wa_data_explain).append("',");
+			if(!waclasslist.contains(pk_wa_class))
+				pk_wa_class_buf.append("'").append(pk_wa_class).append("',");
+			if(!cyplist.contains(cyp))
+				cyearperiodbuff.append("'").append(cyp).append("',");
 			psndocMap.put(pk_psndoc, pk_psndoc);
+			cyplist.add(cyp);
+			waclasslist.add(pk_wa_class);
 		}
 		List<Wadataexplain> result  =null;
-		if(pk_psndoc_buf.length()>0 && pk_buf.length()>0){
-			 result = ServiceLocator.find(IWadataexplainService.class).batchCommit(pk_psndoc_buf, pk_buf, psndocMap);
+		if(pk_wa_class_buf.length()>0 && pk_buf.length()>0){
+			 result = ServiceLocator.find(IWadataexplainService.class).batchCommit(pk_wa_class_buf, pk_buf, psndocMap,cyearperiodbuff);
 		}
 		if(null!=result) {
 			

+ 16 - 4
hrwa/nccloud/src/client/nccloud/web/hrwa/pubinfo/wadataexplain/action/WadataexplainUnBatchCommitAction.java

@@ -1,5 +1,6 @@
 package nccloud.web.hrwa.pubinfo.wadataexplain.action;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 
@@ -21,19 +22,30 @@ public class WadataexplainUnBatchCommitAction extends NCCAction {
 		Grid grid = (Grid) para;
 		GridModelConvertUtils gridConvUtl = new GridModelConvertUtils();
 		Wadataexplain[] vos = gridConvUtl.toVOs(Wadataexplain.class, grid.getModel());
-		StringBuffer pk_psndoc_buf = new StringBuffer();
+		StringBuffer pk_wa_class_buf = new StringBuffer();
 		StringBuffer pk_buf = new StringBuffer();
+		StringBuffer cyearperiodbuff = new StringBuffer();
 		HashMap<String,String> psndocMap = new HashMap<String,String>();
+		List<String> cyplist = new ArrayList<String>();
+		List<String> waclasslist = new ArrayList<String>();
 		for (Wadataexplain vo : vos) {
 			String pk_psndoc = vo.getPk_psndoc();
+			String pk_wa_class = vo.getPk_wa_class();
 			String pk_wa_data_explain = vo.getPk_wa_data_explain();
-			pk_psndoc_buf.append("'").append(pk_psndoc).append("',");
+			String cyp = vo.getDef1();
 			pk_buf.append("'").append(pk_wa_data_explain).append("',");
+			
+			if(!waclasslist.contains(pk_wa_class))
+				pk_wa_class_buf.append("'").append(pk_wa_class).append("',");
+			if(!cyplist.contains(cyp))
+				cyearperiodbuff.append("'").append(cyp).append("',");
 			psndocMap.put(pk_psndoc, pk_psndoc);
+			cyplist.add(cyp);
+			waclasslist.add(pk_wa_class);
 		}
 		List<Wadataexplain> result  =null;
-		if(pk_psndoc_buf.length()>0 && pk_buf.length()>0){
-			 result = ServiceLocator.find(IWadataexplainService.class).batchUncommit(pk_psndoc_buf, pk_buf, psndocMap);
+		if(pk_wa_class_buf.length()>0 && pk_buf.length()>0){
+			 result = ServiceLocator.find(IWadataexplainService.class).batchUncommit(pk_wa_class_buf, pk_buf, psndocMap,cyearperiodbuff);
 		}
 		if(null!=result) {
 			

+ 62 - 19
hrwa/src/private/nccloud/impl/bd/wadataexplain/WadataexplainServiceImpl.java

@@ -18,6 +18,7 @@ import nc.vo.bd.meta.BatchOperateVO;
 import nc.vo.hrwa.wadataexplain.Wadataexplain;
 import nc.vo.pub.BusinessException;
 import nc.vo.pubapp.pattern.exception.ExceptionUtils;
+import nccloud.commons.collections.CollectionUtils;
 import nccloud.itf.bd.wadataexplain.IWadataexplainQryService;
 import nccloud.itf.bd.wadataexplain.IWadataexplainService;
 
@@ -96,24 +97,45 @@ public class WadataexplainServiceImpl extends BatchBaseService<Wadataexplain>
 	}
 
 	@Override
-	public List<Wadataexplain> batchCommit(StringBuffer pk_psndoc_buf, StringBuffer pk_buf, HashMap<String, String> psndocMap)
+	public List<Wadataexplain> batchCommit(StringBuffer pk_wa_class_buf, StringBuffer pk_buf, HashMap<String, String> psndocMap,StringBuffer cyearperiodbuf)
 			throws BusinessException {
 		// TODO Auto-generated method stub
+		//当前会计期间已经 全部审批,不允许提交 
+		StringBuffer dataBufall = new StringBuffer();
+		dataBufall.append(" select pk_wa_data from wa_data");
+		dataBufall.append(" where checkflag = 'N'");
+		dataBufall.append(" and pk_wa_class in ( ");
+		dataBufall.append(pk_wa_class_buf.substring(0, pk_wa_class_buf.length()-1));
+		dataBufall.append(" )");
+		dataBufall.append(" and cyearperiod in ( ");
+		dataBufall.append(cyearperiodbuf.substring(0, cyearperiodbuf.length()-1));
+		dataBufall.append(" )");
+		dataBufall.append(" and nvl(dr,0)=0");
+		
+		List<Map<String, Object>> alldatalist = (List<Map<String, Object>>)getNcDAO().executeQuery(dataBufall.toString(), new MapListProcessor());
+		if(CollectionUtils.isEmpty(alldatalist))
+			ExceptionUtils.wrappBusinessException("薪资发放节点数据已全部审核,不允许提交");
+		
+		//当前会计期间未全部审批,只要对应的数据审批,就可以提交 
 		StringBuffer dataBuf = new StringBuffer();
 		dataBuf.append(" select pk_wa_data from wa_data");
 		dataBuf.append(" where checkflag = 'Y'");
-		dataBuf.append(" and pk_wa_data in ( ");
-		dataBuf.append(pk_psndoc_buf.substring(0, pk_psndoc_buf.length()-1));
-		dataBuf.append(" ) and nvl(dr,0)=0");
+		dataBuf.append(" and pk_wa_class in ( ");
+		dataBuf.append(pk_wa_class_buf.substring(0, pk_wa_class_buf.length()-1));
+		dataBuf.append(" )");
+		dataBuf.append(" and cyearperiod in ( ");
+		dataBuf.append(cyearperiodbuf.substring(0, cyearperiodbuf.length()-1));
+		dataBuf.append(" )");
+		dataBuf.append(" and nvl(dr,0)=0");
 		
 		List<Map<String, Object>> dataList = (List<Map<String, Object>>)getNcDAO().executeQuery(dataBuf.toString(), new MapListProcessor());
 		if(dataList!=null && dataList.size()>0){
 			StringBuffer retbuf = new StringBuffer();
-			retbuf.append("薪资发放节点数据已审核,不允许提交: ");
-			for(int i=0;i<dataList.size();i++){
-				retbuf.append(psndocMap.get(dataList.get(i).get("pk_wa_data")));
-				retbuf.append(" ");
-			}
+			retbuf.append("薪资发放节点数据已审核,不允许提交");
+//			for(int i=0;i<dataList.size();i++){
+//				retbuf.append(psndocMap.get(dataList.get(i).get("pk_wa_data")));
+//				retbuf.append(" ");
+//			}
 			ExceptionUtils.wrappBusinessException( retbuf.toString());
 		}
 		
@@ -132,30 +154,51 @@ public class WadataexplainServiceImpl extends BatchBaseService<Wadataexplain>
 	}
 
 	@Override
-	public List<Wadataexplain> batchUncommit(StringBuffer pk_psndoc_buf, StringBuffer pk_buf, HashMap<String, String> psndocMap)
+	public List<Wadataexplain> batchUncommit(StringBuffer pk_wa_class_buf, StringBuffer pk_buf, HashMap<String, String> psndocMap,StringBuffer cyearperiodbuf)
 			throws BusinessException {
 		// TODO Auto-generated method stub
+		//当前会计期间已经 全部审批,不允许提交 
+		StringBuffer dataBufall = new StringBuffer();
+		dataBufall.append(" select pk_wa_data from wa_data");
+		dataBufall.append(" where checkflag = 'N'");
+		dataBufall.append(" and pk_wa_class in ( ");
+		dataBufall.append(pk_wa_class_buf.substring(0, pk_wa_class_buf.length()-1));
+		dataBufall.append(" )");
+		dataBufall.append(" and cyearperiod in ( ");
+		dataBufall.append(cyearperiodbuf.substring(0, cyearperiodbuf.length()-1));
+		dataBufall.append(" )");
+		dataBufall.append(" and nvl(dr,0)=0");
+		
+		List<Map<String, Object>> alldatalist = (List<Map<String, Object>>)getNcDAO().executeQuery(dataBufall.toString(), new MapListProcessor());
+		if(CollectionUtils.isEmpty(alldatalist))
+			ExceptionUtils.wrappBusinessException("薪资发放节点数据已全部审核,不允许收回");
+		
 		StringBuffer dataBuf = new StringBuffer();
 		dataBuf.append(" select pk_wa_data from wa_data");
 		dataBuf.append(" where checkflag = 'Y'");
-		dataBuf.append(" and pk_wa_data in ( ");
-		dataBuf.append(pk_psndoc_buf.substring(0, pk_psndoc_buf.length()-1));
-		dataBuf.append(" ) and nvl(dr,0)=0");
+		dataBuf.append(" and pk_wa_class in ( ");
+		dataBuf.append(pk_wa_class_buf.substring(0, pk_wa_class_buf.length()-1));
+		dataBuf.append(" )");
+		dataBuf.append(" and cyearperiod in ( ");
+		dataBuf.append(cyearperiodbuf.substring(0, cyearperiodbuf.length()-1));
+		dataBuf.append(" )");
+		dataBuf.append(" and nvl(dr,0)=0");
+		
 		
 		List<Map<String, Object>> dataList = (List<Map<String, Object>>)getNcDAO().executeQuery(dataBuf.toString(), new MapListProcessor());
 		if(dataList!=null && dataList.size()>0){
 			StringBuffer retbuf = new StringBuffer();
-			retbuf.append("薪资发放节点数据已审核,不允许收回: ");
-			for(int i=0;i<dataList.size();i++){
-				retbuf.append(psndocMap.get(dataList.get(i).get("pk_wa_data")));
-				retbuf.append(" ");
-			}
+			retbuf.append("薪资发放节点数据已审核,不允许收回 ");
+//			for(int i=0;i<dataList.size();i++){
+//				retbuf.append(psndocMap.get(dataList.get(i).get("pk_wa_data")));
+//				retbuf.append(" ");
+//			}
 			ExceptionUtils.wrappBusinessException( retbuf.toString());
 		}
 		
 		StringBuffer updatesql = new StringBuffer();
 		updatesql.append(" update wa_data_explain");
-		updatesql.append(" set iscommit = 'N'");
+		updatesql.append(" set iscommit = 'N' ,isquote = 'N' " );
 		updatesql.append(" where pk_wa_data_explain in ( ");
 		updatesql.append(pk_buf.substring(0, pk_buf.length()-1));
 		updatesql.append(" )");

+ 2 - 2
hrwa/src/public/nccloud/itf/bd/wadataexplain/IWadataexplainService.java

@@ -39,7 +39,7 @@ public interface IWadataexplainService {
      * @return
      * @throws BusinessException
      */
-	public List<Wadataexplain>  batchCommit(StringBuffer pk_psndoc_buf,StringBuffer pk_buf,HashMap<String,String> psndocMap) throws BusinessException;
+	public List<Wadataexplain>  batchCommit(StringBuffer pk_wa_class_buf,StringBuffer pk_buf,HashMap<String,String> psndocMap,StringBuffer cyearperiodbuf) throws BusinessException;
 	
 	
 	/**
@@ -50,6 +50,6 @@ public interface IWadataexplainService {
 	 * @return
 	 * @throws BusinessException
 	 */
-	public List<Wadataexplain> batchUncommit(StringBuffer pk_psndoc_buf,StringBuffer pk_buf,HashMap<String,String> psndocMap) throws BusinessException;
+	public List<Wadataexplain> batchUncommit(StringBuffer pk_psndoc_buf,StringBuffer pk_buf,HashMap<String,String> psndocMap,StringBuffer cyearperiodbuf) throws BusinessException;
 
 }