| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- package cn.com.goldenwater.dcproj.service.impl.vill;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.dao.AttCwsBaseCrrctDao;
- import cn.com.goldenwater.dcproj.dao.AttCwsBaseDao;
- import cn.com.goldenwater.dcproj.dao.BisInspManageResponsibilityDao;
- import cn.com.goldenwater.dcproj.dao.BisInspVlgdrinkProjManageDao;
- import cn.com.goldenwater.dcproj.dto.AttCwsBaseDto;
- import cn.com.goldenwater.dcproj.enums.RequestSourceEnum;
- import cn.com.goldenwater.dcproj.model.AttCwsBase;
- import cn.com.goldenwater.dcproj.model.AttCwsBaseCrrct;
- import cn.com.goldenwater.dcproj.model.BisInspVlgdrinkProjManage;
- import cn.com.goldenwater.dcproj.param.AttCwsBaseListParam;
- import cn.com.goldenwater.dcproj.param.AttCwsBaseListParamNew;
- import cn.com.goldenwater.dcproj.param.AttCwsBaseParam;
- import cn.com.goldenwater.dcproj.service.AttCwsBaseCrrctService;
- import cn.com.goldenwater.dcproj.service.AttCwsBaseService;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import cn.com.goldenwater.dcproj.utils.DateUtils;
- import cn.com.goldenwater.dcproj.utils.GeoUtil;
- import cn.com.goldenwater.dcproj.utils.expExcel.ExcelExport;
- import cn.com.goldenwater.dcproj.utils.expExcel.ExportAbstract;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.commons.lang3.math.NumberUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.servlet.http.HttpServletResponse;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import static cn.com.goldenwater.dcproj.util.CheckUtil.check;
- /**
- * @author zhengdafei
- * @date 2019-2-23
- */
- @Service
- @Transactional(rollbackFor = Exception.class)
- public class AttCwsBaseServiceImpl extends AbstractCrudService<AttCwsBase, AttCwsBaseParam> implements AttCwsBaseService {
- @Autowired
- private AttCwsBaseDao attCwsBaseDao;
- @Autowired
- private AttCwsBaseCrrctDao attCwsBaseCrrctDao;
- @Autowired
- private AttCwsBaseCrrctService attCwsBaseCrrctService;
- @Autowired
- private BisInspManageResponsibilityDao bisInspManageResponsibilityDao;
- @Autowired
- private BisInspVlgdrinkProjManageDao bisInspVlgdrinkProjManageDao;
- public AttCwsBaseServiceImpl(AttCwsBaseDao attCwsBaseDao) {
- super(attCwsBaseDao);
- this.attCwsBaseDao = attCwsBaseDao;
- }
- @Override
- public AttCwsBase add(AttCwsBase p) throws Exception {
- String uuid = UuidUtil.uuid();
- String now = DateUtils.getTodayYMDHMS();
- p.setUptm(now);
- p.setGuid(uuid);
- p.setEffDate(now);
- if (StringUtils.isBlank(p.getCwsCode())) {
- check(StringUtils.isNotBlank(p.getAddvcd()), "addvcd 不能为空,无法生成cwsCode");
- // 根据最大code生成cwscode
- String maxCwsCode = attCwsBaseDao.getMaxCwsCode(p.getAddvcd());
- if (maxCwsCode != null) {
- Long mCcode = 0L;
- mCcode = NumberUtils.createLong(maxCwsCode);
- Long cwsCode = mCcode + 1;
- p.setCwsCode(cwsCode + "");
- } else {
- Long mCcode = 0L;
- mCcode = NumberUtils.createLong(p.getAddvcd());
- Long cwsCode = mCcode + 1;
- p.setCwsCode(cwsCode + "");
- }
- } else {
- AttCwsBaseParam ap = new AttCwsBaseParam();
- ap.setCwsCode(p.getCwsCode());
- List<AttCwsBase> l = attCwsBaseDao.findList(ap);
- if (l != null && l.size() > 0) {
- throw new Exception("此工程代码已存在!" + p.getCwsCode());
- }
- }
- if (StringUtils.isNotBlank(p.getCompYear())) {
- p.setCompDate(p.getCompYear() + "-01-01");
- }
- transferGeo(p);
- attCwsBaseDao.insert(p);
- AttCwsBaseParam cwsBaseParam = new AttCwsBaseParam();
- cwsBaseParam.setCwsCode(p.getCwsCode());
- cwsBaseParam.setAddvcd(p.getAddvcd());
- AttCwsBase attCwsBase = attCwsBaseDao.getBy(cwsBaseParam);
- return attCwsBase;
- }
- @Override
- public int modify(AttCwsBase p) throws Exception {
- String now = DateUtils.getTodayYMDHMS();
- p.setUptm(now);
- transferGeo(p);
- if (StringUtils.isNotBlank(p.getCompYear())) {
- p.setCompDate(p.getCompYear() + "-01-01");
- }
- int ret = attCwsBaseDao.update(p);
- return ret;
- }
- public void transferGeo(AttCwsBase p) {
- String src = p.getSrc();
- if (StringUtils.isNotBlank(src)) {
- if (RequestSourceEnum.PC.getValue().equalsIgnoreCase(src)) {
- if (p.getCwsLong() != null && p.getCwsLat() != null) {
- Map<String, Double> map = GeoUtil.wgs84togcj02(p.getCwsLong(), p.getCwsLat());
- p.setCenterXGd(map.get("lon"));
- p.setCenterYGd(map.get("lat"));
- }
- } else if (RequestSourceEnum.MOBILE.getValue().equalsIgnoreCase(src)) {
- if (p.getCenterXGd() != null && p.getCenterYGd() != null) {
- Map<String, Double> map = GeoUtil.gcj02towgs84(p.getCenterXGd(), p.getCenterYGd());
- p.setCwsLong(map.get("lon"));
- p.setCwsLat(map.get("lat"));
- }
- }
- } else {
- if (p.getCwsLong() != null && p.getCwsLat() != null) {
- Map<String, Double> map = GeoUtil.wgs84togcj02(p.getCwsLong(), p.getCwsLat());
- p.setCenterXGd(map.get("lon"));
- p.setCenterYGd(map.get("lat"));
- } else if (p.getCenterXGd() != null && p.getCenterYGd() != null) {
- Map<String, Double> map = GeoUtil.gcj02towgs84(p.getCenterXGd(), p.getCenterYGd());
- p.setCwsLong(map.get("lon"));
- p.setCwsLat(map.get("lat"));
- }
- }
- }
- @Override
- public PageInfo<AttCwsBase> queryListByPage(AttCwsBaseParam p) throws Exception {
- PageHelper.startPage(p.getPageNum(), p.getPageSize());
- List<AttCwsBase> list = attCwsBaseDao.findList(p);
- return new PageInfo<AttCwsBase>(list);
- }
- @Override
- public List<AttCwsBase> queryList(AttCwsBaseParam p) throws Exception {
- List<AttCwsBase> list = attCwsBaseDao.findList(p);
- return list;
- }
- @Override
- public PageInfo<AttCwsBaseDto> queryListByObjId(AttCwsBaseListParam param) throws Exception {
- PageHelper.startPage(param.getPageNum(), param.getPageSize());
- List<AttCwsBaseDto> list = attCwsBaseDao.queryListWithStatus(param.getObjId(), param.getEngId(), param.getName());
- PageInfo<AttCwsBaseDto> page = new PageInfo<>(list);
- return page;
- }
- @Override
- public PageInfo<AttCwsBase> queryListByObjId(AttCwsBaseListParamNew param) throws Exception {
- List<AttCwsBase> list = new ArrayList<>();
- if (param.isIfDc()) {
- PageHelper.startPage(param.getPageNum(), param.getPageSize());
- list = attCwsBaseDao.queryListByObjId(param.getAdCode(), param.getEngId(), param.getName());
- } else {
- PageHelper.startPage(param.getPageNum(), param.getPageSize());
- list = attCwsBaseDao.queryListByObjIdNotDC(param.getAdCode(), param.getEngId(), param.getName());
- }
- PageInfo<AttCwsBase> page = new PageInfo<>(list);
- return page;
- }
- @Override
- public void correction(AttCwsBaseCrrct attCwsBase, String persId) throws Exception {
- AttCwsBase base = new AttCwsBase();
- base.setGuid(attCwsBase.getGuid());
- base.setCwsName(attCwsBase.getCwsName());
- base.setCompDate(attCwsBase.getCompDate());
- base.setCwsLoc(attCwsBase.getCwsLoc());
- base.setDesWasuScal(attCwsBase.getDesWasuScal());
- base.setDesWasuPop(attCwsBase.getDesWasuPop());
- base.setCwsLong(attCwsBase.getCwsLong());
- base.setCwsLat(attCwsBase.getCwsLat());
- base.setCenterXGd(attCwsBase.getCenterXGd());
- base.setCenterYGd(attCwsBase.getCenterYGd());
- base.setSrc(attCwsBase.getSrc());
- base.setCompYear(attCwsBase.getCompYear());
- modify(base);
- attCwsBaseCrrctService.add(attCwsBase);
- BisInspVlgdrinkProjManage p = new BisInspVlgdrinkProjManage();
- p.setCwsCode(attCwsBase.getCwsCode());
- p.setPjnm(attCwsBase.getCwsName());
- p.setVillageNm(attCwsBase.getCwsLoc());
- if (StringUtils.isNotBlank(attCwsBase.getCompYear())) {
- p.setBuildYear(NumberUtils.toLong(attCwsBase.getCompYear()));
- } else {
- if (StringUtils.isNotBlank(attCwsBase.getCompDate())) {
- p.setBuildYear(NumberUtils.toLong(attCwsBase.getCompDate().split("-")[0]));
- }
- }
- p.setPlanSupplyScale(attCwsBase.getDesWasuScal());
- if (attCwsBase.getDesWasuPop() != null) {
- BigDecimal despop = new BigDecimal(attCwsBase.getDesWasuPop().toString());
- despop = despop.multiply(new BigDecimal(10000));
- p.setPersonNum(despop.longValue());
- }
- String now = DateUtils.getTodayYMDHMS();
- p.setUpdateTime(now);
- p.setRecPersId(persId);
- bisInspVlgdrinkProjManageDao.updateByCwsCode(p);
- }
- @Override
- public void exportAttCwsBase(AttCwsBaseParam attCwsBaseParam, HttpServletResponse response) {
- List<AttCwsBase> list = attCwsBaseDao.findList(attCwsBaseParam);
- List<Map<String, Object>> mapList = new ArrayList<>();
- for (AttCwsBase attCwsBase : list) {
- String engType = attCwsBase.getEngType();
- if ("1".equals(engType)) {
- attCwsBase.setEngType("大(1)型");
- } else if ("2".equals(engType)) {
- attCwsBase.setEngType("大(2)型");
- } else if ("3".equals(engType)) {
- attCwsBase.setEngType("中型");
- } else if ("4".equals(engType)) {
- attCwsBase.setEngType("小(1)型");
- } else if ("5".equals(engType)) {
- attCwsBase.setEngType("小(2)型");
- } else if ("9".equals(engType)) {
- attCwsBase.setEngType("其他");
- }
- mapList.add(BeanUtil.transBean2Map(attCwsBase));
- }
- ExportAbstract export = new ExcelExport();
- export.setFileName("人饮基础信息");
- export.setExport_ps_export(true);
- export.setExport_ps_type(ExportAbstract.XLS);
- export.setExport_bzip(false);
- export.setTitle("人饮基础信息");
- ArrayList<Object> cols = new ArrayList<Object>();
- cols.add("cwsCode[农村供水代码]");
- cols.add("cwsName[农村供水名称]");
- cols.add("cwsLoc[农村供水所在位置]");
- cols.add("addvcd[行政区划编码]");
- cols.add("engType[工程类型]");
- cols.add("wasuRang[供水范围]");
- cols.add("desWasuScal[设计供水规模(立方米/天)]");
- cols.add("note[备注]");
- export.setCols(cols);
- export.setGroupable(false);
- // 设置视图指标
- export.setLevel(1);
- export.setLocksize(0);
- try {
- export.Export(response);
- export.ExportHeadForCustom(response);//导出表头
- export.ContinueExport(mapList);
- export.EndExport();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 根据水饮编码 批量设置是否省属 1是 2否
- * @param attCwsBaseParam
- * @return
- */
- @Override
- public int updateBatchProvincial(AttCwsBaseParam attCwsBaseParam){
- return attCwsBaseDao.updateBatchProvincial(attCwsBaseParam);
- }
- }
|