Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3
This commit is contained in:
+372
@@ -0,0 +1,372 @@
|
|||||||
|
package com.ruoyi.web.controller.wisdomarbitrate;
|
||||||
|
|
||||||
|
import cn.hutool.core.io.resource.ClassPathResource;
|
||||||
|
import com.deepoove.poi.XWPFTemplate;
|
||||||
|
import com.deepoove.poi.data.PictureRenderData;
|
||||||
|
import com.ruoyi.common.constant.CaseApplicationConstants;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
|
import com.ruoyi.common.utils.EmailOutUtil;
|
||||||
|
import com.ruoyi.common.utils.WordUtil;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.ArbitrateRecord;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
|
||||||
|
import com.ruoyi.wisdomarbitrate.mapper.*;
|
||||||
|
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
|
||||||
|
import com.ruoyi.wisdomarbitrate.service.ICaseLogRecordService;
|
||||||
|
import org.apache.poi.util.Units;
|
||||||
|
import org.apache.poi.xwpf.usermodel.Document;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.*;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.StandardCopyOption;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping
|
||||||
|
public class TestPOIController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CaseApplicationMapper caseApplicationMapper;
|
||||||
|
@Autowired
|
||||||
|
private CaseAffiliateMapper caseAffiliateMapper;
|
||||||
|
@Autowired
|
||||||
|
private ArbitrateRecordMapper arbitrateRecordMapper;
|
||||||
|
@Autowired
|
||||||
|
private CaseAttachMapper caseAttachMapper;
|
||||||
|
@Autowired
|
||||||
|
private RedisCache redisCache;
|
||||||
|
@Autowired
|
||||||
|
private SendMailRecordMapper sendMailRecordMapper;
|
||||||
|
|
||||||
|
@GetMapping("/test")
|
||||||
|
public AjaxResult createDocument(@RequestBody CaseApplication caseApplication) {
|
||||||
|
try {
|
||||||
|
Map<String, Object> datas = new HashMap<>();
|
||||||
|
Long id = caseApplication.getId();
|
||||||
|
if (id == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
//获取案件详细信息
|
||||||
|
CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
|
||||||
|
//生成编码
|
||||||
|
String equipmentNo = getNewEquipmentNo();
|
||||||
|
datas.put("num", equipmentNo);
|
||||||
|
//获取仲裁记录表里的相关信息
|
||||||
|
ArbitrateRecord arbitrateRecord = new ArbitrateRecord();
|
||||||
|
arbitrateRecord.setCaseAppliId(id);
|
||||||
|
ArbitrateRecord arbitrateRecord1 = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecord);
|
||||||
|
//获取案件关联人信息
|
||||||
|
CaseAffiliate caseAffiliate = new CaseAffiliate();
|
||||||
|
caseAffiliate.setCaseAppliId(id);
|
||||||
|
List<CaseAffiliate> caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
|
||||||
|
List<String> nameAgentList = new ArrayList<>();
|
||||||
|
if (caseAffiliates != null && caseAffiliates.size() > 0) {
|
||||||
|
for (CaseAffiliate affiliate : caseAffiliates) {
|
||||||
|
//获取身份类型
|
||||||
|
int identityType = affiliate.getIdentityType();
|
||||||
|
if (identityType == 1) { //申请人
|
||||||
|
datas.put("appName", affiliate.getName());
|
||||||
|
datas.put("appAddress", affiliate.getResidenAffili());
|
||||||
|
datas.put("appContactAddress", affiliate.getContactAddress());
|
||||||
|
datas.put("appLegalPerson", affiliate.getCompLegalPerson());
|
||||||
|
datas.put("appLegalPersonTitle", affiliate.getCompLegalperPost());
|
||||||
|
datas.put("appAgentName", affiliate.getNameAgent());
|
||||||
|
datas.put("appAgentTitle", affiliate.getAppliAgentTitle());
|
||||||
|
nameAgentList.add(affiliate.getNameAgent());
|
||||||
|
} else if (identityType == 2) { //被申请人
|
||||||
|
datas.put("resName", affiliate.getName());
|
||||||
|
datas.put("resAddress", affiliate.getResidenAffili());
|
||||||
|
String responSex = affiliate.getResponSex();
|
||||||
|
if (responSex.equals("0")){
|
||||||
|
datas.put("resSex","男");
|
||||||
|
}else{
|
||||||
|
datas.put("resSex","女");
|
||||||
|
}
|
||||||
|
Date responBirth = affiliate.getResponBirth();
|
||||||
|
if (responBirth != null) {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String responBirthStr = sdf.format(responBirth);
|
||||||
|
datas.put("resDateOfBirth", responBirthStr);
|
||||||
|
|
||||||
|
}
|
||||||
|
datas.put("resContactAddress", affiliate.getContactAddress());
|
||||||
|
nameAgentList.add(affiliate.getNameAgent());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Date createTime = caseApplication1.getCreateTime();
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
// 将日期格式化为字符串
|
||||||
|
String createTimeStr = sdf.format(createTime);
|
||||||
|
datas.put("submissionDate", createTimeStr);
|
||||||
|
Date registerDate = caseApplication1.getRegisterDate();
|
||||||
|
String registerDateStr = sdf.format(registerDate);
|
||||||
|
datas.put("acceptDate", registerDateStr);
|
||||||
|
//反请求
|
||||||
|
Integer adjudicaCounter = caseApplication1.getAdjudicaCounter();
|
||||||
|
String counterclaim = "在《2022年版仲裁规则》第十八条第(一)项规定的期限内,被申请人向秘书处提交了" +
|
||||||
|
"《仲裁反请求申请书》及证据材料。仲裁委依据《2022年版仲裁规则》第十八条的规定受理了该仲裁反请求案申请。" +
|
||||||
|
"仲裁反请求案件受理后,秘书处向被申请人发送了仲裁反请求通知书及附件,向申请人发送了仲裁反请求通知书及附件、仲裁反请求申请书及附件。";
|
||||||
|
if (adjudicaCounter == null) {
|
||||||
|
datas.put("counterclaim", null);
|
||||||
|
} else if (adjudicaCounter == 1) {
|
||||||
|
datas.put("counterclaim", counterclaim);
|
||||||
|
} else {
|
||||||
|
datas.put("counterclaim", null);
|
||||||
|
}
|
||||||
|
//财产保全
|
||||||
|
Integer properPreser = caseApplication1.getProperPreser();
|
||||||
|
String preservation = "本案受理后,申请人向仲裁委提交了财产保全申请,仲裁委根据《中华人民共和国仲裁法》" +
|
||||||
|
"第二十八条之规定,将该申请提交至法院。";
|
||||||
|
if (properPreser == null) {
|
||||||
|
datas.put("preservation", null);
|
||||||
|
} else if (properPreser == 1) {
|
||||||
|
datas.put("preservation", preservation);
|
||||||
|
} else {
|
||||||
|
datas.put("preservation", null);
|
||||||
|
}
|
||||||
|
//管辖权异议
|
||||||
|
Integer objectiJuris = caseApplication1.getObjectiJuris();
|
||||||
|
String jurisdictionalObjection = "本案受理后,被申请人向仲裁委提交了《XX管辖异议申请书》,认为XXXXXX" +
|
||||||
|
",仲裁委经审理,当庭驳回了被申请人的管辖异议申请,并告知被申请人具体的事实和理由将在裁决书中一并列明。";
|
||||||
|
if (objectiJuris == null) {
|
||||||
|
datas.put("jurisdictionalObjection", null);
|
||||||
|
} else if (objectiJuris == 1) {
|
||||||
|
datas.put("jurisdictionalObjection", jurisdictionalObjection);
|
||||||
|
} else {
|
||||||
|
datas.put("jurisdictionalObjection", null);
|
||||||
|
}
|
||||||
|
String arbitratorName = caseApplication1.getArbitratorName();
|
||||||
|
datas.put("arbitratorName", arbitratorName);
|
||||||
|
Integer arbitratMethod = caseApplication1.getArbitratMethod();
|
||||||
|
Date hearDate = caseApplication1.getHearDate();
|
||||||
|
if (hearDate != null) {
|
||||||
|
String hearDateStr = sdf.format(hearDate);
|
||||||
|
//线上开庭时
|
||||||
|
if (arbitratMethod == 1) {
|
||||||
|
String onLine1 = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于";
|
||||||
|
String onLine2 = "通过仲裁委智慧仲裁平台开庭审理了本案。";
|
||||||
|
datas.put("onLine1", onLine1);
|
||||||
|
datas.put("hearDate", hearDateStr);
|
||||||
|
datas.put("onLine2", onLine2);
|
||||||
|
} else {
|
||||||
|
//书面仲裁时
|
||||||
|
String written1 = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于";
|
||||||
|
String written2 = "在仲裁委所在地开庭审理了本案。";
|
||||||
|
datas.put("written1", written1);
|
||||||
|
datas.put("hearDate1", hearDateStr);
|
||||||
|
datas.put("written2", written2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Integer isAbsence = caseApplication1.getIsAbsence();
|
||||||
|
if (isAbsence == null) {
|
||||||
|
datas.put("absent1", null);
|
||||||
|
datas.put("absent2", null);
|
||||||
|
datas.put("absent3", null);
|
||||||
|
datas.put("absent4", null);
|
||||||
|
datas.put("absent5", null);
|
||||||
|
datas.put("attend1", null);
|
||||||
|
datas.put("attend2", null);
|
||||||
|
datas.put("attend3", null);
|
||||||
|
datas.put("attend4", null);
|
||||||
|
datas.put("attend5", null);
|
||||||
|
datas.put("attend6", null);
|
||||||
|
datas.put("attend7", null);
|
||||||
|
datas.put("appAgentName1", null);
|
||||||
|
datas.put("appAgentName2", null);
|
||||||
|
datas.put("resAgentName", null);
|
||||||
|
} else if (isAbsence == 1) {
|
||||||
|
//缺席审理
|
||||||
|
String absent1 = "申请人的特别授权委托代理人";
|
||||||
|
String absent2 = "出席了庭审。被申请人经依法送达开庭通知,无正当理由未出席庭审,故仲裁庭依据" +
|
||||||
|
"《2022年版仲裁规则》第四十条第(二)项的规定,对本案进行了缺席审理。";
|
||||||
|
String absent3 = "庭审中,申请人陈述了仲裁请求事项及事实与理由,出示了证据材料并进行了说明," +
|
||||||
|
"发表了意见,回答了仲裁庭的提问,并作了最后陈述。因被申请人缺席庭审,故仲裁庭无法组织调解。";
|
||||||
|
String absent4 = "(二/三)当事人提供的证据材料\n" +
|
||||||
|
"申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:";
|
||||||
|
String absent5 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
|
||||||
|
"第四十条第(二)项、第五十一条的规定,缺席裁决如下:";
|
||||||
|
datas.put("absent1", absent1);
|
||||||
|
datas.put("absent2", absent2);
|
||||||
|
datas.put("absent3", absent3);
|
||||||
|
datas.put("absent4", absent4);
|
||||||
|
datas.put("absent5", absent5);
|
||||||
|
datas.put("appAgentName1", nameAgentList.get(0));
|
||||||
|
} else {
|
||||||
|
//出席审理
|
||||||
|
String attend1 = "申请人的特别授权委托代理人";
|
||||||
|
String attend2 = "和被申请人本人/的特别授权委托代理人";
|
||||||
|
String attend3 = "出席了庭审。";
|
||||||
|
String attend4 = "庭审中,申请人陈述了仲裁请求事项及所依据的事实与理由,被申请人进行了答辩;" +
|
||||||
|
"双方当事人均出示了证据材料并对对方的证据材料进行了质证;申请人出示了证据材料," +
|
||||||
|
"被申请人对对方的证据材料进行了质证;双方当事人均回答了仲裁庭的提问,进行了辩论," +
|
||||||
|
"并分别作了最后陈述。双方当事人在仲裁庭的主持下进行了调解,但未能达成调解协议。";
|
||||||
|
String attend5 = "(二)被申请人的答辩意见";
|
||||||
|
String attend6 = "(二/三)当事人提供的证据材料及对方的质证意见\n" +
|
||||||
|
"申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:";
|
||||||
|
String attend7 = "被申请人对上述材料的质证意见为:";
|
||||||
|
datas.put("attend1", attend1);
|
||||||
|
datas.put("attend2", attend2);
|
||||||
|
datas.put("attend3", attend3);
|
||||||
|
datas.put("attend4", attend4);
|
||||||
|
datas.put("attend5", attend5);
|
||||||
|
datas.put("attend6", attend6);
|
||||||
|
datas.put("attend7", attend7);
|
||||||
|
datas.put("responCrossOpin", caseApplication1.getResponCrossOpin());
|
||||||
|
datas.put("appAgentName2", nameAgentList.get(0));
|
||||||
|
datas.put("resAgentName", nameAgentList.get(1));
|
||||||
|
if (arbitratMethod == 1) {
|
||||||
|
//被申出席+开庭
|
||||||
|
String attend8 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
|
||||||
|
"第五十一条的规定,裁决如下:";
|
||||||
|
datas.put("attend8", attend8);
|
||||||
|
} else {
|
||||||
|
//被申出席+书面
|
||||||
|
String attend9 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
|
||||||
|
"第五十一条、第五十八条的规定,裁决如下:";
|
||||||
|
datas.put("attend9", attend9);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
datas.put("claims", caseApplication1.getArbitratClaims());
|
||||||
|
datas.put("request", caseApplication1.getRequestRule());
|
||||||
|
//申请人证据材料
|
||||||
|
datas.put("appEvidenceMaterial", null);
|
||||||
|
//被申请人证据材料
|
||||||
|
|
||||||
|
PictureRenderData pictureRenderData = WordUtil.rebuildImageContent(100, 100, null, "D:\\develop\\Snipaste_2023-10-27_09-59-23.jpg");
|
||||||
|
datas.put("resEvidenceMaterial", "证据详情可查询附件");
|
||||||
|
datas.put("applicaCrossOpin", caseApplication1.getApplicaCrossOpin());
|
||||||
|
if (arbitrateRecord1 != null) {
|
||||||
|
datas.put("factDetermi", arbitrateRecord1.getFactDetermi());
|
||||||
|
datas.put("arbitrateThink", arbitrateRecord1.getArbitrateThink());
|
||||||
|
datas.put("rulingFollows", arbitrateRecord1.getRulingFollows());
|
||||||
|
}
|
||||||
|
LocalDate now = LocalDate.now();
|
||||||
|
String year = Integer.toString(now.getYear());
|
||||||
|
datas.put("year", year);
|
||||||
|
String month = String.format("%02d", now.getMonthValue());
|
||||||
|
String day = String.format("%02d", now.getDayOfMonth());
|
||||||
|
//String modalFilePath = "/data/arbitrate-document/template/新裁决书模板.docx";
|
||||||
|
String modalFilePath = "D:/develop/新裁决书模板.docx";
|
||||||
|
//String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
|
||||||
|
String saveFolderPath = "D:/data/" + year + "/" + month + "/" + day;
|
||||||
|
String fileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
|
||||||
|
String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
|
||||||
|
String resultFilePath = saveFolderPath + "/" + fileName;
|
||||||
|
// 创建日期目录
|
||||||
|
File saveFolder = new File(saveFolderPath);
|
||||||
|
if (!saveFolder.exists()) {
|
||||||
|
saveFolder.mkdirs();
|
||||||
|
}
|
||||||
|
Path sourcePath = new File(modalFilePath).toPath();
|
||||||
|
Path destinationPath = new File(resultFilePath).toPath();
|
||||||
|
Files.copy(sourcePath, destinationPath, StandardCopyOption.REPLACE_EXISTING);
|
||||||
|
String docFilePath = WordUtil.getDocFilePath(datas, modalFilePath, resultFilePath);
|
||||||
|
File file = new File(docFilePath);
|
||||||
|
if (file.exists()) {
|
||||||
|
InputStream in = new FileInputStream(file);
|
||||||
|
XWPFDocument xwpfDocument = new XWPFDocument(in);
|
||||||
|
WordUtil.changeText(xwpfDocument);
|
||||||
|
}
|
||||||
|
String savePath = docFilePath.substring(0, docFilePath.indexOf("/upload/") + 8);
|
||||||
|
CaseAttach caseAttach = CaseAttach.builder()
|
||||||
|
.caseAppliId(id)
|
||||||
|
.annexName(saveName)
|
||||||
|
.annexPath(savePath)
|
||||||
|
.annexType(3)
|
||||||
|
.build();
|
||||||
|
//保存到附件表里,先判断之前有没有,有的话更新,没有的话新增
|
||||||
|
List<CaseAttach> caseAttachList = caseAttachMapper.getCaseAttachByCaseIdAndType(caseAttach);
|
||||||
|
if (caseAttachList != null && caseAttachList.size() > 0) {
|
||||||
|
//之前已经生成过了,更新
|
||||||
|
int i = caseAttachMapper.updateCaseAttachBycaseid(caseAttach);
|
||||||
|
} else {
|
||||||
|
//之前没生成过,新增
|
||||||
|
int i = caseAttachMapper.save(caseAttach);
|
||||||
|
if (i > 0) {
|
||||||
|
if (arbitrateRecord1 != null) {
|
||||||
|
Integer annexId = caseAttach.getAnnexId();
|
||||||
|
//将附件id保存到仲裁记录表里面
|
||||||
|
arbitrateRecord1.setAnnexId(annexId);
|
||||||
|
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//修改案件状态
|
||||||
|
caseApplication1.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION);
|
||||||
|
caseApplicationMapper.submitCaseApplication(caseApplication1);
|
||||||
|
return AjaxResult.success("裁决书已生成");
|
||||||
|
} catch (IOException e) {
|
||||||
|
return AjaxResult.error(e + "请检查文件路径是否有误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNewEquipmentNo() {
|
||||||
|
Object awardNum = redisCache.getCacheObject("awardNum");
|
||||||
|
if (awardNum == null) {
|
||||||
|
redisCache.setCacheObject("awardNum", "00001");
|
||||||
|
String s = redisCache.getCacheObject("awardNum").toString();
|
||||||
|
// 字符串数字解析为整数
|
||||||
|
int no = Integer.parseInt(s);
|
||||||
|
// 最新设备编号自增1
|
||||||
|
int newEquipment = ++no;
|
||||||
|
// 将整数格式化为5位数字
|
||||||
|
s = String.format("%05d", newEquipment);
|
||||||
|
redisCache.setCacheObject("awardNum", s);
|
||||||
|
return s;
|
||||||
|
} else {
|
||||||
|
String s = awardNum.toString();
|
||||||
|
// 字符串数字解析为整数
|
||||||
|
int no = Integer.parseInt(s);
|
||||||
|
// 最新设备编号自增1
|
||||||
|
int newEquipment = ++no;
|
||||||
|
// 将整数格式化为5位数字
|
||||||
|
s = String.format("%05d", newEquipment);
|
||||||
|
redisCache.setCacheObject("awardNum", s);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
// 创建一个新的Word文档
|
||||||
|
XWPFDocument document = new XWPFDocument();
|
||||||
|
|
||||||
|
// 创建一个段落
|
||||||
|
XWPFParagraph paragraph = document.createParagraph();
|
||||||
|
|
||||||
|
// 创建一个文本区域
|
||||||
|
XWPFRun run = paragraph.createRun();
|
||||||
|
|
||||||
|
// 加载图片文件
|
||||||
|
File imageFile = new File("D:\\develop\\Snipaste_2023-10-27_09-59-23.jpg");
|
||||||
|
FileInputStream fis = new FileInputStream(imageFile);
|
||||||
|
|
||||||
|
// 将图片插入到文档中
|
||||||
|
run.addPicture(fis, Document.PICTURE_TYPE_JPEG, "image.jpg", Units.toEMU(100), Units.toEMU(100));
|
||||||
|
|
||||||
|
// 关闭输入流
|
||||||
|
fis.close();
|
||||||
|
|
||||||
|
// 保存文档
|
||||||
|
String filePath= "D:\\develop\\"+UUID.randomUUID()+"document.docx";
|
||||||
|
FileOutputStream fos = new FileOutputStream(filePath);
|
||||||
|
document.write(fos);
|
||||||
|
fos.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,12 +1,15 @@
|
|||||||
package com.ruoyi.common.utils;
|
package com.ruoyi.common.utils;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.io.resource.ClassPathResource;
|
||||||
import com.deepoove.poi.XWPFTemplate;
|
import com.deepoove.poi.XWPFTemplate;
|
||||||
import com.deepoove.poi.config.Configure;
|
import com.deepoove.poi.config.Configure;
|
||||||
import com.deepoove.poi.data.*;
|
import com.deepoove.poi.data.*;
|
||||||
import com.deepoove.poi.data.style.ParagraphStyle;
|
import com.deepoove.poi.data.style.ParagraphStyle;
|
||||||
import com.deepoove.poi.data.style.Style;
|
import com.deepoove.poi.data.style.Style;
|
||||||
|
import com.deepoove.poi.policy.PictureRenderPolicy;
|
||||||
import com.deepoove.poi.util.PoitlIOUtils;
|
import com.deepoove.poi.util.PoitlIOUtils;
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.usermodel.CellType;
|
import org.apache.poi.ss.usermodel.CellType;
|
||||||
import org.apache.poi.ss.usermodel.Row;
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
@@ -15,11 +18,9 @@ import org.apache.poi.wp.usermodel.Paragraph;
|
|||||||
import org.apache.poi.xwpf.usermodel.*;
|
import org.apache.poi.xwpf.usermodel.*;
|
||||||
|
|
||||||
import javax.print.Doc;
|
import javax.print.Doc;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.BufferedOutputStream;
|
import java.io.*;
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -142,7 +143,7 @@ public class WordUtil {
|
|||||||
/**
|
/**
|
||||||
* 构建图片内容
|
* 构建图片内容
|
||||||
*/
|
*/
|
||||||
public static PictureRenderData rebuildImageContent(Integer with, Integer height, String imageUrl, String relatedPath, Byte[] imageBytes) {
|
public static PictureRenderData rebuildImageContent(Integer with, Integer height, String imageUrl, String relatedPath) {
|
||||||
PictureRenderData pictureRenderData = null;
|
PictureRenderData pictureRenderData = null;
|
||||||
if (!StringUtils.isBlank(imageUrl)) {
|
if (!StringUtils.isBlank(imageUrl)) {
|
||||||
// pictureRenderData = Pictures.of(imageUrl).size(with, height).create();
|
// pictureRenderData = Pictures.of(imageUrl).size(with, height).create();
|
||||||
@@ -152,6 +153,7 @@ public class WordUtil {
|
|||||||
// Pictures.PictureBuilder pictureBuilder = Pictures.of("https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/1EtCRvm.png");
|
// Pictures.PictureBuilder pictureBuilder = Pictures.of("https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/1EtCRvm.png");
|
||||||
}
|
}
|
||||||
return pictureRenderData;
|
return pictureRenderData;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getResultFilePath(Map<String, Object> datas, Configure config, String modalFilePath, String resultFilePath) throws IOException {
|
public static String getResultFilePath(Map<String, Object> datas, Configure config, String modalFilePath, String resultFilePath) throws IOException {
|
||||||
@@ -203,4 +205,6 @@ public class WordUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -680,7 +680,7 @@ public class CaseApplication extends BaseEntity {
|
|||||||
@Excel(name = "被申请人主体信息-身份证号",width = 26)
|
@Excel(name = "被申请人主体信息-身份证号",width = 26)
|
||||||
private String debtorIdentityNum;
|
private String debtorIdentityNum;
|
||||||
/** 被申请人主体信息-性别 */
|
/** 被申请人主体信息-性别 */
|
||||||
@Excel(name = "被申请人主体信息-性别",width = 26,combo= {"男","女"},readConverterExp = "0=男,女=1")
|
@Excel(name = "被申请人主体信息-性别",width = 26,combo= {"男","女"},readConverterExp = "0=男,1=女")
|
||||||
private String responSex;
|
private String responSex;
|
||||||
|
|
||||||
public Date getResponBirth() {
|
public Date getResponBirth() {
|
||||||
|
|||||||
+14
-5
@@ -102,13 +102,17 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
|||||||
} else if (identityType == 2) { //被申请人
|
} else if (identityType == 2) { //被申请人
|
||||||
datas.put("resName", affiliate.getName());
|
datas.put("resName", affiliate.getName());
|
||||||
datas.put("resAddress", affiliate.getResidenAffili());
|
datas.put("resAddress", affiliate.getResidenAffili());
|
||||||
datas.put("resSex", affiliate.getResponSex());
|
String responSex = affiliate.getResponSex();
|
||||||
|
if (responSex.equals("0")){
|
||||||
|
datas.put("resSex","男");
|
||||||
|
}else{
|
||||||
|
datas.put("resSex","女");
|
||||||
|
}
|
||||||
Date responBirth = affiliate.getResponBirth();
|
Date responBirth = affiliate.getResponBirth();
|
||||||
if (responBirth != null) {
|
if (responBirth != null) {
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
String responBirthStr = sdf.format(responBirth);
|
String responBirthStr = sdf.format(responBirth);
|
||||||
datas.put("resDateOfBirth", responBirthStr);
|
datas.put("resDateOfBirth", responBirthStr);
|
||||||
|
|
||||||
}
|
}
|
||||||
datas.put("resContactAddress", affiliate.getContactAddress());
|
datas.put("resContactAddress", affiliate.getContactAddress());
|
||||||
nameAgentList.add(affiliate.getNameAgent());
|
nameAgentList.add(affiliate.getNameAgent());
|
||||||
@@ -253,7 +257,7 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
|||||||
//申请人证据材料
|
//申请人证据材料
|
||||||
datas.put("appEvidenceMaterial", null);
|
datas.put("appEvidenceMaterial", null);
|
||||||
//被申请人证据材料
|
//被申请人证据材料
|
||||||
datas.put("resEvidenceMaterial", null);
|
datas.put("resEvidenceMaterial","(详见附件列表)");
|
||||||
datas.put("applicaCrossOpin", caseApplication1.getApplicaCrossOpin());
|
datas.put("applicaCrossOpin", caseApplication1.getApplicaCrossOpin());
|
||||||
if (arbitrateRecord1 != null) {
|
if (arbitrateRecord1 != null) {
|
||||||
datas.put("factDetermi", arbitrateRecord1.getFactDetermi());
|
datas.put("factDetermi", arbitrateRecord1.getFactDetermi());
|
||||||
@@ -647,7 +651,12 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
|||||||
} else if (identityType == 2) { //被申请人
|
} else if (identityType == 2) { //被申请人
|
||||||
datas.put("resName", affiliate.getName());
|
datas.put("resName", affiliate.getName());
|
||||||
datas.put("resAddress", affiliate.getResidenAffili());
|
datas.put("resAddress", affiliate.getResidenAffili());
|
||||||
datas.put("resSex", affiliate.getResponSex());
|
String responSex = affiliate.getResponSex();
|
||||||
|
if (responSex.equals("0")){
|
||||||
|
datas.put("resSex","男");
|
||||||
|
}else{
|
||||||
|
datas.put("resSex","女");
|
||||||
|
}
|
||||||
Date responBirth = affiliate.getResponBirth();
|
Date responBirth = affiliate.getResponBirth();
|
||||||
if (responBirth != null) {
|
if (responBirth != null) {
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
@@ -798,7 +807,7 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
|||||||
//申请人证据材料
|
//申请人证据材料
|
||||||
datas.put("appEvidenceMaterial", null);
|
datas.put("appEvidenceMaterial", null);
|
||||||
//被申请人证据材料
|
//被申请人证据材料
|
||||||
datas.put("resEvidenceMaterial", null);
|
datas.put("resEvidenceMaterial","(详见附件列表)");
|
||||||
datas.put("applicaCrossOpin", caseApplication1.getApplicaCrossOpin());
|
datas.put("applicaCrossOpin", caseApplication1.getApplicaCrossOpin());
|
||||||
if (arbitrateRecord1 != null) {
|
if (arbitrateRecord1 != null) {
|
||||||
datas.put("factDetermi", arbitrateRecord1.getFactDetermi());
|
datas.put("factDetermi", arbitrateRecord1.getFactDetermi());
|
||||||
|
|||||||
+31
-12
@@ -115,6 +115,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
Long userId = user.getUserId();
|
Long userId = user.getUserId();
|
||||||
// 查询登录人身份证号
|
// 查询登录人身份证号
|
||||||
SysUser sysUser = sysUserMapper.selectUserById(userId);
|
SysUser sysUser = sysUserMapper.selectUserById(userId);
|
||||||
|
startPage();
|
||||||
// 已办案件
|
// 已办案件
|
||||||
if(caseApplication.getSelectCaseStatus().equals("1")){
|
if(caseApplication.getSelectCaseStatus().equals("1")){
|
||||||
caseApplication.setLoginUserName(sysUser.getUserName());
|
caseApplication.setLoginUserName(sysUser.getUserName());
|
||||||
@@ -125,7 +126,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
if (CollectionUtil.isEmpty(roles)) {
|
if (CollectionUtil.isEmpty(roles)) {
|
||||||
throw new ServiceException("该用户没有角色权限");
|
throw new ServiceException("该用户没有角色权限");
|
||||||
}
|
}
|
||||||
startPage();
|
|
||||||
for (SysRole role : roles) {
|
for (SysRole role : roles) {
|
||||||
// 超级管理员和仲裁委(部门长)案件,可查看所有案件 √
|
// 超级管理员和仲裁委(部门长)案件,可查看所有案件 √
|
||||||
if (role.getRoleName().equals("超级管理员")
|
if (role.getRoleName().equals("超级管理员")
|
||||||
@@ -136,7 +137,6 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
|| role.getRoleName().equals("部门长")) {
|
|| role.getRoleName().equals("部门长")) {
|
||||||
List<Integer> caseStatusList = new ArrayList<>();
|
List<Integer> caseStatusList = new ArrayList<>();
|
||||||
caseStatusList.add(CaseApplicationConstants.CONFIRMDED_PENDING_TRIAL);
|
caseStatusList.add(CaseApplicationConstants.CONFIRMDED_PENDING_TRIAL);
|
||||||
caseStatusList.add(CaseApplicationConstants.SIGN_ARBITRATION);
|
|
||||||
caseStatusList.add(CaseApplicationConstants.ARBITRATED_SEAL);
|
caseStatusList.add(CaseApplicationConstants.ARBITRATED_SEAL);
|
||||||
caseApplication.setDeptHeadStatus(caseStatusList);
|
caseApplication.setDeptHeadStatus(caseStatusList);
|
||||||
}
|
}
|
||||||
@@ -196,7 +196,6 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
||role.getRoleName().equals("部门长")){
|
||role.getRoleName().equals("部门长")){
|
||||||
|
|
||||||
caseStatusList.add(CaseApplicationConstants.CONFIRMDED_PENDING_TRIAL);
|
caseStatusList.add(CaseApplicationConstants.CONFIRMDED_PENDING_TRIAL);
|
||||||
caseStatusList.add(CaseApplicationConstants.SIGN_ARBITRATION);
|
|
||||||
caseStatusList.add(CaseApplicationConstants.ARBITRATED_SEAL);
|
caseStatusList.add(CaseApplicationConstants.ARBITRATED_SEAL);
|
||||||
caseApplication.setDeptHeadStatus(caseStatusList);
|
caseApplication.setDeptHeadStatus(caseStatusList);
|
||||||
}
|
}
|
||||||
@@ -258,7 +257,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
// caseApplication.setCaseStatus(CaseApplicationConstants.PENDING_OPENCOURT_HEAR);
|
// caseApplication.setCaseStatus(CaseApplicationConstants.PENDING_OPENCOURT_HEAR);
|
||||||
caseApplication.setCaseStatus(CaseApplicationConstants.CHECK_ARBITRATION_METHOD);
|
caseApplication.setCaseStatus(CaseApplicationConstants.CHECK_ARBITRATION_METHOD);
|
||||||
int rows = caseApplicationMapper.submitCaseApplication(caseApplication);
|
int rows = caseApplicationMapper.submitCaseApplication(caseApplication);
|
||||||
|
//1975139 修改开庭时间通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已改为{3},请知晓,如非本人操作,请忽略本短信
|
||||||
|
//发送短信通知
|
||||||
|
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
|
||||||
|
request.setTemplateId("1975139");
|
||||||
|
|
||||||
|
// 发送开庭日期通知短信
|
||||||
|
sendHearDateMessage(caseApplication,request,"1975139");
|
||||||
// 新增日志
|
// 新增日志
|
||||||
CaseLogUtils.insertCaseLog(caseApplication.getId(),CaseApplicationConstants.CHECK_ARBITRATION_METHOD,"");
|
CaseLogUtils.insertCaseLog(caseApplication.getId(),CaseApplicationConstants.CHECK_ARBITRATION_METHOD,"");
|
||||||
return rows;
|
return rows;
|
||||||
@@ -2136,16 +2141,30 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//发送短信通知
|
//发送短信通知 1947342 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
|
||||||
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
|
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
|
||||||
request.setTemplateId("1947342");
|
request.setTemplateId("1947342");
|
||||||
|
// 发送开庭日期通知短信
|
||||||
|
sendHearDateMessage(caseApplication,request,"1947342");
|
||||||
|
// 新增日志
|
||||||
|
CaseLogUtils.insertCaseLog(caseApplication.getId(),CaseApplicationConstants.MODIFY_HEARDATE,"");
|
||||||
|
|
||||||
|
return rows;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送开庭日期通知短信
|
||||||
|
* @param caseApplication
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
private void sendHearDateMessage(CaseApplication caseApplication, SmsUtils.SendSmsRequest request,String templateId) {
|
||||||
CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication);
|
CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication);
|
||||||
|
|
||||||
String caseNum = caseApplicationselect.getCaseNum();
|
String caseNum = caseApplicationselect.getCaseNum();
|
||||||
Date hearDate = caseApplicationselect.getHearDate();
|
Date hearDate = caseApplicationselect.getHearDate();
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
String hearDatestr = dateFormat.format(hearDate);
|
String hearDatestr = dateFormat.format(hearDate);
|
||||||
|
|
||||||
String arbitratorId = caseApplicationselect.getArbitratorId();
|
String arbitratorId = caseApplicationselect.getArbitratorId();
|
||||||
// List<Arbitrator> arbitratorList = new ArrayList<>();
|
// List<Arbitrator> arbitratorList = new ArrayList<>();
|
||||||
if(StringUtils.isNotEmpty(arbitratorId)){
|
if(StringUtils.isNotEmpty(arbitratorId)){
|
||||||
@@ -2170,7 +2189,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
smsSendRecord.setCaseNum(caseApplicationselect.getCaseNum());
|
smsSendRecord.setCaseNum(caseApplicationselect.getCaseNum());
|
||||||
smsSendRecord.setPhone(request.getPhone());
|
smsSendRecord.setPhone(request.getPhone());
|
||||||
smsSendRecord.setSendTime(new Date());
|
smsSendRecord.setSendTime(new Date());
|
||||||
String content="尊敬的"+name+"用户,您的"+caseNum+"仲裁案件,开庭日期已确定为"+hearDatestr+",请知晓,如非本人操作,请忽略本短信。";
|
String content="";
|
||||||
|
if(templateId.equals("1947342")) {
|
||||||
|
content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已确定为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。";
|
||||||
|
}
|
||||||
|
if(templateId.equals("1975139")) {
|
||||||
|
content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已改为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。";
|
||||||
|
}
|
||||||
smsSendRecord.setSendContent(content);
|
smsSendRecord.setSendContent(content);
|
||||||
smsSendRecord.setCreateBy(getUsername());
|
smsSendRecord.setCreateBy(getUsername());
|
||||||
smsRecordMapper.saveSmsSendRecord(smsSendRecord);
|
smsRecordMapper.saveSmsSendRecord(smsSendRecord);
|
||||||
@@ -2212,15 +2237,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 新增日志
|
|
||||||
CaseLogUtils.insertCaseLog(caseApplication.getId(),CaseApplicationConstants.MODIFY_HEARDATE,"");
|
|
||||||
|
|
||||||
return rows;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public int pendingAppointArbotrar(CaseApplication caseApplication) {
|
public int pendingAppointArbotrar(CaseApplication caseApplication) {
|
||||||
|
|||||||
@@ -82,12 +82,7 @@
|
|||||||
<if test="loginUserName != null and loginUserName != ''">
|
<if test="loginUserName != null and loginUserName != ''">
|
||||||
AND r.create_by=#{loginUserName} AND ca.identity_type=1
|
AND r.create_by=#{loginUserName} AND ca.identity_type=1
|
||||||
</if>
|
</if>
|
||||||
<if test="caseStatusList != null and caseStatusList.size() > 0">
|
|
||||||
and r.case_node in
|
|
||||||
<foreach item="caseStatus" collection="caseStatusList" open="(" separator="," close=")">
|
|
||||||
#{caseStatus}
|
|
||||||
</foreach>
|
|
||||||
</if>
|
|
||||||
</where>
|
</where>
|
||||||
order by c.create_time desc,c.case_num desc
|
order by c.create_time desc,c.case_num desc
|
||||||
</select>
|
</select>
|
||||||
@@ -150,7 +145,7 @@
|
|||||||
<!--仲裁员-->
|
<!--仲裁员-->
|
||||||
<if test="userId != null and userId != ''">
|
<if test="userId != null and userId != ''">
|
||||||
or ( t.identity_type=1 and
|
or ( t.identity_type=1 and
|
||||||
t.case_status in (7,8,9,12,13,14,17)
|
t.case_status in (7,8,9,12,13,17)
|
||||||
and
|
and
|
||||||
instr (t.arbitrator_id,#{userId})>0)
|
instr (t.arbitrator_id,#{userId})>0)
|
||||||
</if>
|
</if>
|
||||||
@@ -238,7 +233,7 @@
|
|||||||
<!--仲裁员-->
|
<!--仲裁员-->
|
||||||
<if test="userId != null and userId != ''">
|
<if test="userId != null and userId != ''">
|
||||||
or ( t.identity_type=1 and
|
or ( t.identity_type=1 and
|
||||||
t.case_status in (7,8,9,12,13,14,17)
|
t.case_status in (7,8,9,12,13,17)
|
||||||
and
|
and
|
||||||
instr (t.arbitrator_id,#{userId})>0)
|
instr (t.arbitrator_id,#{userId})>0)
|
||||||
</if>
|
</if>
|
||||||
@@ -600,7 +595,7 @@ order by c.create_time desc limit 1
|
|||||||
CASE c.pay_type when 0 then '线上支付' when 0 then '线下支付' else '' end payTypeName
|
CASE c.pay_type when 0 then '线上支付' when 0 then '线下支付' else '' end payTypeName
|
||||||
from case_application c left join case_payment_record p on c.id = p.case_id
|
from case_application c left join case_payment_record p on c.id = p.case_id
|
||||||
where c.case_status = 3
|
where c.case_status = 3
|
||||||
AND c.id = #{id}
|
AND c.id = #{id} and p.payment_status=1
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<select id="selectCaseNumLike" resultType="java.lang.Integer">
|
<select id="selectCaseNumLike" resultType="java.lang.Integer">
|
||||||
|
|||||||
@@ -25,8 +25,8 @@
|
|||||||
cl.create_by createBy,cl.create_nick_name createNickName,cl.create_time createTime,cl.update_by updateBy,cl.update_time updateTime,
|
cl.create_by createBy,cl.create_nick_name createNickName,cl.create_time createTime,cl.update_by updateBy,cl.update_time updateTime,
|
||||||
CASE cl.case_node when 0 then '立案申请' when 1 then '提交立案申请' when 2 then '立案审查'
|
CASE cl.case_node when 0 then '立案申请' when 1 then '提交立案申请' when 2 then '立案审查'
|
||||||
when 3 then '支付成功' when 4 then '缴费确认' when 5 then '案件质证'
|
when 3 then '支付成功' when 4 then '缴费确认' when 5 then '案件质证'
|
||||||
when 6 then '组庭审核' when 7 then '组庭确认' when 8 then '审核仲裁方式'
|
when 6 then '组庭审核' when 7 then '组庭确认' when 8 then '当前仲裁方式为开庭审理'
|
||||||
when 9 then '开庭审理' when 10 then '书面审理' when 11 then '生成裁決书'
|
when 9 then '当前仲裁方式为书面审理' when 10 then '书面审理' when 11 then '生成裁決书'
|
||||||
when 12 then '核验裁决书' when 13 then '同意裁决书' when 14 then '签名成功'
|
when 12 then '核验裁决书' when 13 then '同意裁决书' when 14 then '签名成功'
|
||||||
when 15 then '用印成功' when 16 then '送达仲裁文书' when 17 then '案件归档'
|
when 15 then '用印成功' when 16 then '送达仲裁文书' when 17 then '案件归档'
|
||||||
when 26 then '证据确认成功'
|
when 26 then '证据确认成功'
|
||||||
|
|||||||
Reference in New Issue
Block a user