编码改完GBK
This commit is contained in:
		
							parent
							
								
									6c01f422a0
								
							
						
					
					
						commit
						0c2a41c678
					
				|  | @ -26,30 +26,30 @@ public class SetAnalysisBP { | |||
| 			addBeforeRule(); | ||||
| 			SaLogger.init(); | ||||
| 			UFDateTime tstarttime1 = new UFDateTime(); | ||||
| 			SaLogger.debug("0.分析开始^^^^^^^^^^^^^^^^^^^^^^^^^^"); | ||||
| 			SaLogger.debug("0.分析开始^^^^^^^^^^^^^^^^^^^^^^^^^^"); | ||||
| 
 | ||||
| 			createMd5Function(); | ||||
| 
 | ||||
| 			UFDateTime tstarttime2 = new UFDateTime(); | ||||
| 			SaLogger.debug("1.收集数据"); | ||||
| 			SaLogger.debug("1.收集数据"); | ||||
| 			SaMemoryBP.printMemory(); | ||||
| 			SaServiceProxy.getAnalysisService().gather_RequiresNew(this.context); | ||||
| 			SaLogger.debug("数据收集共耗时:" + SaLogger.getRunTime(tstarttime2)); | ||||
| 			SaLogger.debug("数据收集共耗时:" + SaLogger.getRunTime(tstarttime2)); | ||||
| 
 | ||||
| 			UFDateTime tstarttime3 = new UFDateTime(); | ||||
| 			SaLogger.debug("2.执行匹配开始"); | ||||
| 			SaLogger.debug("2.执行匹配开始"); | ||||
| 			SaServiceProxy.getAnalysisService().match_RequiresNew(this.context); | ||||
| 			SaLogger.debug("匹配共耗时:" + SaLogger.getRunTime(tstarttime3)); | ||||
| 			SaLogger.debug("匹配共耗时:" + SaLogger.getRunTime(tstarttime3)); | ||||
| 
 | ||||
| 			UFDateTime tstarttime4 = new UFDateTime(); | ||||
| 			SaLogger.debug("3.反算齐套开始"); | ||||
| 			SaLogger.debug("3.反算齐套开始"); | ||||
| 			SaServiceProxy.getAnalysisService().multiStorey_RequiresNew(this.context); | ||||
| 			SaLogger.debug("反算齐套结束,共耗时:" + SaLogger.getRunTime(tstarttime4)); | ||||
| 			SaLogger.debug("反算齐套结束,共耗时:" + SaLogger.getRunTime(tstarttime4)); | ||||
| 			SaMemoryBP.printMemory(); | ||||
| 			this.result(this.context.getAggs()); | ||||
| 			//分析后调用回写,齐套率计算方式已调整,此处不用,注释analysisAfterCheckRule | ||||
| 			// 分析后调用回写,齐套率计算方式已调整,此处不用,注释analysisAfterCheckRule | ||||
| 			// this.analysisAfterCheckRule(); | ||||
| 			SaLogger.debug("齐套分析算法结束,共耗时:" + SaLogger.getRunTime(tstarttime1)); | ||||
| 			SaLogger.debug("齐套分析算法结束,共耗时:" + SaLogger.getRunTime(tstarttime1)); | ||||
| 			return this.context.getAggs(); | ||||
| 		} catch (BusinessException e) { | ||||
| 			ExceptionUtils.wrappException(e); | ||||
|  | @ -77,7 +77,7 @@ public class SetAnalysisBP { | |||
| 	} | ||||
| 
 | ||||
| 	private void addBeforeRule() { | ||||
| 		 | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	private void analysisAfterCheckRule() { | ||||
|  |  | |||
|  | @ -39,8 +39,8 @@ import nc.vo.pubapp.pattern.pub.MathTool; | |||
| import nccloud.baseapp.core.log.NCCForUAPLogger; | ||||
| 
 | ||||
| /** | ||||
|  * 齐套率回写流程生产订单 | ||||
|  * 2005适配2312 | ||||
|  * 齐套率回写流程生产订单 | ||||
|  * 2005适配2312 | ||||
|  * | ||||
|  * @author mzr | ||||
|  * @date 2025/3/26 | ||||
|  | @ -55,7 +55,7 @@ public class SaMultiStoreyBP { | |||
|     private SaAlgorithmBP algorithm; | ||||
| 
 | ||||
|     public SaMultiStoreyBP(SaContext sc) { | ||||
|         SaLogger.debug("3.1.反算齐套初始化开始"); | ||||
|         SaLogger.debug("3.1.反算齐套初始化开始"); | ||||
|         this.algorithm = new SaAlgorithmBP(); | ||||
|         this.setSc(sc); | ||||
|         List<SaDemandVO> sdList = SaVOUtils.getDemandList(sc.getSdVO()); | ||||
|  | @ -73,7 +73,7 @@ public class SaMultiStoreyBP { | |||
|     } | ||||
| 
 | ||||
|     public void doMultiStorey() { | ||||
|         SaLogger.debug("3.2.反算齐套开始计算"); | ||||
|         SaLogger.debug("3.2.反算齐套开始计算"); | ||||
|         if (!MMValueCheck.isEmpty(this.demand)) { | ||||
|             for(int curLevel = this.maxLevel; curLevel > 0; --curLevel) { | ||||
|                 List<SaDemandVO> sdList = this.demand.get(Integer.toString(curLevel)); | ||||
|  | @ -83,7 +83,7 @@ public class SaMultiStoreyBP { | |||
|                     } | ||||
| 
 | ||||
|                     this.setDemandForAnalysis(sdList, Integer.toString(curLevel)); | ||||
|                     SaLogger.debug("3.3.反算齐套层码" + Integer.toString(curLevel)); | ||||
|                     SaLogger.debug("3.3.反算齐套层码" + Integer.toString(curLevel)); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | @ -156,7 +156,7 @@ public class SaMultiStoreyBP { | |||
|                     List<SaDemandVO> demandList = (List)entry.getValue(); | ||||
|                     if (((SaDemandVO)demandList.get(0)).getFmatchtype().equals(SaMatchType.PD.toIntValue()) && ((SaDemandVO)demandList.get(0)).getFdemandtype().equals(SaDemandType.NR.toIntValue())) { | ||||
|                         nsetsnum = this.algorithm.minDemand((SaDemandVO[])demandList.toArray(new SaDemandVO[0])); | ||||
|                         // 设置物料的总行数、满足齐套的物料的行数 | ||||
|                         // 设置物料的总行数、满足齐套的物料的行数 | ||||
|                         nsetsnum.setGoodsnum(new UFDouble(sdList.size())); | ||||
|                         nsetsnum.setPass_goodsnum(new UFDouble(num)); | ||||
|                         this.setRewriteNmaterialnum(key, nsetsnum, false); | ||||
|  | @ -170,7 +170,7 @@ public class SaMultiStoreyBP { | |||
|                     List<SaDemandVO> demandList = (List)entry.getValue(); | ||||
|                     if (!((SaDemandVO)demandList.get(0)).getFdemandtype().equals(SaDemandType.NR.toIntValue()) && demandList.size() > 0) { | ||||
|                         nsetsnum = this.algorithm.minDemand((SaDemandVO[])demandList.toArray(new SaDemandVO[0])); | ||||
|                         // 设置物料的总行数、满足齐套的物料的行数 | ||||
|                         // 设置物料的总行数、满足齐套的物料的行数 | ||||
|                         nsetsnum.setGoodsnum(new UFDouble(sdList.size())); | ||||
|                         nsetsnum.setPass_goodsnum(new UFDouble(num)); | ||||
|                         this.setRewriteNmaterialnum(key, nsetsnum, true); | ||||
|  | @ -197,15 +197,15 @@ public class SaMultiStoreyBP { | |||
|                         SaAnalysisVO analysis = agg.getParentVO(); | ||||
|                         analysis.setNsetsnum(MMNumberUtil.add(new UFDouble[]{nsetsnum.getNsetsnum(), nsetsnum.getNreplacesetsnum()})); | ||||
|                         if (isUpdateMatch) { | ||||
|                             // 流程生产订单表体主键 | ||||
|                             // 流程生产订单表体主键 | ||||
|                             String cdemandbillbid = analysis.getCdemandbillbid(); | ||||
|                             // 物料的总行数 | ||||
|                             // 物料的总行数 | ||||
|                             UFDouble goodsnum = nsetsnum.getGoodsnum().setScale(2, UFDouble.ROUND_HALF_UP); | ||||
|                             // 满足齐套的物料的行数 | ||||
|                             // 满足齐套的物料的行数 | ||||
|                             UFDouble pass_goodsnum = nsetsnum.getPass_goodsnum().setScale(2, UFDouble.ROUND_HALF_UP); | ||||
|                             // 齐套率计算=满足的/总数量 | ||||
|                             // 齐套率计算=满足的/总数量 | ||||
|                             UFDouble rate = pass_goodsnum.div(goodsnum, 2, UFDouble.ROUND_HALF_UP); | ||||
|                             // 修改流程生产订单的齐套率、物料的总行数、满足齐套的物料的行数 | ||||
|                             // 修改流程生产订单的齐套率、物料的总行数、满足齐套的物料的行数 | ||||
|                             String sql = String.format("update mm_mo set vdef12 = '%s',vdef11 = '%s',vdef4 = '%s' where cmoid = '%s'", | ||||
|                                     goodsnum, pass_goodsnum, rate.toString(), cdemandbillbid); | ||||
|                             updateDef4(sql); | ||||
|  | @ -247,14 +247,14 @@ public class SaMultiStoreyBP { | |||
|         SaDemandInsertBP sdi = new SaDemandInsertBP(); | ||||
|         List<SaDemandVO> sdList = SaVOUtils.getDemandList(this.demand); | ||||
|         if (!MMValueCheck.isEmpty(sdList)) { | ||||
|             SaLogger.debug("3.4.反算持久化(相关需求,分析对象)" + sdList.size()); | ||||
|             SaLogger.debug("3.4.反算持久化(相关需求,分析对象)" + sdList.size()); | ||||
|             sdi.insertDemand((SaDemandVO[])sdList.toArray(new SaDemandVO[0]), this.sc); | ||||
|             SaAnalysisVO[] sas = SaVOUtils.construcVOs(this.getSc().getAggs()); | ||||
|             SaMeasureUtil.setAnalysisNum(sas); | ||||
|             VOUpdate<SaAnalysisVO> voup = new VOUpdate(); | ||||
|             voup.update(sas, new String[]{"nsetsnum", "nremainnum", "nsetsasnum", "nassremainnum"}); | ||||
|             this.updateMatch(); | ||||
|             SaLogger.debug("3.5.反算持久化结束"); | ||||
|             SaLogger.debug("3.5.反算持久化结束"); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,38 +8,35 @@ import nc.vo.pub.BusinessException; | |||
| 
 | ||||
| public class analysisAfterCheckRule implements IRule<AggAnalysisVO> { | ||||
| 
 | ||||
|     @Override | ||||
|     public void process(AggAnalysisVO[] aggAnalysisVOS) { | ||||
|         try { | ||||
|             for (AggAnalysisVO vo : aggAnalysisVOS) { | ||||
|                 SaAnalysisVO saAnalysisVO = vo.getParentVO(); | ||||
|                 String cdemandbillbid = saAnalysisVO.getCdemandbillbid();//需求单据明细nsetsnum | ||||
|                 Object ntotaloutnumsObj = saAnalysisVO.getNsetsnum();//齐套主数量ndemandnum | ||||
|                 String ntotaloutnums = (ntotaloutnumsObj != null) ? ntotaloutnumsObj.toString() : ""; | ||||
|                 double ntotaloutnum = | ||||
|                         (ntotaloutnums.isEmpty()) ? 0 : Double.parseDouble(ntotaloutnums);//齐套主数量 | ||||
|                 Object ndemandnumObj = saAnalysisVO.getNdemandnum();//分析主数量 | ||||
|                 String ndemandnums = (ndemandnumObj != null) ? ndemandnumObj.toString() : ""; | ||||
|                 double ndemandnum = | ||||
|                         (ndemandnums.isEmpty()) ? 0 : Double.parseDouble(ndemandnums);//分析数量 | ||||
|                 double vdef4 = 0; | ||||
|                 if (ndemandnum != 0) { | ||||
|                     vdef4 = ntotaloutnum / ndemandnum; | ||||
|                 } | ||||
|                 String update = | ||||
|                         " update mm_mo set vdef6=" + ntotaloutnum + ",vdef4=" + vdef4 + " where cmoid='" | ||||
|                                 + cdemandbillbid + "' "; | ||||
|                 updateSaleBSQty(update); | ||||
|             } | ||||
|         } catch (BusinessException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|     } | ||||
| 	@Override | ||||
| 	public void process(AggAnalysisVO[] aggAnalysisVOS) { | ||||
| 		try { | ||||
| 			for (AggAnalysisVO vo : aggAnalysisVOS) { | ||||
| 				SaAnalysisVO saAnalysisVO = vo.getParentVO(); | ||||
| 				String cdemandbillbid = saAnalysisVO.getCdemandbillbid();// 需求单据明细nsetsnum | ||||
| 				Object ntotaloutnumsObj = saAnalysisVO.getNsetsnum();// 齐套主数量ndemandnum | ||||
| 				String ntotaloutnums = (ntotaloutnumsObj != null) ? ntotaloutnumsObj.toString() : ""; | ||||
| 				double ntotaloutnum = (ntotaloutnums.isEmpty()) ? 0 : Double.parseDouble(ntotaloutnums);// 齐套主数量 | ||||
| 				Object ndemandnumObj = saAnalysisVO.getNdemandnum();// 分析主数量 | ||||
| 				String ndemandnums = (ndemandnumObj != null) ? ndemandnumObj.toString() : ""; | ||||
| 				double ndemandnum = (ndemandnums.isEmpty()) ? 0 : Double.parseDouble(ndemandnums);// 分析数量 | ||||
| 				double vdef4 = 0; | ||||
| 				if (ndemandnum != 0) { | ||||
| 					vdef4 = ntotaloutnum / ndemandnum; | ||||
| 				} | ||||
| 				String update = " update mm_mo set vdef6=" + ntotaloutnum + ",vdef4=" + vdef4 + " where cmoid='" | ||||
| 						+ cdemandbillbid + "' "; | ||||
| 				updateSaleBSQty(update); | ||||
| 			} | ||||
| 		} catch (BusinessException e) { | ||||
| 			throw new RuntimeException(e); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|     private int updateSaleBSQty(String sql) throws BusinessException { | ||||
|         BaseDAO baseDAO = new BaseDAO(); | ||||
|         int succInt = baseDAO.executeUpdate(sql); | ||||
|         return succInt; | ||||
|     } | ||||
| 	private int updateSaleBSQty(String sql) throws BusinessException { | ||||
| 		BaseDAO baseDAO = new BaseDAO(); | ||||
| 		int succInt = baseDAO.executeUpdate(sql); | ||||
| 		return succInt; | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue