zhongrj
2023-08-30 f3b15901b4835eff84947d9fb4bbda3db466ed9a
新增文件存储位置填报基础接口
6 files added
448 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbFileStorageLocationController.java 64 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbFileStorageLocation.java 125 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.java 24 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.xml 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbFileStorageLocationService.java 33 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbFileStorageLocationServiceImpl.java 192 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbFileStorageLocationController.java
New file
@@ -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));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbFileStorageLocation.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbFileStorageLocationMapper.xml
New file
@@ -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>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbFileStorageLocationService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbFileStorageLocationServiceImpl.java
New file
@@ -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());
        }
    }
}