123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640 |
- package com.bus.service.impl;
- import java.io.UnsupportedEncodingException;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.Date;
- import java.util.List;
- import com.base.model.BaseOrgType;
- import com.base.model.BaseWaterProperties;
- import com.base.service.IBaseOrgTypeService;
- import com.base.service.IBaseWaterPropertiesService;
- import com.bus.model.*;
- import com.bus.model.temp.*;
- import com.bus.service.*;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.jdbc.core.RowMapper;
- import com.bus.dao.IBusOrgDao;
- import com.core.dao.IGenericDao;
- import com.core.service.impl.GenericServiceImpl;
- import com.core.util.Page;
- /**
- * 导入数据文件业务层实现类
- *
- * @author lha
- */
- public class BusOrgServiceImpl extends GenericServiceImpl<BusOrg, Long> implements IBusOrgService {
- @Autowired
- private IBusOrgDao busOrgDao;
- @Autowired
- private IBaseOrgTypeService baseOrgTypeService;
- @Autowired
- private IBusCustomerMeterService busCustomerMeterService;
- @Autowired
- private IBusAnnualPlanForWaterService busAnnualPlanForWaterService;
- @Autowired
- private IBusQuarterlyAssessmentService busQuarterlyAssessmentService;
- @Autowired
- private IBusMonthAssessmentService busMonthAssessmentService;
- @Autowired
- private IBaseWaterPropertiesService baseWaterPropertiesService;
- @Autowired
- private org.springframework.jdbc.core.JdbcTemplate jdbcTemplate;
- @Override
- protected IGenericDao<BusOrg, Long> getGenericDao() {
- return this.busOrgDao;
- }
- @Override
- public String getMatYearFromBusOrg() {
- // TODO Auto-generated method stub
- return this.busOrgDao.getMatYearFromBusOrg();
- }
- /* @Override
- public List<BusOrgTemp> getCountInitDate(String year) {
- // TODO Auto-generated method stub
- return this.busOrgDao.getCountInitDate(year);
- }*/
- @Override
- public Page getOrgListPage(int pageNo, int pageSize, String orgNumber,
- String orgName, String year, String busOrgCustomerNumber,
- String address, String busOrgMeterNumber, String isPlanUser,
- String userType, String orgTypeId) {
- String hql = "select b from BusOrg b where b.importStatus='normal'";
- if (null != orgNumber && !orgNumber.equals("")) {
- hql += " and b.orgNumber = '" + orgNumber + "'";
- }
- if (null != orgName && !orgName.equals("")) {
- hql += " and b.orgName like '%" + orgName + "%'";
- }
- if (null != year && !year.equals("")) {
- hql += " and b.year like '%" + year + "%'";
- }
- if (null != busOrgCustomerNumber && !busOrgCustomerNumber.equals("")) {
- hql += " and b.orgId in(select bcm.org.orgId from BusCustomerMeter bcm where bcm.customerNumber='" + busOrgCustomerNumber + "')";
- }
- if (null != address && !address.equals("")) {
- hql += " and b.address like '%" + address + "%'";
- }
- if (null != busOrgMeterNumber && !busOrgMeterNumber.equals("")) {
- hql += " and b.orgId in(select bc.org.orgId from BusCustomerMeter bc where bc.meterNumber='" + busOrgMeterNumber + "')";
- }
- if (null != userType && !userType.equals("")) {
- hql += " and b.newMeter = '1'";
- }
- if (null != isPlanUser && !isPlanUser.equals("")) {
- hql += " and b.isPlanUser ='" + isPlanUser + "'";
- }
- if (null != orgTypeId && !orgTypeId.equals("")) {
- hql += " and b.orgTypeId = " + orgTypeId + "";
- }
- return busOrgDao.getPageByHql(hql, pageNo, pageSize);
- }
- @Override
- public void updateYearneedInitDate(String initYear,
- Date initStartTime, Date initEndTime, Date bMonthStartTime,
- Date bMonthEndTime, Date eMonthStartTime, Date eMonthEndTime) {
- // TODO Auto-generated method stub
- 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) {
- // TODO Auto-generated method stub
- this.busOrgDao.updateCountYearInitDate(userId, updateTime, userName, year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime);
- }
- @Override
- public void importExceInitData(String year, List<String[]> dataList) {
- //查询到居民用水与非居民用水信息
- BaseOrgType jmOrgType = baseOrgTypeService.findUniqueBy("orgName", "居民用水");
- BaseOrgType fjmOrgType = baseOrgTypeService.findUniqueBy("orgName", "非居民用水");
- //使用导入的功能都认为是计划户
- String _isPlanUser = "yes";
- //邮政编码
- String _code = "530000";
- //说明
- String _remark = year + "导入年计划";
- //导入状态
- String _importStatus = "normal";
- //日期
- Date now = new Date();
- //用户类型全部为自来水户
- String _baseUserTypeId = "1";
- //插入用户信息表
- for (int i = 1; i < dataList.size(); i++) {
- String[] item = dataList.get(i);
- String _no = item[0];
- String _orgName = item[1];
- String _address = item[2];
- String _properties = item[3];
- //判断单位是否已经存在
- String _waterPriceStr = item[4];
- if (StringUtils.isBlank(_waterPriceStr)) {
- _waterPriceStr = "0";
- }
- _waterPriceStr = _waterPriceStr.trim().replaceAll(",", "");
- Float _waterPrice = Float.parseFloat(_waterPriceStr);
- String _customerMeter = item[5];
- //实际用水
- String _actualStr = item[6];
- if (StringUtils.isBlank(_actualStr)) {
- _actualStr = "0";
- }
- _actualStr = _actualStr.trim().replaceAll(",", "");
- Float _actual = Float.parseFloat(_actualStr);
- //计划用水
- String _planStr = item[7];
- if (StringUtils.isBlank(_planStr)) {
- _planStr = "0";
- }
- _planStr = _planStr.trim().replaceAll(",", "");
- Float _plan = Float.parseFloat(_planStr);
- BusOrg busOrg = new BusOrg();
- busOrg.setOrgName(_orgName);
- busOrg.setOrgNumber(Integer.parseInt(_no));
- busOrg.setYear(year);
- busOrg.setBaseUserType(_baseUserTypeId);
- busOrg.setAddress(_address);
- busOrg.setIsPlanUser(_isPlanUser);
- busOrg.setCode(_code);
- busOrg.setRemark(_remark);
- if (_properties != null && _properties.indexOf("居民") >= 0) {
- busOrg.setOrgType(jmOrgType);
- } else {
- busOrg.setOrgType(fjmOrgType);
- }
- busOrg.setImportId(0L);
- busOrg.setImportStatus(_importStatus);
- busOrg.setPostalAddress(_address);
- //保存到数据
- busOrg = busOrgDao.save(busOrg);
- if (_properties != null && !_properties.equalsIgnoreCase("")) {
- //当前用水性质是否存在
- BaseWaterProperties baseWaterProperties = null;
- try {
- baseWaterProperties = baseWaterPropertiesService.findUniqueBy("propertiesName", _properties);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- if (baseWaterProperties == null) {
- baseWaterProperties = new BaseWaterProperties(_properties, _waterPrice);
- baseWaterPropertiesService.save(baseWaterProperties);
- }
- }
- //插入水表信息
- if (StringUtils.isNotBlank(_customerMeter)) {
- _customerMeter = _customerMeter.replaceAll(",", ",");
- //拿到水表号
- String[] _customerMeterList = _customerMeter.split(",");
- //循环添加水表信息
- for (int j = 0; j < _customerMeterList.length; j++) {
- BusCustomerMeter busCustomerMeter = new BusCustomerMeter();
- busCustomerMeter.setYear(year);
- busCustomerMeter.setMeterNumber(Integer.parseInt(_customerMeterList[j]));
- busCustomerMeter.setRemark(_remark);
- busCustomerMeter.setCustomerNumber(Integer.parseInt(_no));
- busCustomerMeter.setAddress(_address);
- busCustomerMeter.setOrg(busOrg);
- busCustomerMeterService.save(busCustomerMeter);
- }
- }
- //算出季度用水
- Float quarterlyPlan = _plan / 4;
- //算出月份用水
- Float monthPlan = _plan / 12;
- //生成年计划
- BusAnnualPlanForWater busAnnualPlanForWater = new BusAnnualPlanForWater();
- busAnnualPlanForWater.setFillTime(now);
- busAnnualPlanForWater.setOrg(busOrg);
- busAnnualPlanForWater.setIsCancel("yes");
- //上年用水量
- busAnnualPlanForWater.setPriYearUseWater(_actual);
- //计划用水量
- busAnnualPlanForWater.setPlanOfWater(_plan);
- busAnnualPlanForWater.setReplyOfWater(_plan);
- //计划季度用水量
- busAnnualPlanForWater.setFirstQuarterPlan(quarterlyPlan);
- busAnnualPlanForWater.setSecondQuarterPlan(quarterlyPlan);
- busAnnualPlanForWater.setThirdQuarterPlan(quarterlyPlan);
- busAnnualPlanForWater.setFourthQuarterPlan(quarterlyPlan);
- busAnnualPlanForWater.setFirstQuarterReply(quarterlyPlan);
- busAnnualPlanForWater.setSecondQuarterReply(quarterlyPlan);
- busAnnualPlanForWater.setThirdQuarterReply(quarterlyPlan);
- busAnnualPlanForWater.setFourthQuarterReply(quarterlyPlan);
- busAnnualPlanForWater.setJanPlan(monthPlan);
- busAnnualPlanForWater.setFebPlan(monthPlan);
- busAnnualPlanForWater.setMarPlan(monthPlan);
- busAnnualPlanForWater.setAprPlan(monthPlan);
- busAnnualPlanForWater.setMayPlan(monthPlan);
- busAnnualPlanForWater.setJunPlan(monthPlan);
- busAnnualPlanForWater.setJulPlan(monthPlan);
- busAnnualPlanForWater.setAugPlan(monthPlan);
- busAnnualPlanForWater.setSeptPlan(monthPlan);
- busAnnualPlanForWater.setOctPlan(monthPlan);
- busAnnualPlanForWater.setNovPlan(monthPlan);
- busAnnualPlanForWater.setDecPlan(monthPlan);
- busAnnualPlanForWater.setJanReply(monthPlan);
- busAnnualPlanForWater.setFebReply(monthPlan);
- busAnnualPlanForWater.setMarReply(monthPlan);
- busAnnualPlanForWater.setAprReply(monthPlan);
- busAnnualPlanForWater.setMayReply(monthPlan);
- busAnnualPlanForWater.setJunReply(monthPlan);
- busAnnualPlanForWater.setJulReply(monthPlan);
- busAnnualPlanForWater.setAugReply(monthPlan);
- busAnnualPlanForWater.setSeptReply(monthPlan);
- busAnnualPlanForWater.setOctReply(monthPlan);
- busAnnualPlanForWater.setNovReply(monthPlan);
- busAnnualPlanForWater.setDecReply(monthPlan);
- busAnnualPlanForWaterService.save(busAnnualPlanForWater);
- //生成季考核
- for (int j = 1; j <= 4; j++) {
- BusQuarterlyAssessment busQuarterlyAssessment = new BusQuarterlyAssessment();
- busQuarterlyAssessment.setAssessmentQuarter(j);
- busQuarterlyAssessment.setWaterPlanningIndex(quarterlyPlan);
- busQuarterlyAssessment.setReplyOfWater(quarterlyPlan);
- busQuarterlyAssessment.setOrg(busOrg);
- busQuarterlyAssessment.setIsWriteOff("no");
- busQuarterlyAssessment.setWaterPrice(_waterPrice);
- busQuarterlyAssessmentService.save(busQuarterlyAssessment);
- }
- //生成月份考核
- for (int j = 1; j <= 12; j++) {
- BusMonthAssessment busMonthAssessment = new BusMonthAssessment();
- busMonthAssessment.setAssessmentMonth(j);
- busMonthAssessment.setWaterPlanningIndex(monthPlan);
- busMonthAssessment.setReplyOfWater(monthPlan);
- busMonthAssessment.setOrg(busOrg);
- busMonthAssessment.setIsWriteOff("no");
- busMonthAssessmentService.save(busMonthAssessment);
- }
- }
- }
- @Override
- public void updateInitbusQuarterlyAssessment(int assessmentQuarter,
- String year, Date initStartTime, Date initEndTime,
- Date bMonthStartTime, Date bMonthEndTime, Date eMonthStartTime,
- Date eMonthEndTime) {
- this.busOrgDao.updateInitbusQuarterlyAssessment(assessmentQuarter, year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime);
- }
- @Override
- public void updateInitbusMonthAssessment(int assessmentMonth,
- String year, Date initStartTime, Date initEndTime,
- Date bMonthStartTime, Date bMonthEndTime, Date eMonthStartTime,
- Date eMonthEndTime) {
- this.busOrgDao.updateInitbusMonthAssessment(assessmentMonth, year, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime);
- }
- @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 orgTypeId) throws UnsupportedEncodingException {
- // TODO Auto-generated method stub
- return this.busOrgDao.getPlanYearCountData(orgNumber, orgName, year, busOrgCustomerNumber, address, userType, orgTypeId);
- }
- @Override
- public String getMaxUserPlanYear() {
- // TODO Auto-generated method stub
- return this.busOrgDao.getMaxUserPlanYear();
- }
- @Override
- public void initOneData(Long orgId, int nextYear, String type) {
- this.busOrgDao.initOneData(orgId, nextYear, type);
- }
- @Override
- public List<ReplyPrintTemp> unitYearReplyPrin(String orgNumber, String orgName,
- String year, String busOrgCustomerNumber, String address,
- String busOrgMeterNumber, String priYearUseWater, String userType, String orgTypeId) {
- String sql = " SELECT b.`org_name`,w.`first_quarter_reply` AS numOne,w.`second_quarter_reply` AS numTwo,w.`third_quarter_reply` AS numThird,w.`fourth_quarter_reply` AS numFourth,GROUP_CONCAT(bm.`meter_Number`) AS meterNum,w.reply_of_water "
- + " FROM `bus_org` b "
- + " JOIN `bus_annual_plan_for_water` w ON b.`org_id` = w.`org_id` JOIN `bus_customer_meter` bm ON b.`org_id`=bm.`org_id` "
- + " WHERE b.`is_plan_user`='yes' AND w.`is_cancel`='yes' ";
- if (!orgNumber.equals("")) {
- sql += " and b.org_number=" + orgNumber;
- }
- if (!orgName.equals("")) {
- try {
- orgName = new String(orgName.getBytes("iso8859-1"), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- sql += " and b.org_name like '%" + orgName + "%'";
- }
- if (orgTypeId != null && !orgTypeId.equals("")) {
- try {
- orgTypeId = new String(orgTypeId.getBytes("iso8859-1"), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- sql += " and b.org_type_id = " + orgTypeId + "";
- }
- sql += " and b.year=" + year;
- if (!address.equals("")) {
- try {
- address = new String(address.getBytes("iso8859-1"), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- sql += " and b.address like '%" + address + "%'";
- }
- if (!priYearUseWater.equals("")) {
- Float f = Float.parseFloat(priYearUseWater);
- sql += " and w.pri_year_usewater >=" + f;
- }
- if (!userType.equals("")) {
- sql += " and b.user_type=" + userType;
- }
- sql += " GROUP BY b.`org_id`";
- if (!busOrgCustomerNumber.equals("")) {
- sql += " having GROUP_CONCAT(bm.`meter_Number`) like '%" + busOrgCustomerNumber + "%'";
- }
- if (!busOrgMeterNumber.equals("")) {
- sql += " and GROUP_CONCAT(bm.`customer_Number`) like '%" + busOrgMeterNumber + "%'";
- }
- RowMapper<ReplyPrintTemp> rowMapper = new RowMapper<ReplyPrintTemp>() {
- @Override
- public ReplyPrintTemp mapRow(ResultSet rs, int arg1) throws SQLException {
- ReplyPrintTemp busOrgTem = new ReplyPrintTemp(rs.getString("org_name"), rs.getFloat("numOne"), rs.getFloat("numTwo"),
- rs.getFloat("numThird"), rs.getFloat("numFourth"), rs.getString("meterNum"), rs.getFloat("reply_of_water"));
- return busOrgTem;
- }
- };
- List<ReplyPrintTemp> list = jdbcTemplate.query(sql, rowMapper);
- return list;
- }
- public List<ReplyMonPrintTemp> unitYearReplyPrin2(String orgNumber, String orgName,
- String year, String busOrgCustomerNumber, String address,
- String busOrgMeterNumber, String priYearUseWater, String userType, String orgTypeId) {
- String sql = " SELECT b.`org_name`,w.jan_reply,w.feb_reply,w.mar_reply,w.apr_reply,w.may_reply,w.jun_reply,w.jul_reply,w.aug_reply,w.sept_reply,w.oct_reply,w.nov_reply,w.dec_reply,GROUP_CONCAT(bm.`meter_Number`) AS meterNum,w.reply_of_water "
- + " FROM `bus_org` b "
- + " JOIN `bus_annual_plan_for_water` w ON b.`org_id` = w.`org_id` JOIN `bus_customer_meter` bm ON b.`org_id`=bm.`org_id` "
- + " WHERE b.`is_plan_user`='yes' AND w.`is_cancel`='yes' ";
- if (!orgNumber.equals("")) {
- sql += " and b.org_number=" + orgNumber;
- }
- if (!orgName.equals("")) {
- try {
- orgName = new String(orgName.getBytes("iso8859-1"), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- sql += " and b.org_name like '%" + orgName + "%'";
- }
- if (orgTypeId != null && !orgTypeId.equals("")) {
- try {
- orgTypeId = new String(orgTypeId.getBytes("iso8859-1"), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- sql += " and b.org_type_id = " + orgTypeId + "";
- }
- sql += " and b.year=" + year;
- if (!address.equals("")) {
- try {
- address = new String(address.getBytes("iso8859-1"), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- sql += " and b.address like '%" + address + "%'";
- }
- if (!priYearUseWater.equals("")) {
- Float f = Float.parseFloat(priYearUseWater);
- sql += " and w.pri_year_usewater >=" + f;
- }
- if (!userType.equals("")) {
- sql += " and b.user_type=" + userType;
- }
- sql += " GROUP BY b.`org_id`";
- if (!busOrgCustomerNumber.equals("")) {
- sql += " having GROUP_CONCAT(bm.`meter_Number`) like '%" + busOrgCustomerNumber + "%'";
- }
- if (!busOrgMeterNumber.equals("")) {
- sql += " and GROUP_CONCAT(bm.`customer_Number`) like '%" + busOrgMeterNumber + "%'";
- }
- RowMapper<ReplyMonPrintTemp> rowMapper = new RowMapper<ReplyMonPrintTemp>() {
- @Override
- public ReplyMonPrintTemp mapRow(ResultSet rs, int arg1) throws SQLException {
- ReplyMonPrintTemp busOrgTem = new ReplyMonPrintTemp(rs.getString("org_name"),
- rs.getFloat("jan_reply"),
- rs.getFloat("feb_reply"),
- rs.getFloat("mar_reply"),
- rs.getFloat("apr_reply"),
- rs.getFloat("may_reply"),
- rs.getFloat("jun_reply"),
- rs.getFloat("jul_reply"),
- rs.getFloat("aug_reply"),
- rs.getFloat("sept_reply"),
- rs.getFloat("oct_reply"),
- rs.getFloat("nov_reply"),
- rs.getFloat("dec_reply"),
- rs.getString("meterNum"), rs.getFloat("reply_of_water"));
- return busOrgTem;
- }
- };
- List<ReplyMonPrintTemp> list = jdbcTemplate.query(sql, rowMapper);
- return list;
- }
- @Override
- public List<OrgTemp> emailPrintView(String orgNumber, String orgName,
- String year, String busOrgCustomerNumber, String address,
- String busOrgMeterNumber, String priYearUseWater, String userType, String orgTypeId) throws UnsupportedEncodingException {
- String sql = " SELECT b.`code`,b.`org_name`,b.postal_address FROM `bus_org` b " +
- " LEFT JOIN `bus_annual_plan_for_water` w ON b.`org_id` = w.`org_id` WHERE b.`year`='" + year + "' AND b.`is_plan_user`='yes' AND w.`is_cancel`='yes'";
- if (!orgNumber.equals("")) {
- sql += " and b.org_number=" + orgNumber;
- }
- if (!orgName.equals("")) {
- orgName = new String(orgName.getBytes("iso8859-1"), "UTF-8");
- sql += " and b.org_name like '%" + orgName + "%'";
- }
- if (!orgTypeId.equals("")) {
- orgTypeId = new String(orgTypeId.getBytes("iso8859-1"), "UTF-8");
- sql += " and b.org_type_id = " + orgTypeId + "";
- }
- if (!address.equals("")) {
- address = new String(address.getBytes("iso8859-1"), "UTF-8");
- sql += " and b.address like '%" + address + "%'";
- }
- if (!priYearUseWater.equals("")) {
- Float f = Float.parseFloat(priYearUseWater);
- sql += " and w.pri_year_usewater>=" + f;
- }
- if (!userType.equals("")) {
- sql += " and b.user_type=" + userType;
- }
- if (!busOrgCustomerNumber.equals("")) {
- sql += " and b.org_id in (select bm.org_id from `bus_customer_meter` bm where bm.year='" + year + "' and bm.customer_Number=" + busOrgCustomerNumber + ")";
- }
- if (!busOrgMeterNumber.equals("")) {
- sql += " and b.org_id in (select bcm.org_id from `bus_customer_meter` bcm where bcm.year='" + year + "' and bcm.meter_Number=" + busOrgMeterNumber + ")";
- }
- RowMapper<OrgTemp> rowMapper = new RowMapper<OrgTemp>() {
- @Override
- public OrgTemp mapRow(ResultSet rs, int arg1) throws SQLException {
- OrgTemp org = new OrgTemp(rs.getString("code"), rs.getString("org_name"), rs.getString("postal_address"));
- return org;
- }
- };
- List<OrgTemp> list = jdbcTemplate.query(sql, rowMapper);
- return list;
- }
- @Override
- public int checkPendingIsNull() {
- return jdbcTemplate.queryForInt("SELECT COUNT(*) FROM `bus_org` WHERE `import_status`='pending'");
- }
- @Override
- public List<Object[]> listCountWaterData(String year) {
- String sql = " SELECT bwp.`properties_name`, "
- + " IFNULL(( "
- + " SELECT SUM(w.`reply_of_water`) FROM `bus_annual_plan_for_water` w "
- + " JOIN `bus_meter_read_info` info ON w.`org_id`=info.`org_id` WHERE "
- + " bwp.`properties_id`=info.properties_id AND info.year='" + year + "'),0) "
- + " AS reply, "
- + " IFNULL(( "
- + " SELECT SUM(i.`water`) FROM `bus_meter_read_info` i "
- + " JOIN `bus_annual_plan_for_water` fw ON i.`org_id` = fw.`org_id` "
- + " WHERE i.`year`='" + year + "' AND i.`properties_id`=bwp.`properties_id`),0) "
- + " AS userWater "
- + " FROM `base_water_properties` bwp "
- + " UNION ALL "
- + " ("
- + " SELECT '总计',IFNULL(SUM(bap.`reply_of_water`),0),IFNULL(SUM(bm.`water`),0) "
- + " FROM `base_water_properties` p JOIN `bus_meter_read_info` bm ON p.`properties_id`=bm.`properties_id` "
- + " JOIN `bus_annual_plan_for_water` bap ON bm.`org_id`=bap.`org_id` WHERE bm.`year`='" + year + "' "
- + " )";
- RowMapper<Object[]> rowMapper = new RowMapper<Object[]>() {
- @Override
- public Object[] mapRow(ResultSet rs, int arg1)
- throws SQLException {
- Object[] obj = new Object[3];
- obj[0] = rs.getString("properties_name");
- obj[1] = rs.getFloat("reply");
- obj[2] = rs.getFloat("userWater");
- return obj;
- }
- };
- List<Object[]> list = jdbcTemplate.query(sql, rowMapper);
- return list;
- }
- @Override
- public void updateIsplanYear(String year) {
- this.busOrgDao.updateIsplanYear(year);
- }
- @Override
- public void updateSetplanYear(String initYear, Date initStartTime,
- Date initEndTime, Date bMonthStartTime, Date bMonthEndTime,
- Date eMonthStartTime, Date eMonthEndTime, Float checkWater) {
- this.busOrgDao.updateSetplanYear(initYear, initStartTime, initEndTime, bMonthStartTime, bMonthEndTime, eMonthStartTime, eMonthEndTime, checkWater);
- }
- @Override
- public void updateCosMeter(String year) {
- this.busOrgDao.updateCosMeter(year);
- }
- @Override
- public void delteInfoForSplitOrg(Long orgId) {
- //先删除用水信息
- jdbcTemplate.update("DELETE FROM `bus_meter_read_info` WHERE `org_id`=?", orgId);
- //删除对应水表
- jdbcTemplate.update("DELETE FROM `bus_customer_meter` WHERE `org_id`=?", orgId);
- //删除年度供水计划
- jdbcTemplate.update("DELETE FROM `bus_annual_plan_for_water` WHERE `org_id`=?", orgId);
- //删除季度考核
- jdbcTemplate.update("DELETE FROM `bus_quarterly_assessment` WHERE `org_id`=?", orgId);
- //删除单位
- jdbcTemplate.update("DELETE FROM `bus_org` WHERE `org_id`=?", orgId);
- }
- @Override
- public Long findOrgNumberByYear(Integer orgNumber) {
- String sql = "SELECT o.`org_id` FROM `bus_org` o WHERE o.`org_number` = " + orgNumber + " AND o.`year` = DATE_FORMAT( CURRENT_TIMESTAMP(),'%Y' ) AND o.`import_status` = 'normal'";
- Long orgId = jdbcTemplate.queryForLong(sql);
- return orgId;
- }
- @Override
- public void updateAddress(String orgId, String postalAddress) {
- jdbcTemplate.update("UPDATE `bus_org` SET `postal_address`=? WHERE `org_id`=?", postalAddress, orgId);//
- }
- }
|