Commit c46dc9f8 by liulianglang

20240521需求

parent a549c55f
......@@ -18,7 +18,7 @@
<mybatis.plus.version>3.4.1</mybatis.plus.version>
<protostuff.version>1.6.0</protostuff.version>
<captcha.version>1.6.2</captcha.version>
<easyexcel.version>2.2.6</easyexcel.version>
<easyexcel.version>3.1.1</easyexcel.version>
<log4j2.version>2.17.2</log4j2.version>
<spring.boot.version>2.4.4</spring.boot.version>
......
package org.springblade.founder.utils;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.write.handler.CellWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import java.util.List;
/**
* @ClassName:ExcelMergeCustomerCellHandler
* @Description:easyexcel合并策略处理类,多列相同合并策略
* @Version:1.0
* @Date:2023/9/7 09:36:52
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ExcelCellByMultiHandler implements CellWriteHandler {
/**
* 用第几行开始合并 ,默认为1,因为第0行是标题,EasyExcel 的默认也是
*/
private int mergeRowIndex = 1;
/**
* 参与合并的列,起始列位置,默认为0
*/
private int mergeColumnStart = 0;
/**
* 参与合并的列,最后一列的位置,默认为4
*/
private int mergeColumnEnd = 4;
/*
* 在对单元格的所有操作完成后调用
*/
@Override
public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> list,
Cell cell, Head head, Integer integer, Boolean aBoolean) {
//当前行
int curRowIndex = cell.getRowIndex();
//当前列
int curColIndex = cell.getColumnIndex();
if (curRowIndex > mergeRowIndex && curColIndex >= mergeColumnStart) {
//读取到mergeColumnEnd ,开始调用合并方法
if (curColIndex == mergeColumnEnd) {
mergeWithPrevRow(writeSheetHolder, cell, curRowIndex);
}
}
}
/**
* @Description: 合并比较多列值是否相同
* @Date: 2023/9/8 16:31
* @Param writeSheetHolder: 通过此对象获取sheet等信息
* @Param cell: 当前单元格
* @Param curRowIndex: 当前行
* @return: void
**/
private void mergeWithPrevRow(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex) {
StringBuilder curString = new StringBuilder();
StringBuilder preString = new StringBuilder();
for (int i = mergeColumnStart; i <= mergeColumnEnd; i++) {
Cell curCell = cell.getSheet().getRow(curRowIndex).getCell(i);
Cell preCell = cell.getSheet().getRow(curRowIndex - 1).getCell(i);
//根据单元格类型获取单元格的值
Object curData = curCell.getCellTypeEnum() == CellType.STRING ? curCell.getStringCellValue() : curCell.getNumericCellValue();
Object preData = preCell.getCellTypeEnum() == CellType.STRING ? preCell.getStringCellValue() : preCell.getNumericCellValue();
curString.append(curData);
preString.append(preData);
}
// 比较当前行的单元格与上一行是否相同,相同合并当前单元格与上一行
if (curString.toString().equals(preString.toString())) {
Sheet sheet = writeSheetHolder.getSheet();
// 获取合并信息
List<CellRangeAddress> mergeRegions = sheet.getMergedRegions();
boolean isMerged = false;
// 下标
int index = 0;
for (int i = 0; i < mergeRegions.size(); i++) {
CellRangeAddress cellRangeAddr = mergeRegions.get(i);
// 若上一个单元格已经被合并,则先移出原有的合并单元,再重新添加合并单元
if (cellRangeAddr.isInRange(curRowIndex - 1, index)) {
sheet.removeMergedRegion(mergeRegions.size() - 6);
cellRangeAddr.setLastRow(curRowIndex);
sheet.addMergedRegion(cellRangeAddr);
isMerged = true;
}
index++;
// 这个是第几列
if (index > mergeColumnEnd) {
index = 0;
}
}
if (!isMerged) {
for (int i = 0; i <= mergeColumnEnd; i++) {
CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex - 1, curRowIndex, i, i);
sheet.addMergedRegion(cellRangeAddress);
}
}
}
}
}
package org.springblade.founder.utils;
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.alibaba.excel.annotation.write.style.HeadStyle;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@Accessors(chain = true)
@EqualsAndHashCode
@HeadRowHeight(60) //设置表头行高度
@ContentRowHeight(25) //设置内容行高度
@ColumnWidth(15) //指定列宽大小为15
@HeadStyle(fillForegroundColor = 44) //设置表头背景颜色
public class InWarehouseSumExcel implements Serializable {
@ExcelProperty({"仓库"})
@ColumnWidth(20)
private String warehouseName;
@ExcelProperty({"入库类型"})
private String inWarehouseTypeName;
@ExcelProperty({"入库日期"})
private String inWarehouseTimeStr;
@ExcelProperty({"入库单号"})
private String inWarehouseCode;
@ExcelProperty({"入库人"})
private String inWarehouseMan;
@ExcelProperty({"入库设备明细","设备属性"})
private String equipAttributeName;
@ExcelProperty({"入库设备明细","设备名称"})
private String equipName;
@ExcelProperty({"入库设备明细","品牌"})
private String equipBrand;
@ExcelProperty({"入库设备明细","型号"})
private String equipModel;
@ExcelProperty({"入库设备明细","设备序列号"})
private String equipSerial;
@ExcelProperty({"入库设备明细","设备编码"})
private String equipCode;
@ExcelProperty({"入库设备明细","入库数量"})
private Integer num;
}
package org.springblade.founder.xzqq.controller;
import com.alibaba.excel.EasyExcel;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.codec.Charsets;
import org.springblade.founder.gnsyrzlog.LogOper;
import org.springblade.founder.tjfx.entity.AjtjParam;
import org.springblade.founder.tjfx.entity.TbStAsj;
import org.springblade.founder.utils.EasyUIPage;
import org.springblade.founder.utils.R;
import org.springblade.founder.utils.Utils;
import org.springblade.founder.xzqq.entity.TbYwDzqqFjVo;
import org.springblade.founder.xzqq.entity.TbYwDzqqXxVo;
import org.springblade.founder.xzqq.entity.TbYwXzqqMjxx;
......@@ -14,6 +19,10 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -84,7 +93,29 @@ public class TbYwXzqqXxController {
return R.error(e.getMessage());
}
}
@RequestMapping("/exportXzxxByTj")
@ResponseBody
public void exportXzxxByTj(TbYwXzqqXx tbYwXzqqXx, HttpServletResponse response, HttpServletRequest request) throws IOException {
tbYwXzqqXx.setPage(1);
tbYwXzqqXx.setLimit(1000);
EasyUIPage easyUIPage = new EasyUIPage();
easyUIPage.setPage(tbYwXzqqXx.getPage());
easyUIPage.setPagePara(tbYwXzqqXx.getLimit());
int begin = easyUIPage.getBegin();
int end = easyUIPage.getEnd();
tbYwXzqqXx.setPage(begin);
tbYwXzqqXx.setLimit(end);
Map<String,Object> map = new HashMap<>();
List<TbYwXzqqXx> list = tbYwXzqqXxService.queryAll(tbYwXzqqXx);
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding(Charsets.UTF_8.name());
String fileName = URLEncoder.encode("协作列表", Charsets.UTF_8.name());
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
EasyExcel.write(response.getOutputStream(), TbYwXzqqXx.class).sheet("协作列表").doWrite(list);
}
@PostMapping("/shXzqqXx")
public R shXzqqXx(TbYwXzqqXx tbYwXzqqXx) {
try {
......@@ -117,4 +148,6 @@ public class TbYwXzqqXxController {
return R.error(e.getMessage());
}
}
}
package org.springblade.founder.xzqq.entity;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
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.TableName;
import lombok.Data;
......@@ -11,6 +16,10 @@ import java.util.List;
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
@ExcelIgnoreUnannotated
public class TbYwXzqqXx implements Serializable {
private static final long serialVersionUID = 323302592009039237L;
//分页查询开始位置
......@@ -21,6 +30,7 @@ public class TbYwXzqqXx implements Serializable {
* 信息主键编号
*/
private String xxzjbh;
@ExcelProperty(value = {"协作名称"},index = 0)
private String xzmc;
private String gjzss;
/**
......@@ -31,6 +41,7 @@ public class TbYwXzqqXx implements Serializable {
/**
* 办案单位名称
*/
@ExcelProperty(value = {"办案单位"},index = 5)
private String badwmc;
/**
......@@ -41,21 +52,25 @@ public class TbYwXzqqXx implements Serializable {
/**
* 关联的案件编号
*/
@ExcelProperty(value = {"案件编号"},index = 1)
private String asjbh;
/**
* 案件名称
*/
@ExcelProperty(value = {"案件名称"},index = 2)
private String ajmc;
/**
* 案件类别代码
*/
private String ajlbdm;
@ExcelProperty(value = {"案件类别"},index = 3)
private String ajlbmc;
/**
* 简要案情
*/
@ExcelProperty(value = {"简要案情"},index = 4)
private String jayq;
/**
......@@ -79,7 +94,7 @@ public class TbYwXzqqXx implements Serializable {
private Date spsj;
/**
* 协作状态 1-待审核,2-协作中,3-完成 ,4-审核不通过
* 协作状态 1-待审核,2-协作中,3-完成 ,4-审核不通过,5-管理员驳回
*/
private String xzzt;
private String xzztStr;
......@@ -152,7 +167,9 @@ public class TbYwXzqqXx implements Serializable {
private String cxdwdm;
private String dwlikestr;
private String xzdwdm;
@ExcelProperty(value = {"协作单位"},index = 6)
private String xzdwmc;
@ExcelProperty(value = {"协作描述"},index = 7)
private String xzblnr;
private String userId;
......
......@@ -48,7 +48,7 @@
(select name from sys_dictitem where groupid = 'CODE_AJLB' and code = ajlbdm)
as ajlbmc,
jayq, sqsj, spr_sfzh, spyj, spsj, xzzt,xxsc_pdbz, xxdjdw_gajgjgdm, xxdjdw_gajgmc, xxdjry_xm, xxdjry_gmsfhm, xxdjry_lxdh, djsj, xxczdw_gajgjgdm, xxczdw_gajgmc, xxczry_xm, xxczry_gmsfhm, gxsj
,(case when xzzt = '0' then '草稿' when xzzt = '1' then '待审核' when xzzt = '2' then '协作中' when xzzt = '4' then '审核不通过' else '已完成' end) as xzztStr
,(case when xzzt = '0' then '草稿' when xzzt = '1' then '待审核' when xzzt = '2' then '协作中' when xzzt = '4' then '审核不通过' when xzzt = '5' then '已驳回,请重新申请' else '已完成' end) as xzztStr
from tb_yw_xzqq_xx xx
<where>
and xxsc_pdbz = '0'
......
......@@ -102,11 +102,13 @@ public class ISysUserServiceImpl implements ISysUserService {
String jyxxzjbh = xxzjbhService.getXxzjbh(xzxtUser.getUnitcode(),null);//xxzjbh
user.setId(jyxxzjbh);
user.setOpenFlag("1");
user.setPassword(DigestUtil.encrypt(user.getPassword()));
// String xxzjbh = xxzjbhService.getXxzjbh(xzxtUser.getUnitcode(),null);//xxzjbh
// user.setId(xxzjbh);
user.setDjUser(xzxtUser);
sysUserMapper.submit(user);
sysUserMapper.shtgsubmit(user);
//判断数据库里是否有当前身份证号码的数据,如果有就修改,如果没有就新增
......
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