guoshilong
2023-08-16 3ab667a5d35d025fcd73b0493b02e07d98c5679a
Merge remote-tracking branch 'origin/jtdev' into jtdev
7 files modified
7 files added
653 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbAttResBuildInfoController.java 70 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResBase.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResBuildInfo.java 19 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResPowerStation.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResRsbNorspi.java 153 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResRsbSpillway.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResRsbVerspi.java 111 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResWaterBlock.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResWaterDelivery.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbAttResBuildInfoMapper.java 23 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbAttResBuildInfoMapper.xml 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbAttResBuildInfoService.java 35 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java 10 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBuildInfoServiceImpl.java 189 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbAttResBuildInfoController.java
New file
@@ -0,0 +1,70 @@
package cn.gistack.sm.sjztmd.controller;
import cn.gistack.sm.sjztmd.entity.TbAttResBuildInfo;
import cn.gistack.sm.sjztmd.service.ITbAttResBuildInfoService;
import com.baomidou.dynamic.datasource.annotation.DS;
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.*;
/**
 * @ClassName AttResBaseController
 * @Description TODO
 * @author zhongrj
 * @Date 2023/8/14
 * @Version 1.0
 */
@Slf4j
@Api(tags = "中台水库信息填报")
@RestController
@RequestMapping("/sjztmd/tbAttResBuildInfo")
@AllArgsConstructor
@DS("zt")
public class TbAttResBuildInfoController {
    private final ITbAttResBuildInfoService tbAttResBuildInfoService;
    /**
     * 查询水库填报详情信息
     * @param resGuid
     * @return
     */
    @ApiOperation(value = "中台水库-查询水库填报详情信息", notes = "中台水库-查询水库填报详情信息")
    @GetMapping(value = "/getDetailByGuid")
    public R getDetailByCode(String resGuid) {
        TbAttResBuildInfo attResBase = tbAttResBuildInfoService.getDetailByGuid(resGuid);
        return R.data(attResBase);
    }
    /**
     * 编辑
     * @param tbAttResBuildInfo
     * @return
     */
    @ApiOperation(value = "水库信息-编辑", notes = "水库信息-编辑")
    @PostMapping(value = "/edit")
    public R edit(@RequestBody TbAttResBuildInfo tbAttResBuildInfo) {
        return R.status(tbAttResBuildInfoService.updateByGuid(tbAttResBuildInfo));
    }
    /**
     * 审核
     * @param tbAttResBuildInfo
     * @return
     */
    @ApiOperation(value = "水库信息-审核", notes = "水库信息-审核")
    @PostMapping(value = "/audit")
    public R audit(@RequestBody TbAttResBuildInfo tbAttResBuildInfo) {
        if (StringUtil.isBlank(tbAttResBuildInfo.getGuid())) {
            return R.fail("参数不正确");
        }
        return R.status(tbAttResBuildInfoService.auditByGuid(tbAttResBuildInfo));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResBase.java
@@ -1,6 +1,7 @@
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;
@@ -20,7 +21,7 @@
 * @date 2023-08-14
 */
@Data
@TableName("\"att_res_base\"")
@TableName("\"tb_att_res_base\"")
@ApiModel(value = "水库对象", description = "水库对象")
public class TbAttResBase implements Serializable {
    private static final long serialVersionUID = 1L;
@@ -30,7 +31,7 @@
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主键")
    @TableField("\"guid\"")
    @TableId("\"guid\"")
    private String guid;
    /**
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResBuildInfo.java
@@ -1,6 +1,8 @@
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;
@@ -20,7 +22,7 @@
 * @date 2023-08-15
 */
@Data
@TableName("\"att_res_build_info\"")
@TableName("\"tb_att_res_build_info\"")
@ApiModel(value = "水库建设信息对象", description = "水库建设信息对象")
public class TbAttResBuildInfo implements Serializable {
    private static final long serialVersionUID = 1L;
@@ -30,7 +32,7 @@
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主键")
    @TableField("\"guid\"")
    @TableId(value = "\"guid\"",type = IdType.ASSIGN_ID)
    private String guid;
    /**
@@ -45,8 +47,8 @@
     */
    @ApiModelProperty(value = "工程开工时间")
    @TableField("\"start_time\"")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;
    /**
@@ -54,18 +56,17 @@
     */
    @ApiModelProperty(value = "蓄水验收时间")
    @TableField("\"completion_time\"")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date completionTime;
    /**
     * 最近一次加固开始时间
     */
    @ApiModelProperty(value = "最近一次加固开始时间")
    @TableField("\"reinforce_tm\"")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date reinforceTm;
    /**
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResPowerStation.java
@@ -41,6 +41,13 @@
    private String resGuid;
    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @TableField("\"name\"")
    private String name;
    /**
     * 厂房布置型式
     */
    @ApiModelProperty(value = "厂房布置型式")
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResRsbNorspi.java
New file
@@ -0,0 +1,153 @@
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-16
 */
@Data
@TableName("\"tb_att_res_rsb_norspi\"")
@ApiModel(value = "水库正常溢洪道填报对象", description = "水库正常溢洪道填报对象")
public class TbAttResRsbNorspi 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("\"name\"")
    private String name;
    /**
     * 水库编码
     */
    @ApiModelProperty(value = "水库编码")
    @TableField("\"res_guid\"")
    private String resGuid;
    /**
     * 正常溢洪道型式
     */
    @ApiModelProperty(value = "正常溢洪道型式")
    @TableField("\"spillway_type\"")
    private Integer spillwayType;
    /**
     * 是否位于坝身
     */
    @ApiModelProperty(value = "是否位于坝身")
    @TableField("\"is_loc_dam_body\"")
    private Integer isLocDamBody;
    /**
     * 是否有闸控制
     */
    @ApiModelProperty(value = "是否有闸控制")
    @TableField("\"is_gate\"")
    private Integer isGate;
    /**
     * 堰顶高程
     */
    @ApiModelProperty(value = "堰顶高程")
    @TableField("\"weir_top_elevation\"")
    private Double weirTopElevation;
    /**
     * 堰顶净宽
     */
    @ApiModelProperty(value = "堰顶净宽")
    @TableField("\"weir_top_width\"")
    private Double weirTopWidth;
    /**
     * 工作闸门型式
     */
    @ApiModelProperty(value = "工作闸门型式")
    @TableField("\"working_gate_type\"")
    private Integer workingGateType;
    /**
     * 闸门尺寸
     */
    @ApiModelProperty(value = "闸门尺寸")
    @TableField("\"gate_size\"")
    private String gateSize;
    /**
     * 最大泄洪流量
     */
    @ApiModelProperty(value = "最大泄洪流量")
    @TableField("\"checking_flood_discharge\"")
    private Double checkingFloodDischarge;
    /**
     * 启闭方式
     */
    @ApiModelProperty(value = "启闭方式")
    @TableField("\"oc_type\"")
    private Integer ocType;
    /**
     * 消能方式
     */
    @ApiModelProperty(value = "消能方式")
    @TableField("\"dis_energy_type\"")
    private Integer disEnergyType;
    /**
     * 填报状态(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/entity/TbAttResRsbSpillway.java
@@ -34,6 +34,13 @@
    private String guid;
    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @TableField("\"name\"")
    private String name;
    /**
     * 水库编码
     */
    @ApiModelProperty(value = "水库编码")
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResRsbVerspi.java
New file
@@ -0,0 +1,111 @@
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-16
 */
@Data
@TableName("\"tb_att_res_rsb_verspi\"")
@ApiModel(value = "水库非正常溢洪道填报对象", description = "水库非正常溢洪道填报对象")
public class TbAttResRsbVerspi 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("\"name\"")
    private String name;
    /**
     * 水库编码
     */
    @ApiModelProperty(value = "水库编码")
    @TableField("\"res_guid\"")
    private String resGuid;
    /**
     * 非常溢洪道型式
     */
    @ApiModelProperty(value = "非常溢洪道型式")
    @TableField("\"spillway_type\"")
    private Integer spillwayType;
    /**
     * 溢流段长
     */
    @ApiModelProperty(value = "溢流段长")
    @TableField("\"weir_top_width\"")
    private Double weirTopWidth;
    /**
     * 启用标准
     */
    @ApiModelProperty(value = "启用标准")
    @TableField("\"enable_standards\"")
    private String enableStandards;
    /**
     * 最大泄洪流量
     */
    @ApiModelProperty(value = "最大泄洪流量")
    @TableField("\"checking_flood_discharge\"")
    private Double checkingFloodDischarge;
    /**
     * 填报状态(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/entity/TbAttResWaterBlock.java
@@ -34,6 +34,13 @@
    private String guid;
    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @TableField("\"name\"")
    private String name;
    /**
     * 水库编码
     */
    @ApiModelProperty(value = "水库编码")
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbAttResWaterDelivery.java
@@ -34,6 +34,13 @@
    private String guid;
    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @TableField("\"name\"")
    private String name;
    /**
     * 水库编码
     */
    @ApiModelProperty(value = "水库编码")
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbAttResBuildInfoMapper.java
New file
@@ -0,0 +1,23 @@
package cn.gistack.sm.sjztmd.mapper;
import cn.gistack.sm.sjztmd.entity.TbAttResBuildInfo;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
 * AttResBaseMapper 接口
 *
 * @author Chill
 */
@DS("zt")
public interface TbAttResBuildInfoMapper extends BaseMapper<TbAttResBuildInfo> {
    /**
     * 查询水库填报详情信息
     * @param resGuid
     * @return
     */
    TbAttResBuildInfo getDetailByResGuid(@Param("resGuid") String resGuid);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbAttResBuildInfoMapper.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.TbAttResBuildInfoMapper">
    <!--查询水库填报详情信息-->
    <select id="getDetailByResGuid" resultType="cn.gistack.sm.sjztmd.entity.TbAttResBuildInfo">
        SELECT * FROM "tb_att_res_build_info" WHERE "res_guid" = #{resGuid}
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbAttResBuildInfoService.java
New file
@@ -0,0 +1,35 @@
package cn.gistack.sm.sjztmd.service;
import cn.gistack.sm.sjztmd.entity.TbAttResBuildInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @ClassName IAttResBaseService
 * @Description TODO
 * @author zhongrj
 * @date 2023/8/14
 * @Version 1.0
 */
public interface ITbAttResBuildInfoService extends IService<TbAttResBuildInfo> {
    /**
     * 查询水库填报详情信息
     * @param guid
     * @return
     */
    TbAttResBuildInfo getDetailByGuid(String guid);
    /**
     * 编辑
     * @param tbAttResBuildInfo
     * @return
     */
    boolean updateByGuid(TbAttResBuildInfo tbAttResBuildInfo);
    /**
     * 审核
     * @param tbAttResBuildInfo
     * @return
     */
    boolean auditByGuid(TbAttResBuildInfo tbAttResBuildInfo);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java
@@ -66,10 +66,10 @@
    public boolean auditByGuid(TbAttResBase tbAttResBase) {
        // 查询是否存在
        TbAttResBase detail = baseMapper.getDetailByGuid(tbAttResBase.getGuid());
        // 更新审核日志
        setUpdateCheckLog(detail,tbAttResBase);
        // 更新操作日志
        setUpdateLog(detail,tbAttResBase);
        // 更新审核日志
        setUpdateCheckLog(detail,tbAttResBase);
        if (null!=detail){
            tbAttResBase.setGuid(detail.getGuid());
        }
@@ -78,7 +78,7 @@
            tbAttResBase.setCheckState(0);
        }
        // 更新数据
        int i = baseMapper.updateByGuid(tbAttResBase);
        int i = baseMapper.updateById(tbAttResBase);
        if (i>0){
            return true;
        }
@@ -94,7 +94,7 @@
        int i = 0;
        if (null!=tbAttResBase.getGuid()){
            // 更新
            i = baseMapper.updateByGuid(tbAttResBase);
            i = baseMapper.updateById(tbAttResBase);
        }else {
            i = baseMapper.insert(tbAttResBase);
        }
@@ -158,7 +158,7 @@
            fillName = "审核";
        }
        if (newTbAttResBase.getCheckState()==3){
            fillName = "退回" + (null==newTbAttResBase.getLog()?"":":" + newTbAttResBase.getLog());
            fillName = "退回" + (null==newTbAttResBase.getCheckLog()?"":":" + newTbAttResBase.getCheckLog());
        }
        // 拼接
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBuildInfoServiceImpl.java
New file
@@ -0,0 +1,189 @@
package cn.gistack.sm.sjztmd.service.impl;
import cn.gistack.sm.sjztmd.entity.TbAttResBuildInfo;
import cn.gistack.sm.sjztmd.mapper.TbAttResBuildInfoMapper;
import cn.gistack.sm.sjztmd.service.ITbAttResBuildInfoService;
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.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * @ClassName AttResBaseServiceImpl
 * @Description TODO
 * @author zhongrj
 * @date 2023/8/14
 * @Version 1.0
 */
@Service
@DS("zt")
public class TbAttResBuildInfoServiceImpl extends ServiceImpl<TbAttResBuildInfoMapper, TbAttResBuildInfo> implements ITbAttResBuildInfoService {
    @Autowired
    private IUserClient userClient;
    /**
     * 查询水库填报详情信息
     * @param guid
     * @return
     */
    @Override
    public TbAttResBuildInfo getDetailByGuid(String guid) {
        return baseMapper.getDetailByResGuid(guid);
    }
    /**
     * 编辑
     * @param tbAttResBuildInfo
     * @return
     */
    @Override
    public boolean updateByGuid(TbAttResBuildInfo tbAttResBuildInfo) {
        // 查询是否存在
        TbAttResBuildInfo detail = baseMapper.getDetailByResGuid(tbAttResBuildInfo.getResGuid());
        // 更新日志
        setUpdateLog(detail,tbAttResBuildInfo);
        // 修改
        int i = addOrUpdateByGuid(detail,tbAttResBuildInfo);
        if (i>0){
            return true;
        }
        return false;
    }
    /**
     * 审核
     * @param tbAttResBuildInfo
     * @return
     */
    @Override
    public boolean auditByGuid(TbAttResBuildInfo tbAttResBuildInfo) {
        // 查询是否存在
        TbAttResBuildInfo detail = baseMapper.getDetailByResGuid(tbAttResBuildInfo.getResGuid());
        // 更新操作日志
        setUpdateLog(detail,tbAttResBuildInfo);
        // 更新审核日志
        setUpdateCheckLog(detail,tbAttResBuildInfo);
        if (null!=detail){
            tbAttResBuildInfo.setGuid(detail.getGuid());
        }
        // 驳回情况下将状态修改回0即已填写未提交状态
        if (tbAttResBuildInfo.getCheckState()==3){
            tbAttResBuildInfo.setCheckState(0);
        }
        // 更新数据
        int i = baseMapper.updateById(tbAttResBuildInfo);
        if (i>0){
            return true;
        }
        return false;
    }
    /**
     * 更新
     * @param tbAttResBuildInfo
     * @return
     */
    private int addOrUpdateByGuid(TbAttResBuildInfo oldAbAttResBase,TbAttResBuildInfo tbAttResBuildInfo){
        int i = 0;
        if (null!=oldAbAttResBase){
            // 更新
            i = baseMapper.updateById(tbAttResBuildInfo);
        }else {
            tbAttResBuildInfo.setCreateTime(new Date());
            i = baseMapper.insert(tbAttResBuildInfo);
        }
        // 返回
        return i;
    }
    /**
     * @param oldAbAttResBase
     * @param newTbAttResBuildInfo
     * 更新审核记录
     */
    private void setUpdateCheckLog(TbAttResBuildInfo oldAbAttResBase,TbAttResBuildInfo newTbAttResBuildInfo) {
        String fillName = "";
        if (newTbAttResBuildInfo.getCheckState()==2){
            fillName = "审核";
        }
        if (newTbAttResBuildInfo.getCheckState()==3){
            fillName = "退回" + (null==newTbAttResBuildInfo.getCheckLog()?"":":" + newTbAttResBuildInfo.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){
            // 填报
            newTbAttResBuildInfo.setCheckLog(builder.toString());
        }else {
            StringBuilder stringBuilder = new StringBuilder(null==oldAbAttResBase.getCheckLog()?"":oldAbAttResBase.getCheckLog());
            stringBuilder.append(builder);
            // 填报
            newTbAttResBuildInfo.setCheckLog(stringBuilder.toString());
        }
    }
    /**
     * @param oldAbAttResBase
     * @param newTbAttResBuildInfo
     * 更新操作记录
     */
    private void setUpdateLog(TbAttResBuildInfo oldAbAttResBase,TbAttResBuildInfo newTbAttResBuildInfo) {
        String fillName = "";
        if (newTbAttResBuildInfo.getCheckState()==0){
            fillName = "编辑";
        }
        if (newTbAttResBuildInfo.getCheckState()==1){
            fillName = "提交";
        }
        if (newTbAttResBuildInfo.getCheckState()==2){
            fillName = "审核";
        }
        if (newTbAttResBuildInfo.getCheckState()==3){
            fillName = "退回" + (null==newTbAttResBuildInfo.getCheckLog()?"":":" + newTbAttResBuildInfo.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){
            // 填报
            newTbAttResBuildInfo.setLog(builder.toString());
        }else {
            StringBuilder stringBuilder = new StringBuilder(null==oldAbAttResBase.getLog()?"":oldAbAttResBase.getLog());
            stringBuilder.append(builder);
            // 填报
            newTbAttResBuildInfo.setLog(stringBuilder.toString());
        }
    }
}