zhaoyun 4 meses atrás
pai
commit
172fa1f857
25 arquivos alterados com 1425 adições e 7 exclusões
  1. 5 0
      ruoyi-powerdistribution/pom.xml
  2. 98 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmVehicleAlarmController.java
  3. 137 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmVehicleDrivingRecordController.java
  4. 12 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmWorkPlanController.java
  5. 131 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmVehicleAlarm.java
  6. 144 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmVehicleDrivingRecord.java
  7. 6 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmConstructTeamMapper.java
  8. 7 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmConstructorMapper.java
  9. 74 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmVehicleAlarmMapper.java
  10. 68 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmVehicleDrivingRecordMapper.java
  11. 7 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmWorkPlanMapper.java
  12. 36 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/provider/ConstructTeamProvider.java
  13. 27 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/provider/ConstructorProvider.java
  14. 30 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/provider/VehicleDrivingRecordProvider.java
  15. 61 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmVehicleAlarmService.java
  16. 67 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmVehicleDrivingRecordService.java
  17. 6 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmWorkPlanService.java
  18. 39 5
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmConstructTeamServiceImpl.java
  19. 96 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmVehicleAlarmServiceImpl.java
  20. 101 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmVehicleDrivingRecordServiceImpl.java
  21. 5 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmWorkPlanServiceImpl.java
  22. 2 2
      ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmConstructTeamMapper.xml
  23. 133 0
      ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmVehicleAlarmMapper.xml
  24. 103 0
      ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmVehicleDrivingRecordMapper.xml
  25. 30 0
      ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmWorkPlanMapper.xml

+ 5 - 0
ruoyi-powerdistribution/pom.xml

@@ -60,6 +60,11 @@
             <version>3.3.4</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.opencsv</groupId>
+            <artifactId>opencsv</artifactId>
+            <version>5.1</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 98 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmVehicleAlarmController.java

@@ -0,0 +1,98 @@
+package com.ruoyi.powerdistribution.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.powerdistribution.domain.PdmVehicleAlarm;
+import com.ruoyi.powerdistribution.service.IPdmVehicleAlarmService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 施工车辆告警Controller
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+@RestController
+@RequestMapping("/powerdistribution/pdmVehicleAlarm")
+public class PdmVehicleAlarmController extends BaseController
+{
+    @Autowired
+    private IPdmVehicleAlarmService pdmVehicleAlarmService;
+
+    /**
+     * 查询施工车辆告警列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(PdmVehicleAlarm pdmVehicleAlarm)
+    {
+        startPage();
+        List<PdmVehicleAlarm> list = pdmVehicleAlarmService.selectPdmVehicleAlarmList(pdmVehicleAlarm);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出施工车辆告警列表
+     */
+    @Log(title = "施工车辆告警", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PdmVehicleAlarm pdmVehicleAlarm)
+    {
+        List<PdmVehicleAlarm> list = pdmVehicleAlarmService.selectPdmVehicleAlarmList(pdmVehicleAlarm);
+        ExcelUtil<PdmVehicleAlarm> util = new ExcelUtil<PdmVehicleAlarm>(PdmVehicleAlarm.class);
+        util.exportExcel(response, list, "施工车辆告警数据");
+    }
+
+    /**
+     * 获取施工车辆告警详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(pdmVehicleAlarmService.selectPdmVehicleAlarmById(id));
+    }
+
+    /**
+     * 新增施工车辆告警
+     */
+    @Log(title = "施工车辆告警", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PdmVehicleAlarm pdmVehicleAlarm)
+    {
+        return toAjax(pdmVehicleAlarmService.insertPdmVehicleAlarm(pdmVehicleAlarm));
+    }
+
+    /**
+     * 修改施工车辆告警
+     */
+    @Log(title = "施工车辆告警", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PdmVehicleAlarm pdmVehicleAlarm)
+    {
+        return toAjax(pdmVehicleAlarmService.updatePdmVehicleAlarm(pdmVehicleAlarm));
+    }
+
+    /**
+     * 删除施工车辆告警
+     */
+    @Log(title = "施工车辆告警", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(pdmVehicleAlarmService.deletePdmVehicleAlarmByIds(ids));
+    }
+}

+ 137 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmVehicleDrivingRecordController.java

@@ -0,0 +1,137 @@
+package com.ruoyi.powerdistribution.controller;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.math.BigDecimal;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson.JSON;
+import com.opencsv.CSVReader;
+import com.opencsv.exceptions.CsvValidationException;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.powerdistribution.domain.PdmVehicleDrivingRecord;
+import com.ruoyi.powerdistribution.service.IPdmVehicleDrivingRecordService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 施工车辆行驶记录Controller
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+@RestController
+@RequestMapping("/powerdistribution/vehicleDrivingRecord")
+public class PdmVehicleDrivingRecordController extends BaseController
+{
+    @Autowired
+    private IPdmVehicleDrivingRecordService pdmVehicleDrivingRecordService;
+
+    /**
+     * 查询施工车辆行驶记录列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(PdmVehicleDrivingRecord pdmVehicleDrivingRecord)
+    {
+        startPage();
+        List<PdmVehicleDrivingRecord> list = pdmVehicleDrivingRecordService.selectPdmVehicleDrivingRecordList(pdmVehicleDrivingRecord);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出施工车辆行驶记录列表
+     */
+    @Log(title = "施工车辆行驶记录", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PdmVehicleDrivingRecord pdmVehicleDrivingRecord)
+    {
+        List<PdmVehicleDrivingRecord> list = pdmVehicleDrivingRecordService.selectPdmVehicleDrivingRecordList(pdmVehicleDrivingRecord);
+        ExcelUtil<PdmVehicleDrivingRecord> util = new ExcelUtil<PdmVehicleDrivingRecord>(PdmVehicleDrivingRecord.class);
+        util.exportExcel(response, list, "施工车辆行驶记录数据");
+    }
+
+    /**
+     * 获取施工车辆行驶记录详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(pdmVehicleDrivingRecordService.selectPdmVehicleDrivingRecordById(id));
+    }
+
+    /**
+     * 新增施工车辆行驶记录
+     */
+    @Log(title = "施工车辆行驶记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PdmVehicleDrivingRecord pdmVehicleDrivingRecord)
+    {
+        return toAjax(pdmVehicleDrivingRecordService.insertPdmVehicleDrivingRecord(pdmVehicleDrivingRecord));
+    }
+
+    /**
+     * 修改施工车辆行驶记录
+     */
+    @Log(title = "施工车辆行驶记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PdmVehicleDrivingRecord pdmVehicleDrivingRecord)
+    {
+        return toAjax(pdmVehicleDrivingRecordService.updatePdmVehicleDrivingRecord(pdmVehicleDrivingRecord));
+    }
+
+    /**
+     * 删除施工车辆行驶记录
+     */
+    @Log(title = "施工车辆行驶记录", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(pdmVehicleDrivingRecordService.deletePdmVehicleDrivingRecordByIds(ids));
+    }
+    @PostMapping("/import")
+    public void importExcel(HttpServletRequest request, MultipartFile file)throws IOException, CsvValidationException {
+             CSVReader csvReader = new CSVReader(new InputStreamReader(file.getInputStream(), StandardCharsets.UTF_8));
+            String[] nextLine;
+            int i=0;
+            List<PdmVehicleDrivingRecord> dataList=new ArrayList<>();
+            while ((nextLine = csvReader.readNext()) != null) {
+                if(i>0) {
+                    // 处理每一行数据,nextLine是一个字符串数组,包含当前行的每个字段
+                    PdmVehicleDrivingRecord vehicleDrivingRecord = new PdmVehicleDrivingRecord();
+                    vehicleDrivingRecord.setVehicleGroup(nextLine[0]);
+                    vehicleDrivingRecord.setEquipNm(nextLine[1]);
+                    vehicleDrivingRecord.setEquipNo(nextLine[2]);
+                    vehicleDrivingRecord.setVehicleNo(nextLine[3]);
+                    vehicleDrivingRecord.setStartTm( DateUtils.covertStrToLocalTime(nextLine[4]));
+                    vehicleDrivingRecord.setEndTm( DateUtils.covertStrToLocalTime(nextLine[5]));
+                    vehicleDrivingRecord.setMileage(new BigDecimal(nextLine[6]));
+                    dataList.add(vehicleDrivingRecord);
+                }
+                i++;
+            }
+            System.out.println(JSON.toJSON(dataList));
+        pdmVehicleDrivingRecordService.batchAdd(dataList);
+    }
+}

+ 12 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmWorkPlanController.java

@@ -121,4 +121,16 @@ public class PdmWorkPlanController extends BaseController
     public List<WorkNumByCompanyStatistics> getWorkRiskStatistics(WorkNumByCompanyStatistics workNumByCompany){
         return pdmWorkPlanService.getWorkNumByCompanyStatistics(workNumByCompany);
     }
+
+    /**
+     * 查询作业计划列表
+     */
+    @ApiOperation(value = "根据车辆编号查询作业信息")
+    @GetMapping("/selectWorkPlanByVchicleNo")
+    public TableDataInfo selectWorkPlanByVchicleNo(String vchicleNo)
+    {
+        startPage();
+        List<PdmWorkPlan> list = pdmWorkPlanService.selectWorkPlanByVchicleNo(vchicleNo);
+        return getDataTable(list);
+    }
 }

+ 131 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmVehicleAlarm.java

@@ -0,0 +1,131 @@
+package com.ruoyi.powerdistribution.domain;
+
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 施工车辆告警对象 pdm_vehicle_alarm
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+@Data
+public class PdmVehicleAlarm extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    private String countyOrgNm;
+
+    private String curator;
+
+    /** 施工车辆 */
+    @Excel(name = "施工车辆")
+    private String vehicleNo;
+
+    /** 车组 */
+    @Excel(name = "车组")
+    private String vehicleGroup;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String equipNo;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String equipNm;
+
+    /** 异常编码0-正常,1-车辆GPS离线,2-施工车辆长期未动,3-有作业信息,没有车辆行驶里程,4-有车辆行驶里程,没有作业信息 */
+    @Excel(name = "异常编码0-正常,1-车辆GPS离线,2-施工车辆长期未动,3-有作业信息,没有车辆行驶里程,4-有车辆行驶里程,没有作业信息")
+    private String alarmCd;
+
+    /** 告警描述 */
+    @Excel(name = "告警描述")
+    private String alarmDesc;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setVehicleNo(String vehicleNo) 
+    {
+        this.vehicleNo = vehicleNo;
+    }
+
+    public String getVehicleNo() 
+    {
+        return vehicleNo;
+    }
+    public void setVehicleGroup(String vehicleGroup) 
+    {
+        this.vehicleGroup = vehicleGroup;
+    }
+
+    public String getVehicleGroup() 
+    {
+        return vehicleGroup;
+    }
+    public void setEquipNo(String equipNo) 
+    {
+        this.equipNo = equipNo;
+    }
+
+    public String getEquipNo() 
+    {
+        return equipNo;
+    }
+    public void setEquipNm(String equipNm) 
+    {
+        this.equipNm = equipNm;
+    }
+
+    public String getEquipNm() 
+    {
+        return equipNm;
+    }
+    public void setAlarmCd(String alarmCd) 
+    {
+        this.alarmCd = alarmCd;
+    }
+
+    public String getAlarmCd() 
+    {
+        return alarmCd;
+    }
+    public void setAlarmDesc(String alarmDesc) 
+    {
+        this.alarmDesc = alarmDesc;
+    }
+
+    public String getAlarmDesc() 
+    {
+        return alarmDesc;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("vehicleNo", getVehicleNo())
+            .append("vehicleGroup", getVehicleGroup())
+            .append("equipNo", getEquipNo())
+            .append("equipNm", getEquipNm())
+            .append("alarmCd", getAlarmCd())
+            .append("alarmDesc", getAlarmDesc())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 144 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmVehicleDrivingRecord.java

@@ -0,0 +1,144 @@
+package com.ruoyi.powerdistribution.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 施工车辆行驶记录对象 pdm_vehicle_driving_record
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+public class PdmVehicleDrivingRecord extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 施工车辆 */
+    @Excel(name = "施工车辆")
+    private String vehicleNo;
+
+    /** 车组 */
+    @Excel(name = "车组")
+    private String vehicleGroup;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String equipNo;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String equipNm;
+
+    /** 开始时间 */
+    //@JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "开始时间", width = 30)
+    private String startTm;
+
+    /** 结束时间 */
+   // @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "结束时间", width = 30)
+    private String endTm;
+
+    /** 行驶里程 */
+    @Excel(name = "行驶里程")
+    private BigDecimal mileage;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setVehicleNo(String vehicleNo) 
+    {
+        this.vehicleNo = vehicleNo;
+    }
+
+    public String getVehicleNo() 
+    {
+        return vehicleNo;
+    }
+    public void setVehicleGroup(String vehicleGroup) 
+    {
+        this.vehicleGroup = vehicleGroup;
+    }
+
+    public String getVehicleGroup() 
+    {
+        return vehicleGroup;
+    }
+    public void setEquipNo(String equipNo) 
+    {
+        this.equipNo = equipNo;
+    }
+
+    public String getEquipNo() 
+    {
+        return equipNo;
+    }
+    public void setEquipNm(String equipNm) 
+    {
+        this.equipNm = equipNm;
+    }
+
+    public String getEquipNm() 
+    {
+        return equipNm;
+    }
+    public void setStartTm(String startTm)
+    {
+        this.startTm = startTm;
+    }
+
+    public String getStartTm()
+    {
+        return startTm;
+    }
+    public void setEndTm(String endTm)
+    {
+        this.endTm = endTm;
+    }
+
+    public String getEndTm()
+    {
+        return endTm;
+    }
+    public void setMileage(BigDecimal mileage) 
+    {
+        this.mileage = mileage;
+    }
+
+    public BigDecimal getMileage() 
+    {
+        return mileage;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("vehicleNo", getVehicleNo())
+            .append("vehicleGroup", getVehicleGroup())
+            .append("equipNo", getEquipNo())
+            .append("equipNm", getEquipNm())
+            .append("startTm", getStartTm())
+            .append("endTm", getEndTm())
+            .append("mileage", getMileage())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 6 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmConstructTeamMapper.java

@@ -2,6 +2,10 @@ package com.ruoyi.powerdistribution.mapper;
 
 import java.util.List;
 import com.ruoyi.powerdistribution.domain.PdmConstructTeam;
+import com.ruoyi.powerdistribution.domain.vo.PdmConstructTeamVo;
+import com.ruoyi.powerdistribution.provider.ConstructTeamProvider;
+import com.ruoyi.powerdistribution.provider.VehicleDrivingRecordProvider;
+import org.apache.ibatis.annotations.InsertProvider;
 
 /**
  * 配网工程队伍施工小组信息Mapper接口
@@ -60,4 +64,6 @@ public interface PdmConstructTeamMapper
     public int deletePdmConstructTeamByIds(Long[] ids);
 
     public void clean();
+    @InsertProvider(type = ConstructTeamProvider.class, method = "insert")
+    public void batchAdd(List<PdmConstructTeamVo> list);
 }

+ 7 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmConstructorMapper.java

@@ -1,7 +1,12 @@
 package com.ruoyi.powerdistribution.mapper;
 
 import java.util.List;
+
+import com.ruoyi.powerdistribution.domain.PdmConstructTeam;
 import com.ruoyi.powerdistribution.domain.PdmConstructor;
+import com.ruoyi.powerdistribution.provider.ConstructTeamProvider;
+import com.ruoyi.powerdistribution.provider.ConstructorProvider;
+import org.apache.ibatis.annotations.InsertProvider;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -72,4 +77,6 @@ public interface PdmConstructorMapper
     public List<PdmConstructor> selectPdmConstructorByTeamNo(@Param("teamNo")String teamNo);
 
     public void clean();
+    @InsertProvider(type = ConstructorProvider.class, method = "insert")
+    public void batchAdd(List<PdmConstructor> list);
 }

+ 74 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmVehicleAlarmMapper.java

@@ -0,0 +1,74 @@
+package com.ruoyi.powerdistribution.mapper;
+
+import java.util.List;
+import com.ruoyi.powerdistribution.domain.PdmVehicleAlarm;
+
+/**
+ * 施工车辆告警Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+public interface PdmVehicleAlarmMapper 
+{
+    /**
+     * 查询施工车辆告警
+     * 
+     * @param id 施工车辆告警主键
+     * @return 施工车辆告警
+     */
+    public PdmVehicleAlarm selectPdmVehicleAlarmById(Long id);
+
+    /**
+     * 查询施工车辆告警列表
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 施工车辆告警集合
+     */
+    public List<PdmVehicleAlarm> selectPdmVehicleAlarmList(PdmVehicleAlarm pdmVehicleAlarm);
+
+    /**
+     * 新增施工车辆告警
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 结果
+     */
+    public int insertPdmVehicleAlarm(PdmVehicleAlarm pdmVehicleAlarm);
+
+    /**
+     * 修改施工车辆告警
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 结果
+     */
+    public int updatePdmVehicleAlarm(PdmVehicleAlarm pdmVehicleAlarm);
+
+    /**
+     * 删除施工车辆告警
+     * 
+     * @param id 施工车辆告警主键
+     * @return 结果
+     */
+    public int deletePdmVehicleAlarmById(Long id);
+
+    /**
+     * 批量删除施工车辆告警
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deletePdmVehicleAlarmByIds(Long[] ids);
+
+    /**
+     * 初始一条监控记录
+     * @return
+     */
+    public  int insertVehicleAlar();
+
+    /**
+     * 删除车辆监控
+     * @param vehicleNo
+     * @return
+     */
+    public int deletePdmVehicleAlarmByVehicleNo(String vehicleNo);
+}

+ 68 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmVehicleDrivingRecordMapper.java

@@ -0,0 +1,68 @@
+package com.ruoyi.powerdistribution.mapper;
+
+import java.util.List;
+import com.ruoyi.powerdistribution.domain.PdmVehicleDrivingRecord;
+import com.ruoyi.powerdistribution.provider.VehicleDrivingRecordProvider;
+import org.apache.ibatis.annotations.InsertProvider;
+
+/**
+ * 施工车辆行驶记录Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+public interface PdmVehicleDrivingRecordMapper 
+{
+    /**
+     * 查询施工车辆行驶记录
+     * 
+     * @param id 施工车辆行驶记录主键
+     * @return 施工车辆行驶记录
+     */
+    public PdmVehicleDrivingRecord selectPdmVehicleDrivingRecordById(Long id);
+
+    /**
+     * 查询施工车辆行驶记录列表
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 施工车辆行驶记录集合
+     */
+    public List<PdmVehicleDrivingRecord> selectPdmVehicleDrivingRecordList(PdmVehicleDrivingRecord pdmVehicleDrivingRecord);
+
+    /**
+     * 新增施工车辆行驶记录
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 结果
+     */
+    public int insertPdmVehicleDrivingRecord(PdmVehicleDrivingRecord pdmVehicleDrivingRecord);
+
+    /**
+     * 修改施工车辆行驶记录
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 结果
+     */
+    public int updatePdmVehicleDrivingRecord(PdmVehicleDrivingRecord pdmVehicleDrivingRecord);
+
+    /**
+     * 删除施工车辆行驶记录
+     * 
+     * @param id 施工车辆行驶记录主键
+     * @return 结果
+     */
+    public int deletePdmVehicleDrivingRecordById(Long id);
+
+    /**
+     * 批量删除施工车辆行驶记录
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deletePdmVehicleDrivingRecordByIds(Long[] ids);
+
+
+    @InsertProvider(type = VehicleDrivingRecordProvider.class, method = "insert")
+    void insert(List<PdmVehicleDrivingRecord> list);
+
+}

+ 7 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/mapper/PdmWorkPlanMapper.java

@@ -76,5 +76,12 @@ public interface PdmWorkPlanMapper
      */
     List<WorkNumByCompanyStatistics> getWorkNumByCompanyStatistics(WorkNumByCompanyStatistics workNumByCompany);
 
+    /**
+     * 查询车辆作业信息
+     * @param vchicleNo
+     * @return
+     */
+    List<PdmWorkPlan> selectWorkPlanByVchicleNo(String vchicleNo);
+
 
 }

+ 36 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/provider/ConstructTeamProvider.java

@@ -0,0 +1,36 @@
+package com.ruoyi.powerdistribution.provider;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.powerdistribution.domain.PdmConstructTeam;
+import com.ruoyi.powerdistribution.domain.vo.PdmConstructTeamVo;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class ConstructTeamProvider {
+    public String insert(List<PdmConstructTeamVo> list) {
+        StringBuffer sqlList = new StringBuffer();
+        sqlList.append(
+                " INSERT INTO pdm_construct_team(county_org_nm,team_no,team_nm,legal_person,legal_contact_phone,team_serial_no,team_leader,team_leader_phone,construc_car_number,arrest_point,create_by,create_time) VALUES ");
+        for (int i =0; i < list.size(); i++) {
+            PdmConstructTeamVo constructTeam = list.get(i);
+            sqlList.append(" (").append("'").append(constructTeam.getCountyOrgNm()).append("',")
+                    .append("'").append(constructTeam.getTeamNo()).append("',")
+                    .append("'").append(constructTeam.getTeamNm()).append("',")
+                    .append("'").append(constructTeam.getLegalPerson()).append("',")
+                    .append("'").append(constructTeam.getLegalContactPhone()).append("',")
+                    .append("'").append(constructTeam.getTeamSerialNo()).append("',")
+                    .append("'").append(constructTeam.getTeamLeader()).append("',")
+                    .append("'").append(constructTeam.getTeamLeaderPhone()).append("',")
+                    .append("'").append(constructTeam.getConstrucCarNumber()!=null?constructTeam.getConstrucCarNumber().stream().map(v -> String.valueOf(v)).collect(Collectors.joining(",")):"").append("',")
+                    .append("'").append(constructTeam.getArrestPoint()).append("',")
+                    .append("'").append(SecurityUtils.getUsername()).append("',")
+                    .append("SYSDATE()")
+                    .append(")");
+            if (i < list.size() - 1) {
+                sqlList.append(",");
+            }
+        }
+        return sqlList.toString();
+    }
+}

+ 27 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/provider/ConstructorProvider.java

@@ -0,0 +1,27 @@
+package com.ruoyi.powerdistribution.provider;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.powerdistribution.domain.PdmConstructor;
+import java.util.List;
+
+public class ConstructorProvider {
+    public String insert(List<PdmConstructor> list) {
+        StringBuffer sqlList = new StringBuffer();
+        sqlList.append(
+                " INSERT INTO pdm_constructor(team_no,construct_person_type,construct_personnel_name,construct_personnel_phone,create_by,create_time) VALUES ");
+        for (int i =0; i < list.size(); i++) {
+            PdmConstructor constructor = list.get(i);
+            sqlList.append(" (").append("'").append(constructor.getTeamNo()).append("',")
+                    .append("'").append(constructor.getConstructPersonType()).append("',")
+                    .append("'").append(constructor.getConstructPersonnelName()).append("',")
+                    .append("'").append(constructor.getConstructPersonnelPhone()).append("',")
+                    .append("'").append(SecurityUtils.getUsername()).append("',")
+                    .append("SYSDATE()")
+                    .append(")");
+            if (i < list.size() - 1) {
+                sqlList.append(",");
+            }
+        }
+        return sqlList.toString();
+    }
+}

+ 30 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/provider/VehicleDrivingRecordProvider.java

@@ -0,0 +1,30 @@
+package com.ruoyi.powerdistribution.provider;
+import java.util.List;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.powerdistribution.domain.PdmVehicleDrivingRecord;
+
+public class VehicleDrivingRecordProvider {
+    public String insert(List<PdmVehicleDrivingRecord> list) {
+        StringBuffer sqlList = new StringBuffer();
+        sqlList.append(
+                " INSERT INTO pdm_vehicle_driving_record(vehicle_group,equip_nm,equip_no,vehicle_no,start_tm,end_tm,mileage,create_by,create_time) VALUES ");
+        for (int i =0; i < list.size(); i++) {
+            PdmVehicleDrivingRecord vehicleDrivingRecord = list.get(i);
+            sqlList.append(" (").append("'").append(vehicleDrivingRecord.getVehicleGroup()).append("',")
+                    .append("'").append(vehicleDrivingRecord.getEquipNm()).append("',")
+                    .append("'").append(vehicleDrivingRecord.getEquipNo()).append("',")
+                    .append("'").append(vehicleDrivingRecord.getVehicleNo()).append("',")
+                    .append("'").append(vehicleDrivingRecord.getStartTm()).append("',")
+                    .append("'").append(vehicleDrivingRecord.getEndTm()).append("',")
+                    .append(vehicleDrivingRecord.getMileage()).append(",")
+                    .append("'").append(SecurityUtils.getUsername()).append("',")
+                    .append("SYSDATE()")
+                    .append(")");
+            if (i < list.size() - 1) {
+                sqlList.append(",");
+            }
+        }
+        return sqlList.toString();
+    }
+}

+ 61 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmVehicleAlarmService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.powerdistribution.service;
+
+import java.util.List;
+import com.ruoyi.powerdistribution.domain.PdmVehicleAlarm;
+
+/**
+ * 施工车辆告警Service接口
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+public interface IPdmVehicleAlarmService 
+{
+    /**
+     * 查询施工车辆告警
+     * 
+     * @param id 施工车辆告警主键
+     * @return 施工车辆告警
+     */
+    public PdmVehicleAlarm selectPdmVehicleAlarmById(Long id);
+
+    /**
+     * 查询施工车辆告警列表
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 施工车辆告警集合
+     */
+    public List<PdmVehicleAlarm> selectPdmVehicleAlarmList(PdmVehicleAlarm pdmVehicleAlarm);
+
+    /**
+     * 新增施工车辆告警
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 结果
+     */
+    public int insertPdmVehicleAlarm(PdmVehicleAlarm pdmVehicleAlarm);
+
+    /**
+     * 修改施工车辆告警
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 结果
+     */
+    public int updatePdmVehicleAlarm(PdmVehicleAlarm pdmVehicleAlarm);
+
+    /**
+     * 批量删除施工车辆告警
+     * 
+     * @param ids 需要删除的施工车辆告警主键集合
+     * @return 结果
+     */
+    public int deletePdmVehicleAlarmByIds(Long[] ids);
+
+    /**
+     * 删除施工车辆告警信息
+     * 
+     * @param id 施工车辆告警主键
+     * @return 结果
+     */
+    public int deletePdmVehicleAlarmById(Long id);
+}

+ 67 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmVehicleDrivingRecordService.java

@@ -0,0 +1,67 @@
+package com.ruoyi.powerdistribution.service;
+
+import java.util.List;
+import com.ruoyi.powerdistribution.domain.PdmVehicleDrivingRecord;
+
+/**
+ * 施工车辆行驶记录Service接口
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+public interface IPdmVehicleDrivingRecordService 
+{
+    /**
+     * 查询施工车辆行驶记录
+     * 
+     * @param id 施工车辆行驶记录主键
+     * @return 施工车辆行驶记录
+     */
+    public PdmVehicleDrivingRecord selectPdmVehicleDrivingRecordById(Long id);
+
+    /**
+     * 查询施工车辆行驶记录列表
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 施工车辆行驶记录集合
+     */
+    public List<PdmVehicleDrivingRecord> selectPdmVehicleDrivingRecordList(PdmVehicleDrivingRecord pdmVehicleDrivingRecord);
+
+    /**
+     * 新增施工车辆行驶记录
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 结果
+     */
+    public int insertPdmVehicleDrivingRecord(PdmVehicleDrivingRecord pdmVehicleDrivingRecord);
+
+    /**
+     * 修改施工车辆行驶记录
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 结果
+     */
+    public int updatePdmVehicleDrivingRecord(PdmVehicleDrivingRecord pdmVehicleDrivingRecord);
+
+    /**
+     * 批量删除施工车辆行驶记录
+     * 
+     * @param ids 需要删除的施工车辆行驶记录主键集合
+     * @return 结果
+     */
+    public int deletePdmVehicleDrivingRecordByIds(Long[] ids);
+
+    /**
+     * 删除施工车辆行驶记录信息
+     * 
+     * @param id 施工车辆行驶记录主键
+     * @return 结果
+     */
+    public int deletePdmVehicleDrivingRecordById(Long id);
+
+    /**
+     * 批量插入
+     * @param list
+     */
+    public void batchAdd(List<PdmVehicleDrivingRecord> list);
+}

+ 6 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmWorkPlanService.java

@@ -81,4 +81,10 @@ public interface IPdmWorkPlanService
      */
     void workDataCompute();
 
+    /**
+     * 查询车辆作业信息
+     * @param vchicleNo
+     * @return
+     */
+    List<PdmWorkPlan> selectWorkPlanByVchicleNo(String vchicleNo);
 }

+ 39 - 5
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmConstructTeamServiceImpl.java

@@ -12,6 +12,7 @@ import com.ruoyi.powerdistribution.domain.PdmConstructor;
 import com.ruoyi.powerdistribution.domain.excel.ConstructTeam;
 import com.ruoyi.powerdistribution.domain.vo.PdmConstructTeamVo;
 import com.ruoyi.powerdistribution.mapper.PdmConstructorMapper;
+import com.ruoyi.powerdistribution.mapper.PdmVehicleAlarmMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.powerdistribution.mapper.PdmConstructTeamMapper;
@@ -33,6 +34,8 @@ public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
 
     @Autowired
     private PdmConstructorMapper pdmConstructorMapper;
+    @Autowired
+    private PdmVehicleAlarmMapper pdmVehicleAlarmMapper;
 
     /**
      * 查询配网工程队伍施工小组信息
@@ -65,6 +68,7 @@ public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
      * @return 结果
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int insertPdmConstructTeam(PdmConstructTeamVo pdmConstructTeam)
     {
         String teamNo= IdUtils.fastSimpleUUID();
@@ -77,7 +81,10 @@ public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
             constructor.setCreateBy(SecurityUtils.getUsername());
             pdmConstructorMapper.insertPdmConstructor(constructor);
         }
-        return pdmConstructTeamMapper.insertPdmConstructTeam(pdmConstructTeam);
+
+        int i= pdmConstructTeamMapper.insertPdmConstructTeam(pdmConstructTeam);
+        pdmVehicleAlarmMapper.insertVehicleAlar();
+         return i;
     }
 
     /**
@@ -98,7 +105,9 @@ public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
                 pdmConstructorMapper.insertPdmConstructor(constructor);
            // }
         }
-        return pdmConstructTeamMapper.updatePdmConstructTeam(pdmConstructTeam);
+        int i= pdmConstructTeamMapper.updatePdmConstructTeam(pdmConstructTeam);
+        pdmVehicleAlarmMapper.insertVehicleAlar();
+        return i;
     }
 
     /**
@@ -111,6 +120,12 @@ public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
     @Transactional(rollbackFor = Exception.class)
     public int deletePdmConstructTeamByIds(Long[] ids)
     {
+        for(Long id:ids){
+            PdmConstructTeam constructTeam= pdmConstructTeamMapper.selectPdmConstructTeamById(id);
+            for(String carNo:  constructTeam.getConstrucCarNumber()){
+                pdmVehicleAlarmMapper.deletePdmVehicleAlarmByVehicleNo(carNo);
+            }
+        }
         pdmConstructorMapper.deletePdmConstructorByTeamIds(ids);
         return pdmConstructTeamMapper.deletePdmConstructTeamByIds(ids);
     }
@@ -122,13 +137,19 @@ public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
      * @return 结果
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int deletePdmConstructTeamById(Long id)
     {
+        PdmConstructTeam constructTeam= pdmConstructTeamMapper.selectPdmConstructTeamById(id);
+        for(String carNo:  constructTeam.getConstrucCarNumber()){
+            pdmVehicleAlarmMapper.deletePdmVehicleAlarmByVehicleNo(carNo);
+        }
         pdmConstructorMapper.deletePdmConstructorByTeamId(id);
         return pdmConstructTeamMapper.deletePdmConstructTeamById(id);
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void importExcel(List<ConstructTeam> constructTeamList) {
         Map<String,PdmConstructTeamVo> data=new HashMap<>();
         for (ConstructTeam constructTeam : constructTeamList) {
@@ -145,7 +166,7 @@ public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
                 BeanUtils.copyProperties(constructTeam,constructTeamVo);
                 if(StringUtils.isNotEmpty(constructTeam.getCarNumber())){
                     constructTeam.setCarNumber(constructTeam.getCarNumber().replaceAll(" ","").replaceAll("、",",")
-                            .replaceAll("\n",",").replaceAll("\r",",")
+                            .replaceAll("\n",",").replaceAll("\r",",").replaceAll(",",",").toUpperCase()
                     );
                     constructTeamVo.setConstrucCarNumber(Arrays.asList(constructTeam.getCarNumber().split(",")));
                 }
@@ -160,9 +181,22 @@ public class PdmConstructTeamServiceImpl implements IPdmConstructTeamService
         System.out.println("解析数据:"+ JSON.toJSON(data.values()));
         pdmConstructTeamMapper.clean();
         pdmConstructorMapper.clean();
+        List<PdmConstructor> allConstructor=new ArrayList<>();
+        List<PdmConstructTeamVo> constructTeamVos=new ArrayList<>(data.values());
         data.values().forEach(dmConstructTeamVo->{
-            insertPdmConstructTeam(dmConstructTeamVo);
-
+            String teamNo= IdUtils.fastSimpleUUID();
+            dmConstructTeamVo.setCreateTime(DateUtils.getNowDate());
+            dmConstructTeamVo.setCreateBy(SecurityUtils.getUsername());
+            dmConstructTeamVo.setTeamNo(teamNo);
+            for(PdmConstructor constructor:dmConstructTeamVo.getConstructorList()){
+                constructor.setTeamNo(teamNo);
+                constructor.setCreateTime(DateUtils.getNowDate());
+                constructor.setCreateBy(SecurityUtils.getUsername());
+                allConstructor.add(constructor);
+            }
         });
+        pdmConstructTeamMapper.batchAdd(constructTeamVos);
+        pdmConstructorMapper.batchAdd(allConstructor);
+        pdmVehicleAlarmMapper.insertVehicleAlar();
     }
 }

+ 96 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmVehicleAlarmServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ruoyi.powerdistribution.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.powerdistribution.mapper.PdmVehicleAlarmMapper;
+import com.ruoyi.powerdistribution.domain.PdmVehicleAlarm;
+import com.ruoyi.powerdistribution.service.IPdmVehicleAlarmService;
+
+/**
+ * 施工车辆告警Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+@Service
+public class PdmVehicleAlarmServiceImpl implements IPdmVehicleAlarmService 
+{
+    @Autowired
+    private PdmVehicleAlarmMapper pdmVehicleAlarmMapper;
+
+    /**
+     * 查询施工车辆告警
+     * 
+     * @param id 施工车辆告警主键
+     * @return 施工车辆告警
+     */
+    @Override
+    public PdmVehicleAlarm selectPdmVehicleAlarmById(Long id)
+    {
+        return pdmVehicleAlarmMapper.selectPdmVehicleAlarmById(id);
+    }
+
+    /**
+     * 查询施工车辆告警列表
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 施工车辆告警
+     */
+    @Override
+    public List<PdmVehicleAlarm> selectPdmVehicleAlarmList(PdmVehicleAlarm pdmVehicleAlarm)
+    {
+        return pdmVehicleAlarmMapper.selectPdmVehicleAlarmList(pdmVehicleAlarm);
+    }
+
+    /**
+     * 新增施工车辆告警
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 结果
+     */
+    @Override
+    public int insertPdmVehicleAlarm(PdmVehicleAlarm pdmVehicleAlarm)
+    {
+        pdmVehicleAlarm.setCreateTime(DateUtils.getNowDate());
+        return pdmVehicleAlarmMapper.insertPdmVehicleAlarm(pdmVehicleAlarm);
+    }
+
+    /**
+     * 修改施工车辆告警
+     * 
+     * @param pdmVehicleAlarm 施工车辆告警
+     * @return 结果
+     */
+    @Override
+    public int updatePdmVehicleAlarm(PdmVehicleAlarm pdmVehicleAlarm)
+    {
+        pdmVehicleAlarm.setUpdateTime(DateUtils.getNowDate());
+        return pdmVehicleAlarmMapper.updatePdmVehicleAlarm(pdmVehicleAlarm);
+    }
+
+    /**
+     * 批量删除施工车辆告警
+     * 
+     * @param ids 需要删除的施工车辆告警主键
+     * @return 结果
+     */
+    @Override
+    public int deletePdmVehicleAlarmByIds(Long[] ids)
+    {
+        return pdmVehicleAlarmMapper.deletePdmVehicleAlarmByIds(ids);
+    }
+
+    /**
+     * 删除施工车辆告警信息
+     * 
+     * @param id 施工车辆告警主键
+     * @return 结果
+     */
+    @Override
+    public int deletePdmVehicleAlarmById(Long id)
+    {
+        return pdmVehicleAlarmMapper.deletePdmVehicleAlarmById(id);
+    }
+}

+ 101 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmVehicleDrivingRecordServiceImpl.java

@@ -0,0 +1,101 @@
+package com.ruoyi.powerdistribution.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.powerdistribution.mapper.PdmVehicleDrivingRecordMapper;
+import com.ruoyi.powerdistribution.domain.PdmVehicleDrivingRecord;
+import com.ruoyi.powerdistribution.service.IPdmVehicleDrivingRecordService;
+
+/**
+ * 施工车辆行驶记录Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2025-01-21
+ */
+@Service
+public class PdmVehicleDrivingRecordServiceImpl implements IPdmVehicleDrivingRecordService 
+{
+    @Autowired
+    private PdmVehicleDrivingRecordMapper pdmVehicleDrivingRecordMapper;
+
+    /**
+     * 查询施工车辆行驶记录
+     * 
+     * @param id 施工车辆行驶记录主键
+     * @return 施工车辆行驶记录
+     */
+    @Override
+    public PdmVehicleDrivingRecord selectPdmVehicleDrivingRecordById(Long id)
+    {
+        return pdmVehicleDrivingRecordMapper.selectPdmVehicleDrivingRecordById(id);
+    }
+
+    /**
+     * 查询施工车辆行驶记录列表
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 施工车辆行驶记录
+     */
+    @Override
+    public List<PdmVehicleDrivingRecord> selectPdmVehicleDrivingRecordList(PdmVehicleDrivingRecord pdmVehicleDrivingRecord)
+    {
+        return pdmVehicleDrivingRecordMapper.selectPdmVehicleDrivingRecordList(pdmVehicleDrivingRecord);
+    }
+
+    /**
+     * 新增施工车辆行驶记录
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 结果
+     */
+    @Override
+    public int insertPdmVehicleDrivingRecord(PdmVehicleDrivingRecord pdmVehicleDrivingRecord)
+    {
+        pdmVehicleDrivingRecord.setCreateTime(DateUtils.getNowDate());
+        return pdmVehicleDrivingRecordMapper.insertPdmVehicleDrivingRecord(pdmVehicleDrivingRecord);
+    }
+
+    /**
+     * 修改施工车辆行驶记录
+     * 
+     * @param pdmVehicleDrivingRecord 施工车辆行驶记录
+     * @return 结果
+     */
+    @Override
+    public int updatePdmVehicleDrivingRecord(PdmVehicleDrivingRecord pdmVehicleDrivingRecord)
+    {
+        pdmVehicleDrivingRecord.setUpdateTime(DateUtils.getNowDate());
+        return pdmVehicleDrivingRecordMapper.updatePdmVehicleDrivingRecord(pdmVehicleDrivingRecord);
+    }
+
+    /**
+     * 批量删除施工车辆行驶记录
+     * 
+     * @param ids 需要删除的施工车辆行驶记录主键
+     * @return 结果
+     */
+    @Override
+    public int deletePdmVehicleDrivingRecordByIds(Long[] ids)
+    {
+        return pdmVehicleDrivingRecordMapper.deletePdmVehicleDrivingRecordByIds(ids);
+    }
+
+    /**
+     * 删除施工车辆行驶记录信息
+     * 
+     * @param id 施工车辆行驶记录主键
+     * @return 结果
+     */
+    @Override
+    public int deletePdmVehicleDrivingRecordById(Long id)
+    {
+        return pdmVehicleDrivingRecordMapper.deletePdmVehicleDrivingRecordById(id);
+    }
+
+    @Override
+    public void batchAdd(List<PdmVehicleDrivingRecord> list) {
+        pdmVehicleDrivingRecordMapper.insert(list);
+    }
+}

+ 5 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmWorkPlanServiceImpl.java

@@ -156,6 +156,11 @@ public class PdmWorkPlanServiceImpl implements IPdmWorkPlanService
 
     }
 
+    @Override
+    public List<PdmWorkPlan> selectWorkPlanByVchicleNo(String vchicleNo) {
+        return pdmWorkPlanMapper.selectWorkPlanByVchicleNo(vchicleNo);
+    }
+
     /**
      * 校验是否高风险
      * @param plan

+ 2 - 2
ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmConstructTeamMapper.xml

@@ -49,9 +49,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectPdmConstructTeamList" parameterType="PdmConstructTeam" resultMap="PdmConstructTeamResult2">
         <include refid="selectPdmConstructTeamVo"/>
         <where>
-            <if test="countyOrgNm != null  and countyOrgNm != ''"> and county_org_nm = #{countyOrgNm}</if>
+            <if test="countyOrgNm != null  and countyOrgNm != ''"> and county_org_nm  like concat('%', #{countyOrgNm}, '%')</if>
             <if test="teamNo != null  and teamNo != ''"> and team_no = #{teamNo}</if>
-            <if test="teamNm != null  and teamNm != ''"> and team_nm = #{teamNm}</if>
+            <if test="teamNm != null  and teamNm != ''"> and team_nm like concat('%', #{teamNm}, '%')</if>
             <if test="legalPerson != null  and legalPerson != ''"> and legal_person = #{legalPerson}</if>
             <if test="legalContactPhone != null  and legalContactPhone != ''"> and legal_contact_phone = #{legalContactPhone}</if>
             <if test="teamSerialNo != null "> and team_serial_no = #{teamSerialNo}</if>

+ 133 - 0
ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmVehicleAlarmMapper.xml

@@ -0,0 +1,133 @@
+<?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.ruoyi.powerdistribution.mapper.PdmVehicleAlarmMapper">
+    
+    <resultMap type="PdmVehicleAlarm" id="PdmVehicleAlarmResult">
+        <result property="id"    column="id"    />
+        <result property="vehicleNo"    column="vehicle_no"    />
+        <result property="vehicleGroup"    column="vehicle_group"    />
+        <result property="countyOrgNm"    column="county_org_nm"    />
+        <result property="curator"    column="curator"    />
+        <result property="equipNo"    column="equip_no"    />
+        <result property="equipNm"    column="equip_nm"    />
+        <result property="alarmCd"    column="alarm_cd"    />
+        <result property="alarmDesc"    column="alarm_desc"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectPdmVehicleAlarmVo">
+        select id, county_org_nm,curator,vehicle_no, vehicle_group, equip_no, equip_nm, alarm_cd, alarm_desc, create_time, update_by, update_time, remark from pdm_vehicle_alarm
+    </sql>
+
+    <select id="selectPdmVehicleAlarmList" parameterType="PdmVehicleAlarm" resultMap="PdmVehicleAlarmResult">
+        <include refid="selectPdmVehicleAlarmVo"/>
+        <where>
+            <if test="countyOrgNm != null  and countyOrgNm != ''"> and county_org_nm  like concat('%', #{countyOrgNm}, '%')</if>
+            <if test="curator != null  and curator != ''"> and curator  like concat('%', #{curator}, '%')</if>
+            <if test="vehicleNo != null  and vehicleNo != ''"> and vehicle_no = #{vehicleNo}</if>
+            <if test="vehicleGroup != null  and vehicleGroup != ''"> and vehicle_group = #{vehicleGroup}</if>
+            <if test="equipNo != null  and equipNo != ''"> and equip_no = #{equipNo}</if>
+            <if test="equipNm != null  and equipNm != ''"> and equip_nm = #{equipNm}</if>
+            <if test="alarmCd != null  and alarmCd != ''"> and alarm_cd = #{alarmCd}</if>
+            <if test="alarmDesc != null  and alarmDesc != ''"> and alarm_desc = #{alarmDesc}</if>
+        </where>
+        order by county_org_nm,vehicle_group,curator
+    </select>
+    
+    <select id="selectPdmVehicleAlarmById" parameterType="Long" resultMap="PdmVehicleAlarmResult">
+        <include refid="selectPdmVehicleAlarmVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertPdmVehicleAlarm" parameterType="PdmVehicleAlarm" useGeneratedKeys="true" keyProperty="id">
+        insert into pdm_vehicle_alarm
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="vehicleNo != null">vehicle_no,</if>
+            <if test="vehicleGroup != null">vehicle_group,</if>
+            <if test="equipNo != null">equip_no,</if>
+            <if test="equipNm != null">equip_nm,</if>
+            <if test="alarmCd != null">alarm_cd,</if>
+            <if test="alarmDesc != null">alarm_desc,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="vehicleNo != null">#{vehicleNo},</if>
+            <if test="vehicleGroup != null">#{vehicleGroup},</if>
+            <if test="equipNo != null">#{equipNo},</if>
+            <if test="equipNm != null">#{equipNm},</if>
+            <if test="alarmCd != null">#{alarmCd},</if>
+            <if test="alarmDesc != null">#{alarmDesc},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updatePdmVehicleAlarm" parameterType="PdmVehicleAlarm">
+        update pdm_vehicle_alarm
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="vehicleNo != null">vehicle_no = #{vehicleNo},</if>
+            <if test="vehicleGroup != null">vehicle_group = #{vehicleGroup},</if>
+            <if test="equipNo != null">equip_no = #{equipNo},</if>
+            <if test="equipNm != null">equip_nm = #{equipNm},</if>
+            <if test="alarmCd != null">alarm_cd = #{alarmCd},</if>
+            <if test="alarmDesc != null">alarm_desc = #{alarmDesc},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deletePdmVehicleAlarmById" parameterType="Long">
+        delete from pdm_vehicle_alarm where id = #{id}
+    </delete>
+
+    <delete id="deletePdmVehicleAlarmByIds" parameterType="String">
+        delete from pdm_vehicle_alarm where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    <insert id="insertVehicleAlar">
+        insert into pdm_vehicle_alarm
+        select * from (
+        SELECT
+        null as id,
+        county_org_nm,
+        SUBSTRING_INDEX( SUBSTRING_INDEX( construc_car_number, ',', n ), ',', - 1 ) AS vchicle_no ,
+        team_nm,
+        team_leader,
+        null as equip_no,
+        null as equip_nm,
+        '0',
+        '正常',
+        SYSDATE(),
+        null as update_by,
+        null as update_time,
+        null as remark
+        FROM
+        `pdm_construct_team`,
+        ( SELECT @rownum := @rownum + 1 AS n FROM ( SELECT @rownum := 0 ) r, `pdm_construct_team` ) x
+        WHERE
+        1 = 1
+        AND n &lt;= ( LENGTH( construc_car_number ) - LENGTH( REPLACE ( construc_car_number, ',', '' ) ) + 1 )
+        ORDER BY
+        id)a where 1=1 and   not EXISTS(select 1 from pdm_vehicle_alarm p where p.vehicle_no =a.vchicle_no
+        and p.curator=a.team_leader and p.vehicle_group=a.team_nm
+        )
+    </insert>
+    <delete id="deletePdmVehicleAlarmByVehicleNo" parameterType="String">
+        delete from pdm_vehicle_alarm where vehicle_no = #{vehicleNo}
+    </delete>
+</mapper>

+ 103 - 0
ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmVehicleDrivingRecordMapper.xml

@@ -0,0 +1,103 @@
+<?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.ruoyi.powerdistribution.mapper.PdmVehicleDrivingRecordMapper">
+    
+    <resultMap type="PdmVehicleDrivingRecord" id="PdmVehicleDrivingRecordResult">
+        <result property="id"    column="id"    />
+        <result property="vehicleNo"    column="vehicle_no"    />
+        <result property="vehicleGroup"    column="vehicle_group"    />
+        <result property="equipNo"    column="equip_no"    />
+        <result property="equipNm"    column="equip_nm"    />
+        <result property="startTm"    column="start_tm"    />
+        <result property="endTm"    column="end_tm"    />
+        <result property="mileage"    column="mileage"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectPdmVehicleDrivingRecordVo">
+        select id, vehicle_no, vehicle_group, equip_no, equip_nm, start_tm, end_tm, mileage, create_time, update_by, update_time, remark from pdm_vehicle_driving_record
+    </sql>
+
+    <select id="selectPdmVehicleDrivingRecordList" parameterType="PdmVehicleDrivingRecord" resultMap="PdmVehicleDrivingRecordResult">
+        <include refid="selectPdmVehicleDrivingRecordVo"/>
+        <where>  
+            <if test="vehicleNo != null  and vehicleNo != ''"> and vehicle_no = #{vehicleNo}</if>
+            <if test="vehicleGroup != null  and vehicleGroup != ''"> and vehicle_group = #{vehicleGroup}</if>
+            <if test="equipNo != null  and equipNo != ''"> and equip_no = #{equipNo}</if>
+            <if test="equipNm != null  and equipNm != ''"> and equip_nm = #{equipNm}</if>
+            <if test="startTm != null "> and start_tm = #{startTm}</if>
+            <if test="endTm != null "> and end_tm = #{endTm}</if>
+            <if test="mileage != null "> and mileage = #{mileage}</if>
+        </where>
+        order by vehicle_no,start_tm desc
+    </select>
+    
+    <select id="selectPdmVehicleDrivingRecordById" parameterType="Long" resultMap="PdmVehicleDrivingRecordResult">
+        <include refid="selectPdmVehicleDrivingRecordVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertPdmVehicleDrivingRecord" parameterType="PdmVehicleDrivingRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into pdm_vehicle_driving_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="vehicleNo != null">vehicle_no,</if>
+            <if test="vehicleGroup != null">vehicle_group,</if>
+            <if test="equipNo != null">equip_no,</if>
+            <if test="equipNm != null">equip_nm,</if>
+            <if test="startTm != null">start_tm,</if>
+            <if test="endTm != null">end_tm,</if>
+            <if test="mileage != null">mileage,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="vehicleNo != null">#{vehicleNo},</if>
+            <if test="vehicleGroup != null">#{vehicleGroup},</if>
+            <if test="equipNo != null">#{equipNo},</if>
+            <if test="equipNm != null">#{equipNm},</if>
+            <if test="startTm != null">#{startTm},</if>
+            <if test="endTm != null">#{endTm},</if>
+            <if test="mileage != null">#{mileage},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updatePdmVehicleDrivingRecord" parameterType="PdmVehicleDrivingRecord">
+        update pdm_vehicle_driving_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="vehicleNo != null">vehicle_no = #{vehicleNo},</if>
+            <if test="vehicleGroup != null">vehicle_group = #{vehicleGroup},</if>
+            <if test="equipNo != null">equip_no = #{equipNo},</if>
+            <if test="equipNm != null">equip_nm = #{equipNm},</if>
+            <if test="startTm != null">start_tm = #{startTm},</if>
+            <if test="endTm != null">end_tm = #{endTm},</if>
+            <if test="mileage != null">mileage = #{mileage},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deletePdmVehicleDrivingRecordById" parameterType="Long">
+        delete from pdm_vehicle_driving_record where id = #{id}
+    </delete>
+
+    <delete id="deletePdmVehicleDrivingRecordByIds" parameterType="String">
+        delete from pdm_vehicle_driving_record where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 30 - 0
ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmWorkPlanMapper.xml

@@ -591,4 +591,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         GROUP BY submit_org_nm
         ) t2 on t1.organ_name = t2.submit_org_nm
     </select>
+    <select id="selectWorkPlanByVchicleNo" parameterType="java.lang.String"  resultMap="PdmWorkPlanResult">
+        select *  from pdm_work_plan p where EXISTS (select 1 from  pdm_construct_team t
+        INNER JOIN
+        (SELECT
+        DISTINCT team_no,SUBSTRING_INDEX( SUBSTRING_INDEX( construc_car_number, ',', n ), ',', - 1 ) AS vchicle_no
+        FROM
+        `pdm_construct_team`,
+        ( SELECT @rownum := @rownum + 1 AS n FROM ( SELECT @rownum := 0 ) r, `pdm_construct_team` ) x
+        WHERE
+        1 = 1
+        AND n &lt;= ( LENGTH( construc_car_number ) - LENGTH( REPLACE ( construc_car_number, ',', '' ) ) + 1 )
+        ORDER BY
+        id)a on a.vchicle_no=#{vchicleNo} and a.team_no=t.team_no
+        where t.team_leader=work_princip_nm
+        )
+        UNION
+        select *  from pdm_work_plan where EXISTS (select 1 from  pdm_constructor t inner JOIN
+        (SELECT
+        DISTINCT team_no,SUBSTRING_INDEX( SUBSTRING_INDEX( construc_car_number, ',', n ), ',', - 1 ) AS vchicle_no
+        FROM
+        `pdm_construct_team`,
+        ( SELECT @rownum := @rownum + 1 AS n FROM ( SELECT @rownum := 0 ) r, `pdm_construct_team` ) x
+        WHERE
+        1 = 1
+        AND n &lt;= ( LENGTH( construc_car_number ) - LENGTH( REPLACE ( construc_car_number, ',', '' ) ) + 1 )
+        ORDER BY
+        id) a on a.vchicle_no=#{vchicleNo} and a.team_no=t.team_no
+        where t.construct_personnel_name=work_princip_nm
+        )
+    </select>
 </mapper>