Kaynağa Gözat

作业人员定时器提交

zx 5 ay önce
ebeveyn
işleme
b69a89afcd

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

@@ -69,4 +69,11 @@ public interface PdmScoreRankWorkerMapper extends BaseMapper<PdmScoreRankWorker>
      * @return
      */
     List<PdmScoreRankWorker> getWorkerRankYearList(PdmScoreRankWorker pdmScoreRankWorker);
+
+    /**
+     * 保存作业人员排名信息
+     * @param pdmScoreRankWorker
+     * @return
+     */
+    int saveWorker(PdmScoreRankWorker pdmScoreRankWorker);
 }

+ 8 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmScoreRankWorkerService.java

@@ -65,4 +65,12 @@ public interface IPdmScoreRankWorkerService
      * @return
      */
     List<PdmScoreRankWorker> getWorkerRankYearList(PdmScoreRankWorker pdmScoreRankWorker);
+
+    /**
+     * 保存作业人员得分
+     * @param startDate
+     * @param endDate
+     * @return
+     */
+    int saveWorker(String startDate,String endDate);
 }

+ 21 - 1
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmScoreRankWorkerServiceImpl.java

@@ -1,7 +1,13 @@
 package com.ruoyi.powerdistribution.service.impl;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.powerdistribution.domain.PdmScoreRankTeam;
+import com.ruoyi.powerdistribution.mapper.PdmScoreRankTeamMapper;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.powerdistribution.mapper.PdmScoreRankWorkerMapper;
@@ -15,7 +21,7 @@ import com.ruoyi.powerdistribution.service.IPdmScoreRankWorkerService;
  * @date 2024-12-05
  */
 @Service
-public class PdmScoreRankWorkerServiceImpl implements IPdmScoreRankWorkerService
+public class PdmScoreRankWorkerServiceImpl extends ServiceImpl<PdmScoreRankWorkerMapper, PdmScoreRankWorker> implements IPdmScoreRankWorkerService
 {
     @Autowired
     private PdmScoreRankWorkerMapper pdmScoreRankWorkerMapper;
@@ -98,4 +104,18 @@ public class PdmScoreRankWorkerServiceImpl implements IPdmScoreRankWorkerService
     public List<PdmScoreRankWorker> getWorkerRankYearList(PdmScoreRankWorker pdmScoreRankWorker) {
         return pdmScoreRankWorkerMapper.getWorkerRankYearList(pdmScoreRankWorker);
     }
+
+    @Override
+    public int saveWorker(String startDate, String endDate) {
+        if(StringUtils.isEmpty(startDate) || StringUtils.isEmpty(endDate)){
+            startDate = DateUtils.getFirstDateLastMonthStr(DateUtils.YYYYMMDD);
+            endDate = DateUtils.getLastDateLastMonthStr(DateUtils.YYYYMMDD);
+        }
+        String reportDate = startDate.substring(0,6);
+        this.remove(new LambdaUpdateWrapper<PdmScoreRankWorker>().eq(PdmScoreRankWorker::getReportDate,reportDate));
+        PdmScoreRankWorker worker = new PdmScoreRankWorker();
+        worker.setStartDate(startDate);
+        worker.setEndDate(endDate);
+        return pdmScoreRankWorkerMapper.saveWorker(worker);
+    }
 }

+ 10 - 0
ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmScoreRankWorkerMapper.xml

@@ -119,4 +119,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             order by score asc
         </if>
     </select>
+
+    <insert id="saveWorker" parameterType="PdmScoreRankWorker">
+        INSERT INTO pdm_score_rank_worker (report_year,report_date,company_name,work_user_id,work_user_name,score)
+        SELECT SUBSTRING(data_dt,1,4) report_year, SUBSTRING(data_dt,1,6) report_date,std_county_org_nm company_name,
+               person_id,person_nm,count(1) score
+        from pdm_work_plan_worker
+        where  date_format(create_tm,'%Y%m%d') &gt;= #{startDate}
+        and  date_format(create_tm,'%Y%m%d') &lt;= #{endDate}
+        GROUP BY std_county_org_nm,person_id,person_nm
+    </insert>
 </mapper>

+ 11 - 0
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java

@@ -2,6 +2,7 @@ package com.ruoyi.quartz.task;
 
 import com.ruoyi.powerdistribution.service.IPdmScoreRankManagerService;
 import com.ruoyi.powerdistribution.service.IPdmScoreRankTeamService;
+import com.ruoyi.powerdistribution.service.IPdmScoreRankWorkerService;
 import com.ruoyi.powerdistribution.service.IPdmWorkPlanService;
 import org.springframework.stereotype.Component;
 import com.ruoyi.common.utils.StringUtils;
@@ -25,6 +26,9 @@ public class RyTask
     @Resource
     private IPdmScoreRankTeamService scoreRankTeamService;
 
+    @Resource
+    private IPdmScoreRankWorkerService scoreRankWorkerService;
+
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
     {
         System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
@@ -61,4 +65,11 @@ public class RyTask
         scoreRankTeamService.saveTeam(startDate,endDate);
     }
 
+
+    /**
+     * 统计并保存作业人员得分
+     */
+    public void saveWorker(String startDate,String endDate){
+        scoreRankWorkerService.saveWorker(startDate,endDate);
+    }
 }