From 1a2b07f01ba4616fd9e894dddf474b56d020158c Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 07 四月 2025 15:18:51 +0800 Subject: [PATCH] 整理版本 --- pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java | 311 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 311 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java new file mode 100644 index 0000000..e2ef915 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java @@ -0,0 +1,311 @@ +package com.dy.pipIrrIrrigate.project; + + +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrGlobal.daoIr.IrProjectGroupMapper; +import com.dy.pipIrrGlobal.daoIr.IrProjectMapper; +import com.dy.pipIrrGlobal.pojoIr.IrProject; +import com.dy.pipIrrGlobal.pojoIr.IrProjectGroup; +import com.dy.pipIrrGlobal.voIr.VoProject; +import com.dy.pipIrrGlobal.voIr.VoProjectDetail; +import com.dy.pipIrrGlobal.voIr.VoProjectOne; +import com.dy.pipIrrGlobal.voIr.VoProjectSimple; +import com.dy.pipIrrIrrigate.project.dto.IrrigateProject; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author :WuZeYu + * @Date :2024/5/14 13:56 + * @LastEditTime :2024/5/14 13:56 + * @Description + */ +@Slf4j +@Service +public class ProjectSv { + @Autowired + private IrProjectMapper irProjectMapper; + + @Autowired + private IrProjectGroupMapper irProjectGroupMapper; + + /** + * 娣诲姞椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純 + * @param po + * @return + */ + public Integer addProject(IrProject po) { + po.setOperateTime(new Date()); + po.setDeleted((byte) 0); + if (po.getVillageId() != null) { + po.setTownId(irProjectMapper.getSupperByVillageId(po.getVillageId())); + po.setCountyId(irProjectMapper.getSupperByVillageId(po.getTownId())); + po.setCityId(irProjectMapper.getSupperByVillageId(po.getCountyId())); + po.setProvinceId(irProjectMapper.getSupperByVillageId(po.getCityId())); + } + if (po.getTownId() != null) { + po.setCountyId(irProjectMapper.getSupperByVillageId(po.getTownId())); + po.setCityId(irProjectMapper.getSupperByVillageId(po.getCountyId())); + po.setProvinceId(irProjectMapper.getSupperByVillageId(po.getCityId())); + } + if (po.getCountyId() != null) { + po.setCityId(irProjectMapper.getSupperByVillageId(po.getCountyId())); + po.setProvinceId(irProjectMapper.getSupperByVillageId(po.getCityId())); + } + if (po.getCityId() != null) { + po.setProvinceId(irProjectMapper.getSupperByVillageId(po.getCityId())); + } + int rows = irProjectMapper.insertSelective(po); + if (rows == 0) { + return 0; + } + return 1; + } + + /** + * 娣诲姞椤圭洰锛岀洰鍓嶄娇鐢� + * @param po + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Map addIrrigateProject(IrrigateProject po) { + String projectName = po.getProjectName(); + String irrigateGroups = po.getIrrigateGroups(); + Long operatorId = po.getOperator(); + + IrProject irProject = new IrProject(); + irProject.setProjectName(projectName); + irProject.setProjectState((byte)1); + irProject.setOperator(operatorId); + irProject.setOperateTime(new Date()); + irProject.setDeleted((byte)0); + irProjectMapper.insert(irProject); + Long projectId = irProject.getId(); + if(projectId == null) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "鍒涘缓鐏屾簤椤圭洰澶辫触"); + map.put("content", null); + return map; + } + + String[] irrigateGroupArr = irrigateGroups.split(","); + Integer sort = 1; + for(String irrigateGroupId : irrigateGroupArr) { + String trimmed = irrigateGroupId.trim(); + if(trimmed.isEmpty()) { + continue; + } + try { + Long irrigateGroupIdLong = Long.parseLong(trimmed); + IrProjectGroup irProjectGroup = new IrProjectGroup(); + irProjectGroup.setProjectId(projectId); + irProjectGroup.setGroupId(irrigateGroupIdLong); + irProjectGroup.setSort(sort++); + irProjectGroupMapper.insert(irProjectGroup); + } catch (NumberFormatException e) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "鐏屾簤缁処D鏍煎紡閿欒"); + map.put("content", null); + return map; + } + } + Map map = new HashMap<>(); + map.put("success", true); + map.put("msg", "娣诲姞鐏屾簤椤圭洰鎴愬姛"); + map.put("content", null); + return map; + } + + /** + * 鍒犻櫎鐏屾簤椤圭洰锛岀洰鍓嶄娇鐢� + * @param projectId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Map deleteIrrigateProject(Long projectId) { + try { + irProjectGroupMapper.unbindGroup(projectId); + irProjectMapper.deleteByPrimaryKey(projectId); + + Map map = new HashMap<>(); + map.put("success", true); + map.put("msg", "鐏屾簤椤圭洰鍒犻櫎鎴愬姛"); + map.put("content", null); + return map; + } catch (Exception e) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "鐏屾簤椤圭洰鍒犻櫎澶辫触"); + map.put("content", null); + return map; + } + } + + /** + * 淇敼鐏屾簤椤圭洰锛岀洰鍓嶄娇鐢� + * @param po + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Map updateIrrigateProject(IrrigateProject po) { + Long projectId = po.getProjectId(); + Map map_deleteProject = ((ProjectSv) AopContext.currentProxy()).deleteIrrigateProject(projectId); + if(map_deleteProject.get("success").equals(false)) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", map_deleteProject.get("msg").toString()); + map.put("content", null); + return map; + } + + Map map_addProject = ((ProjectSv) AopContext.currentProxy()).addIrrigateProject(po); + if(map_addProject.get("success").equals(false)) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", map_addProject.get("msg").toString()); + map.put("content", null); + return map; + } + + Map map = new HashMap<>(); + map.put("success", true); + map.put("msg", "淇敼鐏屾簤椤圭洰鎴愬姛"); + map.put("content", null); + return map; + } + + /** + * 鍒犻櫎椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純 + * @param id + */ + public Integer deleteProject(Long id) { + int rows = irProjectMapper.deleteLogicById(id); + if (rows == 0) { + return 0; + } + return 1; + } + + /** + * 淇敼椤圭洰淇℃伅 + * @param po + * @return + */ + public Integer updateProject(IrProject po){ + po.setOperateTime(new Date()); + if (po.getVillageId() != null) { + po.setTownId(irProjectMapper.getSupperByVillageId(po.getVillageId())); + po.setCountyId(irProjectMapper.getSupperByVillageId(po.getTownId())); + po.setCityId(irProjectMapper.getSupperByVillageId(po.getCountyId())); + po.setProvinceId(irProjectMapper.getSupperByVillageId(po.getCityId())); + } + if (po.getTownId() != null) { + po.setCountyId(irProjectMapper.getSupperByVillageId(po.getTownId())); + po.setCityId(irProjectMapper.getSupperByVillageId(po.getCountyId())); + po.setProvinceId(irProjectMapper.getSupperByVillageId(po.getCityId())); + } + if (po.getCountyId() != null) { + po.setCityId(irProjectMapper.getSupperByVillageId(po.getCountyId())); + po.setProvinceId(irProjectMapper.getSupperByVillageId(po.getCityId())); + } + if (po.getCityId() != null) { + po.setProvinceId(irProjectMapper.getSupperByVillageId(po.getCityId())); + } + int rows = irProjectMapper.updateByPrimaryKeySelective(po); + if (rows == 0){ + return 0; + } + return 1; + } + + /** + * 淇敼椤圭洰鐘舵�� + * @param po + * @return + */ + public Integer updateProjectState(IrProject po){ + po.setOperateTime(new Date()); + int rows = irProjectMapper.updateProjectState(po); + if (rows == 0){ + return 0; + } + return 1; + } + + /** + * 鑾峰彇涓�涓」鐩暟鎹� + * @param id + * @return + */ + public VoProjectOne selectById(Long id){ + VoProjectOne irProject = irProjectMapper.selectById(id); + return irProject; + } + + /** + * 鍒嗛〉鏌ヨ椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純 + * @param queryVo + * @return + */ + public QueryResultVo<List<VoProject>> getProjects(QueryVo queryVo){ + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + Long itemTotal = irProjectMapper.getRecordCount(params); + + QueryResultVo<List<VoProject>> rsVo = new QueryResultVo<>(); + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = irProjectMapper.getProjects(params); + return rsVo; + } + + /** + * 鍒嗛〉鏌ヨ椤圭洰锛屾柊鐗堟湰锛岀洰鍓嶄娇鐢� + * @param queryVo + * @return + */ + public QueryResultVo<List<VoProjectSimple>> getSimpleProjects(QueryVo queryVo) { + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + Long itemTotal = irProjectMapper.getSimpleProjectsCount(params); + + QueryResultVo<List<VoProjectSimple>> rsVo = new QueryResultVo<>(); + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = irProjectMapper.getSimpleProjects(params); + return rsVo; + } + + /** + * 鏍规嵁椤圭洰Id鑾峰彇椤圭洰璇︽儏锛岀紪杈戦」鐩俊鎭娇鐢� + * @param projectId + * @return + */ + public Map getProjectDetail(Long projectId) { + try { + VoProjectDetail voProjectDetail = irProjectMapper.getProjectDetail(projectId); + Map map = new HashMap<>(); + map.put("success", true); + map.put("msg", "鑾峰彇椤圭洰璇︽儏鎴愬姛"); + map.put("content", voProjectDetail); + return map; + } catch (Exception e) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "鑾峰彇椤圭洰璇︽儏澶辫触"); + map.put("content", null); + return map; + } + } +} -- Gitblit v1.8.0