xieb
2023-10-26 f6ec72eb97af8b98ec99230850d297075496e5c1
填报责任人excel导入
8 files added
256 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbRelResUserController.java 56 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbRelResUser.java 32 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/excel/TbRelResUserExcel.java 37 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/excel/TbRelResUserImport.java 25 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbRelResUserMapper.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbRelResUserMapper.xml 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbRelResUserService.java 19 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbRelResUserServiceImpl.java 69 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbRelResUserController.java
New file
@@ -0,0 +1,56 @@
package cn.gistack.sm.sjztmd.controller;
import cn.gistack.sm.sjztmd.excel.AttResStagCapDiscExcel;
import cn.gistack.sm.sjztmd.excel.TbRelResUserExcel;
import cn.gistack.sm.sjztmd.excel.TbRelResUserImport;
import cn.gistack.sm.sjztmd.service.ITbRelResUserService;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/10/26 11:27
 */
@Slf4j
@Api(tags = "中台水库填报责任人")
@RestController
@RequestMapping("/sjztmd/tbRelResUser")
@AllArgsConstructor
public class TbRelResUserController {
    private ITbRelResUserService tbRelResUserService;
    /**
     * 导入填报责任人
     */
    @PostMapping("importTbRelResUser")
    public R importTbRelResUser(MultipartFile file) {
        TbRelResUserImport tbRelResUserImport = new TbRelResUserImport(tbRelResUserService);
        ExcelUtil.save(file, tbRelResUserImport, TbRelResUserExcel.class);
        return R.success("操作成功");
    }
    /**
     * 导出库容模板
     */
    @GetMapping("exportTbRelResUserTemplate")
    public void exportTbRelResUserTemplate(HttpServletResponse response) {
        List<TbRelResUserExcel> list = new ArrayList<>();
        ExcelUtil.export(response, "水库填报责任人", "水库填报责任人", list, TbRelResUserExcel.class);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbRelResUser.java
New file
@@ -0,0 +1,32 @@
package cn.gistack.sm.sjztmd.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION: 水库关联填报责任人
 * @USER: aix
 * @DATE: 2023/10/26 10:09
 */
@Data
@TableName("\"rel_res_user_tb\"")
@ApiModel(value = "水库关联填报责任人", description = "水库关联填报责任人")
public class TbRelResUser {
    /**
     * 水库编码
     */
    @ApiModelProperty(value = "水库编码")
    @TableField("\"res_guid\"")
    private String resGuid;
    /**
     * 水库编码
     */
    @ApiModelProperty(value = "手机号码")
    @TableField("\"phone\"")
    private String phone;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/excel/TbRelResUserExcel.java
New file
@@ -0,0 +1,37 @@
package cn.gistack.sm.sjztmd.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;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/10/26 10:23
 */
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class TbRelResUserExcel implements Serializable {
    private static final long serialVersionUID = 1L;
    @ColumnWidth(20)
    @ExcelProperty("注册登记号")
    private String resNo;
    /**
     * 水库编码
     */
    @ColumnWidth(20)
    @ExcelProperty("手机号码")
    private String phone;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/excel/TbRelResUserImport.java
New file
@@ -0,0 +1,25 @@
package cn.gistack.sm.sjztmd.excel;
import cn.gistack.sm.sjztmd.service.ITbRelResUserService;
import lombok.RequiredArgsConstructor;
import org.springblade.core.excel.support.ExcelImporter;
import java.util.List;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION: 导入水库责任人数据
 * @USER: aix
 * @DATE: 2023/10/26 10:27
 */
@RequiredArgsConstructor
public class TbRelResUserImport implements ExcelImporter<TbRelResUserExcel> {
    private final ITbRelResUserService tbRelResUserService;
    @Override
    public void save(List<TbRelResUserExcel> data) {
        tbRelResUserService.importbRelResUser(data);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbRelResUserMapper.java
New file
@@ -0,0 +1,13 @@
package cn.gistack.sm.sjztmd.mapper;
import cn.gistack.sm.sjztmd.entity.TbRelResUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/10/26 10:33
 */
public interface TbRelResUserMapper extends BaseMapper<TbRelResUser> {
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbRelResUserMapper.xml
New file
@@ -0,0 +1,5 @@
<?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.TbRelResUserMapper">
    <!--namespace根据自己需要创建的的mapper的路径和名称填写-->
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbRelResUserService.java
New file
@@ -0,0 +1,19 @@
package cn.gistack.sm.sjztmd.service;
import cn.gistack.sm.sjztmd.entity.TbRelResUser;
import cn.gistack.sm.sjztmd.excel.TbRelResUserExcel;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/10/26 10:19
 */
public interface ITbRelResUserService extends IService<TbRelResUser> {
    void importbRelResUser(List<TbRelResUserExcel> data);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbRelResUserServiceImpl.java
New file
@@ -0,0 +1,69 @@
package cn.gistack.sm.sjztmd.service.impl;
import cn.gistack.sm.sjztmd.entity.AttResBase;
import cn.gistack.sm.sjztmd.entity.TbRelResUser;
import cn.gistack.sm.sjztmd.excel.TbRelResUserExcel;
import cn.gistack.sm.sjztmd.mapper.TbRelResUserMapper;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.sm.sjztmd.service.ITbRelResUserService;
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.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/10/26 10:32
 */
@Service
@DS("zt")
public class TbRelResUserServiceImpl extends ServiceImpl<TbRelResUserMapper, TbRelResUser> implements ITbRelResUserService {
    @Autowired
    private IAttResBaseService attResBaseService;
    @Autowired
    private ITbRelResUserService tbRelResUserService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void importbRelResUser(List<TbRelResUserExcel> data) {
        if (data.size()>0) {
            List<TbRelResUser> list = new ArrayList<>();
            for (TbRelResUserExcel excelPo:data) {
                if (StringUtil.isBlank(excelPo.getResNo()) || StringUtil.isBlank(excelPo.getPhone()))
                    continue;
                TbRelResUser tbpo = new TbRelResUser();
                AttResBase attResBase = attResBaseService.getOne(Wrappers.<AttResBase>query().lambda().eq(AttResBase::getResRegCode,excelPo.getResNo()));
                if (null == attResBase)
                    continue;
                if (StringUtil.isBlank(attResBase.getGuid()) || StringUtil.isBlank(excelPo.getPhone()))
                    continue;
                tbpo.setResGuid(attResBase.getGuid());
                tbpo.setPhone(excelPo.getPhone());
                // 如果存在不保存
                long count = tbRelResUserService.count(Wrappers.<TbRelResUser>query().lambda().eq(TbRelResUser::getResGuid,attResBase.getGuid()).eq(TbRelResUser::getPhone,excelPo.getPhone()));
                if (count == 0)
                    list.add(tbpo);
            }
            if (list.size() > 0)
                saveBatch(list);//批量保存
        }
    }
}