Commit a90aea4e authored by kevin's avatar kevin

#

parent 90ce5d07
......@@ -8,6 +8,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.message.ErrorMessage;
import pwc.taxtech.atms.common.util.FileExcelUtil;
import pwc.taxtech.atms.constant.enums.EnumServiceType;
import pwc.taxtech.atms.dao.OrganizationMapper;
import pwc.taxtech.atms.dao.ProjectMapper;
......@@ -26,8 +27,10 @@ import pwc.taxtech.atms.vat.entity.*;
import pwc.taxtech.atms.vat.service.impl.ReportServiceImpl;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.OutputStream;
import java.net.URISyntaxException;
import java.util.List;
......@@ -151,10 +154,10 @@ public class ReportController {
return reportService.getCellData(reportId, from);
}
private static OperationResultDto<ReportDataDto> operationResultDto = null;
@RequestMapping(value = "reportEbitData", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public OperationResultDto<ReportDataDto> reportEbitData(@RequestBody RequestParameterDto requestParameterDto) {
OperationResultDto operationResultDto = new OperationResultDto();
/*OperationResultDto resultDto = new OperationResultDto();
*//* if (requestParameterDto.getProjectId() == null || requestParameterDto.getReportId() == null) {
resultDto.setResult(false);
......@@ -257,14 +260,16 @@ public class ReportController {
@RequestMapping(value = "doUpload", method = RequestMethod.POST)
public OperationResultDto doUploadAttach(@RequestParam("fileName") String fileName, MultipartFile file, String remarks, @RequestParam("activeCol") Long activeCol, @RequestParam("activeRow") Long activeRow, @RequestParam("activeTemplateId") String activeTemplateId) {
FileUpload fileUpload = null;
OperationResultDto operationResultDto = new OperationResultDto();
try{
fileUpload = didiFileUploadService.uploadFile(file, file.getOriginalFilename(), "附件上传");
operationResultDto.setData(reportService.bindPwcAttach(activeCol, activeRow, activeTemplateId, fileUpload, remarks));
operationResultDto.setResultMsg("success");
return operationResultDto;
}catch(Exception e){
e.printStackTrace();
return operationResultDto.error();
}
operationResultDto.success();
reportService.bindPwcAttach(activeCol, activeRow, activeTemplateId, fileUpload, remarks);
return operationResultDto;
}
@RequestMapping("loadAttachList")
......@@ -345,11 +350,14 @@ public class ReportController {
* 批量导出利润表
*/
@RequestMapping("manyExport")
public OperationResultDto manyExport(@RequestBody RequestParameterDto requestParameterDto) {
public OperationResultDto manyExport(@RequestBody RequestParameterDto requestParameterDto, HttpServletResponse response, HttpServletRequest request) {
OperationResultDto operationResultDto = new OperationResultDto();
String zipName = "利润表";
try {
reportService.manyExport(requestParameterDto, zipName);
String zipPath = "/zipDir";
//生成zip文件夹
FileExcelUtil.createFile(zipPath);
reportService.manyExport(requestParameterDto, zipName,request, response, zipPath);
} catch (URISyntaxException e) {
e.printStackTrace();
}
......@@ -357,6 +365,7 @@ public class ReportController {
return operationResultDto;
}
/**
* 将spread序列化字符串保存到数据库
*/
......
......@@ -15,6 +15,7 @@ import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.nutz.mvc.view.HttpServerResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
......@@ -27,6 +28,7 @@ import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.common.POIUtil;
import pwc.taxtech.atms.common.message.ErrorMessage;
import pwc.taxtech.atms.common.util.DataUtil;
import pwc.taxtech.atms.common.util.FileExcelUtil;
import pwc.taxtech.atms.common.util.MyAsserts;
import pwc.taxtech.atms.common.util.SpringContextUtil;
import pwc.taxtech.atms.constant.Constant;
......@@ -51,6 +53,8 @@ import pwc.taxtech.atms.vat.entity.*;
import pwc.taxtech.atms.vat.service.impl.report.functions.FormulaHelper;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.math.BigDecimal;
import java.net.URISyntaxException;
......@@ -68,7 +72,7 @@ public class ReportServiceImpl extends BaseService {
private final static Logger logger = LoggerFactory.getLogger(ReportServiceImpl.class);
private BlockingQueue<PeriodJob> queue = new LinkedBlockingQueue<>();
private final static String[] functions = {"SGSR", "FSJZ", "ND", "BB", "XXFP", "GZSD", "PC", "JXFPMX",
"JXFP", "PSUM", "DFFS", "JFFS", "WPSR", "WPNAME", "WPTYPE", "SUM2", "RSUMIF", "SUM", "KPSR","TBM"};
"JXFP", "PSUM", "DFFS", "JFFS", "WPSR", "WPNAME", "WPTYPE", "SUM2", "RSUMIF", "SUM", "KPSR", "TBM"};
@Autowired
private ReportGeneratorImpl reportGenerator;
......@@ -2213,11 +2217,10 @@ public class ReportServiceImpl extends BaseService {
}
@Resource
private PwcReportAttachMapper pwcReportAttachMapper;
public void bindPwcAttach(Long activeCol, Long activeRow, String activeTemplateId, FileUpload file, String remarks) {
public PwcReportAttach bindPwcAttach(Long activeCol, Long activeRow, String activeTemplateId, FileUpload file, String remarks) {
PwcReportAttach pwcReportAttach = new PwcReportAttach();
pwcReportAttach.setCol(activeCol);
pwcReportAttach.setCreateTime(file.getCreateTime());
......@@ -2230,6 +2233,7 @@ public class ReportServiceImpl extends BaseService {
pwcReportAttach.setRemarks(remarks);
pwcReportAttachMapper.insert(pwcReportAttach);
System.out.println("==>>>附件绑定成功");
return pwcReportAttach;
}
public List<PwcReportAttach> loadAttachList(ReportAttachDto param) {
......@@ -2377,7 +2381,7 @@ public class ReportServiceImpl extends BaseService {
*
* @param requestParameterDto
*/
public void manyExport(RequestParameterDto requestParameterDto, String zipFileName) throws URISyntaxException {
public void manyExport(RequestParameterDto requestParameterDto, String zipFileName, HttpServletRequest request, HttpServletResponse response, String zipPath) throws URISyntaxException {
try {
FileOutputStream out = new FileOutputStream(zipFileName);//要输出的文件名字
} catch (FileNotFoundException e) {
......@@ -2395,7 +2399,6 @@ public class ReportServiceImpl extends BaseService {
filePath = this.getClass().getResource("").toURI().getPath();
String tempPath = filePath.substring(0, filePath.indexOf("classes") + "\\classes".length());
templateFile = new File(tempPath + templatePath);
OutputStream out = null;
//获取当前期间进行过保存更新的机构的数据
EbitCellDataExample example = new EbitCellDataExample();
EbitCellDataExample.Criteria criteria = example.createCriteria();
......@@ -2449,16 +2452,17 @@ public class ReportServiceImpl extends BaseService {
}
}
workbooksList.add(workbook);
//将workbook生成file文件
String path = "\\\\zipDir\\\\" + requestParameterDto.getPeriod() + Math.random() + "利润表";
FileExcelUtil.downloadZip(request, response, zipFileName, FileExcelUtil.generateExcelToPath(workbook, path), zipPath);
}
//将workbook转成流
/* ByteArrayOutputStream bos = new ByteArrayOutputStream();
workbook.write(bos);
byte[] barray = bos.toByteArray();
InputStream is = new ByteArrayInputStream(barray);*/
// FileOutputStream fileOut = new FileOutputStream(path);
// FileOutputStream fileOut = new FileOutputStream(path);
} catch (IOException e) {
e.printStackTrace();
......
......@@ -5,10 +5,13 @@ import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.ValueEval;
import org.apache.poi.ss.formula.functions.FreeRefFunction;
import pwc.taxtech.atms.common.util.SpringContextUtil;
import pwc.taxtech.atms.constant.enums.FormulaDataSourceDetailType;
import pwc.taxtech.atms.dto.vatdto.RSUMIFParasBo;
import pwc.taxtech.atms.vat.entity.PeriodFormulaBlock;
import pwc.taxtech.atms.vat.service.impl.FormulaAgent;
import java.util.Calendar;
import java.util.Date;
import java.math.BigDecimal;
import java.util.*;
/// <summary>
......@@ -26,6 +29,7 @@ public class ND extends FunctionBase implements FreeRefFunction {
@Override
public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {
List<Object> dataSource = new ArrayList<>();
Calendar calendar = Calendar.getInstance();
Date creatTime = calendar.getTime();
int value = getIntParam(args[0], ec);
......@@ -34,7 +38,7 @@ public class ND extends FunctionBase implements FreeRefFunction {
String formulaExpression = "ND(" + value + ")";
value = value + currentYear;
logger.debug(formulaExpression);
PeriodFormulaBlock periodFormulaBlock = new PeriodFormulaBlock();
/* PeriodFormulaBlock periodFormulaBlock = new PeriodFormulaBlock();
periodFormulaBlock.setId(SpringContextUtil.distributedIdService.nextId());
periodFormulaBlock.setPeriod(formulaContext.getPeriod());
periodFormulaBlock.setReportId(0L);
......@@ -45,7 +49,12 @@ public class ND extends FunctionBase implements FreeRefFunction {
periodFormulaBlock.setCreateTime(creatTime);
periodFormulaBlock.setUpdateTime(creatTime);
periodFormulaBlock.setUpdateBy("Admin");
SpringContextUtil.formulaBlockMapper.insertSelective(periodFormulaBlock);
SpringContextUtil.formulaBlockMapper.insertSelective(periodFormulaBlock);*/
Long dataSourceId = saveDataSource(ec, Collections.singletonList(dataSource),
FormulaDataSourceDetailType.AssetDetailDataSourceDto,
new BigDecimal(value), formulaContext.getPeriod(), formulaContext.getReportTemplateGroupId(), formulaContext.getProjectId());
saveFormulaBlock(0, ec, formulaExpression, new BigDecimal(value), dataSourceId, formulaContext.getProjectId());
return new NumberEval(value);
}
}
\ No newline at end of file
......@@ -9,6 +9,7 @@ import pwc.taxtech.atms.constant.enums.FormulaDataSourceDetailType;
import pwc.taxtech.atms.constant.enums.FormulaDataSourceType;
import pwc.taxtech.atms.dto.TableRule;
import pwc.taxtech.atms.dto.vatdto.RSUMIFParasBo;
import pwc.taxtech.atms.dto.vatdto.ReportCellDataSourceDto;
import pwc.taxtech.atms.dto.vatdto.ReportCellTableSUMIFDataSourceDto;
import pwc.taxtech.atms.exception.Exceptions;
import pwc.taxtech.atms.vat.service.impl.FormulaAgent;
......
......@@ -63,7 +63,7 @@
<!--@Html.AntiForgeryToken()-->
<div class="wrapper">
<app-nav></app-nav>
<div class="page-wrapper" style="position:relative;overflow-x:hidden;margin-top:55px">
<div class="page-wrapper" style="position:relative;overflow:scroll;margin-top:55px">
<div class="main-contents" ui-view></div>
<div class="data-import-contents" ui-view="importContent"></div><!--style="display: none"-->
</div>
......
......@@ -2,8 +2,8 @@
<!--Report SpreadJS-->
<div class="row" style=" height: 71px; background: #ccc;">
<div class="col-sm-7" style=" margin-top: 20px;">
<div class="col-sm-6">
<span class="text-bold" translate="SelectedOrganization" style=" top: -11px; position: relative;">:</span>
<div class="col-sm-8">
<span class="text-bold" translate="SelectedOrganization" style=" top: -11px; position: relative; width: 320px;">:</span>
<!-- <div id="dx-select-industry" class="tab-content-select industry " style=" display: inline-block;"
dx-select-box="dataSourceIndustryList" dx-item-alias="itemObj">
<div data-options="dxTemplate: { name: 'orgList' }" class="dx-item-content dx-list-item-content"
......@@ -13,7 +13,7 @@
</div>-->
<div dx-tag-box="selectOrgOptions" style="width: 340px;display: inline-block"></div>
</div>
<div class="col-sm-6" class="dateClass">
<div class="col-sm-4" class="dateClass">
<span class="text-bold" translate="InvoiceQJ">:</span>
<div style=" display: inline-block;">
<input type="text" id="ebitDatepacker" class="datepicker" style="width:120px;height: 34px;"
......
......@@ -2487,7 +2487,7 @@
{
caption: '文件名', dataField: "fileName", cellTemplate: function (container, options) {
try {
$('<a href="'+options.data.fileUrl+'" target="_blank" style="cursor: pointer">"' + options.data.fileName + '"</a>&nbsp;&nbsp;')
$('<a href="'+options.data.fileUrl+'" target="_blank" style="cursor: pointer">"' + options.data.fileName + '"</a>&nbsp;&nbsp;')
.appendTo(container);
}
catch (e) {
......@@ -2502,7 +2502,7 @@
{
caption: '操作', cellTemplate: function (container, options) {
try {
$('<button type="button" class="btn btn-in-grid" onclick = "deleteAttach(' + options.data.id + ')"><i class="material-icons middle" style="vertical-align: text-bottom">delete</i>删除</button>&nbsp;&nbsp;')
$('<button type="button" class="btn btn-in-grid" style="margin-top: -11px;" onclick = "deleteAttach(' + options.data.id + ')"><i class="material-icons middle" style="vertical-align: text-bottom">delete</i>删除</button>&nbsp;&nbsp;')
.appendTo(container);
}
catch (e) {
......@@ -2665,10 +2665,9 @@
console.log('progress: ' + progressPercentage + '% ');
}).success(function (data, status, headers, config) {
if (data.resultMsg) {
SweetAlert.error(data.resultMsg)
return;
SweetAlert.info(data.resultMsg)
refreshAttachData(data);
}
refreshAttachData(data);
}).error(function (data, status, headers, config) {
$('#addCellAttachmentContainer').modal('hide');
SweetAlert.error(status + '错误' + ",上传失败")
......
......@@ -22,8 +22,8 @@
<!--{{'ModelAnalysisResults' | translate}}</span>-->
<span ng-show="detail.validationErrorList && detail.validationErrorList.length > 0" ng-model="tabType"
uib-btn-radio="3"><i class="fa fa-exclamation-circle red-color"></i>{{'ReportCheckResult' | translate}}</span>
<span ng-model="tabType" uib-btn-radio="4">{{'cellComment'|translate}}</span>
<span ng-model="tabType" uib-btn-radio="5" ng-click = "loadAttach()">{{'RelatedAttach'|translate}} dsdsdsdssd</span>
<!-- <span ng-model="tabType" uib-btn-radio="4">{{'cellComment'|translate}}</span>-->
<span ng-model="tabType" uib-btn-radio="5" ng-click = "loadAttach()">{{'RelatedAttach'|translate}} </span>
</div>
<div class="content-info" ng-show="tabType === 1">
......
......@@ -2514,10 +2514,9 @@
console.log('progress: ' + progressPercentage + '% ');
}).success(function (data, status, headers, config) {
if (data.resultMsg) {
SweetAlert.error(data.resultMsg)
return;
SweetAlert.info(data.resultMsg)
refreshAttachData(data);
}
refreshAttachData(data);
}).error(function (data, status, headers, config) {
$('#addCellAttachmentContainer').modal('hide');
SweetAlert.error(status + '错误' + ",上传失败")
......
......@@ -22,7 +22,7 @@
<!--{{'ModelAnalysisResults' | translate}}</span>-->
<span ng-show="detail.validationErrorList && detail.validationErrorList.length > 0" ng-model="tabType"
uib-btn-radio="3"><i class="fa fa-exclamation-circle red-color"></i>{{'ReportCheckResult' | translate}}</span>
<span ng-model="tabType" uib-btn-radio="4">{{'cellComment'|translate}}</span>
<!-- <span ng-model="tabType" uib-btn-radio="4">{{'cellComment'|translate}}</span>-->
<span ng-model="tabType" uib-btn-radio="5" ng-click = "loadAttach()">{{'RelatedAttach'|translate}}</span>
</div>
......
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