package com.yuanchu.mom.service.impl;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.config.ConfigureBuilder;
import com.deepoove.poi.data.*;
import com.deepoove.poi.data.style.*;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.controller.ManageRecordCancelController;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.ManageRecordIssueRecycleMapper;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.ManageRecordCancel;
import com.yuanchu.mom.mapper.ManageRecordCancelMapper;
import com.yuanchu.mom.pojo.ManageRecordIssueRecycle;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.ManageRecordCancelService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.utils.QueryWrappers;
import org.apache.commons.io.IOUtils;
import org.apache.poi.openxml4j.util.ZipSecureFile;
import org.apache.poi.xwpf.usermodel.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
*
* 作废文件销魂记录 服务实现类
*
*
* @author
* @since 2024-11-13 01:27:22
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class ManageRecordCancelServiceImpl extends ServiceImpl implements ManageRecordCancelService {
@Resource
private ManageRecordCancelMapper manageRecordCancelMapper;
@Resource
private GetLook getLook;
@Value("${wordUrl}")
private String wordUrl;
@Resource
private UserMapper userMapper;
@Override
public Map pageManageRecordCancel(Page page, ManageRecordCancel manageRecordCancel) {
Map map = new HashMap<>();
map.put("head", PrintChina.printChina(ManageRecordCancel.class));
map.put("body", manageRecordCancelMapper.pageManageRecordCancel(page, QueryWrappers.queryWrappers(manageRecordCancel)));
return map;
}
@Override
public int ratifyManageRecordCancel(Integer id, String ratifyState) {
Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
ManageRecordCancel manageRecordCancel = manageRecordCancelMapper.selectById(id);
manageRecordCancel.setRatifyUser(userId);
manageRecordCancel.setRatifyTime(LocalDate.now());
manageRecordCancel.setRatifyState(ratifyState);
return manageRecordCancelMapper.updateById(manageRecordCancel);
}
@Override
public String exportOutManageRecordCancel(ManageRecordCancel manageRecordCancel, HttpServletResponse response) {
List manageRecordCancelList = manageRecordCancelMapper.pageManageRecordCancel(new Page(-1, -1), QueryWrappers.queryWrappers(manageRecordCancel)).getRecords();
//生成检验报告发放登记表
InputStream inputStream = this.getClass().getResourceAsStream("/static/cancel-deal.docx");
ConfigureBuilder builder = Configure.builder();
builder.useSpringEL(true);
List