mapper支持Double
parent
28464f4c8d
commit
7d005de99a
|
@ -0,0 +1,41 @@
|
||||||
|
package aiyh.utils.recordset;
|
||||||
|
|
||||||
|
import aiyh.utils.Util;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.conn.RecordSetTrans;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>float处理</p>
|
||||||
|
* <p>create 2022/4/29 2:34 PM</p>
|
||||||
|
*
|
||||||
|
* @author ayh
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class DoubleTypeHandler implements TypeHandler {
|
||||||
|
@Override
|
||||||
|
public Object getValue(RecordSet rs, String fieldName, Field declaredField) {
|
||||||
|
String string = Util.null2DefaultStr(GetRsValueUtil.getRsValue(rs, fieldName, declaredField), "0.0");
|
||||||
|
return Double.parseDouble(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getValue(RecordSet rs, int index, Field declaredField) {
|
||||||
|
String string = Util.null2DefaultStr(rs.getString(index), "0.0");
|
||||||
|
return Double.parseDouble(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getValue(RecordSetTrans rs, String fieldName, Field declaredField) {
|
||||||
|
String string = Util.null2DefaultStr(GetRsValueUtil.getRsValue(rs, fieldName, declaredField), "0.0");
|
||||||
|
return Double.parseDouble(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getValue(RecordSetTrans rs, int index, Field declaredField) {
|
||||||
|
String string = Util.null2DefaultStr(rs.getString(index), "0.0");
|
||||||
|
return Double.parseDouble(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -41,7 +41,9 @@ public class ResultMapper {
|
||||||
typeHandler.put(boolean.class, new BooleanTypeHandler());
|
typeHandler.put(boolean.class, new BooleanTypeHandler());
|
||||||
typeHandler.put(Date.class, new DataTypeHandler());
|
typeHandler.put(Date.class, new DataTypeHandler());
|
||||||
typeHandler.put(Float.class, new FloatTypeHandler());
|
typeHandler.put(Float.class, new FloatTypeHandler());
|
||||||
typeHandler.put(float.class, new FloatTypeHandler());
|
typeHandler.put(Float.class, new FloatTypeHandler());
|
||||||
|
typeHandler.put(double.class, new DoubleTypeHandler());
|
||||||
|
typeHandler.put(Double.class, new DoubleTypeHandler());
|
||||||
}
|
}
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
@ -55,6 +57,8 @@ public class ResultMapper {
|
||||||
paramType.put(boolean.class, Boolean::parseBoolean);
|
paramType.put(boolean.class, Boolean::parseBoolean);
|
||||||
paramType.put(Float.class, Float::parseFloat);
|
paramType.put(Float.class, Float::parseFloat);
|
||||||
paramType.put(float.class, Float::parseFloat);
|
paramType.put(float.class, Float::parseFloat);
|
||||||
|
paramType.put(double.class, Double::parseDouble);
|
||||||
|
paramType.put(Double.class, Double::parseDouble);
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T mapperResult(RecordSet rs, Method method, Class<T> tClass, RecordsetUtil recordsetUtil) {
|
public <T> T mapperResult(RecordSet rs, Method method, Class<T> tClass, RecordsetUtil recordsetUtil) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ public interface DzInvoiceMapper {
|
||||||
* @param fieldValue 字段值
|
* @param fieldValue 字段值
|
||||||
* @return 操作结果
|
* @return 操作结果
|
||||||
*/
|
*/
|
||||||
@Update("update APInvoice set check_status = #{checkStatus} where $t{fieldId} = #{fieldValue}")
|
@Update("update fnaInvoiceLedger set check_status = #{checkStatus} where $t{fieldId} = #{fieldValue}")
|
||||||
boolean updateInvoiceCheckStatus(@ParamMapper("check_status") int checkStatus,
|
boolean updateInvoiceCheckStatus(@ParamMapper("check_status") int checkStatus,
|
||||||
@ParamMapper("fieldId") String fieldId,
|
@ParamMapper("fieldId") String fieldId,
|
||||||
@ParamMapper("fieldValue") Object fieldValue);
|
@ParamMapper("fieldValue") Object fieldValue);
|
||||||
|
@ -45,7 +45,7 @@ public interface DzInvoiceMapper {
|
||||||
* @param fieldValue 字段值
|
* @param fieldValue 字段值
|
||||||
* @return 操作结果
|
* @return 操作结果
|
||||||
*/
|
*/
|
||||||
@Update("update APInvoice set check_status = #{checkStatus} where $t{fieldId} in ${fieldValue}")
|
@Update("update fnaInvoiceLedger set check_status = #{checkStatus} where $t{fieldId} in ${fieldValue}")
|
||||||
boolean batchUpdateInvoiceCheckStatus(@ParamMapper("check_status") int checkStatus,
|
boolean batchUpdateInvoiceCheckStatus(@ParamMapper("check_status") int checkStatus,
|
||||||
@ParamMapper("fieldId") String fieldId,
|
@ParamMapper("fieldId") String fieldId,
|
||||||
@ParamMapper("fieldValue") Object fieldValue);
|
@ParamMapper("fieldValue") Object fieldValue);
|
||||||
|
@ -55,7 +55,7 @@ public interface DzInvoiceMapper {
|
||||||
* <h2>查询已经勾选过的发票信息</h2>
|
* <h2>查询已经勾选过的发票信息</h2>
|
||||||
* @return 发票信息集合
|
* @return 发票信息集合
|
||||||
*/
|
*/
|
||||||
@Select("select * from APInvoice where check_status = 2 or check_status = 3")
|
@Select("select * from fnaInvoiceLedger where (check_status = 2 or check_status = 3) and hxjksflr = 'Y'")
|
||||||
List<Map<String,Object>> queryOnChooseInvoices();
|
List<Map<String,Object>> queryOnChooseInvoices();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
package com.api.bokang.xiao.wx_report.controller;
|
||||||
|
|
||||||
|
import aiyh.utils.ApiResult;
|
||||||
|
import aiyh.utils.Util;
|
||||||
|
import com.api.bokang.xiao.wx_report.service.ReportService;
|
||||||
|
import com.api.bokang.xiao.wx_report.service.impl.ReportServiceImpl;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import weaver.hrm.HrmUserVarify;
|
||||||
|
import weaver.hrm.User;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.ws.rs.GET;
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
import javax.ws.rs.Produces;
|
||||||
|
import javax.ws.rs.core.Context;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName ReportController
|
||||||
|
* @Author 肖博亢
|
||||||
|
* @Date 2023/2/21 12:45
|
||||||
|
* @Description <h1></h1>
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Path("/xbk/wx_report")
|
||||||
|
public class ReportController {
|
||||||
|
|
||||||
|
private final Logger log = Util.getLogger();
|
||||||
|
|
||||||
|
private final ReportService reportService = new ReportServiceImpl();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取搜索组件信息</h2>
|
||||||
|
* @param request 请求体
|
||||||
|
* @param response 响应体
|
||||||
|
* @return 请求结果
|
||||||
|
*/
|
||||||
|
@Path("/getReportData")
|
||||||
|
@GET
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public String getReportData(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
try{
|
||||||
|
log.info("====== into getCondition success =======");
|
||||||
|
User loginUser = HrmUserVarify.getUser(request, response);
|
||||||
|
|
||||||
|
return ApiResult.success("");
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("获取搜索组件信息 ==> "+Util.getErrString(e));
|
||||||
|
return ApiResult.error(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.api.bokang.xiao.wx_report.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName ReportEntity
|
||||||
|
* @Author 肖博亢
|
||||||
|
* @Date 2023/2/26 21:06
|
||||||
|
* @Description <h1></h1>
|
||||||
|
**/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ReportEntityVO {
|
||||||
|
|
||||||
|
/** 款项类别 */
|
||||||
|
private String category;
|
||||||
|
|
||||||
|
/** 日期 */
|
||||||
|
private String date;
|
||||||
|
|
||||||
|
/** 月份 */
|
||||||
|
private Integer month;
|
||||||
|
|
||||||
|
/** 月份 */
|
||||||
|
private Integer year;
|
||||||
|
|
||||||
|
/** 金额合计 */
|
||||||
|
private Double amount;
|
||||||
|
}
|
|
@ -0,0 +1,125 @@
|
||||||
|
package com.api.bokang.xiao.wx_report.mapper;
|
||||||
|
|
||||||
|
import aiyh.utils.annotation.recordset.ParamMapper;
|
||||||
|
import aiyh.utils.annotation.recordset.Select;
|
||||||
|
import aiyh.utils.annotation.recordset.SqlMapper;
|
||||||
|
import com.api.bokang.xiao.wx_report.entity.ReportEntityVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName ReportMapper
|
||||||
|
* @Author 肖博亢
|
||||||
|
* @Date 2023/2/26 21:04
|
||||||
|
* @Description <h1></h1>
|
||||||
|
**/
|
||||||
|
|
||||||
|
@SqlMapper
|
||||||
|
public interface ReportMapper {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>对公付款申请台账(报表)查询</h2>
|
||||||
|
* @param queryStr sql
|
||||||
|
* @param param 条件参数
|
||||||
|
* @return 对公申请列表
|
||||||
|
*/
|
||||||
|
@Select("select 90 category,sqrq date,sum(jkjey) amount,month(sqrq) month,year(sqrq) year,day(sqrq) day " +
|
||||||
|
"from uf_byjjksqtzbb " +
|
||||||
|
"where 1=1 $t{queryStr} " +
|
||||||
|
"group by sqrq " +
|
||||||
|
"union all " +
|
||||||
|
"select kxlb category,main.qwfkrq date,sum(fkjey) amount,month(main.qwfkrq) month,year(main.qwfkrq) year,day(main.qwfkrq) day " +
|
||||||
|
"from uf_dgfksqtzbb main " +
|
||||||
|
"inner join uf_dgfksqtzbb_dt1 dt on main.id = dt.mainid " +
|
||||||
|
"where kxlb is not null $t{queryStr}" +
|
||||||
|
"group by dt.kxlb,main.qwfkrq " +
|
||||||
|
"union all " +
|
||||||
|
"select kxlb category,main.sqrq date,sum(bxjey) amount,month(main.sqrq) month,year(main.sqrq) year,day(main.sqrq) day " +
|
||||||
|
"from uf_dsbxsqtzbb main " +
|
||||||
|
"inner join uf_dsbxsqtzbb_dt1 dt on main.id = dt.mainid " +
|
||||||
|
"where kxlb is not null $t{queryStr}" +
|
||||||
|
"group by dt.kxlb,main.sqrq " +
|
||||||
|
"union all " +
|
||||||
|
"select kxlb category,main.sqrq date,sum(bxjey) amount,month(main.sqrq) month,year(main.sqrq) year,day(main.sqrq) day " +
|
||||||
|
"from uf_dsbxsqtzclbb main " +
|
||||||
|
"inner join uf_dsbxsqtzclbb_dt1 dt on main.id = dt.mainid " +
|
||||||
|
"where kxlb is not null $t{queryStr}" +
|
||||||
|
"group by dt.kxlb,main.sqrq " +
|
||||||
|
"union all " +
|
||||||
|
"select kxlb category,rq date,sum(hsjey) amount,month(rq) month,year(rq) year,day(rq) day " +
|
||||||
|
"from uf_srmxb " +
|
||||||
|
"where kxlb is not null " +
|
||||||
|
"group by kxlb,rq " +
|
||||||
|
"order by category ")
|
||||||
|
List<ReportEntityVO> queryReportList(@ParamMapper("queryStr") String queryStr,@ParamMapper("param") Map<String,Object> param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取收入数据</h2>
|
||||||
|
* @param queryStr sql
|
||||||
|
* @param param 参数信息
|
||||||
|
* @return 数据列表
|
||||||
|
*/
|
||||||
|
@Select("select kxlb category,rq date,sum(hsjey) amount,month(rq) month,year(rq) year,day(rq) day " +
|
||||||
|
"from uf_srmxb " +
|
||||||
|
"where kxlb is not null $t{queryStr}" +
|
||||||
|
"group by kxlb,rq " +
|
||||||
|
"order by category ")
|
||||||
|
List<ReportEntityVO> queryDataInList(@ParamMapper("queryStr") String queryStr,@ParamMapper("param") Map<String,Object> param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取备用金数据</h2>
|
||||||
|
* @param queryStr sql
|
||||||
|
* @param param 参数信息
|
||||||
|
* @return 数据列表
|
||||||
|
*/
|
||||||
|
@Select("select 90 category,sqrq date,sum(jkjey) amount,month(sqrq) month,year(sqrq) year,day(sqrq) day " +
|
||||||
|
"from uf_byjjksqtzbb " +
|
||||||
|
"where 1=1 $t{queryStr} " +
|
||||||
|
"group by sqrq ")
|
||||||
|
List<ReportEntityVO> queryPettyCashList(@ParamMapper("queryStr") String queryStr,@ParamMapper("param") Map<String,Object> param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取对公付款数据</h2>
|
||||||
|
* @param queryStr sql
|
||||||
|
* @param param 参数信息
|
||||||
|
* @return 数据列表
|
||||||
|
*/
|
||||||
|
@Select("select kxlb category,main.qwfkrq date,sum(fkjey) amount,month(main.qwfkrq) month,year(main.qwfkrq) year,day(main.qwfkrq) day " +
|
||||||
|
"from uf_dgfksqtzbb main " +
|
||||||
|
"inner join uf_dgfksqtzbb_dt1 dt on main.id = dt.mainid " +
|
||||||
|
"where kxlb is not null $t{queryStr}" +
|
||||||
|
"group by dt.kxlb,main.qwfkrq " +
|
||||||
|
"order by category ")
|
||||||
|
List<ReportEntityVO> queryPublicPayList(@ParamMapper("queryStr") String queryStr,@ParamMapper("param") Map<String,Object> param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取对私报销申请数据</h2>
|
||||||
|
* @param queryStr sql
|
||||||
|
* @param param 参数信息
|
||||||
|
* @return 数据列表
|
||||||
|
*/
|
||||||
|
@Select("select kxlb category,main.sqrq date,sum(bxjey) amount,month(main.sqrq) month,year(main.sqrq) year,day(main.sqrq) day " +
|
||||||
|
"from uf_dsbxsqtzbb main " +
|
||||||
|
"inner join uf_dsbxsqtzbb_dt1 dt on main.id = dt.mainid " +
|
||||||
|
"where kxlb is not null $t{queryStr}" +
|
||||||
|
"group by dt.kxlb,main.sqrq " +
|
||||||
|
"order by category ")
|
||||||
|
List<ReportEntityVO> queryPrivatePayList(@ParamMapper("queryStr") String queryStr,@ParamMapper("param") Map<String,Object> param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取对私报销申请台账(差旅)数据</h2>
|
||||||
|
* @param queryStr sql
|
||||||
|
* @param param 参数信息
|
||||||
|
* @return 数据列表
|
||||||
|
*/
|
||||||
|
@Select("select kxlb category,main.sqrq date,sum(bxjey) amount,month(main.sqrq) month,year(main.sqrq) year,day(main.sqrq) day " +
|
||||||
|
"from uf_dsbxsqtzclbb main " +
|
||||||
|
"inner join uf_dsbxsqtzclbb_dt1 dt on main.id = dt.mainid " +
|
||||||
|
"where kxlb is not null $t{queryStr}" +
|
||||||
|
"group by dt.kxlb,main.sqrq " +
|
||||||
|
"order by category ")
|
||||||
|
List<ReportEntityVO> queryBusinessList(@ParamMapper("queryStr") String queryStr,@ParamMapper("param") Map<String,Object> param);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
package com.api.bokang.xiao.wx_report.service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName ReportService
|
||||||
|
* @Author 肖博亢
|
||||||
|
* @Date 2023/2/21 12:38
|
||||||
|
* @Description <h1></h1>
|
||||||
|
**/
|
||||||
|
public interface ReportService {
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.api.bokang.xiao.wx_report.service.impl;
|
||||||
|
|
||||||
|
import com.api.bokang.xiao.wx_report.service.ReportService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName ReportServiceImpl
|
||||||
|
* @Author 肖博亢
|
||||||
|
* @Date 2023/2/21 12:38
|
||||||
|
* @Description <h1></h1>
|
||||||
|
**/
|
||||||
|
public class ReportServiceImpl implements ReportService {
|
||||||
|
}
|
|
@ -2,11 +2,16 @@ package weaver.xiao.commons.utils;
|
||||||
|
|
||||||
import aiyh.utils.excention.CustomerException;
|
import aiyh.utils.excention.CustomerException;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.apache.poi.ooxml.POIXMLDocument;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
||||||
import weaver.docs.docs.DocImageManager;
|
import weaver.docs.docs.DocImageManager;
|
||||||
import weaver.docs.webservices.DocInfo;
|
import weaver.docs.webservices.DocInfo;
|
||||||
import weaver.docs.webservices.DocServiceImpl;
|
import weaver.docs.webservices.DocServiceImpl;
|
||||||
import weaver.file.ImageFileManager;
|
import weaver.file.ImageFileManager;
|
||||||
import weaver.general.IOUtils;
|
import weaver.general.IOUtils;
|
||||||
|
import weaver.general.Util;
|
||||||
import weaver.hrm.User;
|
import weaver.hrm.User;
|
||||||
import weaver.xiao.commons.config.entity.WeaverFile;
|
import weaver.xiao.commons.config.entity.WeaverFile;
|
||||||
|
|
||||||
|
@ -14,8 +19,7 @@ import java.io.*;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.Enumeration;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipFile;
|
import java.util.zip.ZipFile;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
@ -289,4 +293,57 @@ public class DocImageFileUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>替换word文档的内容并输出为新的文档</h2>
|
||||||
|
* @param replaceMap 替换信息
|
||||||
|
* @param docSourcePath 原文件路径
|
||||||
|
* @return 新文档的路径
|
||||||
|
*/
|
||||||
|
public static String replaceDocument(Map<String, Object> replaceMap, String docSourcePath) {
|
||||||
|
String sourcePath = docSourcePath.substring(0,docSourcePath.lastIndexOf(File.separator));
|
||||||
|
String fileType = docSourcePath.substring(docSourcePath.lastIndexOf("."));
|
||||||
|
String targetFileName = sourcePath + File.separator + UUID.randomUUID().toString().replace("-","") + fileType;
|
||||||
|
DocImageFileUtil.replaceDocument(replaceMap,docSourcePath,targetFileName);
|
||||||
|
return targetFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>替换word文档的内容并输出为新的文档</h2>
|
||||||
|
* @param replaceMap 替换信息
|
||||||
|
* @param docSourcePath 原文件路径
|
||||||
|
* @param targetPath 目标文件路径
|
||||||
|
*/
|
||||||
|
public static void replaceDocument(Map<String, Object> replaceMap, String docSourcePath, String targetPath) {
|
||||||
|
XWPFDocument document = null;
|
||||||
|
try {
|
||||||
|
document = new XWPFDocument(POIXMLDocument.openPackage(docSourcePath));
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.error("模板文件位置错误:" + LogUtil.getExceptionStr(e));
|
||||||
|
throw new RuntimeException("模板文件位置错误:" + docSourcePath);
|
||||||
|
}
|
||||||
|
Iterator<XWPFParagraph> itPara = document.getParagraphsIterator();
|
||||||
|
while (itPara.hasNext()) {
|
||||||
|
XWPFParagraph paragraph = itPara.next();
|
||||||
|
List<XWPFRun> runs = paragraph.getRuns();
|
||||||
|
for (XWPFRun run : runs) {
|
||||||
|
String currentString = run.getText(run.getTextPosition()).trim();
|
||||||
|
for (Map.Entry<String, Object> entry : replaceMap.entrySet()) {
|
||||||
|
if (currentString.equals(entry.getKey())) {
|
||||||
|
currentString = currentString.replace(entry.getKey(), Util.null2String(entry.getValue()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
run.setText(currentString, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
FileOutputStream outStream = null;
|
||||||
|
outStream = new FileOutputStream(targetPath);
|
||||||
|
document.write(outStream);
|
||||||
|
outStream.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.error("写入文件位置错误:" + LogUtil.getExceptionStr(e));
|
||||||
|
throw new RuntimeException("写入文件位置错误:" + docSourcePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,12 +8,24 @@ import basetest.BaseTest;
|
||||||
import bokang.xiao.mapper.TestMapper;
|
import bokang.xiao.mapper.TestMapper;
|
||||||
import com.api.bokang.xiao.porsche_review.mapper.ReviewMapper;
|
import com.api.bokang.xiao.porsche_review.mapper.ReviewMapper;
|
||||||
import com.api.bokang.xiao.porsche_review.service.impl.ReviewServiceImpl;
|
import com.api.bokang.xiao.porsche_review.service.impl.ReviewServiceImpl;
|
||||||
|
import com.api.bokang.xiao.wx_report.entity.ReportEntityVO;
|
||||||
|
import com.api.bokang.xiao.wx_report.mapper.ReportMapper;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.apache.poi.POIXMLDocument;
|
||||||
|
import org.apache.poi.hwpf.HWPFDocument;
|
||||||
|
import org.apache.poi.hwpf.usermodel.Range;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import weaver.bokang.xiao.dz_invoice.action.InvoiceDeductionAction;
|
import weaver.bokang.xiao.dz_invoice.action.InvoiceDeductionAction;
|
||||||
import weaver.bokang.xiao.dz_invoice.schedule.InvoiceQuerySchedule;
|
import weaver.bokang.xiao.dz_invoice.schedule.InvoiceQuerySchedule;
|
||||||
|
import weaver.xiao.commons.config.entity.ResponseMapping;
|
||||||
|
import weaver.xiao.commons.utils.DocImageFileUtil;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.*;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -27,8 +39,8 @@ public class NormalTest extends BaseTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWord(){
|
public void testWord(){
|
||||||
GenerateFileUtil.createActionDocument(InvoiceDeductionAction.class);
|
//GenerateFileUtil.createActionDocument(InvoiceDeductionAction.class);
|
||||||
GenerateFileUtil.createCronJobDocument(InvoiceQuerySchedule.class);
|
//GenerateFileUtil.createCronJobDocument(InvoiceQuerySchedule.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -50,8 +62,49 @@ public class NormalTest extends BaseTest {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testReport(){
|
||||||
|
ReportMapper mapper = Util.getMapper(ReportMapper.class);
|
||||||
|
Map<String,Object> queryParam = new HashMap<>();
|
||||||
|
queryParam.put("month","12");
|
||||||
|
queryParam.put("year","2022");
|
||||||
|
StringBuilder PettyCashBuilder = new StringBuilder();
|
||||||
|
StringBuilder PublicPayBuilder = new StringBuilder();
|
||||||
|
StringBuilder PrivatePayBuilder = new StringBuilder();
|
||||||
|
StringBuilder BusinessBuilder = new StringBuilder();
|
||||||
|
StringBuilder whereBuilder = new StringBuilder();
|
||||||
|
String month = Util.null2String(queryParam.get("month"));
|
||||||
|
String year = Util.null2String(queryParam.get("year"));
|
||||||
|
String date = Util.null2String(queryParam.get("date"));
|
||||||
|
String company = Util.null2String(queryParam.get("company"));
|
||||||
|
String depart = Util.null2String(queryParam.get("depart"));
|
||||||
|
if(StringUtils.isNotBlank(month)){
|
||||||
|
|
||||||
|
}
|
||||||
|
List<ReportEntityVO> reportEntityVOS = mapper.queryReportList(whereBuilder.toString(),queryParam);
|
||||||
|
Map<String, List<ReportEntityVO>> groupMap = reportEntityVOS.stream().collect(Collectors.groupingBy(ReportEntityVO::getCategory));
|
||||||
|
System.out.println(groupMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPdf() throws IOException {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("$name", "1231");
|
||||||
|
String s = DocImageFileUtil.replaceDocument(map, "E:\\test\\test.docx");
|
||||||
|
System.out.println(s);
|
||||||
|
new Thread(() -> {
|
||||||
|
try {
|
||||||
|
Thread.sleep(2000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
DocImageFileUtil.deleteTempFile(s);
|
||||||
|
}).start();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRequest() throws IOException {
|
public void testRequest() throws IOException {
|
||||||
|
|
||||||
HttpUtils httpUtils = new HttpUtils();
|
HttpUtils httpUtils = new HttpUtils();
|
||||||
Map<String,Object> param = new HashMap<>();
|
Map<String,Object> param = new HashMap<>();
|
||||||
param.put("grant_type","client_credentials");
|
param.put("grant_type","client_credentials");
|
||||||
|
|
Loading…
Reference in New Issue