Ver código fonte

维修人员分组接口

zhj 2 anos atrás
pai
commit
3ecc7281e8

+ 2 - 0
src/main/java/com/welampiot/common/InterfaceResultEnum.java

@@ -128,6 +128,8 @@ public enum InterfaceResultEnum {
     USERNAME_UNIQUE_ERROR("0321","用户名不能重复","The username cannot be repeated","Имя пользователя не может быть повторено"),
     PHONE_FORMAT_ERROR("0322","请输入正确的手机号码","Please enter the correct mobile number","Пожалуйста, введите правильный номер телефона"),
     EMAIL_FORMAT_ERROR("0323","邮箱格式错误","Mailbox format error","Ошибка в формате почтового ящика"),
+    REPAIR_GROUP_UNIQUE_NAME("0324","维修分组名称重复","Maintenance group names are repeated","Название группы техобслуживания повторяется"),
+    REPAIR_GROUP_UNIQUE_NUMBER("0325","维修分组编号重复","Maintenance group number are repeated","Номера групп техобслуживания повторяются"),
     ;
     private String code;
     private String msgCn;

+ 290 - 0
src/main/java/com/welampiot/controller/RepairGroupController.java

@@ -0,0 +1,290 @@
+package com.welampiot.controller;
+
+import com.welampiot.common.BaseResult;
+import com.welampiot.common.InterfaceResultEnum;
+import com.welampiot.dto.RepairGroupDTO;
+import com.welampiot.dto.RepairPersonnelDTO;
+import com.welampiot.service.RepairGroupService;
+import com.welampiot.service.RepairPersonnelService;
+import com.welampiot.utils.ToolUtils;
+import com.welampiot.vo.RepairGroupVO;
+import com.welampiot.vo.RepairPersonnelDetailsVO;
+import com.welampiot.vo.RepairPersonnelVO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.StringJoiner;
+
+/**
+ * ClassName: RepairGroupController
+ * Package: com.welampiot.controller
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/7/17 - 10:22
+ * @Version: v1.0
+ */
+@RestController
+@CrossOrigin
+@RequestMapping("/repairGroup")
+public class RepairGroupController {
+    @Autowired
+    private RepairGroupService repairGroupService;
+
+    @Autowired
+    private RepairPersonnelService repairPersonnelService;
+
+    @Autowired
+    private ToolUtils toolUtils;
+
+    /**
+     * 分组列表
+     * @param request sectionList,分页,关键字搜索
+     * @return 分组列表
+     */
+    @RequestMapping(value = "/getList", method = RequestMethod.POST)
+    public BaseResult<?> getList(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        String keyword = (String) toolUtils.getRequestContent(request,"keyword",2);
+        int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
+        int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
+        RepairGroupVO repairGroupVO = new RepairGroupVO();
+        repairGroupVO.setPage(count * (page - 1));
+        repairGroupVO.setCount(count);
+        repairGroupVO.setKeyword(keyword);
+        repairGroupVO.setSectionList(toolUtils.getSectionList(request));
+        List<RepairGroupDTO> repairGroupList = repairGroupService.getRepairGroupList(repairGroupVO);
+        List<RepairGroupDTO> list = new ArrayList<>();
+        for (RepairGroupDTO dto : repairGroupList) {
+            List<RepairPersonnelDTO> personnelList = new ArrayList<>();
+            if (dto.getWorkId() != null && !dto.getWorkId().equals("")) {
+                String[] strings = dto.getWorkId().split(",");
+                for (String s : strings) {
+                    RepairPersonnelDetailsVO vo = repairPersonnelService.getDetailsByRepairPersonnelDTO(Integer.parseInt(s));
+                    RepairPersonnelDTO repairPersonnelDTO = new RepairPersonnelDTO();
+                    if (vo == null) {
+                        personnelList.add(repairPersonnelDTO);
+                        continue;
+                    }
+                    BeanUtils.copyProperties(vo,repairPersonnelDTO);
+                    personnelList.add(repairPersonnelDTO);
+                }
+            }
+            dto.setWorkerList(personnelList);
+            list.add(dto);
+        }
+        RepairGroupVO vo = new RepairGroupVO();
+        vo.setList(list);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,vo);
+    }
+
+    /**
+     * 添加编辑分组
+     * @param request 维修分组的属性
+     * @return 添加编辑分组
+     */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public BaseResult<?> save(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        Integer areaId = (Integer) toolUtils.getRequestContent(request,"areaId",1);
+        Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
+        String name = (String) toolUtils.getRequestContent(request,"name",2);
+        String workId = (String) toolUtils.getRequestContent(request,"workId",2);
+        String number = (String) toolUtils.getRequestContent(request,"number",2);
+
+        if (areaId == 0) return toolUtils.response(InterfaceResultEnum.LACK_AREA_ERROR,version);
+        if (sectionId == 0) return toolUtils.response(InterfaceResultEnum.LACK_SECTION_ERROR,version);
+        if (name.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        if (number.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        if (workId.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        List<String> strings = Arrays.asList(workId.split(","));
+        RepairGroupDTO repairGroupDTO = new RepairGroupDTO();
+        repairGroupDTO.setAreaId(areaId);
+        repairGroupDTO.setSectionId(sectionId);
+        repairGroupDTO.setName(name);
+        repairGroupDTO.setWorkId(workId);
+        repairGroupDTO.setNumber(number);
+        if (id == 0) { // 添加
+            RepairGroupDTO dto = new RepairGroupDTO();
+            dto.setSectionId(sectionId);
+            dto.setName(name);
+            if (repairGroupService.checkRepairGroupData(dto) > 0)
+                return toolUtils.response(InterfaceResultEnum.REPAIR_GROUP_UNIQUE_NAME,version);
+            dto = new RepairGroupDTO();
+            dto.setSectionId(sectionId);
+            dto.setNumber(number);
+            if (repairGroupService.checkRepairGroupData(dto) > 0)
+                return toolUtils.response(InterfaceResultEnum.REPAIR_GROUP_UNIQUE_NUMBER,version);
+            long l = System.currentTimeMillis();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String format = simpleDateFormat.format(l);
+            repairGroupDTO.setCreateTime(format);
+            repairGroupDTO.setUpdateTime(format);
+            repairGroupDTO.setWorkCount(strings.size());
+            repairGroupService.addRepairGroupData(repairGroupDTO);
+        } else { // 编辑
+            repairGroupDTO.setId(id);
+            RepairGroupDTO dto = new RepairGroupDTO();
+            dto.setId(id);
+            dto.setSectionId(sectionId);
+            dto.setName(name);
+            if (repairGroupService.checkRepairGroupData(dto) > 0)
+                return toolUtils.response(InterfaceResultEnum.REPAIR_GROUP_UNIQUE_NAME,version);
+            dto = new RepairGroupDTO();
+            dto.setId(id);
+            dto.setSectionId(sectionId);
+            dto.setNumber(number);
+            if (repairGroupService.checkRepairGroupData(dto) > 0)
+                return toolUtils.response(InterfaceResultEnum.REPAIR_GROUP_UNIQUE_NUMBER,version);
+            long l = System.currentTimeMillis();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String format = simpleDateFormat.format(l);
+            repairGroupDTO.setUpdateTime(format);
+            repairGroupDTO.setWorkCount(strings.size());
+            repairGroupService.updateRepairGroupData(repairGroupDTO);
+        }
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
+    /**
+     * 分组详情
+     * @param request 分组id
+     * @return 分组详情
+     */
+    @RequestMapping(value = "/details", method = RequestMethod.POST)
+    public BaseResult<?> details(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        RepairGroupDTO repairGroupDTO = repairGroupService.getRepairGroupDetailsById(id,version);
+        if (repairGroupDTO == null) repairGroupDTO = new RepairGroupDTO();
+        RepairGroupVO repairGroupVO = new RepairGroupVO();
+        BeanUtils.copyProperties(repairGroupDTO,repairGroupVO);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairGroupVO);
+    }
+
+    /**
+     * 删除分组
+     * @param request 分组id
+     * @return 删除分组
+     */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    public BaseResult<?> del(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        repairGroupService.deleteRepairGroupData(id);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
+    /**
+     * 分组下选择维修人员
+     * @param request 分组id
+     * @return 分组下选择维修人员
+     */
+    @RequestMapping(value = "/selectPerson", method = RequestMethod.POST)
+    public BaseResult<?> selectPerson(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        String username = (String) toolUtils.getRequestContent(request,"username",2);
+        if (id == 0 || username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        Integer userid = repairPersonnelService.getUserIdByUsername(username);
+        RepairPersonnelDTO repairPersonnelDTO = new RepairPersonnelDTO();
+        repairPersonnelDTO.setOwnId(userid);
+        RepairPersonnelVO vo = repairPersonnelService.getListByRepairPersonnelDTO(repairPersonnelDTO);
+        RepairGroupDTO repairGroupDTO = repairGroupService.getRepairGroupDetailsById(id, version);
+        if (repairGroupDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        if (repairGroupDTO.getWorkId() == null || repairGroupDTO.getWorkId().equals(""))
+            return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        String[] strings = repairGroupDTO.getWorkId().split(",");
+        List<RepairPersonnelDTO> list = new ArrayList<>();
+        vo.getList().forEach(dto -> {
+            boolean isFlag = false;
+            for(String s : strings) {
+                if (dto.getId() == Integer.parseInt(s)) {
+                    dto.setSelect(1);
+                    isFlag = true;
+                    break;
+                }
+            }
+            if (!isFlag) {
+                dto.setSelect(0);
+            }
+            list.add(dto);
+        });
+        RepairPersonnelVO repairPersonnelVO = new RepairPersonnelVO();
+        repairPersonnelVO.setList(list);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairPersonnelVO);
+    }
+
+    /**
+     * 解绑分组中的维修人员
+     * @param request 分组id,维修人员id
+     * @return 解绑分组中的维修人员
+     */
+    @RequestMapping(value = "/unbind", method = RequestMethod.POST)
+    public BaseResult<?> unbind(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        Integer repairId = (Integer) toolUtils.getRequestContent(request,"repairId",1);
+        if (id == 0 || repairId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        RepairGroupDTO repairGroupDTO = repairGroupService.getRepairGroupDetailsById(id, version);
+        if (repairGroupDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        if (repairGroupDTO.getWorkId() == null || repairGroupDTO.getWorkId().equals(""))
+            return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        String[] split = repairGroupDTO.getWorkId().split(",");
+        StringJoiner stringJoiner = new StringJoiner(",");
+        for (String s : split) {
+            if (Integer.parseInt(s) != repairId) {
+                stringJoiner.add(s);
+            }
+        }
+        String newString = stringJoiner.toString();
+        RepairGroupDTO dto = new RepairGroupDTO();
+        dto.setId(id);
+        dto.setWorkId(newString);
+        repairGroupService.updateGroupWorkId(dto);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
+    /**
+     * 分组下拉维修人员列表
+     * @param request 分组id
+     * @return 分组下拉维修人员列表
+     */
+    @RequestMapping(value = "/repairPersonGetList", method = RequestMethod.POST)
+    public BaseResult<?> repairPersonGetList(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        RepairGroupDTO repairGroupDTO = repairGroupService.getRepairGroupDetailsById(id, version);
+        if (repairGroupDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        if (repairGroupDTO.getWorkId() == null || repairGroupDTO.getWorkId().equals(""))
+            return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        String[] split = repairGroupDTO.getWorkId().split(",");
+        List<RepairPersonnelDTO> list = new ArrayList<>();
+        for (String s : split) {
+            RepairPersonnelDetailsVO vo = repairPersonnelService.getDetailsByRepairPersonnelDTO(Integer.parseInt(s));
+            RepairPersonnelDTO repairPersonnelDTO = new RepairPersonnelDTO();
+            if (vo == null) {
+                list.add(repairPersonnelDTO);
+                continue;
+            }
+            BeanUtils.copyProperties(vo,repairPersonnelDTO);
+            list.add(repairPersonnelDTO);
+        }
+        RepairPersonnelVO repairPersonnelVO = new RepairPersonnelVO();
+        repairPersonnelVO.setList(list);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairPersonnelVO);
+    }
+}

+ 32 - 0
src/main/java/com/welampiot/dao/RepairGroupDao.java

@@ -0,0 +1,32 @@
+package com.welampiot.dao;
+
+import com.welampiot.dto.RepairGroupDTO;
+import com.welampiot.vo.RepairGroupVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * ClassName: RepairGroupDao
+ * Package: com.welampiot.dao
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/7/17 - 10:16
+ * @Version: v1.0
+ */
+public interface RepairGroupDao {
+    List<RepairGroupDTO> getRepairGroupList(RepairGroupVO vo);
+
+    void addRepairGroupData(RepairGroupDTO dto);
+
+    void updateRepairGroupData(RepairGroupDTO dto);
+
+    Integer checkRepairGroupData(RepairGroupDTO dto);
+
+    RepairGroupDTO getRepairGroupDetailsById(@Param("id") Integer id, @Param("version") Integer version);
+
+    void deleteRepairGroupData(@Param("id") Integer id);
+
+    void updateGroupWorkId(RepairGroupDTO dto);
+}

+ 2 - 0
src/main/java/com/welampiot/dto/ChargeDTO.java

@@ -118,6 +118,8 @@ public class ChargeDTO implements Serializable {
     /** 过期时间 **/
     private String expirationDate;
 
+    private String lampPoleName;
+
     private Integer timezone;
 
     private Integer total;

+ 48 - 0
src/main/java/com/welampiot/dto/RepairGroupDTO.java

@@ -0,0 +1,48 @@
+package com.welampiot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * ClassName: RepairGroupDTO
+ * Package: com.welampiot.dto
+ * Description: 维修人员分组
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/7/17 - 9:43
+ * @Version: v1.0
+ */
+@Data
+public class RepairGroupDTO implements Serializable {
+    private Integer id;
+
+    private String number;
+
+    private String name;
+
+    private String workId;
+
+    private Integer sectionId;
+
+    private Integer areaId;
+
+    private String createTime;
+
+    private Integer workCount;
+
+    private String updateTime;
+
+    private String workTime;
+
+    private String headerId;
+
+    private String section;
+
+    private String area;
+
+    private List<RepairPersonnelDTO> workerList;
+
+    private static final long serialVersionUID = 1L;
+}

+ 2 - 0
src/main/java/com/welampiot/dto/RepairPersonnelDTO.java

@@ -57,5 +57,7 @@ public class RepairPersonnelDTO implements Serializable {
 
     private String keyword;
 
+    private Integer select;
+
     private static final long serialVersionUID = 1L;
 }

+ 31 - 0
src/main/java/com/welampiot/service/RepairGroupService.java

@@ -0,0 +1,31 @@
+package com.welampiot.service;
+
+import com.welampiot.dto.RepairGroupDTO;
+import com.welampiot.vo.RepairGroupVO;
+
+import java.util.List;
+
+/**
+ * ClassName: RepairGroupService
+ * Package: com.welampiot.service
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/7/17 - 10:20
+ * @Version: v1.0
+ */
+public interface RepairGroupService {
+    List<RepairGroupDTO> getRepairGroupList(RepairGroupVO vo);
+
+    void addRepairGroupData(RepairGroupDTO dto);
+
+    void updateRepairGroupData(RepairGroupDTO dto);
+
+    Integer checkRepairGroupData(RepairGroupDTO dto);
+
+    RepairGroupDTO getRepairGroupDetailsById(Integer id, Integer version);
+
+    void deleteRepairGroupData(Integer id);
+
+    void updateGroupWorkId(RepairGroupDTO dto);
+}

+ 3 - 0
src/main/java/com/welampiot/service/impl/ChargeServiceImpl.java

@@ -103,6 +103,9 @@ public class ChargeServiceImpl implements ChargeService {
             }else {
                 chargeDTO.setExpirationDate("");
             }
+            if (chargeDTO.getLampPoleName() == null) {
+                chargeDTO.setLampPoleName("");
+            }
             chargeDTO.setTotal(chargeDao.getTotalBySectionList(dto));
             list.add(chargeDTO);
         });

+ 60 - 0
src/main/java/com/welampiot/service/impl/RepairGroupServiceImpl.java

@@ -0,0 +1,60 @@
+package com.welampiot.service.impl;
+
+import com.welampiot.dao.RepairGroupDao;
+import com.welampiot.dto.RepairGroupDTO;
+import com.welampiot.service.RepairGroupService;
+import com.welampiot.vo.RepairGroupVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * ClassName: RepairGroupServiceImpl
+ * Package: com.welampiot.service.impl
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/7/17 - 10:20
+ * @Version: v1.0
+ */
+@Service
+public class RepairGroupServiceImpl implements RepairGroupService {
+    @Autowired
+    private RepairGroupDao repairGroupDao;
+
+    @Override
+    public List<RepairGroupDTO> getRepairGroupList(RepairGroupVO vo) {
+        return repairGroupDao.getRepairGroupList(vo);
+    }
+
+    @Override
+    public void addRepairGroupData(RepairGroupDTO dto) {
+        repairGroupDao.addRepairGroupData(dto);
+    }
+
+    @Override
+    public void updateRepairGroupData(RepairGroupDTO dto) {
+        repairGroupDao.updateRepairGroupData(dto);
+    }
+
+    @Override
+    public Integer checkRepairGroupData(RepairGroupDTO dto) {
+        return repairGroupDao.checkRepairGroupData(dto);
+    }
+
+    @Override
+    public RepairGroupDTO getRepairGroupDetailsById(Integer id, Integer version) {
+        return repairGroupDao.getRepairGroupDetailsById(id,version);
+    }
+
+    @Override
+    public void deleteRepairGroupData(Integer id) {
+        repairGroupDao.deleteRepairGroupData(id);
+    }
+
+    @Override
+    public void updateGroupWorkId(RepairGroupDTO dto) {
+        repairGroupDao.updateGroupWorkId(dto);
+    }
+}

+ 49 - 0
src/main/java/com/welampiot/vo/RepairGroupVO.java

@@ -0,0 +1,49 @@
+package com.welampiot.vo;
+
+import com.welampiot.dto.RepairGroupDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * ClassName: RepairGroupVO
+ * Package: com.welampiot.vo
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/7/17 - 10:16
+ * @Version: v1.0
+ */
+@Data
+public class RepairGroupVO implements Serializable {
+    private Integer page;
+
+    private Integer count;
+
+    private String keyword;
+
+    private List<Integer> sectionList;
+
+    private List<RepairGroupDTO> list;
+
+    private String name;
+
+    private String number;
+
+    private Integer id;
+
+    private Integer areaId;
+
+    private Integer sectionId;
+
+    private String section;
+
+    private String area;
+
+    private Integer workCount;
+
+    private Integer version;
+
+    private static final long serialVersionUID = 1L;
+}

+ 1 - 1
src/main/resources/mapper/ChargeMapper.xml

@@ -5,7 +5,7 @@
     <select id="getDevListByChargeDTO" resultType="ChargeDTO">
         select c.id,c.num,c.online,c.status,c.updateTime,c.starttime as startTime,c.endtime as endTime,
                c.equipmentElectricity,c.free,c.connectorNum,c.hourEnergy,c.alarmStatus,c.alarmInfo,
-               c.install_date installDate,c.expiration_date expirationDate,s.timezone
+               c.install_date installDate,c.expiration_date expirationDate,s.timezone,lp.name as lampPoleName
         from charge c left join lamp_pole lp on lp.id = c.lamp_pole_id
             left join section s on lp.sectionid = s.id
         where c.lamp_pole_id != 0

+ 98 - 0
src/main/resources/mapper/RepairGroupMapper.xml

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.welampiot.dao.RepairGroupDao">
+    
+    <select id="getRepairGroupList" resultType="RepairGroupDTO">
+        select
+            r.id,r.name,r.work_id workId
+        from repair_group r
+        where 1=1
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            and r.sectionid in
+            <foreach collection="sectionList" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="keyword != null and keyword != ''">
+            and r.name like '%${keyword}%'
+        </if>
+        <if test="page >= 0 and count > 0">
+            limit #{page},#{count}
+        </if>
+    </select>
+
+    <insert id="addRepairGroupData" parameterType="RepairGroupDTO" useGeneratedKeys="true" keyProperty="id">
+        insert into repair_group(areaid,sectionid,name,work_id,number,createtime,workCount,updatetime)
+        values (#{areaId},#{sectionId},#{name},#{workId},#{number},#{createTime},#{workCount},#{updateTime})
+    </insert>
+
+    <update id="updateRepairGroupData" parameterType="RepairGroupDTO">
+        update
+            repair_group r
+        set
+            r.areaid = #{areaId},
+            r.sectionid = #{sectionId},
+            r.number = #{number},
+            r.workCount = #{workCount},
+            r.work_id = #{workId},
+            r.name = #{name},
+            r.updatetime = #{updateTime}
+        where r.id = #{id}
+    </update>
+
+    <select id="checkRepairGroupData" resultType="Integer">
+        select count(*)
+        from repair_group r
+        where r.sectionid = #{sectionId}
+        <if test="name != null and name != ''">
+            and r.name = #{name}
+        </if>
+        <if test="number != null and number != ''">
+            and r.number = #{number}
+        </if>
+        <if test="id != null and id != 0">
+            and r.id != #{id}
+        </if>
+    </select>
+
+    <select id="getRepairGroupDetailsById" resultType="RepairGroupDTO">
+        select
+            r.id,
+            r.name,
+            r.number,
+            r.areaid as areaId,
+            r.sectionid as sectionId,
+            r.workCount,
+            r.work_id workId,
+            s.name as section
+            <choose>
+                <when test="version == 0">
+                    ,gl.chinese_name as area
+                </when>
+                <when test="version == 1">
+                    ,gl.english_name as area
+                </when>
+                <otherwise>
+                    ,gl.ru_name as area
+                </otherwise>
+            </choose>
+        from repair_group r
+        left join section s on s.id = r.sectionid
+        left join global_location gl on s.pid = gl.id
+        where r.id = #{id}
+    </select>
+
+    <delete id="deleteRepairGroupData">
+        delete
+        from repair_group
+        where id = #{id};
+    </delete>
+
+    <update id="updateGroupWorkId" parameterType="RepairGroupDTO">
+        update repair_group r
+        set
+            r.work_id = #{workId}
+        where r.id = #{id}
+    </update>
+
+</mapper>