whycxzp
2023-03-25 b484ac7e10db59cab1630bf644be3585d0fd48f2
更新放电计划
5个文件已修改
95 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/BattDischargePlanTempController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/BattdischargePlanController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattDischargePlanTempService.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattdischargePlanService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattDischargePlanTempMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/BattDischargePlanTempController.java
@@ -45,7 +45,7 @@
     * @return
     * @throws ParseException
     */
    @ApiOperation("new-2023-03-15 创建放电计划")
    @ApiOperation("创建放电计划审批清单")
    @GetMapping("generateDischargePlan")
    public Response addGenerateDischargePlan(@RequestParam Float resetCapPercent,@RequestParam String startTime) throws ParseException {
        return service.generateDischargePlan(resetCapPercent,startTime);
@@ -57,9 +57,9 @@
     * @return
     * @throws ParseException
     */
    @ApiOperation("new-2023-03-15 删除放电计划")
    @DeleteMapping("dischargePlanTemp")
    public Response deleteDischargePlanTemp(@RequestParam String startTime) throws ParseException {
    @ApiOperation("取消正在创建的放电计划审批清单|取消某一年度放电计划审批清单")
    @DeleteMapping("cancelDischargePlanTemp")
    public Response deleteCancelDischargePlanTemp(@RequestParam String startTime) throws ParseException {
        return service.deleteDischargePlanTemp(startTime);
    }
@@ -68,10 +68,22 @@
     * @return
     * @throws ParseException
     */
    @ApiOperation("new-2023-03-15 更新放电计划临时表")
    @ApiOperation(value="确定|更新放电计划临时表",notes = "数组内只需要传id,dischargeStartTime")
    @PutMapping("list")
    public Response updateList(@RequestBody List<BattDischargePlanTemp> list) {
        return service.updateList(list);
    }
    /**
     * 临时表中计划经过审核后,提交到正式的放电计划表中
     * @param tempList 临时表中的计划
     * @return
     * @throws ParseException
     */
    @ApiOperation("审核放电计划")
    @PutMapping("approveDischargePlan")
    public Response updateApproveDischargePlan(@RequestParam int approveStatus,@RequestBody List<BattDischargePlanTemp> tempList){
        return service.updateApproveDischargePlan(approveStatus,tempList);
    }
    /**
@@ -79,7 +91,7 @@
     * @return
     * @throws ParseException
     */
    @ApiOperation("new-2023-03-15 查询自己生成的放电计划临时表")
    @ApiOperation("查询自己生成的放电计划临时表")
    @GetMapping("ownedListMapByStatus")
    public Response getOwnedListMapByStatus(){
        return service.getOwnedListMapByStatus();
@@ -90,7 +102,7 @@
     * @return
     * @throws ParseException
     */
    @ApiOperation("new-2023-03-15 领导层查询放电计划临时表")
    @ApiOperation("领导层查询放电计划临时表")
    @GetMapping("listMapByStatus")
    public Response getListMapByStatus(){
        return service.getListMapByStatus();
src/main/java/com/whyc/controller/BattdischargePlanController.java
@@ -60,19 +60,6 @@
        return service.addPro(list);
    }
    /**
     * 临时表中计划经过审核后,提交到正式的放电计划表中
     * @param tempList 临时表中的计划
     * @return
     * @throws ParseException
     */
    @ApiOperation("new-2023-03-15 确定放电计划")
    @PostMapping("confirmDischargePlan")
    public Response insertConfirmDischargePlan(@RequestBody List<BattDischargePlanTemp> tempList){
        return service.insertConfirmDischargePlan(tempList);
    }
    @ApiOperation(value = "new-2023-03-15 获取可替换放电电池组信息列表",notes = "替换的推荐同班组:data,其他班组data2")
    @GetMapping(value = "replaceBattGroupList")
    public Response getReplaceBattGroupList(@RequestParam int num){
src/main/java/com/whyc/service/BattDischargePlanTempService.java
@@ -4,21 +4,23 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.dto.Response;
import com.whyc.factory.ThreadPoolExecutorFactory;
import com.whyc.mapper.BattDischargePlanTempMapper;
import com.whyc.pojo.BaojiGroupBattGroup;
import com.whyc.pojo.BattDischargePlanTemp;
import com.whyc.pojo.BattdischargePlan;
import com.whyc.pojo.Battinf;
import com.whyc.pojo.*;
import com.whyc.util.ActionUtil;
import com.whyc.util.DateUtil;
import com.whyc.util.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.swing.*;
import java.text.ParseException;
import java.util.*;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.stream.Collectors;
@Service
@@ -132,10 +134,10 @@
        //一年度只能生成一次审核通过的放电计划,校验
        int planYear = planTime.get(Calendar.YEAR);
        QueryWrapper<BattDischargePlanTemp> query = Wrappers.query();
        query.likeRight("discharge_start_time",planYear).eq("status",1).last(" limit 1");
        query.likeRight("discharge_start_time",planYear).last(" limit 1");
        BattDischargePlanTemp tempDB = mapper.selectOne(query);
        if(tempDB!=null){
            return new Response().set(1,false,"当前年度已存在计划,无法重复生成");
            return new Response().set(1,false,"当前年度已存在计划审批清单,无法重复生成");
        }
        //查询所有可用的组以及每个组的站点
        List<BaojiGroupBattGroup> baoJiGroupListWithinBattGroupList = baoJiGroupBattGroupService.getBaoJiGroupListWithinBattGroupList();
@@ -743,6 +745,7 @@
        return new Response().setII(1,"删除完成");
    }
    @Transactional
    public Response updateList(List<BattDischargePlanTemp> list) {
        mapper.updateList(list);
        return new Response().setII(1,"更新完成");
@@ -752,13 +755,13 @@
        Map<Integer, Map<Date, List<BattDischargePlanTemp>>> statusTimeMap = new HashMap<>();
        int userId = ActionUtil.getUser().getUId().intValue();
        QueryWrapper<BattDischargePlanTemp> query = Wrappers.query();
        query.eq("create_user_id",userId).eq("submit_status",1).orderByAsc("discharge_start_time");
        query.eq("create_user_id",userId).eq("submit_status",1).orderByAsc("id");
        List<BattDischargePlanTemp> list = mapper.selectList(query);
        //按状态分
        Map<Integer, List<BattDischargePlanTemp>> statusMap = list.stream().collect(Collectors.groupingBy(BattDischargePlanTemp::getApproveStatus));
        Set<Integer> statusSet = statusMap.keySet();
        for (Integer status : statusSet) {
            Map<Date, List<BattDischargePlanTemp>> listMapByTime = statusMap.get(status).stream().collect(Collectors.groupingBy(BattDischargePlanTemp::getDischargeStartTime));
            Map<Date, List<BattDischargePlanTemp>> listMapByTime = statusMap.get(status).stream().collect(Collectors.groupingBy(BattDischargePlanTemp::getCreateTime));
            statusTimeMap.put(status,listMapByTime);
        }
        return new Response().setII(1,statusTimeMap.keySet().size()>0,statusTimeMap,"查询完成");
@@ -767,16 +770,40 @@
    public Response getListMapByStatus() {
        Map<Integer, Map<Date, List<BattDischargePlanTemp>>> statusTimeMap = new HashMap<>();
        QueryWrapper<BattDischargePlanTemp> query = Wrappers.query();
        query.eq("submit_status",1).orderByAsc("discharge_start_time");
        query.eq("submit_status",1).orderByAsc("id");
        List<BattDischargePlanTemp> list = mapper.selectList(query);
        //按状态分
        Map<Integer, List<BattDischargePlanTemp>> statusMap = list.stream().collect(Collectors.groupingBy(BattDischargePlanTemp::getApproveStatus));
        Set<Integer> statusSet = statusMap.keySet();
        for (Integer status : statusSet) {
            Map<Date, List<BattDischargePlanTemp>> listMapByTime = statusMap.get(status).stream().collect(Collectors.groupingBy(BattDischargePlanTemp::getDischargeStartTime));
            Map<Date, List<BattDischargePlanTemp>> listMapByTime = statusMap.get(status).stream().collect(Collectors.groupingBy(BattDischargePlanTemp::getCreateTime));
            statusTimeMap.put(status,listMapByTime);
        }
        return new Response().setII(1,statusTimeMap.keySet().size()>0,statusTimeMap,"查询完成");
    }
    /**
     * 临时表审批状态变为已审批
     *
     * @param approveStatus
     * @param tempList
     * @return
     */
    public Response updateApproveDischargePlan(int approveStatus, List<BattDischargePlanTemp> tempList) {
        UserInf user = ActionUtil.getUser();
        Date createTime = tempList.get(0).getCreateTime();
        updateApproveStatus(approveStatus,createTime,user.getUId().intValue());
        if(approveStatus==1) {
            planService.insertConfirmDischargePlan(tempList);
        }
        return new Response().setII(1,"审核完成");
    }
    public void updateApproveStatus(int approveStatus, Date createTime, int approveUserId) {
        UpdateWrapper<BattDischargePlanTemp> update = Wrappers.update();
        update.set("approve_status",approveStatus).set("approve_time",new Date()).set("approve_user_id",approveUserId).eq("create_time",createTime);
        mapper.update(null,update);
    }
}
src/main/java/com/whyc/service/BattdischargePlanService.java
@@ -203,7 +203,11 @@
        return planRes;
    }
    public Response insertConfirmDischargePlan(List<BattDischargePlanTemp> tempList) {
    /**
     * 审核通过,将临时表的放电计划转移到正式表
     * @param tempList
     */
    public void insertConfirmDischargePlan(List<BattDischargePlanTemp> tempList) {
        List<BattdischargePlan> planList = new LinkedList<>();
        Date date = new Date();
        for (BattDischargePlanTemp temp : tempList) {
@@ -241,7 +245,6 @@
            planList.add(plan);
        }
        mapper.insertBatchSomeColumn(planList);
        return new Response().setII(1,"放电计划已生成");
    }
    public Response getReplaceBattGroupList(int num) {
src/main/resources/mapper/BattDischargePlanTempMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="com.whyc.mapper.BattDischargePlanTempMapper" >
    <update id="updateList">
        <foreach collection="list" item="item">
            update web_site.tb_battdischarge_plan_temp set discharge_start_time = #{item.dischargeStartTime} where id = #{item.id};
            update web_site.tb_battdischarge_plan_temp set discharge_start_time = #{item.dischargeStartTime},submit_status=1 where id = #{item.id};
        </foreach>
    </update>