From f3b15901b4835eff84947d9fb4bbda3db466ed9a Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 30 Aug 2023 16:32:11 +0800
Subject: [PATCH] 新增文件存储位置填报基础接口

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbFileStorageLocationController.java    |   64 ++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.java            |   24 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.xml             |   10 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbFileStorageLocationService.java         |   33 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbFileStorageLocationServiceImpl.java |  192 ++++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbFileStorageLocation.java                  |  125 +++++++++++++++
 6 files changed, 448 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbFileStorageLocationController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbFileStorageLocationController.java
new file mode 100644
index 0000000..a3b4cd4
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbFileStorageLocationController.java
@@ -0,0 +1,64 @@
+package cn.gistack.sm.sjztmd.controller;
+
+import cn.gistack.sm.sjztmd.entity.TbFileStorageLocation;
+import cn.gistack.sm.sjztmd.service.ITbFileStorageLocationService;
+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.springframework.web.bind.annotation.*;
+
+
+/**
+ * @ClassName TbFileStorageLocationController
+ * @Description TODO
+ * @author zhongrj
+ * @Date 2023/8/30
+ * @Version 1.0
+ */
+@Slf4j
+@Api(tags = "中台水库信息填报")
+@RestController
+@RequestMapping("/sjztmd/tbFileStorageLocation")
+@AllArgsConstructor
+public class TbFileStorageLocationController {
+
+	private final ITbFileStorageLocationService tbFileStorageLocationService;
+
+
+	/**
+	 * 查询水库填报详情信息
+	 * @param resGuid
+	 * @return
+	 */
+	@ApiOperation(value = "中台水库-查询水库填报详情信息", notes = "中台水库-查询水库填报详情信息")
+	@GetMapping(value = "/getDetailByGuid")
+	public R getDetailByCode(String resGuid) {
+		TbFileStorageLocation attResBase = tbFileStorageLocationService.getDetailByGuid(resGuid);
+		return R.data(attResBase);
+	}
+
+	/**
+	 * 编辑
+	 * @param tbFileStorageLocation
+	 * @return
+	 */
+	@ApiOperation(value = "水库信息-编辑", notes = "水库信息-编辑")
+	@PostMapping(value = "/edit")
+	public R edit(@RequestBody TbFileStorageLocation tbFileStorageLocation) {
+		return R.status(tbFileStorageLocationService.updateByGuid(tbFileStorageLocation));
+	}
+
+	/**
+	 * 审核
+	 * @param tbFileStorageLocation
+	 * @return
+	 */
+	@ApiOperation(value = "水库信息-审核", notes = "水库信息-审核")
+	@PostMapping(value = "/audit")
+	public R audit(@RequestBody TbFileStorageLocation tbFileStorageLocation) {
+		return R.status(tbFileStorageLocationService.auditByGuid(tbFileStorageLocation));
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbFileStorageLocation.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbFileStorageLocation.java
new file mode 100644
index 0000000..c6e92e4
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbFileStorageLocation.java
@@ -0,0 +1,125 @@
+package cn.gistack.sm.sjztmd.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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.io.Serializable;
+import java.util.Date;
+
+/**
+ * 文件存储位置-填报
+ *
+ * @author zhongrj
+ * @date 2023-08-30
+ */
+@Data
+@TableName("\"tb_file_storage_location\"")
+@ApiModel(value = "文件存储位置", description = "文件存储位置")
+public class TbFileStorageLocation implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@ApiModelProperty(value = "主键")
+	@TableId(value = "\"guid\"",type = IdType.ASSIGN_ID)
+	private String guid;
+
+	/**
+	 * 水库编码
+	 */
+	@ApiModelProperty(value = "水库编码")
+	@TableField("\"res_guid\"")
+	private String resGuid;
+
+	/**
+	 * 始建期资料路径
+	 */
+	@ApiModelProperty(value = "始建期资料路径")
+	@TableField("\"construction_period_data_path\"")
+	private String constructionPeriodDataPath;
+
+	/**
+	 * 第一次除险加固资料路径
+	 */
+	@ApiModelProperty(value = "第一次除险加固资料路径")
+	@TableField("\"first_reinforce_data_path\"")
+	private String firstReinforceDataPath;
+
+	/**
+	 * 第二次除险加固资料路径
+	 */
+	@ApiModelProperty(value = "第二次除险加固资料路径")
+	@TableField("\"second_reinforce_data_path\"")
+	private String secondReinforceDataPath;
+
+	/**
+	 * 第三次除险加固资料路径
+	 */
+	@ApiModelProperty(value = "第三次除险加固资料路径")
+	@TableField("\"third_reinforce_data_path\"")
+	private String thirdReinforceDataPath;
+
+	/**
+	 * 日常运行管理资料路径
+	 */
+	@ApiModelProperty(value = "日常运行管理资料路径")
+	@TableField("\"daily_operation_management_data_path\"")
+	private String dailyOperationManagementDataPath;
+
+	/**
+	 * 整编图纸
+	 */
+	@ApiModelProperty(value = "整编图纸 ")
+	@TableField("\"integrated_drawing_path\"")
+	private String integratedDrawingPath;
+
+	/**
+	 * 水库鸟瞰图
+	 */
+	@ApiModelProperty(value = "水库鸟瞰图 ")
+	@TableField("\"water_aerial_view\"")
+	private String waterAerialView;
+
+	/**
+	 * 填报状态(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;
+
+	/**
+	 * 创建时间
+	 */
+	@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("\"log\"")
+	private String log;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.java
new file mode 100644
index 0000000..0d77161
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.java
@@ -0,0 +1,24 @@
+package cn.gistack.sm.sjztmd.mapper;
+
+import cn.gistack.sm.sjztmd.entity.TbFileStorageLocation;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * TbFileStorageLocationMapper 接口
+ *
+ * @author zhongrj
+ * @date 2023-08-16
+ */
+@DS("zt")
+public interface TbFileStorageLocationMapper extends BaseMapper<TbFileStorageLocation> {
+
+	/**
+	 * 查询水库填报详情信息
+	 * @param resGuid
+	 * @return
+	 */
+	TbFileStorageLocation getDetailByResGuid(@Param("resGuid") String resGuid);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.xml
new file mode 100644
index 0000000..1463298
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.xml
@@ -0,0 +1,10 @@
+<?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.TbFileStorageLocationMapper">
+
+    <!--查询水库填报详情信息-->
+    <select id="getDetailByResGuid" resultType="cn.gistack.sm.sjztmd.entity.TbFileStorageLocation">
+        SELECT * FROM "tb_file_storage_location" WHERE "res_guid" = #{resGuid}
+    </select>
+
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbFileStorageLocationService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbFileStorageLocationService.java
new file mode 100644
index 0000000..e7e3d11
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbFileStorageLocationService.java
@@ -0,0 +1,33 @@
+package cn.gistack.sm.sjztmd.service;
+
+import cn.gistack.sm.sjztmd.entity.TbFileStorageLocation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @ClassName ITbFileStorageLocationService
+ * @author zhongrj
+ * @date 2023/8/30
+ */
+public interface ITbFileStorageLocationService extends IService<TbFileStorageLocation> {
+
+	/**
+	 * 查询水库填报详情信息
+	 * @param guid
+	 * @return
+	 */
+	TbFileStorageLocation getDetailByGuid(String guid);
+
+	/**
+	 * 编辑
+	 * @param tbAttResWaterDelivery
+	 * @return
+	 */
+	boolean updateByGuid(TbFileStorageLocation tbAttResWaterDelivery);
+
+	/**
+	 * 审核
+	 * @param tbAttResWaterDelivery
+	 * @return
+	 */
+	boolean auditByGuid(TbFileStorageLocation tbAttResWaterDelivery);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbFileStorageLocationServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbFileStorageLocationServiceImpl.java
new file mode 100644
index 0000000..40a6825
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbFileStorageLocationServiceImpl.java
@@ -0,0 +1,192 @@
+package cn.gistack.sm.sjztmd.service.impl;
+
+import cn.gistack.sm.sjztmd.entity.TbFileStorageLocation;
+import cn.gistack.sm.sjztmd.mapper.TbFileStorageLocationMapper;
+import cn.gistack.sm.sjztmd.service.ITbFileStorageLocationService;
+import cn.gistack.system.user.feign.IUserClient;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * @ClassName TbFileStorageLocationServiceImpl
+ * @author zhongrj
+ * @date 2023/8/30
+ * @Version 1.0
+ */
+@Service
+@DS("zt")
+public class TbFileStorageLocationServiceImpl extends ServiceImpl<TbFileStorageLocationMapper, TbFileStorageLocation> implements ITbFileStorageLocationService {
+
+	@Autowired
+	private IUserClient userClient;
+
+	/**
+	 * 查询水库填报详情信息
+	 * @param guid
+	 * @return
+	 */
+	@Override
+	public TbFileStorageLocation getDetailByGuid(String guid) {
+		return baseMapper.getDetailByResGuid(guid);
+	}
+
+	/**
+	 * 编辑
+	 * @param tbFileStorageLocation
+	 * @return
+	 */
+	@Override
+	public boolean updateByGuid(TbFileStorageLocation tbFileStorageLocation) {
+		// 查询是否存在
+		TbFileStorageLocation detail = baseMapper.getDetailByResGuid(tbFileStorageLocation.getResGuid());
+		// 更新日志
+		setUpdateLog(detail,tbFileStorageLocation);
+		// 修改
+		int i = addOrUpdateByGuid(detail,tbFileStorageLocation);
+		if (i>0){
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * 审核
+	 * @param tbFileStorageLocation
+	 * @return
+	 */
+	@Override
+	public boolean auditByGuid(TbFileStorageLocation tbFileStorageLocation) {
+		// 查询是否存在
+		TbFileStorageLocation detail = baseMapper.getDetailByResGuid(tbFileStorageLocation.getResGuid());
+		// 更新操作日志
+		setUpdateLog(detail,tbFileStorageLocation);
+		// 更新审核日志
+		setUpdateCheckLog(detail,tbFileStorageLocation);
+		if (null!=detail){
+			tbFileStorageLocation.setGuid(detail.getGuid());
+		}
+		// 驳回情况下将状态修改回0即已填写未提交状态
+		if (tbFileStorageLocation.getCheckState()==3){
+			tbFileStorageLocation.setCheckState(0);
+		}
+		// 更新数据
+		int i = baseMapper.updateById(tbFileStorageLocation);
+		if (i>0){
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * 更新
+	 * @param tbFileStorageLocation
+	 * @return
+	 */
+	private int addOrUpdateByGuid(TbFileStorageLocation oldAbAttResBase,TbFileStorageLocation tbFileStorageLocation){
+		int i = 0;
+		if (null!=oldAbAttResBase){
+			tbFileStorageLocation.setGuid(oldAbAttResBase.getGuid());
+			// 更新
+			i = baseMapper.updateById(tbFileStorageLocation);
+		}else {
+			tbFileStorageLocation.setCreateTime(new Date());
+			i = baseMapper.insert(tbFileStorageLocation);
+		}
+		// 返回
+		return i;
+	}
+
+	/**
+	 * @param oldAbAttResBase
+	 * @param newTbFileStorageLocation
+	 * 更新审核记录
+	 */
+	private void setUpdateCheckLog(TbFileStorageLocation oldAbAttResBase,TbFileStorageLocation newTbFileStorageLocation) {
+		String fillName = "";
+		if (newTbFileStorageLocation.getCheckState()==2){
+			fillName = "审核";
+		}
+		if (newTbFileStorageLocation.getCheckState()==3){
+			fillName = "退回" + (null==newTbFileStorageLocation.getCheckLog()?"":":" + newTbFileStorageLocation.getCheckLog());
+		}
+
+		// 拼接
+		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==oldAbAttResBase){
+			// 填报
+			newTbFileStorageLocation.setCheckLog(builder.toString());
+		}else {
+			StringBuilder stringBuilder = new StringBuilder(null==oldAbAttResBase.getCheckLog()?"":oldAbAttResBase.getCheckLog());
+			stringBuilder.append(builder);
+			// 填报
+			newTbFileStorageLocation.setCheckLog(stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * @param oldAbAttResBase
+	 * @param newTbFileStorageLocation
+	 * 更新操作记录
+	 */
+	private void setUpdateLog(TbFileStorageLocation oldAbAttResBase,TbFileStorageLocation newTbFileStorageLocation) {
+		String fillName = "";
+		if (newTbFileStorageLocation.getCheckState()==0){
+			fillName = "编辑";
+		}
+		if (newTbFileStorageLocation.getCheckState()==1){
+			fillName = "提交";
+		}
+		if (newTbFileStorageLocation.getCheckState()==2){
+			fillName = "审核";
+		}
+		if (newTbFileStorageLocation.getCheckState()==3){
+			fillName = "退回" + (null==newTbFileStorageLocation.getCheckLog()?"":":" + newTbFileStorageLocation.getCheckLog());
+		}
+		if (newTbFileStorageLocation.getCheckState()==4){
+			fillName = "编辑";
+			newTbFileStorageLocation.setCheckState(oldAbAttResBase.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==oldAbAttResBase){
+			// 填报
+			newTbFileStorageLocation.setLog(builder.toString());
+		}else {
+			StringBuilder stringBuilder = new StringBuilder(null==oldAbAttResBase.getLog()?"":oldAbAttResBase.getLog());
+			stringBuilder.append(builder);
+			// 填报
+			newTbFileStorageLocation.setLog(stringBuilder.toString());
+		}
+	}
+}

--
Gitblit v1.9.3