Browse Source

点检率更新

yuanzhi_kuang 1 week ago
parent
commit
d562be0a0d

+ 19 - 93
websrc/com/kingdee/shr/compensation/web/handler/timepiece/bill/TimepieceSchemeBillEditHandlerEx.java

@@ -93,7 +93,11 @@ public class TimepieceSchemeBillEditHandlerEx extends TimepieceSchemeBillEditHan
 			billId = info.getId().toString();
 		}
 		//拉取mes点检率数据
-		exeDataOnDay( request,billId,entry);
+		try {
+			exeDataOnDay( request,billId,entry);
+		} catch (BOSException e) {
+			e.printStackTrace();
+		}
 		//先重置点检率标识
 		SubmitShemeUtils.reductionInspectionRate( ctx, info);
 		//更新点检率数据
@@ -111,8 +115,9 @@ public class TimepieceSchemeBillEditHandlerEx extends TimepieceSchemeBillEditHan
 	 * @param billId
 	 * @param entrys
 	 * @throws SHRWebException
+	 * @throws BOSException 
 	 */
-	public void exeDataOnDay(HttpServletRequest request,String billId,BatchSubmitShemeBillEntryCollection entrys) throws SHRWebException {
+	public void exeDataOnDay(HttpServletRequest request,String billId,BatchSubmitShemeBillEntryCollection entrys) throws SHRWebException, BOSException {
 		Context ctx = SHRContext.getInstance().getContext();
 		Map<String, Set<String>> personDateMap = new HashMap<>();
 		//
@@ -148,7 +153,7 @@ public class TimepieceSchemeBillEditHandlerEx extends TimepieceSchemeBillEditHan
 		//校验完后进行mes数据填充;
 		//获取mes数据
 		HashMap<String, HashMap> mesData = SubmitShemeUtils.getMesData( ctx, selectPerson, dateRange);
-		SubmitShemeUtils.setMesData( request, entrys, mesData);
+		SubmitShemeUtils.setMesData(ctx, request, entrys, mesData);
 	}
 
 
@@ -309,39 +314,7 @@ public class TimepieceSchemeBillEditHandlerEx extends TimepieceSchemeBillEditHan
 	 
 
 
-//	public void getDataOnDay(String billId,BatchSubmitShemeBillEntryCollection entrys) throws SHRWebException {
-//		Context ctx = SHRContext.getInstance().getContext();
-//		Map<String, Set<String>> personDateMap = new HashMap<>();
-//		//
-//		HashSet<String> selectPerson = new HashSet();
-//		HashSet<String> selectDate = new HashSet();
-//		for (int i = 0; i < entrys.size(); i++) {
-//			BatchSubmitShemeBillEntryInfo entry = entrys.get(i);
-//			String personId = entry.getPerson().getId().toString();
-//			selectPerson.add(personId);
-//			Date effectDate = entry.getEffectDate();
-//
-//			String formattedEffectDate = SDF.format(effectDate);
-//			selectDate.add(formattedEffectDate);
-//			// 使用 computeIfAbsent 减少冗余代码,并增加重复检查
-//			personDateMap.computeIfAbsent(personId, k -> new HashSet<>());
-//			if (!personDateMap.get(personId).add(formattedEffectDate)) {
-//				// 如果 add 方法返回 false,说明该日期已经存在,抛出异常
-//				throw new IllegalArgumentException("分录中" + entry.getPerson().getName() + ",有当日重复提报的数据,请检查");
-//			}
-//		}
-//
-//		if (personDateMap.isEmpty()) {
-//			return;
-//		}
-//		// 找出最大日期与最小日期
-//		DateRange dateRange = findMinMaxDate(selectDate);
-//		//校验重复
-//		verifiOneData(ctx, billId, selectPerson, dateRange, personDateMap);
-//		//获取mes数据
-//		HashMap<String, HashMap> mesData = getMesData(ctx, selectPerson, dateRange);
-//		setMesData(ctx, billId, entrys, mesData);
-//	}
+ 
 
 
 	public String saveAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap)
@@ -375,35 +348,27 @@ public class TimepieceSchemeBillEditHandlerEx extends TimepieceSchemeBillEditHan
 	 */
 	public String getFieldRemarkAction(HttpServletRequest request, 
 			HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
-
-		String checkNum = request.getParameter("checkNum");
-		String booleanNum = request.getParameter("booleanNum");
-	    List<String>  list = new ArrayList();
-		if(checkNum!= null &&!checkNum.isEmpty()){
-			list.add(checkNum);
-		}
-		if(booleanNum!= null &&!booleanNum.isEmpty()){
-			list.add(booleanNum);
-		}
-		String str = ToolUtils.aryToStr(list, true);
+		String fieldStr = request.getParameter("fieldArr");
 		Context ctx = SHRContext.getInstance().getContext();
+	 
+	 
+		if(fieldStr!= null &&!fieldStr.isEmpty()){
+			String[] split = fieldStr.split(",");
+		 
 			try {
 				CalSubmitItemCollection subColl = CalSubmitItemFactory.getLocalInstance(ctx)
-					.getCalSubmitItemCollection("SELECT ID,FieldSn,number  where  number in ("+str+")");
+						.getCalSubmitItemCollection("SELECT ID,FieldSn,number  where  number in ("+ToolUtils.aryToStr(split)+")");
 				for(int i = 0;i<subColl.size();i++){
 					CalSubmitItemInfo calSubmitItemInfo = subColl.get(i);
 					int fieldSn = calSubmitItemInfo.getFieldSn();
 					String number = calSubmitItemInfo.getNumber();
 					String field = "S"+fieldSn ;
-				 	if(StringUtils.equals(checkNum,number)) {
-						modelMap.put("checkNum", field );
-					}else if(StringUtils.equals(booleanNum,number)){
-						modelMap.put("booleanNum", field );
-					 }
+					modelMap.put(number, field);
 				}
 			} catch (BOSException e) {
 				throw new RuntimeException(e);
 			}
+		}
 			JSONUtils.writeJson(response, modelMap);
 			return null;
 		}
@@ -411,44 +376,5 @@ public class TimepieceSchemeBillEditHandlerEx extends TimepieceSchemeBillEditHan
 
 	
 
-//	/**
-//	 * 删除单据
-//	 */
-//	@Override
-//	public String deleteAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
-//		String returnStr = super.deleteAction(request, response, modelMap);
-//		reductionAllInsRate(request);
-//		return  returnStr ;
-//	}
-
-
-//	/**
-//	 * 重置所有点检率
-//	 * @param request
-//	 * @throws SHRWebException
-//	 */
-//	private void  reductionAllInsRate (HttpServletRequest request) throws SHRWebException {
-//		String billId = getBillId(request);
-//		String[] ids = billId.split(",");
-//        //ids转为list集合
-//        List<String> idList = Arrays.asList(ids);
-//
-//        Context ctx = SHRContext.getInstance().getContext();
-//        FilterInfo filter = new FilterInfo();
-//        filter.getFilterItems().add(new FilterItemInfo("id", ToolUtils.aryToStr(idList,false), CompareType.INCLUDE));
-//		EntityViewInfo viewInfo = new EntityViewInfo( ) ;
-//		viewInfo.setFilter(filter);
-//		SelectorItemCollection selector = viewInfo.getSelector();
-//		selector.add(new SelectorItemInfo("number"));
-//		try {
-//			IBatchSubmitShemeBill subIns = BatchSubmitShemeBillFactory.getLocalInstance(ctx);
-//			BatchSubmitShemeBillCollection   subCol =  subIns.getBatchSubmitShemeBillCollection(viewInfo);
-//			for(int i = 0;i<subCol.size();i++){
-//				BatchSubmitShemeBillInfo subInfo = subCol.get(i);
-//				SubmitShemeUtils.reductionInspectionRate(ctx, subInfo);
-//			}
-//		} catch (BOSException e) {
-//			throw new RuntimeException(e);
-//		}
-//	}
+