Commit 163dd1ca authored by zhuangxinwei's avatar zhuangxinwei

小区封控,方舱人员管理

parent 4c70d55c
package com.ruoyi.web.controller.system;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.system.domain.FcryDTO;
import com.ruoyi.system.domain.Fkqk;
import com.ruoyi.system.service.impl.FkqkServiceImpl;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -20,6 +25,7 @@ import com.ruoyi.system.domain.Fcry;
import com.ruoyi.system.service.IFcryService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
/**
* 方舱人员Controller
......@@ -33,6 +39,8 @@ public class FcryController extends BaseController
{
@Autowired
private IFcryService fcryService;
@Autowired
private FkqkServiceImpl fkqkService;
/**
* 查询方舱人员列表
......@@ -101,4 +109,42 @@ public class FcryController extends BaseController
{
return toAjax(fcryService.deleteFcryByIds(ids));
}
/**
* 导出方舱人员模板
*/
@PreAuthorize("@ss.hasPermi('system:fcry:exportTemplate')")
@Log(title = "方舱人员", businessType = BusinessType.EXPORT)
@PostMapping("/exportTemplate")
public void exportTemplate(HttpServletResponse response) throws Exception {
ExcelUtil<FcryDTO> util = new ExcelUtil<FcryDTO>(FcryDTO.class);
Class<? extends FcryDTO> clazz = new FcryDTO().getClass();
//
String[] isPositive = {"是","否"};
ExcelUtil.setClassExcelAttribute( clazz,"isPositive","combo",isPositive);
String[] positiveOnly = {"是","否"};
ExcelUtil.setClassExcelAttribute( clazz,"positiveOnly","combo",positiveOnly);
List<String> streetList = fkqkService.selectStreet();
String[] list = streetList.toArray(new String[]{});
ExcelUtil.setClassExcelAttribute( clazz,"street","combo",list);
List<String> areaList = fkqkService.selectArea();
String[] area = areaList.toArray(new String[]{});
ExcelUtil.setClassExcelAttribute( clazz,"area","combo",area);
util.importTemplateExcel(response, "方舱人员导入模板");
}
/**
* 导入方舱人员情况
*/
@PreAuthorize("@ss.hasPermi('system:fcry:import')")
@Log(title = "方舱人员", businessType = BusinessType.IMPORT)
@PostMapping("/import")
public void importResidential(MultipartFile file,HttpServletResponse response) throws Exception
{
ExcelUtil<Fcry> util = new ExcelUtil<Fcry>(Fcry.class);
List<Fcry> residentialList = util.importExcel(file.getInputStream());
String operName = getUsername();
fcryService.importUser(residentialList, operName,response);
}
}
package com.ruoyi.web.controller.system;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.FkqkDTO;
import com.ruoyi.system.domain.Yxry;
import com.ruoyi.system.domain.Zlqk;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -20,6 +26,7 @@ import com.ruoyi.system.domain.Fkqk;
import com.ruoyi.system.service.IFkqkService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
/**
* 小区封控情况Controller
......@@ -101,4 +108,33 @@ public class FkqkController extends BaseController
{
return toAjax(fkqkService.deleteFkqkByIds(ids));
}
/**
* 导入小区封控情况
*/
@Log(title = "小区封控情况", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:fkqk:import')")
@PostMapping("/import")
public void importResidential(MultipartFile file,HttpServletResponse response) throws Exception
{
ExcelUtil<Fkqk> util = new ExcelUtil<Fkqk>(Fkqk.class);
List<Fkqk> list = util.importExcel(file.getInputStream());
fkqkService.importUser(list, response);
}
/**
* 导出小区封控情况模板
*/
@PreAuthorize("@ss.hasPermi('system:fkqk:exportTemplate')")
@Log(title = "小区封控情况", businessType = BusinessType.EXPORT)
@PostMapping("/exportTemplate")
public void exportTemplate(HttpServletResponse response) throws Exception {
ExcelUtil<FkqkDTO> util = new ExcelUtil<FkqkDTO>(FkqkDTO.class);
Class<? extends FkqkDTO> clazz = new FkqkDTO().getClass();
List<String> streetList = fkqkService.selectStreet();
String[] list = streetList.toArray(new String[]{});
ExcelUtil.setClassExcelAttribute( clazz,"street","combo",list);
String[] isJf = {"是","否"};
ExcelUtil.setClassExcelAttribute( clazz,"isJf","combo",isJf);
util.importTemplateExcel(response, "小区封控情况导入模板");
}
}
......@@ -35,7 +35,16 @@ public class Fcry extends BaseEntity
/** 身份证号码 */
@Excel(name = "身份证号码")
private String cardNo;
private String checkCard;
/** 人员类别 */
@Excel(name = "人员类别")
private String peopleType;
/** 是否疾控判定阳性 */
@Excel(name = "是否疾控判定阳性")
private String isPositive;
/** 仅抗原阳性 */
@Excel(name = "仅抗原阳性")
private String positiveOnly;
/** 联系方式 */
@Excel(name = "联系方式")
private String phone;
......@@ -51,11 +60,15 @@ public class Fcry extends BaseEntity
/** 小区/村名称 */
@Excel(name = "小区/村名称")
private String community;
/** 楼号单元号门牌号 */
@Excel(name = "楼号单元号门牌号")
@Excel(name = "楼号")
private String floor;
/** 楼号单元号门牌号 */
@Excel(name = "单元号")
private String unit;
/** 楼号单元号门牌号 */
@Excel(name = "门牌号")
private String doorplate;
/** 转入时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "转入时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
......@@ -65,19 +78,77 @@ public class Fcry extends BaseEntity
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "转出时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date zcTime;
@Excel(name = "备注")
private String remark;
/** 隔离位置 */
@Excel(name = "隔离位置")
// @Excel(name = "隔离位置")
private String glPlace;
/** 状态(0正常 1停用) */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
// @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
public void setId(Long id)
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCheckCard() {
return checkCard;
}
public void setCheckCard(String checkCard) {
this.checkCard = checkCard;
}
public String getPeopleType() {
return peopleType;
}
public void setPeopleType(String peopleType) {
this.peopleType = peopleType;
}
public String getIsPositive() {
return isPositive;
}
public void setIsPositive(String isPositive) {
this.isPositive = isPositive;
}
public String getPositiveOnly() {
return positiveOnly;
}
public void setPositiveOnly(String positiveOnly) {
this.positiveOnly = positiveOnly;
}
public String getFloor() {
return floor;
}
public void setFloor(String floor) {
this.floor = floor;
}
public String getDoorplate() {
return doorplate;
}
public void setDoorplate(String doorplate) {
this.doorplate = doorplate;
}
public void setId(Long id)
{
this.id = id;
}
......
package com.ruoyi.system.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 方舱人员对象 fcry
*
* @author ruoyi
* @date 2022-11-28
*/
public class FcryDTO extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 方舱名称 */
@Excel(name = "方舱名称")
private String fcPlace;
/** 房间号 */
@Excel(name = "房间号")
private String room;
/** 居住人姓名 */
@Excel(name = "居住人姓名")
private String jzName;
/** 身份证号码 */
@Excel(name = "身份证号码")
private String cardNo;
private String checkCard;
/** 人员类别 */
@Excel(name = "人员类别")
private String peopleType;
/** 是否疾控判定阳性 */
@Excel(name = "是否疾控判定阳性",dictType = "is_positive",combo = "")
private String isPositive;
/** 仅抗原阳性 */
@Excel(name = "仅抗原阳性",dictType = "positive_only",combo = "")
private String positiveOnly;
/** 联系方式 */
@Excel(name = "联系方式")
private String phone;
/** 居住地所在区 */
@Excel(name = "居住地所在区",dictType = "residential_area",combo = "")
private String area;
/** 街道/镇 */
@Excel(name = "街道/镇",dictType = "street_town",combo = "")
private String street;
/** 小区/村名称 */
@Excel(name = "小区/村名称")
private String community;
/** 楼号单元号门牌号 */
@Excel(name = "楼号")
private String floor;
/** 楼号单元号门牌号 */
@Excel(name = "单元号")
private String unit;
/** 楼号单元号门牌号 */
@Excel(name = "门牌号")
private String doorplate;
/** 转入时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "转入时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date zrTime;
/** 转出时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "转出时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date zcTime;
@Excel(name = "备注")
private String remark;
/** 隔离位置 */
// @Excel(name = "隔离位置")
private String glPlace;
/** 状态(0正常 1停用) */
// @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCheckCard() {
return checkCard;
}
public void setCheckCard(String checkCard) {
this.checkCard = checkCard;
}
public String getPeopleType() {
return peopleType;
}
public void setPeopleType(String peopleType) {
this.peopleType = peopleType;
}
public String getIsPositive() {
return isPositive;
}
public void setIsPositive(String isPositive) {
this.isPositive = isPositive;
}
public String getPositiveOnly() {
return positiveOnly;
}
public void setPositiveOnly(String positiveOnly) {
this.positiveOnly = positiveOnly;
}
public String getFloor() {
return floor;
}
public void setFloor(String floor) {
this.floor = floor;
}
public String getDoorplate() {
return doorplate;
}
public void setDoorplate(String doorplate) {
this.doorplate = doorplate;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setFcPlace(String fcPlace)
{
this.fcPlace = fcPlace;
}
public String getFcPlace()
{
return fcPlace;
}
public void setRoom(String room)
{
this.room = room;
}
public String getRoom()
{
return room;
}
public void setJzName(String jzName)
{
this.jzName = jzName;
}
public String getJzName()
{
return jzName;
}
public void setCardNo(String cardNo)
{
this.cardNo = cardNo;
}
public String getCardNo()
{
return cardNo;
}
public void setPhone(String phone)
{
this.phone = phone;
}
public String getPhone()
{
return phone;
}
public void setArea(String area)
{
this.area = area;
}
public String getArea()
{
return area;
}
public void setStreet(String street)
{
this.street = street;
}
public String getStreet()
{
return street;
}
public void setCommunity(String community)
{
this.community = community;
}
public String getCommunity()
{
return community;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
public void setZrTime(Date zrTime)
{
this.zrTime = zrTime;
}
public Date getZrTime()
{
return zrTime;
}
public void setZcTime(Date zcTime)
{
this.zcTime = zcTime;
}
public Date getZcTime()
{
return zcTime;
}
public void setGlPlace(String glPlace)
{
this.glPlace = glPlace;
}
public String getGlPlace()
{
return glPlace;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getDelFlag()
{
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("fcPlace", getFcPlace())
.append("room", getRoom())
.append("jzName", getJzName())
.append("cardNo", getCardNo())
.append("phone", getPhone())
.append("area", getArea())
.append("street", getStreet())
.append("community", getCommunity())
.append("unit", getUnit())
.append("zrTime", getZrTime())
.append("zcTime", getZcTime())
.append("glPlace", getGlPlace())
.append("status", getStatus())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}
......@@ -19,19 +19,33 @@ public class Fkqk extends BaseEntity
/** 主键 */
private Long id;
/** 小区名称 */
@Excel(name = "小区名称")
private String community;
/** 所在区 */
// @Excel(name = "所在区")
private String area;
/** 街道/镇名称 */
@Excel(name = "街道/镇名称")
private String street;
/** 小区名称 */
@Excel(name = "小区名称")
private String community;
/** 楼号 */
@Excel(name = "楼号")
private String floor;
/** 楼号单元号门牌号 */
@Excel(name = "楼号单元号门牌号")
@Excel(name = "单元号")
private String unit;
/** 封控明细 */
@Excel(name = "封控明细")
private String fkDetailed;
/** 封控明细 */
@Excel(name = "涉及封控户数")
private String fkHs;
/** 封控明细 */
@Excel(name = "涉及封控人数")
private String fkRs;
/** 封控时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "封控时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
......@@ -39,17 +53,113 @@ public class Fkqk extends BaseEntity
/** 解封时间 */
@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 jfTime;
/** 封控明细 */
@Excel(name = "是否解封")
private String isJf;
/** 解封时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "实际解封时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date realTime;
/** 解封时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "封控后最近一次核酸检测时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date hsTime;
@Excel(name = "备注")
private String remark;
/** 状态(0正常 1停用) */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
// @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
/** 错误提示 */
private String tips;
public String getTips() {
return tips;
}
public void setTips(String tips) {
this.tips = tips;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getFkDetailed() {
return fkDetailed;
}
public void setFkDetailed(String fkDetailed) {
this.fkDetailed = fkDetailed;
}
public String getFkHs() {
return fkHs;
}
public void setFkHs(String fkHs) {
this.fkHs = fkHs;
}
public String getFkRs() {
return fkRs;
}
public void setFkRs(String fkRs) {
this.fkRs = fkRs;
}
public String getIsJf() {
return isJf;
}
public void setIsJf(String isJf) {
this.isJf = isJf;
}
public Date getRealTime() {
return realTime;
}
public void setRealTime(Date realTime) {
this.realTime = realTime;
}
public Date getHsTime() {
return hsTime;
}
public void setHsTime(Date hsTime) {
this.hsTime = hsTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getFloor() {
return floor;
}
public void setFloor(String floor) {
this.floor = floor;
}
public void setId(Long id)
public void setId(Long id)
{
this.id = id;
}
......@@ -138,6 +248,7 @@ public class Fkqk extends BaseEntity
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.append("remark", getRemark())
.append("floor", getFloor())
.toString();
}
}
package com.ruoyi.system.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 小区封控情况对象 fkqk
*
* @author ruoyi
* @date 2022-11-28
*/
public class FkqkDTO extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 小区名称 */
@Excel(name = "小区名称")
private String community;
/** 所在区 */
// @Excel(name = "所在区")
private String area;
/** 街道/镇名称 */
@Excel(name = "街道/镇名称" ,dictType = "street",combo = "")
private String street;
/** 楼号 */
@Excel(name = "楼号")
private String floor;
/** 楼号单元号门牌号 */
@Excel(name = "单元号")
private String unit;
/** 封控明细 */
@Excel(name = "封控明细")
private String fkDetailed;
/** 封控明细 */
@Excel(name = "涉及封控户数")
private String fkHs;
/** 封控明细 */
@Excel(name = "涉及封控人数")
private String fkRs;
/** 封控时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "封控时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date fkTime;
/** 解封时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "拟解封时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date jfTime;
/** 封控明细 */
@Excel(name = "是否解封", dictType = "isJf",combo = "")
private String isJf;
/** 解封时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "实际解封时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date realTime;
/** 解封时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "封控后最近一次核酸检测时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date hsTime;
@Excel(name = "备注")
private String remark;
/** 状态(0正常 1停用) */
// @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
/** 错误提示 */
private String tips;
public String getTips() {
return tips;
}
public void setTips(String tips) {
this.tips = tips;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getFkDetailed() {
return fkDetailed;
}
public void setFkDetailed(String fkDetailed) {
this.fkDetailed = fkDetailed;
}
public String getFkHs() {
return fkHs;
}
public void setFkHs(String fkHs) {
this.fkHs = fkHs;
}
public String getFkRs() {
return fkRs;
}
public void setFkRs(String fkRs) {
this.fkRs = fkRs;
}
public String getIsJf() {
return isJf;
}
public void setIsJf(String isJf) {
this.isJf = isJf;
}
public Date getRealTime() {
return realTime;
}
public void setRealTime(Date realTime) {
this.realTime = realTime;
}
public Date getHsTime() {
return hsTime;
}
public void setHsTime(Date hsTime) {
this.hsTime = hsTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getFloor() {
return floor;
}
public void setFloor(String floor) {
this.floor = floor;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setStreet(String street)
{
this.street = street;
}
public String getStreet()
{
return street;
}
public void setCommunity(String community)
{
this.community = community;
}
public String getCommunity()
{
return community;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
public void setFkTime(Date fkTime)
{
this.fkTime = fkTime;
}
public Date getFkTime()
{
return fkTime;
}
public void setJfTime(Date jfTime)
{
this.jfTime = jfTime;
}
public Date getJfTime()
{
return jfTime;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getDelFlag()
{
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("street", getStreet())
.append("community", getCommunity())
.append("unit", getUnit())
.append("fkTime", getFkTime())
.append("jfTime", getJfTime())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.append("remark", getRemark())
.append("floor", getFloor())
.toString();
}
}
......@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.Fcry;
import org.apache.ibatis.annotations.Param;
/**
* 方舱人员Mapper接口
......@@ -58,4 +59,8 @@ public interface FcryMapper
* @return 结果
*/
public int deleteFcryByIds(Long[] ids);
List<Fcry> selectFcryByCard(@Param("cardNo") String cardNo);
void insertBatchFcry(@Param("list")List<Fcry> trueList);
}
......@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.Fkqk;
import org.apache.ibatis.annotations.Param;
/**
* 小区封控情况Mapper接口
......@@ -58,4 +59,9 @@ public interface FkqkMapper
* @return 结果
*/
public int deleteFkqkByIds(Long[] ids);
void insertBatchFkqk(@Param("list") List<Fkqk> trueList);
List<String> selectStreet();
List<String> selectArea();
}
......@@ -2,6 +2,9 @@ package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.Fcry;
import com.ruoyi.system.domain.FcryDTO;
import javax.servlet.http.HttpServletResponse;
/**
* 方舱人员Service接口
......@@ -58,4 +61,6 @@ public interface IFcryService
* @return 结果
*/
public int deleteFcryById(Long id);
void importUser(List<Fcry> residentialList, String operName, HttpServletResponse response);
}
......@@ -3,6 +3,8 @@ package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.Fkqk;
import javax.servlet.http.HttpServletResponse;
/**
* 小区封控情况Service接口
*
......@@ -58,4 +60,9 @@ public interface IFkqkService
* @return 结果
*/
public int deleteFkqkById(Long id);
void importUser(List<Fkqk> residentialList, HttpServletResponse response);
List<String> selectStreet();
List<String> selectArea();
}
package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.CheckUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.FcryDTO;
import com.ruoyi.system.domain.Fkqk;
import com.ruoyi.system.domain.Zlqk;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.utils.SecurityUtils;
......@@ -10,6 +20,8 @@ import com.ruoyi.system.mapper.FcryMapper;
import com.ruoyi.system.domain.Fcry;
import com.ruoyi.system.service.IFcryService;
import javax.servlet.http.HttpServletResponse;
/**
* 方舱人员Service业务层处理
*
......@@ -97,4 +109,50 @@ public class FcryServiceImpl implements IFcryService
{
return fcryMapper.deleteFcryById(id);
}
@Override
public void importUser(List<Fcry> residentialList, String operName, HttpServletResponse response) {
if (StringUtils.isNull(residentialList) || residentialList.size() == 0)
{
throw new ServiceException("导入方舱人员管理数据不能为空!");
}
List<Fcry> trueList = new ArrayList<>();
List<Fcry> failureList = new ArrayList<>();
for (Fcry fcry : residentialList){
if (StringUtils.isNotEmpty(fcry.getFcPlace()) && StringUtils.isNotEmpty(fcry.getPeopleType())
&& StringUtils.isNotEmpty(fcry.getJzName()) && StringUtils.isNotEmpty(fcry.getCardNo())
&& StringUtils.isNotEmpty(fcry.getPositiveOnly()) && StringUtils.isNotEmpty(fcry.getIsPositive())
&& StringUtils.isNotEmpty(fcry.getPhone()) && StringUtils.isNotEmpty(fcry.getArea())
&& fcry.getZcTime() != null){
List<Fcry> fcrys = fcryMapper.selectFcryByCard(fcry.getCardNo());
if (!fcrys.isEmpty())
failureList.add(fcry);
else {
fcrys = residentialList.stream().filter(l -> fcry.getCardNo().equals(l.getCardNo())).collect(Collectors.toList());
if (fcrys.size()>1)
failureList.add(fcry);
else {
if (CheckUtils.checkCard(fcry.getCardNo()))
fcry.setCheckCard("正确");
else
fcry.setCheckCard("不正确");
trueList.add(fcry);
}
}
}else {
failureList.add(fcry);
}
}
if (!trueList.isEmpty()){
for (Fcry fcry1 : trueList) {
fcry1.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
fcry1.setCreateTime(DateUtils.getNowDate());
}
fcryMapper.insertBatchFcry(trueList);
}
if (!failureList.isEmpty()) {
ExcelUtil<Fcry> util = new ExcelUtil<Fcry>(Fcry.class);
util.exportExcel(response, failureList, "方舱人员管理数据");
}
}
}
package com.ruoyi.system.service.impl;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.Zlqk;
import com.ruoyi.system.mapper.SysDictDataMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.utils.SecurityUtils;
......@@ -10,6 +22,8 @@ import com.ruoyi.system.mapper.FkqkMapper;
import com.ruoyi.system.domain.Fkqk;
import com.ruoyi.system.service.IFkqkService;
import javax.servlet.http.HttpServletResponse;
/**
* 小区封控情况Service业务层处理
*
......@@ -21,7 +35,8 @@ public class FkqkServiceImpl implements IFkqkService
{
@Autowired
private FkqkMapper fkqkMapper;
@Autowired
private SysDictDataMapper sysDictDataMapper;
/**
* 查询小区封控情况
*
......@@ -97,4 +112,70 @@ public class FkqkServiceImpl implements IFkqkService
{
return fkqkMapper.deleteFkqkById(id);
}
@Override
public void importUser(List<Fkqk> residentialList, HttpServletResponse response) {
if (StringUtils.isNull(residentialList) || residentialList.size() == 0)
{
throw new ServiceException("导入小区封控情况数据不能为空!");
}
List<Fkqk> trueList = new ArrayList<>();
List<Fkqk> failureList = new ArrayList<>();
for (Fkqk fkqk : residentialList){
if (StringUtils.isNotEmpty(fkqk.getStreet()) && StringUtils.isNotEmpty(fkqk.getCommunity())
&& StringUtils.isNotEmpty(fkqk.getFkHs()) && StringUtils.isNotEmpty(fkqk.getFkRs())
&& fkqk.getFkTime() != null){
Date now;
Calendar c = Calendar.getInstance();
now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH));
// 查询街道/镇名称是否在字典中
SysDictData sysDictData = new SysDictData();
sysDictData.setStatus("0");
sysDictData.setDictLabel(fkqk.getStreet());
sysDictData.setDictType("street_town");
List<SysDictData> sysDictDataHave = sysDictDataMapper.selectDictDataList(sysDictData);
if (sysDictDataHave.isEmpty()){
failureList.add(fkqk);
}else if (fkqk.getCommunity().length() > 30){
failureList.add(fkqk);
}else if (fkqk.getFloor().length() > 30){
failureList.add(fkqk);
}else if (fkqk.getUnit().length() > 4){
failureList.add(fkqk);
}else if (fkqk.getFkTime().after(now)){
failureList.add(fkqk);
}else if (fkqk.getRemark().length() > 200){
failureList.add(fkqk);
}else {
fkqk.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
fkqk.setCreateTime(DateUtils.getNowDate());
trueList.add(fkqk);
}
}else if (StringUtils.isEmpty(fkqk.getStreet()) && StringUtils.isEmpty(fkqk.getCommunity())
&& StringUtils.isEmpty(fkqk.getFloor()) && StringUtils.isEmpty(fkqk.getUnit())
&& fkqk.getFkTime() == null){
continue;
}else {
failureList.add(fkqk);
}
}
if (!trueList.isEmpty()){
fkqkMapper.insertBatchFkqk(trueList);
}
if (!failureList.isEmpty()) {
ExcelUtil<Fkqk> util = new ExcelUtil<Fkqk>(Fkqk.class);
util.exportExcel(response, failureList, "小区封控情况管理数据");
}
}
@Override
public List<String> selectStreet() {
List<String> stringList = fkqkMapper.selectStreet();
return stringList;
}
@Override
public List<String> selectArea() {
List<String> stringList = fkqkMapper.selectArea();
return stringList;
}
}
......@@ -56,7 +56,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectFcryVo"/>
where id = #{id}
</select>
<select id="selectFcryByCard" resultMap="FcryResult">
select a.id, a.fc_place, a.room, a.jz_name, a.card_no, a.phone, a.area, a.street, a.community,
a.floor, a.unit, a.doorplate, a.zr_time, a.gl_place, a.status, a.del_flag, a.create_by,
a.create_time, a.update_by, a.update_time, a.remark , a.check_card , a.is_positive , a.positive_only,
a.other_point_time, a.people_type from fcry a
where a.del_flag = 0 and a.card_no = #{cardNo}
</select>
<insert id="insertFcry" parameterType="Fcry" useGeneratedKeys="true" keyProperty="id">
insert into fcry
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -102,6 +109,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<insert id="insertBatchFcry" parameterType="Fcry">
insert into fcry (fc_place,room,jz_name,card_no,phone,area,street,community,floor,
unit,doorplate,zr_time,zc_time,gl_place,create_by,create_time,remark,check_card,is_positive,positive_only,people_type) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.fcPlace},#{item.room},#{item.jzName},#{item.cardNo},#{item.phone},#{item.area},#{item.street},#{item.community},#{item.floor},
#{item.unit},#{item.doorplate},#{item.zrTime},#{item.zcTime},#{item.glPlace},#{item.createBy},
#{item.createTime},#{item.remark},#{item.checkCard},#{item.isPositive},#{item.positiveOnly},#{item.peopleType})
</foreach>
</insert>
<update id="updateFcry" parameterType="Fcry">
update fcry
......
......@@ -42,7 +42,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectFkqkVo"/>
where id = #{id}
</select>
<select id="selectStreet" resultType="java.lang.String">
SELECT DISTINCT dict_label
FROM sys_dict_data
WHERE dict_type = 'street_town' AND status = '0'
</select>
<select id="selectArea" resultType="java.lang.String">
SELECT DISTINCT dict_label
FROM sys_dict_data
WHERE dict_type = 'residential_area' AND status = '0'
</select>
<insert id="insertFkqk" parameterType="Fkqk" useGeneratedKeys="true" keyProperty="id">
insert into fkqk
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -74,6 +83,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<insert id="insertBatchFkqk" parameterType="Fkqk">
insert into fkqk (street,community,floor,unit,fk_time,jf_time,create_by,create_time,remark,fk_detailed,fk_hs,fk_rs,is_jf,real_time,hs_time) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.street},#{item.community},#{item.floor},#{item.unit},#{item.fkTime},#{item.jfTime},
#{item.createBy},#{item.createTime},#{item.remark},#{item.fkDetailed},#{item.fkHs},#{item.fkRs},#{item.isJf},#{item.realTime},#{item.hsTime})
</foreach>
</insert>
<update id="updateFkqk" parameterType="Fkqk">
update fkqk
......
......@@ -42,3 +42,22 @@ export function delFcry(id) {
method: 'delete'
})
}
// 下载小区封控情况导入模板
export function importTemplate(params) {
return request({
url: '/system/fcry/exportTemplate',
method: 'post',
responseType: 'blob',
params
})
}
// 导入小区封控情况
export function importExcel(data) {
return request({
url: '/system/fcry/import',
method: 'post',
responseType: 'blob',
data
})
}
......@@ -42,3 +42,23 @@ export function delFkqk(id) {
method: 'delete'
})
}
// 下载小区封控情况导入模板
export function importTemplate(params) {
return request({
url: '/system/fkqk/exportTemplate',
method: 'post',
responseType: 'blob',
params
})
}
// 导入小区封控情况
export function importExcel(data) {
return request({
url: '/system/fkqk/import',
method: 'post',
responseType: 'blob',
data
})
}
......@@ -360,7 +360,7 @@
<script>
import { listFcry, getFcry, delFcry, addFcry, updateFcry } from "@/api/system/fcry";
import { getToken } from '@/utils/auth'
import { importTemplate, importExcel } from "@/api/system/zlqk";
import { importTemplate, importExcel } from "@/api/system/fcry";
export default {
name: "Fcry",
......@@ -382,7 +382,7 @@ export default {
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/system/zlqk/importTemplate"
url: process.env.VUE_APP_BASE_API + "/system/fcry/importTemplate"
},
// 遮罩层
loading: true,
......@@ -512,7 +512,7 @@ export default {
/** 导入按钮操作 */
handleImport() {
this.importLoading = false
this.upload.title = "治疗情况导入";
this.upload.title = "方舱人员导入";
this.upload.open = true;
},
/** 下载模板操作 */
......@@ -522,7 +522,7 @@ export default {
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob)// 创建下载的链接
downloadElement.href = href
downloadElement.download = '治疗情况导入模板' + '.xls' // 下载后文件名
downloadElement.download = '方舱人员导入模板' + '.xls' // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click()// 点击下载
document.body.removeChild(downloadElement)// 下载完成移除元素
......
......@@ -263,7 +263,7 @@
<script>
import { listFkqk, getFkqk, delFkqk, addFkqk, updateFkqk } from "@/api/system/fkqk";
import { getToken } from '@/utils/auth'
import { importTemplate, importExcel } from "@/api/system/zlqk";
import { importTemplate, importExcel } from "@/api/system/fkqk";
export default {
name: "Fkqk",
......@@ -285,7 +285,7 @@ export default {
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/system/zlqk/importTemplate"
url: process.env.VUE_APP_BASE_API + "/system/fkqk/import"
},
// 遮罩层
loading: true,
......@@ -408,7 +408,7 @@ export default {
/** 导入按钮操作 */
handleImport() {
this.importLoading = false
this.upload.title = "治疗情况导入";
this.upload.title = "小区封控情况导入";
this.upload.open = true;
},
/** 下载模板操作 */
......@@ -418,7 +418,7 @@ export default {
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob)// 创建下载的链接
downloadElement.href = href
downloadElement.download = '治疗情况导入模板' + '.xls' // 下载后文件名
downloadElement.download = '小区封控情况导入模板' + '.xls' // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click()// 点击下载
document.body.removeChild(downloadElement)// 下载完成移除元素
......
......@@ -689,4 +689,22 @@ create table gen_table_column (
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
primary key (column_id)
) engine=innodb auto_increment=1 comment = '代码生成业务表字段';
\ No newline at end of file
) engine=innodb auto_increment=1 comment = '代码生成业务表字段';
/**
小区封控管理表
*/
ALTER TABLE `ry`.`fkqk`
ADD COLUMN `floor` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '楼号' AFTER `community`;
ALTER TABLE `ry`.`fkqk`
ADD COLUMN `fk_detailed` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '封控明细' AFTER `hs_time`;
ALTER TABLE `ry`.`fkqk`
ADD COLUMN `area` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所在区' AFTER `id`;
/**
方舱人员管理表
*/
ALTER TABLE `ry`.`fcry`
ADD COLUMN `floor` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '楼号' AFTER `community`,
ADD COLUMN `doorplate` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '门牌号' AFTER `unit`;
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