Commit db2b774d authored by 刘_震's avatar 刘_震

林西矿电力基础数据入库

parent dd2e075d
......@@ -3,8 +3,7 @@ package com.ruoyi.system.controller;
import com.google.gson.Gson;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.model.wages.dao.PowerAllDAO;
import com.ruoyi.system.model.wages.dao.PowerDAO;
import com.ruoyi.system.model.wages.dao.*;
import com.ruoyi.system.model.wages.vo.PowerVo;
import com.ruoyi.system.service.PowerWagesService;
import lombok.RequiredArgsConstructor;
......@@ -62,4 +61,14 @@ public class PowerWagesController {
return AjaxResult.success(data);
}
@PostMapping("lxPower")
public AjaxResult lxPower(@RequestBody LxPowerDAO lxPowerDAO) {
List<LxPower> lxPowers = lxPowerDAO.getLxPowers();
Boolean inserted = powerWagesService.insert(lxPowers);
if (!inserted) {
return AjaxResult.error("存储数据失败!");
}
return AjaxResult.success();
}
}
package com.ruoyi.system.mapper;
import com.ruoyi.system.model.wages.dao.LxPower;
import com.ruoyi.system.model.wages.dao.Power;
import com.ruoyi.system.model.wages.dao.PowerWagesDetails;
import org.apache.ibatis.annotations.Mapper;
......@@ -23,4 +24,8 @@ public interface PowerWagesDeMapper {
List<PowerWagesDetails> selectByCId(int comparisonId);
void deleteByDateAndMineIdAndComparisonId(@Param("mineId") String mineId, @Param("date") String date,@Param("comparisonId") Integer comparisonId);
Boolean insert(@Param("accList") List<LxPower> lxPowers);
void deleteByDate(@Param("importTime") String importTime);
}
package com.ruoyi.system.model.wages.dao;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author haiwe
* @date 2024/7/18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LxPower {
/** 类别 */
@JsonProperty("leibie")
private String category;
/** 合计 */
@JsonProperty("heji")
private String total;
/** 峰电 */
@JsonProperty("fengdian")
private String peakElectric;
/** 谷电 */
@JsonProperty("gudian")
private String valleyElectric;
/** 尖电 */
@JsonProperty("jiandian")
private String sharpElectric;
/** 平电 */
@JsonProperty("pingdian")
private String flatElectric;
/** 项目 */
@JsonProperty("xiangmu")
private String item;
/** 导入时间 */
private String importTime;
}
package com.ruoyi.system.model.wages.dao;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author haiwe
* @date 2024/7/18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LxPowerDAO {
private List<LxPower> lxPowers;
}
package com.ruoyi.system.service;
import com.ruoyi.system.model.wages.dao.PowerAllDAO;
import com.ruoyi.system.model.wages.dao.PowerDAO;
import com.ruoyi.system.model.wages.dao.PowerWagesComparation;
import com.ruoyi.system.model.wages.dao.PowerWagesDetails;
import com.ruoyi.system.model.wages.dao.*;
import com.ruoyi.system.model.wages.vo.PowerVo;
import org.springframework.web.multipart.MultipartFile;
......@@ -26,4 +23,6 @@ public interface PowerWagesService {
Boolean add(PowerDAO powerDAO1);
Boolean pAdd(PowerAllDAO powerAllDAO1);
Boolean insert(List<LxPower> lxPowers);
}
......@@ -3,6 +3,7 @@ package com.ruoyi.system.service.impl;
import com.alibaba.excel.EasyExcel;
import com.ruoyi.system.domain.ActSuppliesMaterialDetails;
import com.ruoyi.system.listener.ExcelListener;
import com.ruoyi.system.mapper.PowerWagesComMapper;
import com.ruoyi.system.mapper.PowerWagesDeMapper;
......@@ -10,6 +11,7 @@ import com.ruoyi.system.model.wages.dao.*;
import com.ruoyi.system.model.wages.vo.PowerVo;
import com.ruoyi.system.service.PowerWagesService;
import lombok.RequiredArgsConstructor;
import org.checkerframework.checker.guieffect.qual.UI;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
......@@ -18,6 +20,7 @@ import java.io.InputStream;
import java.lang.reflect.Field;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @author haiwe
......@@ -192,6 +195,29 @@ public class PowerWagesServiceImpl implements PowerWagesService {
return true;
}
/**
* 林西矿基础数据导入
* @param lxPowers 导入数据
* @return true/false
*/
@Override
public Boolean insert(List<LxPower> lxPowers) {
Stream<LxPower> lxPowerStream = lxPowers.stream();
//去重
Set<String> uniqueCombos = lxPowerStream
.map(LxPower::getImportTime)
.collect(Collectors.toSet());
for (String uniqueCombo : uniqueCombos) {
deMapper.deleteByDate(uniqueCombo);
}
Boolean inserted = deMapper.insert(lxPowers);
if (!inserted) {
return false;
}
return true;
}
}
......
......@@ -100,6 +100,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="comparisonId" column="comparison_id" />
</resultMap>
<resultMap type="com.ruoyi.system.model.wages.dao.LxPower" id="lxPowerResult">
<result property="category" column="category" />
<result property="total" column="total" />
<result property="peakElectric" column="peak_electric" />
<result property="valleyElectric" column="valley_electric" />
<result property="sharpElectric" column="sharp_electric" />
<result property="flatElectric" column="flat_electric" />
<result property="item" column="item" />
</resultMap>
<insert id="insertBatch">
insert into power_wages_details (a1,
......@@ -479,6 +489,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from power_wages_details
where mine_id = #{mineId} and import_time = #{date} and comparison_id = #{comparisonId}
</delete>
<delete id="deleteByDate" parameterType="java.lang.String">
delete from power_wages_lx
where import_time = #{importTime}
</delete>
<select id="selectByMineIdAndDate" resultMap="PowerWagesDetailsResult">
select id, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
a11, a12, a13, a14, a15, a16, a17, a18, a19,
......@@ -509,4 +523,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from power_wages_details
where comparison_id = #{comparsionId}
</select>
<insert id="insert">
insert into power_wages_lx(category, total, peak_electric,
valley_electric, sharp_electric,
flat_electric, item,import_time)
VALUES
<foreach collection="accList" item="list" separator=",">
(#{list.category},
#{list.total},
#{list.peakElectric},
#{list.valleyElectric},
#{list.sharpElectric},
#{list.flatElectric},
#{list.item},
#{list.importTime})
</foreach>
</insert>
</mapper>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment