skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/XsfsQktjController.java
New file @@ -0,0 +1,94 @@ package cn.gistack.sm.sjztods.controller; import cn.gistack.sm.sjztods.entity.XsfsQktj; import cn.gistack.sm.sjztods.excel.XsfsQktjExcel; import cn.gistack.sm.sjztods.excel.XsfsQktjImport; import cn.gistack.sm.sjztods.service.IXsfsQktjService; import cn.gistack.sm.sjztods.vo.XsfsQktjVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * * @ClassName XsfsQktjController * @author zhongrj * @date 2023-10-19 */ @Slf4j @Api(tags = "蓄水放水情况统计表") @RestController @RequestMapping("/sjztods/xsfsQktj") @AllArgsConstructor public class XsfsQktjController { private final IXsfsQktjService xsfsQktjService; /** * 上报 * @param xsfsQktj * @return */ @ApiOperation(value = "蓄水放水情况统计-上报", notes = "蓄水放水情况统计-上报") @PostMapping(value = "/exportXsfsQktj") public R exportXsfsQktj(@RequestBody XsfsQktj xsfsQktj) { return R.status(xsfsQktjService.exportXsfsQktj(xsfsQktj)); } /** * 分页列表数据查询 * @param xsfsQktj * @param query * @return */ @GetMapping(value = "/page") public R page(XsfsQktjVO xsfsQktj, Query query) { return R.data(xsfsQktjService.selectXsfsQktjPage(Condition.getPage(query), xsfsQktj)); } /** * 按行政区统计 * @param xsfsQktj * @return */ @ApiOperation(value = "蓄水放水情况统计-按行政区统计", notes = "蓄水放水情况统计-按行政区统计") @GetMapping(value = "/getStatisticList") public R getStatisticList(XsfsQktjVO xsfsQktj) { return R.data(xsfsQktjService.getStatisticList(xsfsQktj)); } /** * 导入 * @param file * @return */ @PostMapping("/import-xsfsQktj") public R importXsfsQktj(MultipartFile file) { XsfsQktjImport xsfsQktjImport = new XsfsQktjImport(xsfsQktjService); ExcelUtil.save(file, xsfsQktjImport, XsfsQktjExcel.class); return R.success("操作成功"); } /** * 导出 * @param xsfsQktj */ @GetMapping("/export-xsfsQktj") public void exportXsfsQktj(HttpServletResponse response,XsfsQktjVO xsfsQktj) { List<XsfsQktjExcel> list = xsfsQktjService.exportXsfsQktjList(xsfsQktj); ExcelUtil.export(response, "水库统计数据" + DateUtil.time(), "水库统计数据表", list, XsfsQktjExcel.class); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/XsfsQktjExcel.java
New file @@ -0,0 +1,174 @@ package cn.gistack.sm.sjztods.excel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class XsfsQktjExcel implements Serializable { private static final long serialVersionUID = 1L; /** * 区域名称 */ @ColumnWidth(15) @ExcelProperty("区域名称") private String adName; /** * 区域编号 */ @ColumnWidth(15) @ExcelProperty("区域编号") private String adCode; /** * 总蓄水合计 */ @ColumnWidth(15) @ExcelProperty("总蓄水合计") private Double zxsTotal; /** * 总蓄水较上次 */ @ColumnWidth(15) @ExcelProperty("总蓄水较上次") private String zxsSc; /** * 总蓄水较历史同期 */ @ColumnWidth(15) @ExcelProperty("总蓄水较历史同期") private String zxsHisTq; /** * 总蓄水较历史同期增减(%) */ @ColumnWidth(15) @ExcelProperty("总蓄水较历史同期增减(%)") private String zxsHisTqzj; /** * 总蓄水较去年同期 */ @ColumnWidth(15) @ExcelProperty("总蓄水较去年同期") private String zxsLastYearTq; /** * 总蓄水较去年同期增减(%) */ @ColumnWidth(15) @ExcelProperty("总蓄水较去年同期增减(%)") private String zxsLastYearTqzj; /** * 有效蓄水合计 */ @ColumnWidth(15) @ExcelProperty("有效蓄水合计") private Double yxxsTotal; /** * 有效蓄水较同期历史有效蓄水增减(%) */ @ColumnWidth(15) @ExcelProperty("有效蓄水较同期历史有效蓄水增减(%)") private String yxxsHisTqzj; /** * 有效蓄水较同期去年有效蓄水增减(%) */ @ColumnWidth(15) @ExcelProperty("有效蓄水较同期去年有效蓄水增减(%)") private String yxxsLastYearTqzj; /** * 占兴利库容百分比(%) */ @ColumnWidth(15) @ExcelProperty("占兴利库容百分比(%)") private String yxxsZXlkr; /** * 大型水库蓄水合计 */ @ColumnWidth(15) @ExcelProperty("大型水库蓄水合计") private Double dxskXsTotal; /** * 大型水库蓄水较历史同期 */ @ColumnWidth(15) @ExcelProperty("大型水库蓄水较历史同期") private String dxskXsHis; /** * 大型水库蓄水较去年同期 */ @ColumnWidth(15) @ExcelProperty("大型水库蓄水较去年同期") private String dxskXsLastYear; /** * 大型水库有效蓄水 */ @ColumnWidth(15) @ExcelProperty("大型水库有效蓄水") private Double dxskYxxs; /** * 中型水库蓄水合计 */ @ColumnWidth(15) @ExcelProperty("中型水库蓄水合计") private Double zxskXsTotal; /** * 中型水库较历史同期 */ @ColumnWidth(15) @ExcelProperty("中型水库较历史同期") private String zxskXsHis; /** * 中型水库较去年同期 */ @ColumnWidth(15) @ExcelProperty("中型水库较去年同期") private String zxskXsLastYear; /** * 中型水库有效蓄水 */ @ColumnWidth(15) @ExcelProperty("中型水库有效蓄水") private Double zxskYxxs; /** * 小型水库蓄水合计 */ @ColumnWidth(15) @ExcelProperty("小型水库蓄水合计") private Double xxskXsTotal; /** * 小型水库有效蓄水 */ @ColumnWidth(15) @ExcelProperty("小型水库有效蓄水") private Double xxskYxxs; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/excel/XsfsQktjImport.java
New file @@ -0,0 +1,23 @@ package cn.gistack.sm.sjztods.excel; import cn.gistack.sm.sjztods.service.IXsfsQktjService; import lombok.RequiredArgsConstructor; import org.springblade.core.excel.support.ExcelImporter; import java.util.List; /** * 导入水库数据 * @author zhongrj * @date 2023-10-19 */ @RequiredArgsConstructor public class XsfsQktjImport implements ExcelImporter<XsfsQktjExcel> { private final IXsfsQktjService service; @Override public void save(List<XsfsQktjExcel> data) { service.importXsfsQktjData(data); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.java
New file @@ -0,0 +1,44 @@ package cn.gistack.sm.sjztods.mapper; import cn.gistack.sm.sjztods.entity.XsfsQktj; import cn.gistack.sm.sjztods.excel.XsfsQktjExcel; import cn.gistack.sm.sjztods.vo.XsfsQktjVO; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; /** * XsfsQktjMapper 接口 * * @author zhongrj * @date 2023-10-19 */ @DS("ztznwh") public interface XsfsQktjMapper extends BaseMapper<XsfsQktj> { /** * 分页列表数据查询 * @param page * @param xsfsQktj * @return */ List<XsfsQktjVO> selectXsfsQktjPage(@Param("page") IPage<XsfsQktjVO> page,@Param("xsfsQktj") XsfsQktjVO xsfsQktj); /** * 按行政区统计 * @param xsfsQktj * @return */ List<XsfsQktjVO> getStatisticList(@Param("xsfsQktj") XsfsQktjVO xsfsQktj); /** * 查询导出数据 * @param xsfsQktj * @return */ List<XsfsQktjExcel> exportXsfsQktjList(@Param("xsfsQktj") XsfsQktjVO xsfsQktj); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/XsfsQktjMapper.xml
New file @@ -0,0 +1,68 @@ <?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="cn.gistack.sm.sjztods.mapper.XsfsQktjMapper"> <!--分页列表数据查询--> <select id="selectXsfsQktjPage" resultType="cn.gistack.sm.sjztods.vo.XsfsQktjVO"> select xq.* from SJZT_ODS."xsfs_qktj" xq where 1=1 <if test="xsfsQktj.statisticTime!=null"> and date_format(xq."statistic_time","%Y-%m-%d") = #{xsfsQktj.statisticTime} </if> <if test="xsfsQktj.adCode!=null and xsfsQktj.adCode!=''"> and xq."ad_code" = #{xsfsQktj.adCode} </if> </select> <!--按行政区统计--> <select id="getStatisticList" resultType="cn.gistack.sm.sjztods.vo.XsfsQktjVO"> select xq.* from SJZT_ODS."xsfs_qktj" xq where 1=1 <if test="xsfsQktj.statisticTime!=null"> and date_format(xq."statistic_time","%Y-%m-%d") = #{xsfsQktj.statisticTime} </if> <if test="xsfsQktj.adCode!=null and xsfsQktj.adCode!=''"> and xq."ad_code" = #{xsfsQktj.adCode} </if> order by "ad_code" </select> <!--查询导出数据--> <select id="exportXsfsQktjList" resultType="cn.gistack.sm.sjztods.excel.XsfsQktjExcel"> select xq."ad_name" as adName, xq."ad_code" as adCode, xq."zxs_total" as zxsTotal, xq."zxs_sc" as zxsSc, xq."zxs_his_tq" as zxsHisTq, xq."zxs_his_tqzj" as zxsHisTqzj, xq."zxs_last_year_tq" as zxsLastYearTq, xq."zxs_last_year_tqzj" as zxsLastYearTqzj, xq."yxxs_total" as yxxsTotal, xq."yxxs_his_tqzj" as yxxsHisTqzj, xq."yxxs_last_year_tqzj" as yxxsLastYearTqzj, xq."yxxs_z_xlkr" as yxxsZXlkr, xq."dxsk_xs_total" as dxskXsTotal, xq."dxsk_xs_his" as dxskXsHis, xq."dxsk_xs_last_year" as dxskXsLastYear, xq."dxsk_yxxs" as dxskYxxs, xq."zxsk_xs_total" as zxskXsTotal, xq."zxsk_xs_his" as zxskXsHis, xq."zxsk_xs_last_year" as zxskXsLastYear, xq."zxsk_yxxs" as zxskYxxs, xq."xxsk_xs_total" as xxskXsTotal, xq."xxsk_yxxs" as xxskYxxs from SJZT_ODS."xsfs_qktj" xq where 1=1 <if test="xsfsQktj.statisticTime!=null"> and date_format(xq."statistic_time","%Y-%m-%d") = #{xsfsQktj.statisticTime} </if> <if test="xsfsQktj.adCode!=null and xsfsQktj.adCode!=''"> and xq."ad_code" = #{xsfsQktj.adCode} </if> </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IXsfsQktjService.java
New file @@ -0,0 +1,52 @@ package cn.gistack.sm.sjztods.service; import cn.gistack.sm.sjztods.entity.XsfsQktj; import cn.gistack.sm.sjztods.excel.XsfsQktjExcel; import cn.gistack.sm.sjztods.vo.XsfsQktjVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * @ClassName IXsfsQktjService * @author zhongrj * @date 2023-10-19 */ public interface IXsfsQktjService extends IService<XsfsQktj> { /** * 上报 * @param xsfsQktj * @return */ boolean exportXsfsQktj(XsfsQktj xsfsQktj); /** * 分页列表数据查询 * @param xsfsQktj * @param page * @return */ Object selectXsfsQktjPage(IPage<XsfsQktjVO> page, XsfsQktjVO xsfsQktj); /** * 按行政区统计 * @param xsfsQktj * @return */ Object getStatisticList(XsfsQktjVO xsfsQktj); /** * 导入统计上报数据 * @param data */ void importXsfsQktjData(List<XsfsQktjExcel> data); /** * 查询导出数据 * @param xsfsQktj * @return */ List<XsfsQktjExcel> exportXsfsQktjList(XsfsQktjVO xsfsQktj); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/XsfsQktjServiceImpl.java
New file @@ -0,0 +1,128 @@ package cn.gistack.sm.sjztods.service.impl; import cn.gistack.sm.sjztods.entity.XsfsQktj; import cn.gistack.sm.sjztods.excel.XsfsQktjExcel; import cn.gistack.sm.sjztods.mapper.XsfsQktjMapper; import cn.gistack.sm.sjztods.service.IXsfsQktjService; import cn.gistack.sm.sjztods.vo.XsfsQktjVO; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; import java.util.Objects; /** * @ClassName XsfsQktjServiceImpl * @author zhongrj * @date 2023-10-19 */ @Service @DS("ztznwh") public class XsfsQktjServiceImpl extends ServiceImpl<XsfsQktjMapper, XsfsQktj> implements IXsfsQktjService { /** * 上报 * @param xsfsQktj * @return */ @Override @DS("ztznwh") public boolean exportXsfsQktj(XsfsQktj xsfsQktj) { // 查询库中是否包含当前日期,当前行政区的数据,如果有,则更新,没有则新增 QueryWrapper<XsfsQktj> wrapper = new QueryWrapper<>(); wrapper.eq("\"statistic_time\"",xsfsQktj.getStatisticTime()) .eq("\"ad_code\"",xsfsQktj.getAdCode()); XsfsQktj qkTj = baseMapper.selectOne(wrapper); // 设置更新人员,更新时间,来源信息 xsfsQktj.setUpdateTime(new Date()); xsfsQktj.setUpdateUser(AuthUtil.getUserId()); xsfsQktj.setSysResource("sb"); if (null!= qkTj){ xsfsQktj.setGuid(qkTj.getGuid()); // 更新并返回 return updateById(xsfsQktj); } // 设置创建人员,时间信息 xsfsQktj.setCreateUser(AuthUtil.getUserId()); xsfsQktj.setCreateTime(new Date()); // 保存并返回 return save(xsfsQktj); } /** * 分页列表数据查询 * @param xsfsQktj * @param page * @return */ @Override public Object selectXsfsQktjPage(IPage<XsfsQktjVO> page, XsfsQktjVO xsfsQktj) { if (null!=xsfsQktj.getIsExport()){ // 导出,查询所有数据 return baseMapper.selectXsfsQktjPage(null,xsfsQktj); } return page.setRecords(baseMapper.selectXsfsQktjPage(page,xsfsQktj)); } /** * 按行政区统计 * @param xsfsQktj * @return */ @Override public Object getStatisticList(XsfsQktjVO xsfsQktj) { return baseMapper.getStatisticList(xsfsQktj); } /** * 导入统计上报数据 * @param data */ @Override public void importXsfsQktjData(List<XsfsQktjExcel> data) { if (data.size()>0){ // 遍历 data.forEach(xsfsQktjExcel -> { XsfsQktj xsfsQktj = Objects.requireNonNull(BeanUtil.copy(xsfsQktjExcel, XsfsQktj.class)); // 查询库中是否包含当前日期,当前行政区的数据,如果有,则更新,没有则新增 QueryWrapper<XsfsQktj> wrapper = new QueryWrapper<>(); wrapper.eq("\"statistic_time\"",xsfsQktj.getStatisticTime()) .eq("\"ad_code\"",xsfsQktj.getAdCode()); XsfsQktj qkTj = baseMapper.selectOne(wrapper); // 设置更新人员,更新时间,来源信息 xsfsQktj.setUpdateTime(new Date()); xsfsQktj.setUpdateUser(AuthUtil.getUserId()); xsfsQktj.setSysResource("sb"); if (null!= qkTj){ xsfsQktj.setGuid(qkTj.getGuid()); // 更新并返回 updateById(xsfsQktj); return; } // 设置创建人员,时间信息 xsfsQktj.setCreateUser(AuthUtil.getUserId()); xsfsQktj.setCreateTime(new Date()); // 保存并返回 save(xsfsQktj); return; }); } } /** * 查询导出数据 * @param xsfsQktj * @return */ @Override public List<XsfsQktjExcel> exportXsfsQktjList(XsfsQktjVO xsfsQktj) { return baseMapper.exportXsfsQktjList(xsfsQktj); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/vo/XsfsQktjVO.java
New file @@ -0,0 +1,13 @@ package cn.gistack.sm.sjztods.vo; import cn.gistack.sm.sjztods.entity.XsfsQktj; import lombok.Data; @Data public class XsfsQktjVO extends XsfsQktj { /** * 水库规模 */ private Integer isExport; }