瀏覽代碼

取消数据校正中的折算系数设置,用能用水汇总,同比数据保留指定位数

chenwen 3 年之前
父節點
當前提交
d674cc1329

+ 9 - 2
src/main/java/com/hb/proj/car/controller/EnergyWaterSumController.java

@@ -49,6 +49,7 @@ public class EnergyWaterSumController {
 	/**
 	 * 各月水电气=上报数据+当月校正数据=数据校正中的水电气统计中的总合计
 	 * 各月汽油、柴油=部门上报的数据(t_other_consume)+当月数据校正+物资ERP填报当月数据=数据校正中表二中的当月数据
+	 * workload,发电机 年累同比按同期月份计算(即是当年按实际月份累计同比)
 	 * @param year
 	 * @param request
 	 * @param response
@@ -56,9 +57,15 @@ public class EnergyWaterSumController {
 	@RequestMapping("/rptEnergyWaterSum")
 	public void rptEnergyWaterSum(String year,HttpServletRequest request,HttpServletResponse response){
 		try{
+			int endMonth=12;
+			Calendar ca=Calendar.getInstance();
+			
 			if(StringUtils.isEmpty(year)){
-				Calendar ca=Calendar.getInstance();
 				year=String.valueOf(ca.get(Calendar.YEAR));
+				endMonth=ca.get(Calendar.MONTH)+1;  //是当年的话,截至到实际月份
+			}
+			else if(Integer.parseInt(year)==ca.get(Calendar.YEAR)){
+				endMonth=ca.get(Calendar.MONTH)+1; 
 			}
 			List<Map<String,Object>>  mths=new ArrayList<Map<String,Object>>(12);
 			
@@ -70,7 +77,7 @@ public class EnergyWaterSumController {
 			}
 			String preyear=String.valueOf(Integer.parseInt(year)-1);
 			
-			EnergyWaterSumTotalVal  totalVal=new EnergyWaterSumTotalVal(),pretotalVal=new EnergyWaterSumTotalVal();
+			EnergyWaterSumTotalVal  totalVal=new EnergyWaterSumTotalVal(endMonth),pretotalVal=new EnergyWaterSumTotalVal(endMonth);
 			
 			Map<String,EnergyWaterSumVO> voIndex=EnergyWaterSumVOUtil.build(service.erpMonthGrp(year), service.otherMonthGrp(year), service.wpgSumRpt(year), service.wpgCorrectSumRpt(year), service.workloadSumRpt(year),service.carOilSumRpt(year),totalVal);
 			Map<String,EnergyWaterSumVO> preVoIndex=EnergyWaterSumVOUtil.build(service.erpMonthGrp(preyear), service.otherMonthGrp(preyear), service.wpgSumRpt(preyear), service.wpgCorrectSumRpt(preyear), service.workloadSumRpt(preyear),service.carOilSumRpt(preyear),pretotalVal);

+ 6 - 11
src/main/java/com/hb/proj/car/controller/MaterialERPController.java

@@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
-import com.hb.proj.car.quota.QuotaConfig;
 import com.hb.proj.car.quota.QuotaStandardSupport;
 import com.hb.proj.car.service.MaterialERPService;
 import com.hb.proj.car.service.YearSumCompareService;
@@ -22,14 +21,10 @@ import com.hb.proj.model.ERP;
 import com.hb.proj.model.OtherConsume;
 import com.hb.proj.model.WorkloadPO;
 import com.hb.proj.model.WpgCorrect;
-import com.hb.proj.utils.DataUtils;
 import com.hb.proj.utils.JsonOutUtils;
 import com.hb.proj.utils.MySessionUser;
 import com.hb.proj.utils.RptOuter;
-import com.hb.proj.utils.WebConfig;
-import com.hb.xframework.util.ApplicationContextUtils;
 import com.hb.xframework.util.DateUtil;
-import com.hb.xframework.util.JsonParamHandler;
 import com.hb.xframework.util.SessionThreadLocal;
 
 @Controller
@@ -149,10 +144,10 @@ public class MaterialERPController {
 		}
 		MySessionUser su=(MySessionUser)SessionThreadLocal.getSessionUser();
 		//物资erp数据
-		Map<String,Object> erpObj=JsonParamHandler.getMapParam(erp);
-		String oilRatio=(String)erpObj.remove("oilRatio");
+		//Map<String,Object> erpObj=JsonParamHandler.getMapParam(erp);
+		/*String oilRatio=(String)erpObj.remove("oilRatio");
 		String oilRatio95=(String)erpObj.remove("oilRatio95");
-		String coilRatio=(String)erpObj.remove("coilRatio");
+		String coilRatio=(String)erpObj.remove("coilRatio");*/
 		
 		ERP  erpPO=JSON.parseObject(erp,new TypeReference<ERP>() {});
 		erpPO.setRptMonth(DateUtil.parse(rptMonth+"-01"));
@@ -173,15 +168,15 @@ public class MaterialERPController {
 		service.saveWorkload(wkload);
 		
 		
-		//燃油折算系数(在此模块中也提供了燃油折算系数的设置功能)
-		if(DataUtils.isDouble(oilRatio)&&DataUtils.isDouble(oilRatio95)&&DataUtils.isDouble(coilRatio)){
+		//燃油折算系数(在此模块中也提供了燃油折算系数的设置功能) 2022.4.29 取消此处的折算系统设置
+		/*if(DataUtils.isDouble(oilRatio)&&DataUtils.isDouble(oilRatio95)&&DataUtils.isDouble(coilRatio)){
 			QuotaConfig config=QuotaStandardSupport.getConfig();
 			config.setOilRatio(Double.parseDouble(oilRatio));
 			config.setOilRatio95(Double.parseDouble(oilRatio95));
 			config.setCoilRatio(Double.parseDouble(coilRatio));
 			WebConfig  webConfig=ApplicationContextUtils.getBean("webConfig", WebConfig.class);
 			webConfig.save(config);
-		}
+		}*/
 		
 		//add 2020.12.17检查物资ERp汽、柴油吨数和ERP昆仑卡汇总表当月合计数据的差额,并提示到前端
 		String msg="";

+ 20 - 0
src/main/java/com/hb/proj/model/EnergyWaterSumTotalVal.java

@@ -25,6 +25,16 @@ public class EnergyWaterSumTotalVal {
 	
 	private Double engineCostCompared; //发电机油耗同比
 	
+	private int endMonth; //截至月份
+	
+	public EnergyWaterSumTotalVal(){
+		
+	}
+	
+	
+	public EnergyWaterSumTotalVal(int endMonth){
+		this.endMonth=endMonth;
+	}
 	
 	public void caculateCompare(EnergyWaterSumTotalVal preval){
 		if(preval==null){
@@ -113,4 +123,14 @@ public class EnergyWaterSumTotalVal {
 		}
 		return DataUtils.format(addedValueCompared*100, 2)+"%";
 	}
+
+
+	public int getEndMonth() {
+		return endMonth;
+	}
+
+
+	public void setEndMonth(int endMonth) {
+		this.endMonth = endMonth;
+	}
 }

+ 12 - 5
src/main/java/com/hb/proj/model/EnergyWaterSumVOUtil.java

@@ -114,14 +114,18 @@ public class EnergyWaterSumVOUtil {
 		Map<String,Workload> monthWorkloads=new HashMap<String,Workload>(workloads.size()); //工作量
 		
 		double total1=0,total2=0;
-		int total3=0;
+		int total3=0,endMonth=totalVal!=null?totalVal.getEndMonth():0;
 		
 		for(Workload wk : workloads){
 			month=DateUtil.format(wk.getRptMonth(), "MM");
 			monthWorkloads.put(month, wk);
-			total3+=wk.getWellCount()!=null?wk.getWellCount().intValue():0;
-			total1+=wk.getIndustryValue()!=null?wk.getIndustryValue().doubleValue():0;
-			total2+=wk.getAddedValue()!=null?wk.getAddedValue().doubleValue():0;
+			
+			if(endMonth>=Integer.parseInt(month)){  //只累计截至月份以内的
+				total3+=wk.getWellCount()!=null?wk.getWellCount().intValue():0;
+				total1+=wk.getIndustryValue()!=null?wk.getIndustryValue().doubleValue():0;
+				total2+=wk.getAddedValue()!=null?wk.getAddedValue().doubleValue():0;
+			}
+			
 		}
 		
 		if(totalVal!=null){
@@ -138,7 +142,10 @@ public class EnergyWaterSumVOUtil {
 			for(CarConsume carCon : carConsumes){
 				month=DateUtil.format(carCon.getRptDate(), "MM");
 				monthCarConsume.put(month, carCon);
-				total1+=carCon.getEngineCostKg()!=null?carCon.getEngineCostKg().doubleValue():0;
+				if(endMonth>=Integer.parseInt(month)){  //只累计截至月份以内的
+					total1+=carCon.getEngineCostKg()!=null?carCon.getEngineCostKg().doubleValue():0;
+				}
+				
 			}
 			
 			if(totalVal!=null){