Selaa lähdekoodia

年初始化计划用水量调整以及部分考核计划用水量修改

liuhj 4 vuotta sitten
vanhempi
commit
9cd2e97514

+ 1 - 4
WebContent/WEB-INF/view/bus/org-init-create.jsp

@@ -44,10 +44,6 @@
 						<input type="text" class="date" readonly="readonly"
 						dateFmt="yyyy-MM" datatype="*" id="endTime" name="endTime" /></td>
 				</tr>
-				<tr>
-					<td><span class="star">*</span>增长百分比值:</td>
-					<td><input type="text" name="initValue" value="5" datatype="n" />&nbsp;%</td>
-				</tr>
 				<tr style="height: 20px;"></tr>
 				<tr>
 					<td colspan="2" style="text-align: center;"><input
@@ -56,6 +52,7 @@
 				</tr>
 			</table>
 		</form>
+		注:增长百分比已取单位类别的增长比值<br/>
 		如果要做2018年的单位初始化,请选择2017年1月至2018年1月的区间段。
 </body>
 <script type="text/javascript">

+ 16 - 3
src/java/com/bus/dao/IBusOrgDao.java

@@ -46,7 +46,7 @@ public interface IBusOrgDao extends IGenericDao<BusOrg, Long>{
 	  * @return
 	  */
 	  public void updateCountYearInitDate(Long userId,Date updateTime,String userName,String year,Date initStartTime,Date initEndTime,
-			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,int initValue);
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR);
 	  
 	  /**
 	   * 
@@ -61,13 +61,26 @@ public interface IBusOrgDao extends IGenericDao<BusOrg, Long>{
 	   * @return
 	   */
 	  public void updateYearneedInitDate(String initYear,Date initStartTime,Date initEndTime,
-			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float checkWater);
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime);
 	  
 	 /**
 	  * 初值化季度考核表
 	  */
       public void updateInitbusQuarterlyAssessment(int assessmentQuarter,String year,Date initStartTime,Date initEndTime,
-			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,int initValue);
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR);
+
+	 /**
+	  * 初值化月考核表
+	  */
+	 public void updateInitbusMonthAssessment(int assessmentQuarter,String year,Date initStartTime,Date initEndTime,
+			 Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR);
+
+	 /**
+	  * 初值化半年考核表
+	  */
+	public void updateInitbusHalfYearAssessment(int assessmentQuarter,String year,Date initStartTime,Date initEndTime,
+			 Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR);
+
      /**
       * 年度实际用水汇总  
       * @param sql

+ 21 - 5
src/java/com/bus/dao/impl/BusOrgDaoImpl.java

@@ -62,9 +62,9 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 
 	@Override
 	public void updateCountYearInitDate(Long userId,Date updateTime,String userName,String year,Date initStartTime,Date initEndTime,
-			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,int initValue) {
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR) {
 		//先将int值转为float否则会发生精度丢失
-		Float v = (float) (1+Float.valueOf(initValue)/100);
+		Float v = (float) (1+GR/100);
 		String sql = " INSERT INTO `bus_annual_plan_for_water`                                                           " 
                    + " (                                                                                                 " 
                    + "    org_id,pri_year_usewater,plan_of_water,reply_of_water,first_quarter_plan,                      "
@@ -107,7 +107,7 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 
 	@Override
 	public void updateYearneedInitDate(String initYear,Date initStartTime,Date initEndTime,
-			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float checkWater) {
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime) {
 		//初值化计划户
 		int nextyear = Integer.parseInt(initYear)+1;
 		//添加条件: AND bo.`import_status`='normal' 了必须取未删除的单位信息,
@@ -189,8 +189,8 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 	public void updateInitbusQuarterlyAssessment(int assessmentQuarter,
 			String year, Date initStartTime, Date initEndTime,
 			Date bMonthStartTime, Date bMonthEndTime, Date eMonthStartTime,
-			Date eMonthEndTime,int initValue) {
-		Float v = (float) (1+Float.valueOf(initValue)/100);
+			Date eMonthEndTime,Float GR) {
+		Float v = (float) (1+GR/100);
 		String sql =" INSERT INTO `bus_quarterly_assessment`                                                                   "
 				   +" (                                                                                                        " 
 				   +"     assessment_quarter,water_planning_index,org_id,                                                      "
@@ -223,6 +223,22 @@ public class BusOrgDaoImpl extends GenericDaoImpl<BusOrg, Long>
 	}
 
 	@Override
+	public void updateInitbusMonthAssessment(int assessmentQuarter,
+			String year, Date initStartTime, Date initEndTime,
+			Date bMonthStartTime, Date bMonthEndTime, Date eMonthStartTime,
+			Date eMonthEndTime,Float GR) {
+
+	}
+
+	@Override
+	public void updateInitbusHalfYearAssessment(int assessmentQuarter,
+			String year,Date initStartTime,Date initEndTime,
+			Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,
+			Date eMonthEndTime,Float GR){
+
+	}
+
+	@Override
 	public List<BusOrgTemp> getPlanYearCountData(String orgNumber,String orgName,String year,
 			String busOrgCustomerNumber,String address,String orgNature,String userType) throws UnsupportedEncodingException {
 		    String sql = " SELECT b.`org_id`,b.`org_number`,b.`org_name`,b.org_type_id,bw.`plan_of_water`,bw.`reply_of_water` "

+ 15 - 3
src/java/com/bus/service/IBusOrgService.java

@@ -48,7 +48,7 @@ public interface IBusOrgService extends IGenericService<BusOrg, Long>{
 	   * @return
 	   */
    public void updateCountYearInitDate(Long userId,Date updateTime,String userName,String year,Date initStartTime,Date initEndTime,
-			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,int initValue);
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR);
 
    /**
     * 获取单位列表
@@ -83,13 +83,25 @@ public interface IBusOrgService extends IGenericService<BusOrg, Long>{
 	   * @return
 	   */
 	  public void updateYearneedInitDate(String initYear,Date initStartTime,Date initEndTime,
-			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float checkWater);
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime);
 
 	 /**
 	  * 初值化季度考核表
 	  */
       public void updateInitbusQuarterlyAssessment(int assessmentQuarter,String year,Date initStartTime,Date initEndTime,
-			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,int initValue);
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR);
+
+	 /**
+	  * 初值化月考核表
+	  */
+	  public void updateInitbusMonthAssessment(int assessmentQuarter,String year,Date initStartTime,Date initEndTime,
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR);
+
+	 /**
+	  * 初值化半年考核表
+	  */
+	 public void updateInitbusHalfYearAssessment(int assessmentQuarter,String year,Date initStartTime,Date initEndTime,
+			  Date bMonthStartTime,Date bMonthEndTime,Date eMonthStartTime,Date eMonthEndTime,Float GR);
 
       /**
        * 年度实际用水汇总  

+ 24 - 7
src/java/com/bus/service/impl/BusOrgServiceImpl.java

@@ -90,30 +90,47 @@ public class BusOrgServiceImpl extends GenericServiceImpl<BusOrg, Long> implemen
 	@Override
 	public void updateYearneedInitDate(String initYear,
 			Date initStartTime, Date initEndTime, Date bMonthStartTime,
-			Date bMonthEndTime, Date eMonthStartTime, Date eMonthEndTime,
-			Float checkWater) {
+			Date bMonthEndTime, Date eMonthStartTime, Date eMonthEndTime) {
 		// TODO Auto-generated method stub
-		 this.busOrgDao.updateYearneedInitDate(initYear, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime, checkWater);
+		 this.busOrgDao.updateYearneedInitDate(initYear, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime);
 	}
 
 	@Override
 	public void updateCountYearInitDate(Long userId,Date updateTime,String userName,String year,Date initStartTime,
 			Date initEndTime, Date bMonthStartTime, Date bMonthEndTime,
-			Date eMonthStartTime, Date eMonthEndTime,int initValue) {
+			Date eMonthStartTime, Date eMonthEndTime,Float GR) {
 		// TODO Auto-generated method stub
-		 this.busOrgDao.updateCountYearInitDate(userId,updateTime,userName,year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime,initValue);
+		 this.busOrgDao.updateCountYearInitDate(userId,updateTime,userName,year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime,GR);
 	}
 
 	@Override
 	public void updateInitbusQuarterlyAssessment(int assessmentQuarter,
 			String year, Date initStartTime, Date initEndTime,
 			Date bMonthStartTime, Date bMonthEndTime, Date eMonthStartTime,
-			Date eMonthEndTime,int initValue) {
-		this.busOrgDao.updateInitbusQuarterlyAssessment(assessmentQuarter, year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime,initValue);
+			Date eMonthEndTime,Float GR) {
+		this.busOrgDao.updateInitbusQuarterlyAssessment(assessmentQuarter, year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime,GR);
 		
 	}
 
 	@Override
+	public void updateInitbusMonthAssessment(int assessmentQuarter,
+			String year, Date initStartTime, Date initEndTime,
+			Date bMonthStartTime, Date bMonthEndTime, Date eMonthStartTime,
+			Date eMonthEndTime,Float GR) {
+		this.busOrgDao.updateInitbusMonthAssessment(assessmentQuarter, year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime,GR);
+
+	}
+
+	@Override
+	public void updateInitbusHalfYearAssessment(int assessmentQuarter,
+			 String year, Date initStartTime, Date initEndTime,
+			 Date bMonthStartTime, Date bMonthEndTime, Date eMonthStartTime,
+			 Date eMonthEndTime,Float GR) {
+		this.busOrgDao.updateInitbusHalfYearAssessment(assessmentQuarter, year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime,GR);
+
+	}
+
+	@Override
 	public List<BusOrgTemp> getPlanYearCountData(String orgNumber,
 			String orgName, String year, String busOrgCustomerNumber,
 			String address, String userType, String orgNature) throws UnsupportedEncodingException {

+ 56 - 13
src/java/com/bus/web/BusInitController.java

@@ -233,7 +233,15 @@ public Object createYearWaterInfo(String ids, String startTime,
 	SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     try {
 		if (ids.length() <= 0) {// 没有选择则所有生成年度计划初值化
-			doInityearDate(f.parse(startTime), f.parse(endTime),year,initValue);
+			String[] strs1 = ids.split(",");
+			for (String str : strs1) {
+				Long orgId1 = Long.parseLong(str);
+				BusOrg borg1 = busOrgService.get(orgId1);
+				String name = borg1.getOrgNature();
+				//取增长比例
+				Float GR = baseOrgTypeService.getGrowthRatio(name);
+				doInityearDate(f.parse(startTime), f.parse(endTime),year,GR);
+			}
 		} else {
 			String[] strs = ids.split(",");
 			for (String str : strs) {
@@ -249,7 +257,7 @@ public Object createYearWaterInfo(String ids, String startTime,
 				if(water != null){
 					continue;
 				}
-				doDataInit(orgNumber,orgId, f.parse(startTime), f.parse(endTime),initValue);
+				doDataInit(orgNumber,orgId, f.parse(startTime), f.parse(endTime));
 			}
 		}
 		busQuarterlyAssessmentService.updateWaterPrice(param);
@@ -267,16 +275,28 @@ public Object createYearWaterInfo(String ids, String startTime,
  * @param endTime
  * @param year
  */
-public void doInityearDate(Date startTime, Date endTime,String year,int initValue) {
+public void doInityearDate(Date startTime, Date endTime,String year,Float GR) {
 	 PopUser user = ContextUtil.getCurrentUser();
 	 String userName = user.getFullName();
 	 Long userId = user.getUserId();
 	 Date updateTime = new Date();
 	 // 年度计划初值化
-	 busOrgService.updateCountYearInitDate(userId,updateTime,userName,year,startTime,endTime,startTime,getAscOneMonth(startTime),getDescOneMonth(endTime),endTime,initValue);
+	 busOrgService.updateCountYearInitDate(userId,updateTime,userName,year,startTime,endTime,startTime,getAscOneMonth(startTime),getDescOneMonth(endTime),endTime,GR);
 	 //季度考核初值化
 	 for(int i=1;i<5;i++){
-		 busOrgService.updateInitbusQuarterlyAssessment(i, year, startTime, endTime, startTime, getAscOneMonth(startTime), getDescOneMonth(endTime), endTime,initValue);
+		 busOrgService.updateInitbusQuarterlyAssessment(i, year, startTime, endTime, startTime, getAscOneMonth(startTime), getDescOneMonth(endTime), endTime,GR);
+	 }
+
+	 //月考核初值化
+	 //LHJ 2020-1-11
+	 for(int i=1;i<13;i++){
+		 busOrgService.updateInitbusMonthAssessment(i, year, startTime, endTime, startTime, getAscOneMonth(startTime), getDescOneMonth(endTime), endTime,GR);
+	 }
+
+	 //半年考核初值化
+	 //LHJ 2020-1-11
+	 for(int i=1;i<3;i++){
+		 busOrgService.updateInitbusHalfYearAssessment(i, year, startTime, endTime, startTime, getAscOneMonth(startTime), getDescOneMonth(endTime), endTime,GR);
 	 }
 
 }
@@ -288,7 +308,7 @@ public void doInityearDate(Date startTime, Date endTime,String year,int initValu
  * @param startTime
  * @param endTime
  */
-private void doDataInit(int orgNumber,Long orgId, Date startTime, Date endTime,int initValue) {
+private void doDataInit(int orgNumber,Long orgId, Date startTime, Date endTime) {
 	
 	//客户提出在年初始化的时候不再判断首月跟尾月是否有水,李周芳	2015-03-26
 	// 不够12个月不做初值化,只判断首月跟尾月
@@ -315,7 +335,7 @@ private void doDataInit(int orgNumber,Long orgId, Date startTime, Date endTime,i
     }
 
 	// 计划水量加上5%
-	int planWater = (int) Math.round((1+Float.valueOf(initValue)/100) * w);
+	int planWater = (int) Math.round((1+(GR)/100) * w);
 	int fs =Math.round(Float.valueOf(planWater) / 4);
     
 	//初值化年度计划表
@@ -351,7 +371,15 @@ private void doDataInit(int orgNumber,Long orgId, Date startTime, Date endTime,i
 			bqa.setBankAccount(borg.getBankAccount());
 			busQuarterlyAssessmentService.save(bqa);
 		}
-		
+
+		//月考核初值化
+		for(int i=1;i<13;i++) {
+		}
+		//半年考核初值化
+		for(int i=1;i<3;i++) {
+		}
+		//年考核初值化
+
 	}
 	
 }
@@ -453,6 +481,11 @@ public Object editbusUserInitInfo(String endTime, String startTime,String ids,in
 			for(String s:strs){
 				Long orgId = Long.parseLong(s);
 				BusOrg busOrg = busOrgService.get(orgId);
+
+				String name = busOrg.getOrgNature();
+				//取增长比例
+				Float GR = baseOrgTypeService.getGrowthRatio(name);
+
 				//查询水量历史记录要用到单位编号
 				int orgNumber = busOrg.getOrgNumber();
 				if(!busOrg.getYear().equals(year)){ //只初值化最新数据,如果是去年的就不初值化了
@@ -463,16 +496,26 @@ public Object editbusUserInitInfo(String endTime, String startTime,String ids,in
 //				if(water != null ){
 //					continue;
 //				}
-				initStepBusOrg(year,orgNumber,orgId,startT,endT,initValue);				
+				initStepBusOrg(year,orgNumber,orgId,startT,endT,GR);
 			}
 		}else{//没有选择默认初值化所有
 			String a = format.format(getAscOneMonth(startT));
 			String b = format.format(getDescOneMonth(endT));
 			log.debug("%%%%%%%%%%%%%%%%%%%%%"+a+"   "+b);
-			 busOrgService.updateYearneedInitDate(year, startT, endT, startT, getAscOneMonth(startT), getDescOneMonth(endT), endT, (float)initValue);
+			 busOrgService.updateYearneedInitDate(year, startT, endT, startT, getAscOneMonth(startT), getDescOneMonth(endT), endT);
 			 busOrgService.updateIsplanYear(year);
 			 busOrgService.updateCosMeter(year);
-			 busOrgService.updateSetplanYear(year, startT, endT, startT, getAscOneMonth(startT), getDescOneMonth(endT), endT, (float)initValue);			
+
+			String[] strs = ids.split(",");
+			for (String str : strs) {
+				Long orgId1 = Long.parseLong(str);
+				BusOrg borg1 = busOrgService.get(orgId1);
+				String name = borg1.getOrgNature();
+				//取增长比例
+				Float GR = baseOrgTypeService.getGrowthRatio(name);
+
+				busOrgService.updateSetplanYear(year, startT, endT, startT, getAscOneMonth(startT), getDescOneMonth(endT), endT, GR);
+			}
 		}
 		
 		return addJsonSuccessMsg("用户信息初值化成功");
@@ -544,7 +587,7 @@ public Object editbusUserInitInfo(String endTime, String startTime,String ids,in
  * @param startTime
  * @param endTime
  */
-private void initStepBusOrg(String year,int orgNumber,Long orgId,Date startTime,Date endTime,int initValue){
+private void initStepBusOrg(String year,int orgNumber,Long orgId,Date startTime,Date endTime,Float GR){
 	int nextyear = Integer.parseInt(year)+1;
 	
 	//先初值化先	
@@ -578,7 +621,7 @@ private void initStepBusOrg(String year,int orgNumber,Long orgId,Date startTime,
 	Float w = busMeterReadInfoService.getSumWaterByTime(orgNumber, startTime, endTime);
 
 	// 根据水量判断是否计划户,超过12万吨为计划户
-	if (w >= initValue) {
+	if (w >= GR) {
 		String hql2 = " from BusOrg b where b.orgNumber=? and b.importStatus='normal' and b.year=?";
 		List<BusOrg> list1 = busOrgService.findByHql(hql2, orgNumber,(nextyear+"").trim());
 		BusOrg bo = list1.get(0);