导出总表
parent
31e5b24ef2
commit
ca92a9a7fa
|
@ -7,12 +7,14 @@ import cn.palmte.work.service.*;
|
|||
import cn.palmte.work.utils.FreeMarkerUtil;
|
||||
import cn.palmte.work.utils.InterfaceUtil;
|
||||
import cn.palmte.work.utils.Utils;
|
||||
import cn.palmte.work.utils.excel.ExportExcelUtils;
|
||||
import cn.palmte.work.utils.excel.ExportUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -25,7 +27,9 @@ import org.springframework.web.bind.annotation.*;
|
|||
import top.jfunc.common.db.bean.Page;
|
||||
import top.jfunc.common.utils.CollectionUtil;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -44,6 +48,9 @@ public class ProjectController extends BaseController {
|
|||
private static final String PROJECT_ID = "projectId";
|
||||
private static final String DETAILS = "details";
|
||||
|
||||
private static final int PROJECT_BASE = 19;
|
||||
private static final int PROJECT_OTHER = 11;
|
||||
|
||||
@Autowired
|
||||
private DeptService deptService;
|
||||
@Autowired
|
||||
|
@ -115,6 +122,48 @@ public class ProjectController extends BaseController {
|
|||
httpServletResponse.getOutputStream(), (pN, pS) -> projectService.list(searchInfo, pN, pS).getList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目导出
|
||||
*/
|
||||
@RequestMapping("/exportAll")
|
||||
public void exportAll(HttpServletResponse response, Integer id) throws IOException {
|
||||
Project project = projectRepository.findOne(id);
|
||||
// downloadHeader(httpServletResponse, Utils.generateExcelName("项目信息总表"), "application/vnd.ms-excel");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=".concat(Utils.generateExcelName("项目信息总表")));
|
||||
// response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + java.net.URLEncoder.encode("项目信息总表", "UTF-8"));
|
||||
response.setHeader("Connection", "close");
|
||||
response.setHeader("Content-Type", "application/vnd.ms-excel");
|
||||
ServletOutputStream outputStream = response.getOutputStream();
|
||||
ExportExcelUtils exportExcelUtils = new ExportExcelUtils();
|
||||
String[] headers0 = {"部门名称", "项目编号", "项目名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "项目把握度", "行业场景应用", "客户名称", "终端客户名称", "合同金额", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "价值及风险"};
|
||||
String[] columns0 = {"deptName", "projectNo", "name", "typeDesc", "startDate", "endDate", "underwrittenModeDesc", "certainty", "industryScenario", "customer", "terminalCustomer", "contractAmount", "grossProfit", "grossProfitMargin", "huazhiProductAmount", "huizhiProductAmount", "huasanProductAmount", "ziguangOtherAmount", "valueRisk"};
|
||||
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目基本信息", outputStream);
|
||||
String[] headers1 = {"项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "项目解决方案", "垫资利息", "垫资峰值", "主合同收款条款", "主合具体解决方案", "计收计划"};
|
||||
String[] columns1 = {"principal", "contractTime", "bidsTime", "isSecond", "signType", "resolvePlan", "advanceInterestAmount", "advancePeakAmount", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection"};
|
||||
exportExcelUtils.exportProjectExcel(headers1, columns1, project, "yyyy-MM-dd", 0, "项目其他信息", outputStream);
|
||||
BudgetBean budgetBean = projectBudgetService.getBudget(project);
|
||||
if (project.getStatus() < 5) {
|
||||
exportExcelUtils.end(outputStream);
|
||||
return;
|
||||
}
|
||||
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
|
||||
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
|
||||
exportExcelUtils.exportBudgetExcel(budgetBean, cashFlowBean, 0, "项目预算信息", outputStream, project.getOtherName());
|
||||
List<String> timeList = projectSettleIncomeRepository.findAllByProjectIdAndGroupByTime(project.getId());
|
||||
for (String time : timeList) {
|
||||
SettleBean settleBean = projectSettleService.getMonthSettle(project, time);
|
||||
FormerBean formerBean = projectSettleService.getFormerSettle(project, time);
|
||||
FormerBean currentBean = projectSettleService.getCurrentSettleBytime(project, time);
|
||||
exportExcelUtils.exportSettleExcel(budgetBean, cashFlowBean, formerBean, settleBean, currentBean, 0, "项目结算信息" + time, outputStream, project.getOtherName());
|
||||
}
|
||||
FinalBean finalBean = projectFinalSevice.getFinal(project);
|
||||
if (project.getStatus() >= 15) {
|
||||
FormerBean settleBean = projectSettleService.getCurrentSettle(project, "");
|
||||
exportExcelUtils.exportFinalExcel(budgetBean, cashFlowBean, settleBean, finalBean, 0, "项目决算信息", outputStream, project.getOtherName());
|
||||
}
|
||||
exportExcelUtils.end(outputStream);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增,至项目概算
|
||||
|
|
|
@ -182,6 +182,48 @@ public class Project {
|
|||
@Column(name = "plan_end_str")
|
||||
private String planEndStr;
|
||||
|
||||
@Transient
|
||||
private String underwrittenModeDesc;
|
||||
|
||||
@Transient
|
||||
private String certainty;
|
||||
|
||||
@Transient
|
||||
private BigDecimal grossProfit;
|
||||
|
||||
@Transient
|
||||
private BigDecimal grossProfitMargin;
|
||||
|
||||
@Transient
|
||||
private BigDecimal huizhiProductAmount;
|
||||
|
||||
@Transient
|
||||
private BigDecimal huasanProductAmount;
|
||||
|
||||
@Transient
|
||||
private String principal;
|
||||
|
||||
@Transient
|
||||
private Date contractTime;
|
||||
|
||||
@Transient
|
||||
private Date bidsTime;
|
||||
|
||||
@Transient
|
||||
private String isSecondStr;
|
||||
|
||||
@Transient
|
||||
private String signTypeStr;
|
||||
|
||||
@Transient
|
||||
private String resolvePlanStr;
|
||||
|
||||
@Transient
|
||||
private String mainContractResolvePlan;
|
||||
|
||||
@Transient
|
||||
private String CalculationCollection;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
@ -501,4 +543,116 @@ public class Project {
|
|||
public void setPlanEndStr(String planEndStr) {
|
||||
this.planEndStr = planEndStr;
|
||||
}
|
||||
|
||||
public String getUnderwrittenModeDesc() {
|
||||
return underwrittenModeDesc;
|
||||
}
|
||||
|
||||
public void setUnderwrittenModeDesc(String underwrittenModeDesc) {
|
||||
this.underwrittenModeDesc = underwrittenModeDesc;
|
||||
}
|
||||
|
||||
public String getCertainty() {
|
||||
return certainty;
|
||||
}
|
||||
|
||||
public void setCertainty(String certainty) {
|
||||
this.certainty = certainty;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfit() {
|
||||
return grossProfit;
|
||||
}
|
||||
|
||||
public void setGrossProfit(BigDecimal grossProfit) {
|
||||
this.grossProfit = grossProfit;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitMargin() {
|
||||
return grossProfitMargin;
|
||||
}
|
||||
|
||||
public void setGrossProfitMargin(BigDecimal grossProfitMargin) {
|
||||
this.grossProfitMargin = grossProfitMargin;
|
||||
}
|
||||
|
||||
public BigDecimal getHuizhiProductAmount() {
|
||||
return huizhiProductAmount;
|
||||
}
|
||||
|
||||
public void setHuizhiProductAmount(BigDecimal huizhiProductAmount) {
|
||||
this.huizhiProductAmount = huizhiProductAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getHuasanProductAmount() {
|
||||
return huasanProductAmount;
|
||||
}
|
||||
|
||||
public void setHuasanProductAmount(BigDecimal huasanProductAmount) {
|
||||
this.huasanProductAmount = huasanProductAmount;
|
||||
}
|
||||
|
||||
public String getPrincipal() {
|
||||
return principal;
|
||||
}
|
||||
|
||||
public void setPrincipal(String principal) {
|
||||
this.principal = principal;
|
||||
}
|
||||
|
||||
public Date getContractTime() {
|
||||
return contractTime;
|
||||
}
|
||||
|
||||
public void setContractTime(Date contractTime) {
|
||||
this.contractTime = contractTime;
|
||||
}
|
||||
|
||||
public Date getBidsTime() {
|
||||
return bidsTime;
|
||||
}
|
||||
|
||||
public void setBidsTime(Date bidsTime) {
|
||||
this.bidsTime = bidsTime;
|
||||
}
|
||||
|
||||
public String getIsSecondStr() {
|
||||
return isSecondStr;
|
||||
}
|
||||
|
||||
public void setIsSecondStr(String isSecondStr) {
|
||||
this.isSecondStr = isSecondStr;
|
||||
}
|
||||
|
||||
public String getSignTypeStr() {
|
||||
return signTypeStr;
|
||||
}
|
||||
|
||||
public void setSignTypeStr(String signTypeStr) {
|
||||
this.signTypeStr = signTypeStr;
|
||||
}
|
||||
|
||||
public String getResolvePlanStr() {
|
||||
return resolvePlanStr;
|
||||
}
|
||||
|
||||
public void setResolvePlanStr(String resolvePlanStr) {
|
||||
this.resolvePlanStr = resolvePlanStr;
|
||||
}
|
||||
|
||||
public String getMainContractResolvePlan() {
|
||||
return mainContractResolvePlan;
|
||||
}
|
||||
|
||||
public void setMainContractResolvePlan(String mainContractResolvePlan) {
|
||||
this.mainContractResolvePlan = mainContractResolvePlan;
|
||||
}
|
||||
|
||||
public String getCalculationCollection() {
|
||||
return CalculationCollection;
|
||||
}
|
||||
|
||||
public void setCalculationCollection(String calculationCollection) {
|
||||
CalculationCollection = calculationCollection;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,4 +44,7 @@ public interface ProjectSettleIncomeRepository extends JpaRepository<ProjectSett
|
|||
|
||||
@Query(value = "select * from project_settle_income where project_id in ?1", nativeQuery = true)
|
||||
List<ProjectSettleIncome> findAllByProjectIds(List<Integer> projectInt);
|
||||
|
||||
@Query(value = "select time from project_settle_income where project_id = ?1 group by time order by time asc", nativeQuery = true)
|
||||
List<String> findAllByProjectIdAndGroupByTime(int id);
|
||||
}
|
||||
|
|
|
@ -847,4 +847,8 @@ public class ProjectBudgetService {
|
|||
//资金计划明细
|
||||
clearBudgetPlanDetail(p);
|
||||
}
|
||||
|
||||
public void findAll(Project project) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ public class ShiroConfig {
|
|||
// 这个参数是cookie的名称,对应前端的checkbox 的name = rememberMe
|
||||
SimpleCookie simpleCookie = new SimpleCookie("rememberMe");
|
||||
// <!-- 记住我cookie生效时间30天(259200) ,单位秒;-->
|
||||
simpleCookie.setMaxAge(1800);
|
||||
simpleCookie.setMaxAge(259200);
|
||||
return simpleCookie;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,823 @@
|
|||
package cn.palmte.work.utils.excel;
|
||||
|
||||
import cn.palmte.work.bean.*;
|
||||
import cn.palmte.work.model.Project;
|
||||
import cn.palmte.work.utils.DateKit;
|
||||
import cn.palmte.work.utils.ObjectKit;
|
||||
import cn.palmte.work.utils.Utils;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.xssf.streaming.SXSSFSheet;
|
||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import top.jfunc.common.db.bean.Record;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* created by Yuanping Zhang
|
||||
* 2022/08/01
|
||||
*/
|
||||
public class ExportExcelUtils {
|
||||
private XSSFWorkbook workbook;
|
||||
private CellStyle style2; // 内容样式
|
||||
private CellStyle style; // 标题样式
|
||||
public ExportExcelUtils(){
|
||||
workbook = new XSSFWorkbook();
|
||||
style = workbook.createCellStyle();
|
||||
// 设置这些样式
|
||||
style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex());
|
||||
style.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex());
|
||||
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||
style.setBorderBottom(BorderStyle.THIN);
|
||||
style.setBorderLeft(BorderStyle.THIN);
|
||||
style.setBorderRight(BorderStyle.THIN);
|
||||
style.setBorderTop(BorderStyle.THIN);
|
||||
style.setAlignment(HorizontalAlignment.CENTER);
|
||||
// 生成一个字体
|
||||
Font font = workbook.createFont();
|
||||
font.setBold(false);
|
||||
// 把字体应用到当前的样式
|
||||
style.setFont(font);
|
||||
|
||||
style2 = workbook.createCellStyle();
|
||||
style2.setFillForegroundColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex());
|
||||
style2.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex());
|
||||
style2.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||
style2.setBorderBottom(BorderStyle.THIN);
|
||||
style2.setBorderLeft(BorderStyle.THIN);
|
||||
style2.setBorderRight(BorderStyle.THIN);
|
||||
style2.setBorderTop(BorderStyle.THIN);
|
||||
style2.setAlignment(HorizontalAlignment.LEFT);
|
||||
style2.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||
// 生成另一个字体
|
||||
Font font2 = workbook.createFont();
|
||||
font2.setBold(false);
|
||||
// 把字体应用到当前的样式
|
||||
style2.setFont(font2);
|
||||
|
||||
// // 产生表格标题行
|
||||
// Row row = sheet.createRow(0);
|
||||
// for(short i = 0; i < headers.length; i++){
|
||||
// Cell cell = row.createCell(i);
|
||||
// cell.setCellStyle(style);
|
||||
// cell.setCellType(CellType.STRING);
|
||||
// cell.setCellValue(headers[i]);
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目管理项目基本信息与其他信息工作簿
|
||||
*
|
||||
* @param pattern
|
||||
* 如果有时间数据,设定输出格式。默认为"yyyy-MM-dd"
|
||||
* @param rowIndex
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
public void exportProjectExcel(String[] headers, String[] columns, Project project, String pattern, int rowIndex, String sheetName, OutputStream outputStream) throws IOException{
|
||||
// 遍历集合数据,产生数据行
|
||||
int index = rowIndex;
|
||||
XSSFSheet sheet = workbook.createSheet(sheetName);
|
||||
sheet.setDefaultColumnWidth((short)20);
|
||||
Font font3 = workbook.createFont();
|
||||
font3.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex());
|
||||
for (int i = 0; i < columns.length; i++){
|
||||
Row row = sheet.createRow(index++);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue(headers[i]);
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
Object value = ObjectKit.get(project, columns[i]);
|
||||
if(value == null){
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
}else{
|
||||
if(value instanceof Integer){
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue((int)value);
|
||||
} else if(value instanceof Long){
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue((long)value);
|
||||
} else if(value instanceof Double){
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue((double)value);
|
||||
} else if(value instanceof BigDecimal){
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(((BigDecimal)value)));
|
||||
} else if(value instanceof Date){
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
String date_str = DateKit.toStr((Date) value, pattern);
|
||||
secondCell.setCellValue(date_str);
|
||||
} else{
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue(value.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void exportBudgetExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName) {
|
||||
// 遍历集合数据,产生数据行
|
||||
int index = rowIndex;
|
||||
XSSFSheet sheet = workbook.createSheet(sheetName);
|
||||
sheet.setDefaultColumnWidth((short)20);
|
||||
Font font3 = workbook.createFont();
|
||||
font3.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex());
|
||||
// 收入
|
||||
Row incomeRow = sheet.createRow(index++);
|
||||
createTitleRow(incomeRow, "收入");
|
||||
index = createIncomeRow(budgetBean, sheet, index);
|
||||
index = index + 3;
|
||||
// 成本
|
||||
Row costRow = sheet.createRow(index++);
|
||||
createTitleRow(costRow, "成本");
|
||||
index = createCostRow(budgetBean, sheet, index, otherName);
|
||||
index = index + 3;
|
||||
// 管理
|
||||
Row manageRow = sheet.createRow(index++);
|
||||
createTitleRow(manageRow, "管理");
|
||||
index = createManageRow(budgetBean, sheet, index);
|
||||
index = index + 3;
|
||||
// 利润率计算
|
||||
Row profitRow = sheet.createRow(index++);
|
||||
createTitleRow(profitRow, "利润率计算");
|
||||
index = createProfitRow(budgetBean, sheet, index);
|
||||
index = index + 3;
|
||||
// 现金流量表
|
||||
Row cashFLowRow = sheet.createRow(index++);
|
||||
createTitleRow(cashFLowRow, "现金流量表");
|
||||
createCashFlowRow(cashFlowBean, sheet, index);
|
||||
}
|
||||
|
||||
|
||||
private void createTitleRow(Row row, String titleName) {
|
||||
Cell cell = row.createCell(0);
|
||||
cell.setCellStyle(style);
|
||||
cell.setCellType(CellType.STRING);
|
||||
cell.setCellValue(titleName);
|
||||
}
|
||||
|
||||
private int createIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
createSubTitleIncomeRow(sheet, index++);
|
||||
createDeviceIncomeRow(budgetBean, sheet, index++);
|
||||
createEngineerIncomeRow(budgetBean, sheet, index++);
|
||||
createServiceIncomeRow(budgetBean, sheet, index++);
|
||||
createTotalIncomeRow(budgetBean, sheet, index++);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleIncomeRow(XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("费用");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("含税金额(元)");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style);
|
||||
fourthCell.setCellType(CellType.STRING);
|
||||
fourthCell.setCellValue("不含税金额(元)");
|
||||
}
|
||||
|
||||
private void createDeviceIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("设备类");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getIncomeDeviceTaxInclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeDeviceTaxExclude()));
|
||||
}
|
||||
|
||||
private void createEngineerIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("工程类");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getIncomeEngineerTaxInclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeEngineerTaxExclude()));
|
||||
}
|
||||
|
||||
private void createServiceIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("服务类");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getIncomeServiceTaxInclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeServiceTaxExclude()));
|
||||
}
|
||||
|
||||
private void createTotalIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("合计");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxInclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxExclude()));
|
||||
}
|
||||
|
||||
private int createCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName) {
|
||||
createSubTitleCostRow(sheet, index++);
|
||||
createDeviceCostRow(budgetBean, sheet, index++);
|
||||
createEngineerCostRow(budgetBean, sheet, index++);
|
||||
createServiceCostRow(budgetBean, sheet, index++);
|
||||
createOtherCostRow(budgetBean, sheet, index++);
|
||||
createManageCostRow(budgetBean, sheet, index++);
|
||||
createOtherRow(budgetBean, sheet, index++, otherName);
|
||||
createTotalCostRow(budgetBean, sheet, index++);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleCostRow(XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("费用");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("费用项目");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style);
|
||||
fourthCell.setCellType(CellType.STRING);
|
||||
fourthCell.setCellValue("含税金额(元)");
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style);
|
||||
fifthCell.setCellType(CellType.STRING);
|
||||
fifthCell.setCellValue("不含税金额(元)");
|
||||
}
|
||||
|
||||
private void createDeviceCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("采购成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("设备");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseDeviceTaxInclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseDeviceTaxExclude()));
|
||||
}
|
||||
|
||||
private void createEngineerCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("采购成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("施工");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseBuildTaxInclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseBuildTaxExclude()));
|
||||
}
|
||||
|
||||
private void createServiceCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("采购成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("服务");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseServiceTaxInclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseServiceTaxExclude()));
|
||||
}
|
||||
|
||||
private void createOtherCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("采购成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("其他");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseOtherTaxInclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseOtherTaxExclude()));
|
||||
}
|
||||
|
||||
private void createManageCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("项目管理成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("项目管理成本");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostProjectManageTaxInclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(budgetBean.getCostProjectManageTaxExclude()));
|
||||
}
|
||||
|
||||
private void createOtherRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("其他");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue(otherName);
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostOtherOtherTaxInclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(budgetBean.getCostOtherOtherTaxExclude()));
|
||||
}
|
||||
|
||||
private void createTotalCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("合计");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxInclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxExclude()));
|
||||
}
|
||||
|
||||
private int createManageRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
createSubTitleManageRow(sheet, index++);
|
||||
createExpropriationRow(budgetBean, sheet, index++);
|
||||
createCompanyManageRow(budgetBean, sheet, index++);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleManageRow(XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("费用项目");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("不含税金额(元)");
|
||||
}
|
||||
|
||||
private void createExpropriationRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("财务费用");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("资金占用成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getCostExpropriationTaxExclude()));
|
||||
}
|
||||
|
||||
private void createCompanyManageRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("公司管理费用");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getCostCompanyManageTaxExclude()));
|
||||
}
|
||||
|
||||
private int createProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
createSubTitleProfitRow(sheet, index++);
|
||||
createGrossProfitRow(budgetBean, sheet, index++);
|
||||
createGrossProfitMarginRow(budgetBean, sheet, index++);
|
||||
createContributionProfitRow(budgetBean, sheet, index++);
|
||||
createContributionProfitRateRow(budgetBean, sheet, index++);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleProfitRow(XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
}
|
||||
|
||||
private void createGrossProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("项目毛利(元)");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfit()));
|
||||
}
|
||||
|
||||
private void createGrossProfitMarginRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("项目毛利率(%)");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitRate()));
|
||||
}
|
||||
|
||||
private void createContributionProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("项目贡献利润(元)");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfit()));
|
||||
}
|
||||
|
||||
private void createContributionProfitRateRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("项目贡献利润率(%)");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfitRate()));
|
||||
}
|
||||
|
||||
|
||||
private int createCashFlowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
createSubTitleCashFlowRow(sheet, index++);
|
||||
createSaleIncomeCashRow(cashFlowBean, sheet, index++);
|
||||
createTaxReturnRow(cashFlowBean, sheet, index++);
|
||||
createEarnestMoneyIncomeRow(cashFlowBean, sheet, index++);
|
||||
createPurchaseCostRow(cashFlowBean, sheet, index++);
|
||||
createTaxCostRow(cashFlowBean, sheet, index++);
|
||||
createEarnestMoneyCostRow(cashFlowBean, sheet, index++);
|
||||
createNetCashFlowRow(cashFlowBean, sheet, index++);
|
||||
createCashInflowFromInvestingActivitiesRow(cashFlowBean, sheet, index++);
|
||||
createCashOutflowFromInvestingActivitiesRow(cashFlowBean, sheet, index++);
|
||||
createNetCashFromInvestingActivitiesRow(cashFlowBean, sheet, index++);
|
||||
createFinancingCapitalInflowRow(cashFlowBean, sheet, index++);
|
||||
createFinancingCapitalOutflowRow(cashFlowBean, sheet, index++);
|
||||
createFinancingCapitalCashflowRow(cashFlowBean, sheet, index++);
|
||||
createNetIncreaseMonetaryFundsRow(cashFlowBean, sheet, index++);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleCashFlowRow(XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("金额(元)");
|
||||
}
|
||||
|
||||
private void createSaleIncomeCashRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("销售商品、提供劳务收到的现金");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getSaleIncomeCash()));
|
||||
}
|
||||
|
||||
private void createTaxReturnRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收到的税费返还");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
}
|
||||
|
||||
private void createEarnestMoneyIncomeRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收到其他与经营活动有关的现金");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyIncome()));
|
||||
}
|
||||
|
||||
private void createPurchaseCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("购买商品、接受劳务支付的现金");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getPurchaseCost()));
|
||||
}
|
||||
|
||||
private void createTaxCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("支付的各项税费");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
}
|
||||
|
||||
private void createEarnestMoneyCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("支付其他与经营活动有关的现金");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyCost()));
|
||||
}
|
||||
|
||||
private void createNetCashFlowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("经营活动产生的现金流量净额");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getNetCashFlow()));
|
||||
}
|
||||
|
||||
private void createCashInflowFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("投资活动现金流入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
}
|
||||
|
||||
private void createCashOutflowFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("投资活动现金流出");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
}
|
||||
|
||||
private void createNetCashFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("投资活动产生的现金流量净额");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
}
|
||||
|
||||
private void createFinancingCapitalInflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("融资资金流入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalInflow()));
|
||||
}
|
||||
|
||||
private void createFinancingCapitalOutflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("还款资金流出");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalOutflow()));
|
||||
}
|
||||
|
||||
private void createFinancingCapitalCashflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("筹资活动产生的现金流量净额");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalCashflow()));
|
||||
}
|
||||
|
||||
private void createNetIncreaseMonetaryFundsRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("货币资金净增加额");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds()));
|
||||
}
|
||||
|
||||
public void exportSettleExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean formerBean, SettleBean settleBean, FormerBean currentBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName) {
|
||||
ExportSettleExcelUtils exportSettleExcelUtils = new ExportSettleExcelUtils();
|
||||
exportSettleExcelUtils.exportSettleExcel(budgetBean, cashFlowBean, formerBean, settleBean, currentBean, rowIndex, sheetName, outputStream, otherName, workbook, style, style2);
|
||||
}
|
||||
|
||||
public void exportFinalExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName) {
|
||||
ExportFinalExcelUtils exportFinalExcelUtils = new ExportFinalExcelUtils();
|
||||
exportFinalExcelUtils.exportFinalExcel(budgetBean, cashFlowBean, settleBean, finalBean, rowIndex, sheetName, outputStream, otherName, workbook, style, style2);
|
||||
}
|
||||
|
||||
public void end(OutputStream out) throws IOException {
|
||||
workbook.write(out);
|
||||
out.flush();
|
||||
workbook.close();
|
||||
out.close();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,949 @@
|
|||
package cn.palmte.work.utils.excel;
|
||||
|
||||
import cn.palmte.work.bean.*;
|
||||
import cn.palmte.work.utils.Utils;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
|
||||
public class ExportFinalExcelUtils {
|
||||
|
||||
public void exportFinalExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName, XSSFWorkbook workbook, CellStyle style, CellStyle style2) {
|
||||
// 遍历集合数据,产生数据行
|
||||
int index = rowIndex;
|
||||
XSSFSheet sheet = workbook.createSheet(sheetName);
|
||||
sheet.setDefaultColumnWidth((short)20);
|
||||
Font font3 = workbook.createFont();
|
||||
font3.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex());
|
||||
// 收入
|
||||
Row incomeRow = sheet.createRow(index++);
|
||||
createTitleRow(incomeRow, "收入", style);
|
||||
index = createIncomeRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index, style, style2);
|
||||
index = index + 3;
|
||||
// 成本
|
||||
Row costRow = sheet.createRow(index++);
|
||||
createTitleRow(costRow, "成本", style);
|
||||
index = createCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index, otherName, style, style2);
|
||||
index = index + 3;
|
||||
// 管理
|
||||
Row manageRow = sheet.createRow(index++);
|
||||
createTitleRow(manageRow, "管理", style);
|
||||
index = createManageRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index, style, style2);
|
||||
index = index + 3;
|
||||
// 利润率计算
|
||||
Row profitRow = sheet.createRow(index++);
|
||||
createTitleRow(profitRow, "利润率计算", style);
|
||||
index = createProfitRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index, style, style2);
|
||||
index = index + 3;
|
||||
// 现金流量表
|
||||
Row cashFLowRow = sheet.createRow(index++);
|
||||
createTitleRow(cashFLowRow, "现金流量表", style);
|
||||
createCashFlowRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index, style, style2);
|
||||
}
|
||||
|
||||
|
||||
private void createTitleRow(Row row, String titleName, CellStyle style) {
|
||||
Cell cell = row.createCell(0);
|
||||
cell.setCellStyle(style);
|
||||
cell.setCellType(CellType.STRING);
|
||||
cell.setCellValue(titleName);
|
||||
}
|
||||
|
||||
private int createIncomeRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style, CellStyle style2) {
|
||||
createSubTitleIncomeRow(sheet, index++, style);
|
||||
createDeviceIncomeRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createEngineerIncomeRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createServiceIncomeRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createTotalIncomeRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleIncomeRow(XSSFSheet sheet, int index, CellStyle style) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("费用");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("预算总额(元)");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style);
|
||||
fourthCell.setCellType(CellType.STRING);
|
||||
fourthCell.setCellValue("结算总额(元)");
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style);
|
||||
fifthCell.setCellType(CellType.STRING);
|
||||
fifthCell.setCellValue("决算总额(元)");
|
||||
}
|
||||
|
||||
private void createDeviceIncomeRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("设备类");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getIncomeDeviceTaxExclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(settleBean.getIncomeDeviceTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getIncomeDeviceFinalTotal()));
|
||||
}
|
||||
|
||||
private void createEngineerIncomeRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("工程类");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getIncomeEngineerTaxExclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(settleBean.getIncomeEngineerTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getIncomeEngineerFinalTotal()));
|
||||
}
|
||||
|
||||
private void createServiceIncomeRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("服务类");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getIncomeServiceTaxExclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(settleBean.getIncomeServiceTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getIncomeServiceFinalTotal()));
|
||||
}
|
||||
|
||||
private void createTotalIncomeRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("合计");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxExclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(settleBean.getIncomeTotalTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getIncomeTotal()));
|
||||
}
|
||||
|
||||
private int createCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, String otherName, CellStyle style, CellStyle style2) {
|
||||
createSubTitleCostRow(sheet, index++, style);
|
||||
createDeviceCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createEngineerCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createServiceCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createOtherCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createManageCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createOtherRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, otherName, style2);
|
||||
createTotalCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleCostRow(XSSFSheet sheet, int index, CellStyle style) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("费用");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("费用项目");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style);
|
||||
fourthCell.setCellType(CellType.STRING);
|
||||
fourthCell.setCellValue("预算总额(元)");
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style);
|
||||
fifthCell.setCellType(CellType.STRING);
|
||||
fifthCell.setCellValue("结算总额(元)");
|
||||
Cell sixthCell = row.createCell(5);
|
||||
sixthCell.setCellStyle(style);
|
||||
sixthCell.setCellType(CellType.STRING);
|
||||
sixthCell.setCellValue("决算总额(元)");
|
||||
}
|
||||
|
||||
private void createDeviceCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("采购成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("设备");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseDeviceTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(settleBean.getCostPurchaseDeviceTaxExclude()));
|
||||
Cell sixthCell = row.createCell(5);
|
||||
sixthCell.setCellStyle(style2);
|
||||
sixthCell.setCellType(CellType.NUMERIC);
|
||||
sixthCell.setCellValue(Utils.format(finalBean.getCostPurchaseDeviceFinalTotal()));
|
||||
}
|
||||
|
||||
private void createEngineerCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("采购成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("施工");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseBuildTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(settleBean.getCostPurchaseBuildTaxExclude()));
|
||||
Cell sixthCell = row.createCell(5);
|
||||
sixthCell.setCellStyle(style2);
|
||||
sixthCell.setCellType(CellType.NUMERIC);
|
||||
sixthCell.setCellValue(Utils.format(finalBean.getCostPurchaseBuildFinalTotal()));
|
||||
}
|
||||
|
||||
private void createServiceCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("采购成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("服务");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseServiceTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(settleBean.getCostPurchaseServiceTaxExclude()));
|
||||
Cell sixthCell = row.createCell(5);
|
||||
sixthCell.setCellStyle(style2);
|
||||
sixthCell.setCellType(CellType.NUMERIC);
|
||||
sixthCell.setCellValue(Utils.format(finalBean.getCostPurchaseServiceFinalTotal()));
|
||||
}
|
||||
|
||||
private void createOtherCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("采购成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("其他");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseOtherTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(settleBean.getCostPurchaseOtherTaxExclude()));
|
||||
Cell sixthCell = row.createCell(5);
|
||||
sixthCell.setCellStyle(style2);
|
||||
sixthCell.setCellType(CellType.NUMERIC);
|
||||
sixthCell.setCellValue(Utils.format(finalBean.getCostPurchaseOtherFinalTotal()));
|
||||
}
|
||||
|
||||
private void createManageCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("项目管理成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("项目管理成本");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostProjectManageTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(settleBean.getCostProjectManageTaxExclude()));
|
||||
Cell sixthCell = row.createCell(5);
|
||||
sixthCell.setCellStyle(style2);
|
||||
sixthCell.setCellType(CellType.NUMERIC);
|
||||
sixthCell.setCellValue(Utils.format(finalBean.getCostProjectManageFinalTotal()));
|
||||
}
|
||||
|
||||
private void createOtherRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, String otherName, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("成本");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("其他");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue(otherName);
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostOtherOtherTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(settleBean.getCostOtherOtherTaxExclude()));
|
||||
Cell sixthCell = row.createCell(5);
|
||||
sixthCell.setCellStyle(style2);
|
||||
sixthCell.setCellType(CellType.NUMERIC);
|
||||
sixthCell.setCellValue(Utils.format(finalBean.getCostOtherFinalTotal()));
|
||||
}
|
||||
|
||||
private void createTotalCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("合计");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(settleBean.getCostTotalTaxExclude()));
|
||||
Cell sixthCell = row.createCell(5);
|
||||
sixthCell.setCellStyle(style2);
|
||||
sixthCell.setCellType(CellType.NUMERIC);
|
||||
sixthCell.setCellValue(Utils.format(finalBean.getCostTotal()));
|
||||
}
|
||||
|
||||
private int createManageRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style, CellStyle style2) {
|
||||
createSubTitleManageRow(sheet, index++, style);
|
||||
createExpropriationRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createCompanyManageRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createCostIncomeTaxRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleManageRow(XSSFSheet sheet, int index, CellStyle style) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("费用项目");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("预算总额(元)");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style);
|
||||
fourthCell.setCellType(CellType.STRING);
|
||||
fourthCell.setCellValue("结算总额(元)");
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style);
|
||||
fifthCell.setCellType(CellType.STRING);
|
||||
fifthCell.setCellValue("决算总额(元)");
|
||||
}
|
||||
|
||||
private void createExpropriationRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("财务费用");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("资金占用成本");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getCostExpropriationTaxExclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(settleBean.getCostExpropriationTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getCostExpropriationFinalTotal()));
|
||||
}
|
||||
|
||||
private void createCompanyManageRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("公司管理费用");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getCostCompanyManageTaxExclude()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(settleBean.getCostCompanyManageTaxExclude()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getCostCompanyManageFinalTotal()));
|
||||
}
|
||||
|
||||
private void createCostIncomeTaxRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("所得税费用");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("/");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(settleBean.getCostIncomeTax()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getCostIncomeTaxFinalTotal()));
|
||||
}
|
||||
|
||||
private int createProfitRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style, CellStyle style2) {
|
||||
createSubTitleProfitRow(sheet, index++, style);
|
||||
createGrossProfitRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
// createGrossProfitMarginRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createContributionProfitRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
// createContributionProfitRateRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createNetProfitRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleProfitRow(XSSFSheet sheet, int index, CellStyle style) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("预算总额(元)");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("结算总额(元)");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style);
|
||||
fourthCell.setCellType(CellType.STRING);
|
||||
fourthCell.setCellValue("决算总额(元)");
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style);
|
||||
fifthCell.setCellType(CellType.STRING);
|
||||
fifthCell.setCellValue("利润率(%)");
|
||||
}
|
||||
|
||||
private void createGrossProfitRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("项目毛利");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfit()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getProjectGrossProfit()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getGrossProfitFinalTotal()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getGrossProfitProfitMargin()));
|
||||
}
|
||||
|
||||
private void createContributionProfitRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("项目贡献利润");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfit()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getProjectContributionProfit()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getContributionMarginFinalTotal()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getContributionMarginProfitMargin()));
|
||||
}
|
||||
|
||||
private void createNetProfitRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("项目净利润");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getNetProfit()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getNetMarginFinalTotal()));
|
||||
Cell fifthCell = row.createCell(4);
|
||||
fifthCell.setCellStyle(style2);
|
||||
fifthCell.setCellType(CellType.NUMERIC);
|
||||
fifthCell.setCellValue(Utils.format(finalBean.getNetMarginProfitMargin()));
|
||||
}
|
||||
|
||||
|
||||
private int createCashFlowRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style, CellStyle style2) {
|
||||
createSubTitleCashFlowRow(sheet, index++, style);
|
||||
createSaleIncomeCashRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createTaxReturnRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createEarnestMoneyIncomeRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createPurchaseCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createTaxCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createEarnestMoneyCostRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createNetCashFlowRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createCashInflowFromInvestingActivitiesRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createCashOutflowFromInvestingActivitiesRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createNetCashFromInvestingActivitiesRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createFinancingCapitalInflowRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createFinancingCapitalOutflowRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createFinancingCapitalCashflowRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
createNetIncreaseMonetaryFundsRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2);
|
||||
return index;
|
||||
}
|
||||
|
||||
private void createSubTitleCashFlowRow(XSSFSheet sheet, int index, CellStyle style) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("类别");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("预算总额(元)");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style);
|
||||
thirdCell.setCellType(CellType.STRING);
|
||||
thirdCell.setCellValue("结算总额(元)");
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style);
|
||||
fourthCell.setCellType(CellType.STRING);
|
||||
fourthCell.setCellValue("决算总额(元)");
|
||||
}
|
||||
|
||||
private void createSaleIncomeCashRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("销售商品、提供劳务收到的现金");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getSaleIncomeCash()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getSaleIncomeCash()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getSaleIncomeCash()));
|
||||
}
|
||||
|
||||
private void createTaxReturnRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收到的税费返还");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getTaxReturn()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getTaxReturn()));
|
||||
}
|
||||
|
||||
private void createEarnestMoneyIncomeRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("收到其他与经营活动有关的现金");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyIncome()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getEarnestMoneyIncome()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getEarnestMoneyIncome()));
|
||||
}
|
||||
|
||||
private void createPurchaseCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("购买商品、接受劳务支付的现金");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getPurchaseCost()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getPurchaseCost()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getPurchaseCost()));
|
||||
}
|
||||
|
||||
private void createTaxCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("支付的各项税费");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getTaxCost()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getTaxCost()));
|
||||
}
|
||||
|
||||
private void createEarnestMoneyCostRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("支付其他与经营活动有关的现金");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyCost()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getEarnestMoneyCost()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getEarnestMoneyCost()));
|
||||
}
|
||||
|
||||
private void createNetCashFlowRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("经营活动产生的现金流量净额");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getNetCashFlow()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getNetCashFlow()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getNetCashFlow()));
|
||||
}
|
||||
|
||||
private void createCashInflowFromInvestingActivitiesRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("投资活动现金流入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getCashInflowFromInvestingActivities()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getCashInflowFromInvestingActivities()));
|
||||
}
|
||||
|
||||
private void createCashOutflowFromInvestingActivitiesRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("投资活动现金流出");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getCashOutflowFromInvestingActivities()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getCashOutflowFromInvestingActivities()));
|
||||
}
|
||||
|
||||
private void createNetCashFromInvestingActivitiesRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("投资活动产生的现金流量净额");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.STRING);
|
||||
secondCell.setCellValue("/");
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getNetCashFromInvestingActivities()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getNetCashFromInvestingActivities()));
|
||||
}
|
||||
|
||||
private void createFinancingCapitalInflowRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("融资资金流入");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalInflow()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getFinancingCapitalInflow()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getFinancingCapitalInflow()));
|
||||
}
|
||||
|
||||
private void createFinancingCapitalOutflowRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("还款资金流出");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalOutflow()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getFinancingCapitalOutflow()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getFinancingCapitalOutflow()));
|
||||
}
|
||||
|
||||
private void createFinancingCapitalCashflowRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("筹资活动产生的现金流量净额");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalCashflow()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getFinancingCapitalCashflow()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getFinancingCapitalCashflow()));
|
||||
}
|
||||
|
||||
private void createNetIncreaseMonetaryFundsRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("货币资金净增加额");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(settleBean.getNetIncreaseMonetaryFunds()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.NUMERIC);
|
||||
fourthCell.setCellValue(Utils.format(finalBean.getNetIncreaseMonetaryFunds()));
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
|||
spring.application.name=fourcal
|
||||
server.port=8282
|
||||
server.session.timeout=21600
|
||||
server.session.timeout=-1
|
||||
server.context-path=/fourcal
|
||||
app.version=0.0.1
|
||||
spring.profiles.active=sit
|
||||
|
|
|
@ -226,6 +226,11 @@
|
|||
onclick="projectNo(${list.id})"><span class="am-icon-pencil-square-o"></span>填写项目编号
|
||||
</button>
|
||||
</#if>
|
||||
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
onclick="location.href='${base}/project/exportAll?id=${list.id}'"><span class="am-icon-pencil-square-o"></span>导出总表
|
||||
</button>
|
||||
<#--<@shiro.hasPermission name="PROJECT_EDIT">-->
|
||||
|
||||
<#-- 项目等于概算状态、概算审核为草稿和不通过状态-->
|
||||
|
|
Loading…
Reference in New Issue