Commit 68c35213 authored by gaoyingwei's avatar gaoyingwei

新增 治疗情况导入,下载模板

parent 3bab4e0c
...@@ -2,6 +2,8 @@ package com.ruoyi.web.controller.system; ...@@ -2,6 +2,8 @@ package com.ruoyi.web.controller.system;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -20,6 +22,7 @@ import com.ruoyi.system.domain.Zlqk; ...@@ -20,6 +22,7 @@ import com.ruoyi.system.domain.Zlqk;
import com.ruoyi.system.service.IZlqkService; import com.ruoyi.system.service.IZlqkService;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 治疗情况Controller * 治疗情况Controller
...@@ -101,4 +104,24 @@ public class ZlqkController extends BaseController ...@@ -101,4 +104,24 @@ public class ZlqkController extends BaseController
{ {
return toAjax(zlqkService.deleteZlqkByIds(ids)); return toAjax(zlqkService.deleteZlqkByIds(ids));
} }
@PostMapping("/importTemplate")
@PreAuthorize("@ss.hasPermi('system:zlqk:add')")
@Log(title = "下载治疗情况模板", businessType = BusinessType.IMPORT)
public void importTemplate(HttpServletResponse response)
{
ExcelUtil<Zlqk> util = new ExcelUtil<Zlqk>(Zlqk.class);
util.importTemplateExcel(response, "治疗情况");
}
@Log(title = "导入治疗情况", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:zlqk:add')")
@PostMapping("/importData")
public void importData(MultipartFile file,HttpServletResponse response) throws Exception
{
ExcelUtil<Zlqk> util = new ExcelUtil<Zlqk>(Zlqk.class);
List<Zlqk> list = util.importExcel(file.getInputStream());
zlqkService.importList(list, response);
}
} }
package com.ruoyi.common.utils;
import java.util.regex.Pattern;
/**
* 校验工具类
*
* @author ruoyi
*/
public class CheckUtils
{
/**
* 校验身份证
* 校验通过返回true,否则返回false
*/
public static boolean checkCard(String card)
{
if (StringUtils.isEmpty(card))
return false;
String regex="^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))((([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)";
return Pattern.matches(regex, card);
}
}
...@@ -22,7 +22,7 @@ public class Zlqk extends BaseEntity ...@@ -22,7 +22,7 @@ public class Zlqk extends BaseEntity
/** 日期 */ /** 日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "治疗日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date sbDate; private Date sbDate;
/** 姓名 */ /** 姓名 */
...@@ -42,12 +42,19 @@ public class Zlqk extends BaseEntity ...@@ -42,12 +42,19 @@ public class Zlqk extends BaseEntity
private String medication; private String medication;
/** 状态(0正常 1停用) */ /** 状态(0正常 1停用) */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用") // @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
/** 删除标志(0代表存在 2代表删除) */ /** 删除标志(0代表存在 2代表删除) */
private String delFlag; private String delFlag;
/** 备注 */
@Excel(name = "备注")
private String remark;
/** 身份证校验 */
private String checkCard;
public void setId(Long id) public void setId(Long id)
{ {
this.id = id; this.id = id;
...@@ -139,4 +146,22 @@ public class Zlqk extends BaseEntity ...@@ -139,4 +146,22 @@ public class Zlqk extends BaseEntity
.append("remark", getRemark()) .append("remark", getRemark())
.toString(); .toString();
} }
@Override
public String getRemark() {
return remark;
}
@Override
public void setRemark(String remark) {
this.remark = remark;
}
public String getCheckCard() {
return checkCard;
}
public void setCheckCard(String checkCard) {
this.checkCard = checkCard;
}
} }
...@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper; ...@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper;
import java.util.List; import java.util.List;
import com.ruoyi.system.domain.Zlqk; import com.ruoyi.system.domain.Zlqk;
import org.apache.ibatis.annotations.Param;
/** /**
* 治疗情况Mapper接口 * 治疗情况Mapper接口
...@@ -58,4 +59,19 @@ public interface ZlqkMapper ...@@ -58,4 +59,19 @@ public interface ZlqkMapper
* @return 结果 * @return 结果
*/ */
public int deleteZlqkByIds(Long[] ids); public int deleteZlqkByIds(Long[] ids);
/**
* 查询治疗情况列表
*
* @param zlqk 治疗情况
* @return 治疗情况集合
*/
public List<Zlqk> selectZlqkByCard(String cardNo);
/**
* 批量新增
* @param list
* @return
*/
int insertBatchZlqk(@Param("list") List<Zlqk> list);
} }
package com.ruoyi.system.service; package com.ruoyi.system.service;
import java.util.List; import java.util.List;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.Zlqk; import com.ruoyi.system.domain.Zlqk;
import javax.servlet.http.HttpServletResponse;
/** /**
* 治疗情况Service接口 * 治疗情况Service接口
* *
...@@ -58,4 +62,6 @@ public interface IZlqkService ...@@ -58,4 +62,6 @@ public interface IZlqkService
* @return 结果 * @return 结果
*/ */
public int deleteZlqkById(Long id); public int deleteZlqkById(Long id);
void importList(List<Zlqk> list, HttpServletResponse response);
} }
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.CheckUtils;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanValidators;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
...@@ -11,6 +20,8 @@ import com.ruoyi.system.mapper.ZlqkMapper; ...@@ -11,6 +20,8 @@ import com.ruoyi.system.mapper.ZlqkMapper;
import com.ruoyi.system.domain.Zlqk; import com.ruoyi.system.domain.Zlqk;
import com.ruoyi.system.service.IZlqkService; import com.ruoyi.system.service.IZlqkService;
import javax.servlet.http.HttpServletResponse;
/** /**
* 治疗情况Service业务层处理 * 治疗情况Service业务层处理
* *
...@@ -98,4 +109,64 @@ public class ZlqkServiceImpl implements IZlqkService ...@@ -98,4 +109,64 @@ public class ZlqkServiceImpl implements IZlqkService
{ {
return zlqkMapper.deleteZlqkById(id); return zlqkMapper.deleteZlqkById(id);
} }
/**
* 导入用户数据
*
* @param userList 用户数据列表
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
* @param operName 操作用户
* @return 结果
*/
@Override
public void importList(List<Zlqk> list, HttpServletResponse response)
{
if (StringUtils.isNull(list) || list.size() == 0)
{
throw new ServiceException("导入数据不能为空!");
}
List<Zlqk> trueList = new ArrayList<>();
List<Zlqk> failureList = new ArrayList<>();
for (Zlqk zlqk : list) {
if (StringUtils.isNotEmpty(zlqk.getCardNo()) && StringUtils.isNotEmpty(zlqk.getUserName())
&&StringUtils.isNotEmpty(zlqk.getPhone()) && zlqk.getSbDate() != null
&&StringUtils.isNotEmpty(zlqk.getRemark()) && StringUtils.isNotEmpty(zlqk.getMedication())){
//校验身份证是否重复
List<Zlqk> zlqks = zlqkMapper.selectZlqkByCard(zlqk.getCardNo());
if (!zlqks.isEmpty())
failureList.add(zlqk);
else {
zlqks = list.stream().filter(l -> zlqk.getCardNo().equals(l.getCardNo())).collect(Collectors.toList());
if (zlqks.size()>1)
failureList.add(zlqk);
else {
if (CheckUtils.checkCard(zlqk.getCardNo()))
zlqk.setCheckCard("正确");
else
zlqk.setCheckCard("不正确");
trueList.add(zlqk);
}
}
} else if (StringUtils.isEmpty(zlqk.getCardNo()) || StringUtils.isEmpty(zlqk.getUserName())
&&StringUtils.isEmpty(zlqk.getPhone()) || zlqk.getSbDate() == null
&&StringUtils.isEmpty(zlqk.getRemark()) || StringUtils.isEmpty(zlqk.getMedication())) {
continue;
} else {
failureList.add(zlqk);
}
}
if (!trueList.isEmpty()){
for (Zlqk zlqk : trueList) {
zlqk.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
zlqk.setCreateTime(DateUtils.getNowDate());
}
zlqkMapper.insertBatchZlqk(trueList);
}
if (!failureList.isEmpty()) {
ExcelUtil<Zlqk> util = new ExcelUtil<Zlqk>(Zlqk.class);
util.exportExcel(response, failureList, "治疗情况数据");
// return AjaxResult.error(111,"导出失败数据"+failureList.size()+"条");
}
// return AjaxResult.success("数据导入成功");
}
} }
...@@ -37,6 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -37,6 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''"> and a.status = #{status}</if> <if test="status != null and status != ''"> and a.status = #{status}</if>
${params.dataScope} ${params.dataScope}
</select> </select>
<select id="selectZlqkByCard" resultMap="ZlqkResult">
select a.id, a.sb_date, a.user_name, a.card_no, a.phone, a.medication, a.status, a.del_flag, a.create_by,
a.create_time, a.update_by, a.update_time, a.remark from zlqk a
where a.del_flag = 0 and a.card_no = #{cardNo}
</select>
<select id="selectZlqkById" parameterType="Long" resultMap="ZlqkResult"> <select id="selectZlqkById" parameterType="Long" resultMap="ZlqkResult">
<include refid="selectZlqkVo"/> <include refid="selectZlqkVo"/>
...@@ -75,6 +81,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -75,6 +81,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim> </trim>
</insert> </insert>
<insert id="insertBatchZlqk" parameterType="Zlqk">
insert into zlqk (sb_date,user_name,card_no,phone,medication,create_by,create_time,remark) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.sbDate},#{item.userName},#{item.cardNo},#{item.phone},#{item.medication},#{item.createBy},
#{item.createTime},#{item.remark})
</foreach>
</insert>
<update id="updateZlqk" parameterType="Zlqk"> <update id="updateZlqk" parameterType="Zlqk">
update zlqk update zlqk
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment