zhubaomin
2025-04-02 bab406b3393a3df6854ee5970a5a62a33f34e597
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
@@ -2,19 +2,26 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoIr.IrGroupClientMapper;
import com.dy.pipIrrGlobal.daoIr.IrGroupIntakeMapper;
import com.dy.pipIrrGlobal.daoIr.IrGroupUnitMapper;
import com.dy.pipIrrGlobal.daoIr.IrIrrigateGroupMapper;
import com.dy.pipIrrGlobal.pojoIr.IrGroupClient;
import com.dy.pipIrrGlobal.pojoIr.IrGroupIntake;
import com.dy.pipIrrGlobal.pojoIr.IrGroupUnit;
import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
import com.dy.pipIrrGlobal.voIr.VoGroup;
import com.dy.pipIrrGlobal.voIr.VoGroupDetail;
import com.dy.pipIrrGlobal.voIr.VoGroupOne;
import com.dy.pipIrrGlobal.voIr.VoGroupSimple;
import com.dy.pipIrrIrrigate.irrigateGroup.dto.IrrigateGroup;
import com.dy.pipIrrIrrigate.irrigateGroup.qo.QoGroup;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -29,11 +36,15 @@
public class IrrigateGroupSv {
    @Autowired
    private IrIrrigateGroupMapper irIrrigateGroupMapper;
    @Autowired
    private IrGroupUnitMapper irGroupUnitMapper;
    @Autowired
    private IrGroupClientMapper irGroupClientMapper;
    @Autowired
    private IrGroupIntakeMapper irGroupIntakeMapper;
    /**
     * 创建轮灌组
@@ -168,4 +179,168 @@
    public Integer deleteGroupClient (Long id) {
        return irGroupClientMapper.deleteByPrimaryKey(id);
    }
    /**
     * 创建轮灌组
     * @param po
     * @return
     */
    public Map addIrrigateGroup(IrrigateGroup po) {
        IrIrrigateGroup irrigateGroup = new IrIrrigateGroup();
        irrigateGroup.setGroupCode(po.getGroupCode());
        irrigateGroup.setDefaultDuration(po.getDefaultDuration());
        irrigateGroup.setOperator(po.getOperator());
        irrigateGroup.setOperateTime(new Date());
        irrigateGroup.setDeleted((byte) 0);
        irIrrigateGroupMapper.insertSelective(irrigateGroup);
        Long groupId = irrigateGroup.getId();
        if(groupId == null) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", "创建轮灌组失败");
            map.put("content", null);
            return map;
        }
        String[] intakeArr = po.getIntakes().split(",");
        Integer sort = 1;
        for(String intekeId : intakeArr) {
            String trimmed = intekeId.trim();
            if(trimmed.isEmpty()) {
                continue;
            }
            try {
                Long intakeIdLong = Long.parseLong(trimmed);
                IrGroupIntake irGroupIntake = new IrGroupIntake();
                irGroupIntake.setGroupId(groupId);
                irGroupIntake.setIntakeId(intakeIdLong);
                irGroupIntakeMapper.insert(irGroupIntake);
            } catch (NumberFormatException  e) {
                Map map = new HashMap<>();
                map.put("success", false);
                map.put("msg", "取水口ID格式错误");
                map.put("content", null);
                return map;
            }
        }
        Map map = new HashMap<>();
        map.put("success", true);
        map.put("msg", "添加轮灌组成功");
        map.put("content", null);
        return map;
    }
    /**
     * 根据组ID删除取水口关联
     * @param groupId
     * @return
     */
    public Map deleteGroup(Long groupId) {
        try {
            irGroupIntakeMapper.deleteByGroupId(groupId);
            irIrrigateGroupMapper.deleteByPrimaryKey(groupId);
            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
     */
    public Map updateIrrigateGroup(IrrigateGroup po) {
        Long groupId = po.getGroupId();
        Map map_deleteGroup = deleteGroup(groupId);
        if(map_deleteGroup.get("success").equals(false)) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", map_deleteGroup.get("msg").toString());
            map.put("content", null);
            return map;
        }
        Map map_addGroup = addIrrigateGroup(po);
        if(map_addGroup.get("success").equals(false)) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", map_addGroup.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 queryVo
     * @return
     */
    public QueryResultVo<List<VoGroupSimple>> getSimpleGroups(QoGroup queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        Long itemTotal = irIrrigateGroupMapper.getSimpleGroupCount(params);
        QueryResultVo<List<VoGroupSimple>> rsVo = new QueryResultVo<>();
        rsVo.pageSize = queryVo.pageSize;
        rsVo.pageCurr = queryVo.pageCurr;
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = irIrrigateGroupMapper.getSimpleGroups(params);
        return rsVo;
    }
    /**
     * 查询全部轮灌组
     * @return
     */
    public List<VoGroupSimple> getAllGroups() {
        //Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        //Long itemTotal = irIrrigateGroupMapper.getSimpleGroupCount(params);
        //QueryResultVo<List<VoGroupSimple>> rsVo = new QueryResultVo<>();
        //rsVo.pageSize = queryVo.pageSize;
        //rsVo.pageCurr = queryVo.pageCurr;
        //rsVo.calculateAndSet(itemTotal, params);
        //rsVo.obj = irIrrigateGroupMapper.getSimpleGroups(null);
        //return rsVo;
        return irIrrigateGroupMapper.getSimpleGroups(null);
    }
    /**
     * 获取轮灌组详情
     * @param groupId
     * @return
     */
    public Map getGroupDetail(Long groupId) {
        try {
            VoGroupDetail voGroupDetail = irIrrigateGroupMapper.getGroupDetail(groupId);
            Map map = new HashMap<>();
            map.put("success", true);
            map.put("msg", "获取轮灌组详情成功");
            map.put("content", voGroupDetail);
            return map;
        } catch (Exception e) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", "获取轮灌组详情失败");
            map.put("content", null);
            return map;
        }
    }
}