skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbResStagCapDiscController.java
New file @@ -0,0 +1,66 @@ package cn.gistack.sm.sjztmd.controller; import cn.gistack.sm.sjztmd.entity.TbAttResBase; import cn.gistack.sm.sjztmd.entity.TbFileStorageLocation; import cn.gistack.sm.sjztmd.entity.TbResStagCapDisc; import cn.gistack.sm.sjztmd.service.ITbResStagCapDiscService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringUtil; import org.springframework.web.bind.annotation.*; import java.util.List; @Slf4j @Api(tags = "中台水位库容信息填报") @RestController @RequestMapping("/sjztmd/tbResStagCapDisc") @AllArgsConstructor public class TbResStagCapDiscController { ITbResStagCapDiscService tbResStagCapDiscService; /** * 新增 * @return */ @ApiOperation(value = "水位库容信息-添加", notes = "水位库容信息-添加") @PostMapping(value = "/addAll") public R addAll(@RequestBody List<TbResStagCapDisc> list) { Boolean addAll = tbResStagCapDiscService.addAll(list); return R.status(addAll); } /** * 根据水库获取水位库容信息 * @return */ @ApiOperation(value = "水位库容信息-根据水库获取水位库容信息", notes = "水位库容信息-根据水库获取水位库容信息") @GetMapping(value = "/getAll") public R getAll(TbResStagCapDisc tbResStagCapDisc) { if (StringUtil.isBlank(tbResStagCapDisc.getResGuid())) { return R.fail("水库id不能为空"); } List<TbResStagCapDisc> list = tbResStagCapDiscService.getAll(tbResStagCapDisc); return R.data(list); } /** * 审核 * @return */ @ApiOperation(value = "水位库容信息-审核", notes = "水位库容信息-审核") @PostMapping(value = "/audit") public R audit(@RequestBody List<TbResStagCapDisc> list) { return R.status(tbResStagCapDiscService.auditByGuid(list)); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbResStagCapDisc.java
New file @@ -0,0 +1,126 @@ package cn.gistack.sm.sjztmd.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @Data @TableName("\"tb_res_stag_cap_disc\"") @ApiModel(value = "水位库容填报", description = "水位库容填报") public class TbResStagCapDisc { /** * 主键 */ @ApiModelProperty(value = "主键") @TableField("\"guid\"") @TableId("\"guid\"") private String guid; /** * 水位 */ @ApiModelProperty(value = "水位(米)") @TableField("\"stag\"") private Double stag; /** * 面积 */ @ApiModelProperty(value = "面积(平方千米)") @TableField("\"area\"") private Double area; /** * 库容 */ @ApiModelProperty(value = "库容(万立方米)") @TableField("\"cap\"") private Double cap; /** * 库容 */ @ApiModelProperty(value = "溢洪道(秒每立方米)") @TableField("\"spillway\"") private Double spillway; /** * 库容 */ @ApiModelProperty(value = "非常溢洪道(秒每立方米)") @TableField("\"emergency_spillway\"") private Double emergencySpillway; /** * 库容 */ @ApiModelProperty(value = "总泄量(秒每立方米)") @TableField("\"total_discharge\"") private Double totalDischarge; /** * 库容 */ @ApiModelProperty(value = "序号") @TableField("\"order_id\"") private Double orderId; /** * 库容 */ @ApiModelProperty(value = "水库guid") @TableField("\"res_guid\"") private String resGuid; /** * 创建时间 */ @ApiModelProperty(value = "创建时间 ") @TableField("\"create_time\"") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 创建时间 */ @ApiModelProperty(value = "修改时间 ") @TableField("\"update_time\"") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** * 操作记录 */ @ApiModelProperty(value = "操作记录 ") @TableField("\"log\"") private String log; /** * 填报状态(0:填写中,1:审核中,2:审核通过) */ @ApiModelProperty(value = "填报状态(0:填写中,1:审核中,2:审核通过) ") @TableField("\"check_state\"") @JsonSerialize(using = ToStringSerializer.class) private Integer checkState; /** * 审核记录 */ @ApiModelProperty(value = "审核记录 ") @TableField("\"check_log\"") private String checkLog; @TableField(exist = false) private String reason; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResStagCapDiscMapper.java
New file @@ -0,0 +1,12 @@ package cn.gistack.sm.sjztmd.mapper; import cn.gistack.sm.sjztmd.entity.TbResStagCapDisc; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; public interface TbResStagCapDiscMapper extends BaseMapper<TbResStagCapDisc> { void deleteByResGuid(@Param("resGuid") String resGuid); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResStagCapDiscMapper.xml
New file @@ -0,0 +1,11 @@ <?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.sjztmd.mapper.TbResStagCapDiscMapper"> <!--namespace根据自己需要创建的的mapper的路径和名称填写--> <delete id="deleteByResGuid"> delete from SJZT_MD."tb_res_stag_cap_disc" where "res_guid" = #{resGuid} </delete> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbResStagCapDiscService.java
New file @@ -0,0 +1,15 @@ package cn.gistack.sm.sjztmd.service; import cn.gistack.sm.sjztmd.entity.TbRelResUser; import cn.gistack.sm.sjztmd.entity.TbResStagCapDisc; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; public interface ITbResStagCapDiscService extends IService<TbResStagCapDisc> { Boolean addAll(List<TbResStagCapDisc> list); List<TbResStagCapDisc> getAll(TbResStagCapDisc tbResStagCapDisc); Boolean auditByGuid(List<TbResStagCapDisc> list); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java
@@ -243,6 +243,7 @@ CompletableFuture<List<Map<String,Object>>> tbAttResWaterBlock = getTbInfo("tb_att_res_water_block",resGuid,executor); CompletableFuture<List<Map<String,Object>>> tbAttResWaterDelivery = getTbInfo("tb_att_res_water_delivery",resGuid,executor); CompletableFuture<List<Map<String,Object>>> tbFileStorageLocation = getTbInfo("tb_file_storage_location",resGuid,executor); CompletableFuture<List<Map<String,Object>>> tbResStagCapDisc = getTbInfo("tb_res_stag_cap_disc",resGuid,executor); //等待所有任务执行完成 try { CompletableFuture.allOf( @@ -259,7 +260,9 @@ tbAttResSafetyMonitor, tbAttResStagChar, tbAttResWaterBlock, tbAttResWaterDelivery).get(); tbAttResWaterDelivery, tbResStagCapDisc ).get(); // 数据处理 list.addAll(tbAttResBaseInfo.get()); list.addAll(tbAttResEngBene.get()); @@ -275,6 +278,7 @@ list.addAll(tbAttResWaterBlock.get()); list.addAll(tbAttResWaterDelivery.get()); list.addAll(tbFileStorageLocation.get()); list.addAll(tbResStagCapDisc.get()); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResStagCapDiscServiceImpl.java
New file @@ -0,0 +1,202 @@ package cn.gistack.sm.sjztmd.service.impl; import cn.gistack.sm.sjztmd.entity.TbFileStorageLocation; import cn.gistack.sm.sjztmd.entity.TbRelResUser; import cn.gistack.sm.sjztmd.entity.TbResStagCapDisc; import cn.gistack.sm.sjztmd.mapper.TbRelResUserMapper; import cn.gistack.sm.sjztmd.mapper.TbResStagCapDiscMapper; import cn.gistack.sm.sjztmd.service.ITbAttResBaseService; import cn.gistack.sm.sjztmd.service.ITbResStagCapDiscService; import cn.gistack.system.user.feign.IUserClient; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; @Service @DS("zt") @Transactional(rollbackFor = Exception.class) public class TbResStagCapDiscServiceImpl extends ServiceImpl<TbResStagCapDiscMapper, TbResStagCapDisc> implements ITbResStagCapDiscService { @Autowired private IUserClient userClient; @Autowired private ITbAttResBaseService tbAttResBaseService; @Override public Boolean addAll(List<TbResStagCapDisc> list) { //先把该水库的数据全部删除 String resGuid = list.get(0).getResGuid(); baseMapper.deleteByResGuid(resGuid); Date now = DateUtil.now(); //循环数组 list.forEach(tbResStagCapDisc -> { //如果guid为空表示新增数据 if (StringUtil.isBlank(tbResStagCapDisc.getGuid())){ tbResStagCapDisc.setCreateTime(now); tbResStagCapDisc.setUpdateTime(now); //更新操作日志 setUpdateLog(tbResStagCapDisc,tbResStagCapDisc); baseMapper.insert(tbResStagCapDisc); }else{ //更新数据 tbResStagCapDisc.setUpdateTime(now); //更新操作日志 setUpdateLog(tbResStagCapDisc,tbResStagCapDisc); baseMapper.insert(tbResStagCapDisc); } }); return true; } @Override public List<TbResStagCapDisc> getAll(TbResStagCapDisc tbResStagCapDisc) { List<TbResStagCapDisc> list = list(Condition.getQueryWrapper(tbResStagCapDisc) .orderByAsc("order_id") ); return list; } @Override public Boolean auditByGuid(List<TbResStagCapDisc> list) { boolean b = false; boolean edit = false; // 编辑标记 if (list.get(0).getCheckState()==4){ edit = true; } for (int i = 0; i < list.size(); i++) { TbResStagCapDisc tbResStagCapDisc = list.get(i); //更新操作日志 setUpdateLog(tbResStagCapDisc,tbResStagCapDisc); //更新审核日志 setUpdateCheckLog(tbResStagCapDisc,tbResStagCapDisc); // 驳回情况下将状态修改回0即已填写未提交状态 if (tbResStagCapDisc.getCheckState()==3){ tbResStagCapDisc.setCheckState(0); } Date now = DateUtil.now(); //更新数据 tbResStagCapDisc.setUpdateTime(now); b = updateById(tbResStagCapDisc); } if (b){ if (!edit) { tbAttResBaseService.updateFinalState(list.get(0).getResGuid(), list.get(0).getCheckState()); } return true; } return true; } /** * @param older * @param newer * 更新审核记录 */ private void setUpdateCheckLog(TbResStagCapDisc older, TbResStagCapDisc newer) { String fillName = ""; if (newer.getCheckState()==2){ fillName = "审核"; } if (newer.getCheckState()==3){ fillName = "退回" + (null==newer.getReason()?"":":" + newer.getReason()); } // 拼接 String time = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()); String userName = AuthUtil.getUser().getUserName(); String phone = userClient.userInfoById(AuthUtil.getUserId()).getData().getPhone(); StringBuilder builder = new StringBuilder(); builder.append(time) .append(",") .append(fillName) .append(",") .append(userName) .append(",") .append(phone) .append(";"); // 判断是否存在 if (null==older){ // 填报 newer.setCheckLog(builder.toString()); }else { StringBuilder stringBuilder = new StringBuilder(null==older.getCheckLog()?"":older.getCheckLog()); stringBuilder.append(builder); // 填报 newer.setCheckLog(stringBuilder.toString()); } } /** * @param older * @param newer * 更新操作记录 */ private void setUpdateLog(TbResStagCapDisc older,TbResStagCapDisc newer) { String fillName = ""; if (newer.getCheckState()==0){ fillName = "编辑"; } if (newer.getCheckState()==1){ fillName = "提交"; } if (newer.getCheckState()==2){ fillName = "审核"; } if (newer.getCheckState()==3){ fillName = "退回" + (null==newer.getCheckLog()?"":":" + newer.getCheckLog()); } if (newer.getCheckState()==4){ fillName = "编辑"; newer.setCheckState(older.getCheckState()); } // 拼接 String time = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()); String userName = AuthUtil.getUser().getUserName(); String phone = userClient.userInfoById(AuthUtil.getUserId()).getData().getPhone(); StringBuilder builder = new StringBuilder(); builder.append(time) .append(",") .append(fillName) .append(",") .append(userName) .append(",") .append(phone) .append(";"); // 判断是否存在 if (null==older){ // 填报 newer.setLog(builder.toString()); }else { StringBuilder stringBuilder = new StringBuilder(null==older.getLog()?"":older.getLog()); stringBuilder.append(builder); // 填报 newer.setLog(stringBuilder.toString()); } } }