Merge remote-tracking branch 'origin/master'

master
pengqiang 2022-08-18 09:52:41 +08:00
commit b73d5aac14
8 changed files with 740 additions and 495 deletions

View File

@ -28,6 +28,7 @@ import top.jfunc.common.utils.CollectionUtil;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -125,11 +126,12 @@ public class ProjectController extends BaseController {
public void export(@RequestParam(value = "keywords", required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { public void export(@RequestParam(value = "keywords", required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException {
Map<String, String> searchInfo = getSearchInfo(keywords); Map<String, String> searchInfo = getSearchInfo(keywords);
downloadHeader(httpServletResponse, Utils.generateExcelName("项目报表"), "application/octet-stream"); downloadHeader(httpServletResponse, Utils.generateExcelName("项目报表"), "application/octet-stream");
String[] headers = {"项目编号", "项目名称", "项目类型", "项目合同金额", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目状态", "垫资模式", "合作对象", "项目把握度", "行业场景应用", "客户名称", "终端客户名称", String[] headers = {"项目编号", "项目名称", "项目类型", "垫资模式", "垫资利息", "垫资峰值", "项目合同金额", "项目毛利", "项目毛利率", "项目把握度", "汇智产品金额", "华智产品金额",
"项目毛利", "项目毛利率", "项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "垫资利息", "垫资峰值", "审核状态", "当前审核人", "项目创建者", "部门名称", "项目开始时间", "项目结束时间", "最后更新时间"}; "华三产品金额", "其他产品金额", "项目状态", "行业场景应用", "解决方案", "客户名称", "终端客户名称", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "合作对象",
String[] exportColumns = {"projectNo", "name", "typeDesc", "contractRound", "huazhiRound", "huizhiRound", "huasanRound", "ziguangRound", "statusDesc", "underwrittenModeDesc", "collaborator", "项目负责人", "价值及风险", "主合同收款条款", "主合同具体解决方案", "计收计划", "审核状态", "当前审核人", "项目创建者", "部门名称", "项目开始时间", "项目结束时间", "最后更新时间"};
"certaintyStr", "industryScenario", "customer", "terminalCustomer", "grossProfit", "grossProfitMargin", "principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", String[] exportColumns = {"projectNo", "name", "typeDesc", "underwrittenModeDesc", "advanceInterestAmount", "advancePeakAmount", "contractRound", "grossProfit", "grossProfitMargin", "certaintyStr", "huizhiRound", "huazhiRound",
"advanceInterestAmount", "advancePeakAmount", "approveStatusDesc", "approveName", "creatorName", "deptName", "startDateYM", "endDateYM", "lastUpdateTime"}; "huasanRound", "ziguangRound", "statusDesc", "industryScenario", "resolvePlan", "customer", "terminalCustomer", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "collaborator",
"principal", "valueRisk", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "approveStatusDesc", "approveName", "creatorName", "deptName", "startDateYM", "endDateYM", "lastUpdateTime"};
ExportUtils.exportToExcel(headers, exportColumns, 1, 10000, ExportUtils.exportToExcel(headers, exportColumns, 1, 10000,
httpServletResponse.getOutputStream(), (pN, pS) -> projectService.list(searchInfo, pN, pS).getList()); httpServletResponse.getOutputStream(), (pN, pS) -> projectService.list(searchInfo, pN, pS).getList());
} }
@ -140,30 +142,39 @@ public class ProjectController extends BaseController {
@RequestMapping("/exportAll") @RequestMapping("/exportAll")
public void exportAll(HttpServletResponse response, Integer id) throws IOException { public void exportAll(HttpServletResponse response, Integer id) throws IOException {
Project project = projectRepository.findOne(id); Project project = projectRepository.findOne(id);
// downloadHeader(httpServletResponse, Utils.generateExcelName("项目信息总表"), "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName("项目信息总表")).getBytes(), StandardCharsets.ISO_8859_1)));
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("Connection", "close");
response.setHeader("Content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Type", "application/vnd.ms-excel");
ServletOutputStream outputStream = response.getOutputStream(); ServletOutputStream outputStream = response.getOutputStream();
ExportExcelUtils exportExcelUtils = new ExportExcelUtils(); ExportExcelUtils exportExcelUtils = new ExportExcelUtils();
String[] headers0 = {"部门名称", "项目编号", "项目名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "项目把握度", "行业场景应用", "客户名称", "终端客户名称", "合同金额", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "价值及风险"}; String[] headers0 = {"部门名称", "项目编号", "项目名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "合作对象", "垫资利息", "垫资峰值", "合同金额", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案", "客户名称", "终端客户名称", "价值及风险"};
String[] columns0 = {"deptName", "projectNo", "name", "typeDesc", "startDate", "endDate", "underwrittenModeDesc", "certainty", "industryScenario", "customer", "terminalCustomer", "contractAmount", "grossProfit", "grossProfitMargin", "huazhiProductAmount", "huizhiProductAmount", "huasanProductAmount", "ziguangOtherAmount", "valueRisk"}; String[] columns0 = {"deptName", "projectNo", "name", "typeDesc", "startDate", "endDate", "underwrittenModeStr", "collaborator", "advanceInterestAmount", "advancePeakAmount", "contractAmount", "grossProfit", "grossProfitMargin", "huazhiProductAmount", "huizhiProductAmount", "huasanProductAmount", "ziguangOtherAmount", "certaintyStr", "industryScenario", "resolvePlanStr", "customer", "terminalCustomer", "valueRisk"};
exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目基本信息", outputStream); exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目基本信息", outputStream);
String[] headers1 = {"项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "项目解决方案", "垫资利息", "垫资峰值", "主合同收款条款", "主合具体解决方案", "计收计划"}; String[] headers1 = {"项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "签单方式", "主合同收款条款", "主合具体解决方案", "计收计划"};
String[] columns1 = {"principal", "contractTime", "bidsTime", "isSecond", "signType", "resolvePlan", "advanceInterestAmount", "advancePeakAmount", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection"}; String[] columns1 = {"principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection"};
exportExcelUtils.exportProjectExcel(headers1, columns1, project, "yyyy-MM-dd", 0, "项目其他信息", outputStream); exportExcelUtils.exportProjectExcel(headers1, columns1, project, "yyyy-MM-dd", 0, "项目其他信息", outputStream);
BudgetBean budgetBean = projectBudgetService.getBudget(project); BudgetBean budgetBean = projectBudgetService.getBudget(project);
if (project.getStatus() < 5) { if (project.getStatus() < 5) {
exportExcelUtils.end(outputStream); exportExcelUtils.end(outputStream);
return; return;
} }
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
exportExcelUtils.exportBudgetExcel(budgetBean, cashFlowBean, 0, "项目预算信息", outputStream, project.getOtherName());
//收入明细 //收入明细
List<ProjectBudgetIncomeDetail> budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project); List<ProjectBudgetIncomeDetail> budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project);
Integer incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project); Integer incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project);
Set<String> rates = new HashSet<>();
StringBuilder incomeTaxSb = new StringBuilder();
String incomeTaxRates;
for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) {
if (!rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) {
incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append(",");
rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString());
}
}
if (incomeTaxSb.lastIndexOf(",") > 0 && incomeTaxSb.lastIndexOf(",") == incomeTaxSb.length() - 1) {
incomeTaxRates = incomeTaxSb.substring(0, incomeTaxSb.length() - 2);
} else {
incomeTaxRates = incomeTaxSb.toString();
}
String[] headers2 = {"序号", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"}; String[] headers2 = {"序号", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"};
String[] columns2 = {"tempId", "type", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"}; String[] columns2 = {"tempId", "type", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"};
exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收入明细表", outputStream); exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收入明细表", outputStream);
@ -172,6 +183,20 @@ public class ProjectController extends BaseController {
Integer costTotalAmount = projectBudgetService.getBudgetCostAmount(project); Integer costTotalAmount = projectBudgetService.getBudgetCostAmount(project);
List<ProcurementType> procurementTypes = procurementTypeService.allProcurementTypeList(); List<ProcurementType> procurementTypes = procurementTypeService.allProcurementTypeList();
Map<Integer, String> procurementMap = procurementTypes.stream().collect(Collectors.toMap(ProcurementType::getId, ProcurementType::getName)); Map<Integer, String> procurementMap = procurementTypes.stream().collect(Collectors.toMap(ProcurementType::getId, ProcurementType::getName));
Set<String> rates2 = new HashSet<>();
StringBuilder costTaxSb = new StringBuilder();
String costTaxRates;
for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) {
if (!rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) {
costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append(",");
rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString());
}
}
if (costTaxSb.lastIndexOf(",") > 0 && costTaxSb.lastIndexOf(",") == costTaxSb.length() - 1) {
costTaxRates = costTaxSb.substring(0, costTaxSb.length() - 2);
} else {
costTaxRates = costTaxSb.toString();
}
String[] headers3 = {"序号", "大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"}; String[] headers3 = {"序号", "大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"};
String[] columns3 = {"tempId", "type", "category", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"}; String[] columns3 = {"tempId", "type", "category", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"};
exportExcelUtils.exportCostDetailExcel(headers3, columns3, project, budgetBean, budgetCostDetail, costTotalAmount, procurementMap, "yyyy-MM-dd", 0, "采购成本明细表", outputStream); exportExcelUtils.exportCostDetailExcel(headers3, columns3, project, budgetBean, budgetCostDetail, costTotalAmount, procurementMap, "yyyy-MM-dd", 0, "采购成本明细表", outputStream);
@ -187,11 +212,15 @@ public class ProjectController extends BaseController {
// budgetCostDetail, // budgetCostDetail,
// budgetCostProjectManageDetail, // budgetCostProjectManageDetail,
// projectBudgetPlanDetails); // projectBudgetPlanDetails);
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
ProjectBudgetPlanDetail projectBudgetPlanDetailTotal = projectBudgetService.getProjectBudgetPlanDetailTotal(project, projectBudgetPlanDetails); ProjectBudgetPlanDetail projectBudgetPlanDetailTotal = projectBudgetService.getProjectBudgetPlanDetailTotal(project, projectBudgetPlanDetails);
String[] headers5 = {"月份", "设备支出", "工程支出(含服务+施工+其他)", "经营性开支", "保证金支出", "支出合计", "销售收款", "保证金收款", "收款合计", "资金余额", "资金利息", "垫资计划", "还款计划"}; String[] headers5 = {"月份", "设备支出", "工程支出(含服务+施工+其他)", "经营性开支", "保证金支出", "支出合计", "销售收款", "保证金收款", "收款合计", "资金余额", "资金利息", "垫资计划", "还款计划"};
String[] row5 = {"month", "deviceCost", "engineerCost", "projectManageCost", "earnestMoneyCost", "totalCost", "saleIncome", "earnestMoneyIncome", "totalIncome", "fundBalance", "capitalInterest", "underwrittenPlan", "repaymentPlan"}; String[] row5 = {"month", "deviceCost", "engineerCost", "projectManageCost", "earnestMoneyCost", "totalCost", "saleIncome", "earnestMoneyIncome", "totalIncome", "fundBalance", "capitalInterest", "underwrittenPlan", "repaymentPlan"};
exportExcelUtils.exportPlanDetailExcel(headers5, row5, project, budgetBean, projectBudgetPlanDetails, projectBudgetPlanDetailTotal, "yyyy-MM-dd", 0, "资金计划表", outputStream); exportExcelUtils.exportPlanDetailExcel(headers5, row5, project, budgetBean, projectBudgetPlanDetails, projectBudgetPlanDetailTotal, "yyyy-MM-dd", 0, "资金计划表", outputStream);
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
exportExcelUtils.exportBudgetExcel(budgetBean, cashFlowBean, 0, "项目预算信息", outputStream, project.getOtherName(), incomeTaxRates, costTaxRates);
List<String> timeList = projectSettleIncomeRepository.findAllByProjectIdAndGroupByTime(project.getId()); List<String> timeList = projectSettleIncomeRepository.findAllByProjectIdAndGroupByTime(project.getId());
for (String time : timeList) { for (String time : timeList) {
SettleBean settleBean = projectSettleService.getMonthSettle(project, time); SettleBean settleBean = projectSettleService.getMonthSettle(project, time);
@ -532,10 +561,12 @@ public class ProjectController extends BaseController {
model.put("procurementTypes", procurementTypeService.allProcurementTypeList()); model.put("procurementTypes", procurementTypeService.allProcurementTypeList());
model.put("budgetBean", budgetBean); model.put("budgetBean", budgetBean);
//收入明细 //收入明细
model.put("incomeDetails", projectBudgetService.getBudgetIncomeDetail(project)); List<ProjectBudgetIncomeDetail> budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project);
model.put("incomeDetails", budgetIncomeDetail);
model.put("incomeTotalAmount", projectBudgetService.getBudgetIncomeAmount(project)); model.put("incomeTotalAmount", projectBudgetService.getBudgetIncomeAmount(project));
//成本明细 //成本明细
model.put("costDetails", projectBudgetService.getBudgetCostDetail(project)); List<ProjectBudgetCostDetail> budgetCostDetail = projectBudgetService.getBudgetCostDetail(project);
model.put("costDetails", budgetCostDetail);
model.put("costTotalAmount", projectBudgetService.getBudgetCostAmount(project)); model.put("costTotalAmount", projectBudgetService.getBudgetCostAmount(project));
//项目管理成本明细 //项目管理成本明细
model.put("costProjectManageDetails", projectBudgetService.getBudgetCostProjectManageDetail(project)); model.put("costProjectManageDetails", projectBudgetService.getBudgetCostProjectManageDetail(project));
@ -549,7 +580,33 @@ public class ProjectController extends BaseController {
model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails)); model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails));
//现金表 //现金表
model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails)); model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails));
Set<String> rates = new HashSet<>();
StringBuilder incomeTaxSb = new StringBuilder();
for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) {
if (!rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) {
incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append(",");
rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString());
}
}
if (incomeTaxSb.lastIndexOf(",") > 0 && incomeTaxSb.lastIndexOf(",") == incomeTaxSb.length() - 1) {
model.put("incomeTaxRates", incomeTaxSb.substring(0, incomeTaxSb.length() - 2));
} else {
model.put("incomeTaxRates", incomeTaxSb.toString());
}
Set<String> rates2 = new HashSet<>();
StringBuilder costTaxSb = new StringBuilder();
for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) {
if (!rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) {
costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append(",");
rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString());
}
}
if (costTaxSb.lastIndexOf(",") > 0 && costTaxSb.lastIndexOf(",") == costTaxSb.length() - 1) {
model.put("costTaxRates", costTaxSb.substring(0, costTaxSb.length() - 2));
} else {
model.put("costTaxRates", costTaxSb.toString());
}
//结算信息 //结算信息
model.put("keywords",keywords); model.put("keywords",keywords);
ConcurrentHashMap<String, String> searchInfo = getSearchInfo(keywords,model); ConcurrentHashMap<String, String> searchInfo = getSearchInfo(keywords,model);

View File

@ -795,7 +795,7 @@ public class ProjectBudgetService {
*/ */
@Transactional(rollbackFor = RuntimeException.class) @Transactional(rollbackFor = RuntimeException.class)
public Project budgetEditSave(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) { public Project budgetEditSave(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
Project p = projectService.editProject(project, projectInDb); Project p = projectService.estimateEditProject(project, projectInDb);
p.setStatus(StatusEnum.BUDGET_ACCOUNTS.getStatus()); p.setStatus(StatusEnum.BUDGET_ACCOUNTS.getStatus());
p.setStatusDesc(StatusEnum.BUDGET_ACCOUNTS.getStatusDesc()); p.setStatusDesc(StatusEnum.BUDGET_ACCOUNTS.getStatusDesc());
p.setApproveStatusBudget(approveStatusEnum.getApproveStatus()); p.setApproveStatusBudget(approveStatusEnum.getApproveStatus());

View File

@ -127,7 +127,7 @@ public class ExportExcelUtils {
} }
} }
public void exportBudgetExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName) { public void exportBudgetExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName, String incomeTaxRates, String costTaxRates) {
// 遍历集合数据,产生数据行 // 遍历集合数据,产生数据行
int index = rowIndex; int index = rowIndex;
XSSFSheet sheet = workbook.createSheet(sheetName); XSSFSheet sheet = workbook.createSheet(sheetName);
@ -137,12 +137,12 @@ public class ExportExcelUtils {
// 收入 // 收入
Row incomeRow = sheet.createRow(index++); Row incomeRow = sheet.createRow(index++);
createTitleRow(incomeRow, "收入"); createTitleRow(incomeRow, "收入");
index = createIncomeRow(budgetBean, sheet, index); index = createIncomeRow(budgetBean, sheet, index, incomeTaxRates);
index = index + 3; index = index + 3;
// 成本 // 成本
Row costRow = sheet.createRow(index++); Row costRow = sheet.createRow(index++);
createTitleRow(costRow, "成本"); createTitleRow(costRow, "成本");
index = createCostRow(budgetBean, sheet, index, otherName); index = createCostRow(budgetBean, sheet, index, otherName, costTaxRates);
index = index + 3; index = index + 3;
// 管理 // 管理
Row manageRow = sheet.createRow(index++); Row manageRow = sheet.createRow(index++);
@ -168,12 +168,17 @@ public class ExportExcelUtils {
cell.setCellValue(titleName); cell.setCellValue(titleName);
} }
private int createIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private int createIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String incomeTaxRates) {
createSubTitleIncomeRow(sheet, index++); createSubTitleIncomeRow(sheet, index++);
createDeviceIncomeRow(budgetBean, sheet, index++); createDeviceIncomeRow(budgetBean, sheet, index++);
createEngineerIncomeRow(budgetBean, sheet, index++); createEngineerIncomeRow(budgetBean, sheet, index++);
createServiceIncomeRow(budgetBean, sheet, index++); createServiceIncomeRow(budgetBean, sheet, index++);
createTotalIncomeRow(budgetBean, sheet, index++); createTotalIncomeRow(budgetBean, sheet, index++);
Row row = sheet.createRow(index++);
Cell remarkCell = row.createCell(0);
remarkCell.setCellStyle(style);
remarkCell.setCellType(CellType.STRING);
remarkCell.setCellValue("(备注:本表所用税率为:" + incomeTaxRates + ")");
return index; return index;
} }
@ -195,6 +200,10 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style); fourthCell.setCellStyle(style);
fourthCell.setCellType(CellType.STRING); fourthCell.setCellType(CellType.STRING);
fourthCell.setCellValue("不含税金额(元)"); fourthCell.setCellValue("不含税金额(元)");
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style);
fifthCell.setCellType(CellType.STRING);
fifthCell.setCellValue("税金(元)");
} }
private void createDeviceIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createDeviceIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -215,6 +224,10 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style2); fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.NUMERIC); fourthCell.setCellType(CellType.NUMERIC);
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeDeviceTaxExclude())); fourthCell.setCellValue(Utils.format(budgetBean.getIncomeDeviceTaxExclude()));
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getIncomeDeviceTax()));
} }
private void createEngineerIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createEngineerIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -235,6 +248,10 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style2); fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.NUMERIC); fourthCell.setCellType(CellType.NUMERIC);
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeEngineerTaxExclude())); fourthCell.setCellValue(Utils.format(budgetBean.getIncomeEngineerTaxExclude()));
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getIncomeEngineerTax()));
} }
private void createServiceIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createServiceIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -255,6 +272,10 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style2); fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.NUMERIC); fourthCell.setCellType(CellType.NUMERIC);
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeServiceTaxExclude())); fourthCell.setCellValue(Utils.format(budgetBean.getIncomeServiceTaxExclude()));
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getIncomeServiceTax()));
} }
private void createTotalIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createTotalIncomeRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -275,9 +296,13 @@ public class ExportExcelUtils {
fourthCell.setCellStyle(style2); fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.NUMERIC); fourthCell.setCellType(CellType.NUMERIC);
fourthCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxExclude())); fourthCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxExclude()));
Cell fifthCell = row.createCell(4);
fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTax()));
} }
private int createCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName) { private int createCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName, String costTaxRates) {
createSubTitleCostRow(sheet, index++); createSubTitleCostRow(sheet, index++);
createDeviceCostRow(budgetBean, sheet, index++); createDeviceCostRow(budgetBean, sheet, index++);
createEngineerCostRow(budgetBean, sheet, index++); createEngineerCostRow(budgetBean, sheet, index++);
@ -286,6 +311,11 @@ public class ExportExcelUtils {
createManageCostRow(budgetBean, sheet, index++); createManageCostRow(budgetBean, sheet, index++);
createOtherRow(budgetBean, sheet, index++, otherName); createOtherRow(budgetBean, sheet, index++, otherName);
createTotalCostRow(budgetBean, sheet, index++); createTotalCostRow(budgetBean, sheet, index++);
Row row = sheet.createRow(index++);
Cell remarkCell = row.createCell(0);
remarkCell.setCellStyle(style);
remarkCell.setCellType(CellType.STRING);
remarkCell.setCellValue("(备注:本表所用税率为:" + costTaxRates + ")");
return index; return index;
} }
@ -311,6 +341,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style); fifthCell.setCellStyle(style);
fifthCell.setCellType(CellType.STRING); fifthCell.setCellType(CellType.STRING);
fifthCell.setCellValue("不含税金额(元)"); fifthCell.setCellValue("不含税金额(元)");
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style);
sixthCell.setCellType(CellType.STRING);
sixthCell.setCellValue("税金(元)");
} }
private void createDeviceCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createDeviceCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -335,6 +369,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2); fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC); fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseDeviceTaxExclude())); fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseDeviceTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseDeviceTax()));
} }
private void createEngineerCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createEngineerCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -359,6 +397,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2); fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC); fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseBuildTaxExclude())); fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseBuildTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseBuildTax()));
} }
private void createServiceCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createServiceCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -383,6 +425,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2); fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC); fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseServiceTaxExclude())); fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseServiceTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseServiceTax()));
} }
private void createOtherCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createOtherCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -407,6 +453,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2); fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC); fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseOtherTaxExclude())); fifthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseOtherTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostPurchaseOtherTax()));
} }
private void createManageCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createManageCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -431,6 +481,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2); fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC); fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostProjectManageTaxExclude())); fifthCell.setCellValue(Utils.format(budgetBean.getCostProjectManageTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.STRING);
sixthCell.setCellValue("财务计取以不含税方式核算");
} }
private void createOtherRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName) { private void createOtherRow(BudgetBean budgetBean, XSSFSheet sheet, int index, String otherName) {
@ -455,6 +509,10 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2); fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC); fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostOtherOtherTaxExclude())); fifthCell.setCellValue(Utils.format(budgetBean.getCostOtherOtherTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostOtherOtherTax()));
} }
private void createTotalCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createTotalCostRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -479,12 +537,21 @@ public class ExportExcelUtils {
fifthCell.setCellStyle(style2); fifthCell.setCellStyle(style2);
fifthCell.setCellType(CellType.NUMERIC); fifthCell.setCellType(CellType.NUMERIC);
fifthCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxExclude())); fifthCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxExclude()));
Cell sixthCell = row.createCell(5);
sixthCell.setCellStyle(style2);
sixthCell.setCellType(CellType.NUMERIC);
sixthCell.setCellValue(Utils.format(budgetBean.getCostTotalTax()));
} }
private int createManageRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private int createManageRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
createSubTitleManageRow(sheet, index++); createSubTitleManageRow(sheet, index++);
createExpropriationRow(budgetBean, sheet, index++); createExpropriationRow(budgetBean, sheet, index++);
createCompanyManageRow(budgetBean, sheet, index++); createCompanyManageRow(budgetBean, sheet, index++);
Row row = sheet.createRow(index++);
Cell remarkCell = row.createCell(0);
remarkCell.setCellStyle(style);
remarkCell.setCellType(CellType.STRING);
remarkCell.setCellValue("(备注:财务记取以不含税方式核算)");
return index; return index;
} }
@ -539,9 +606,9 @@ public class ExportExcelUtils {
private int createProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private int createProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
createSubTitleProfitRow(sheet, index++); createSubTitleProfitRow(sheet, index++);
createGrossProfitRow(budgetBean, sheet, index++); createGrossProfitRow(budgetBean, sheet, index++);
createGrossProfitMarginRow(budgetBean, sheet, index++); // createGrossProfitMarginRow(budgetBean, sheet, index++);
createContributionProfitRow(budgetBean, sheet, index++); createContributionProfitRow(budgetBean, sheet, index++);
createContributionProfitRateRow(budgetBean, sheet, index++); // createContributionProfitRateRow(budgetBean, sheet, index++);
return index; return index;
} }
@ -554,7 +621,16 @@ public class ExportExcelUtils {
Cell secondCell = row.createCell(1); Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style); secondCell.setCellStyle(style);
secondCell.setCellType(CellType.STRING); secondCell.setCellType(CellType.STRING);
secondCell.setCellValue(""); 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 createGrossProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createGrossProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
@ -566,20 +642,28 @@ public class ExportExcelUtils {
Cell secondCell = row.createCell(1); Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfit())); secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitRate()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.NUMERIC);
thirdCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfit()));
Cell fourthCell = row.createCell(3);
fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.STRING);
fourthCell.setCellValue("毛利=收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)");
} }
private void createGrossProfitMarginRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { // private void createGrossProfitMarginRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
Row row = sheet.createRow(index); // Row row = sheet.createRow(index);
Cell firstCell = row.createCell(0); // Cell firstCell = row.createCell(0);
firstCell.setCellStyle(style2); // firstCell.setCellStyle(style2);
firstCell.setCellType(CellType.STRING); // firstCell.setCellType(CellType.STRING);
firstCell.setCellValue("项目毛利率(%)"); // firstCell.setCellValue("项目毛利率(%)");
Cell secondCell = row.createCell(1); // Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style2); // secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); // secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitRate())); // secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitRate()));
} // }
private void createContributionProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { private void createContributionProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
Row row = sheet.createRow(index); Row row = sheet.createRow(index);
@ -590,20 +674,28 @@ public class ExportExcelUtils {
Cell secondCell = row.createCell(1); Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfit())); secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfitRate()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.NUMERIC);
thirdCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfit()));
Cell fourthCell = row.createCell(3);
fourthCell.setCellStyle(style2);
fourthCell.setCellType(CellType.STRING);
fourthCell.setCellValue("贡献利润=项目毛利(不含税)-公司管理费用总计(不含税)");
} }
private void createContributionProfitRateRow(BudgetBean budgetBean, XSSFSheet sheet, int index) { // private void createContributionProfitRateRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
Row row = sheet.createRow(index); // Row row = sheet.createRow(index);
Cell firstCell = row.createCell(0); // Cell firstCell = row.createCell(0);
firstCell.setCellStyle(style2); // firstCell.setCellStyle(style2);
firstCell.setCellType(CellType.STRING); // firstCell.setCellType(CellType.STRING);
firstCell.setCellValue("项目贡献利润率(%)"); // firstCell.setCellValue("项目贡献利润率(%)");
Cell secondCell = row.createCell(1); // Cell secondCell = row.createCell(1);
secondCell.setCellStyle(style2); // secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); // secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfitRate())); // secondCell.setCellValue(Utils.format(budgetBean.getProjectContributionProfitRate()));
} // }
private int createCashFlowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private int createCashFlowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -635,6 +727,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style); secondCell.setCellStyle(style);
secondCell.setCellType(CellType.STRING); secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("金额(元)"); secondCell.setCellValue("金额(元)");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("计算方式");
} }
private void createSaleIncomeCashRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createSaleIncomeCashRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -647,6 +743,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getSaleIncomeCash())); secondCell.setCellValue(Utils.format(cashFlowBean.getSaleIncomeCash()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(销售收款)");
} }
private void createTaxReturnRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createTaxReturnRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -659,6 +759,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING); secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/"); secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
} }
private void createEarnestMoneyIncomeRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createEarnestMoneyIncomeRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -671,6 +775,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyIncome())); secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyIncome()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(保证金收款)");
} }
private void createPurchaseCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createPurchaseCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -683,6 +791,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getPurchaseCost())); secondCell.setCellValue(Utils.format(cashFlowBean.getPurchaseCost()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(设备支出+工程支出)");
} }
private void createTaxCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createTaxCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -695,6 +807,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING); secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/"); secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
} }
private void createEarnestMoneyCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createEarnestMoneyCostRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -707,6 +823,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyCost())); secondCell.setCellValue(Utils.format(cashFlowBean.getEarnestMoneyCost()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(经营性开支+保证金支出+资金利息)");
} }
private void createNetCashFlowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createNetCashFlowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -719,6 +839,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getNetCashFlow())); secondCell.setCellValue(Utils.format(cashFlowBean.getNetCashFlow()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("销售商品、提供劳务收到的现金+收到其他与经营活动有关的现金-购买商品、接受劳务支付的现金-支付其他与经营活动有关的现金");
} }
private void createCashInflowFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createCashInflowFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -731,6 +855,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING); secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/"); secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
} }
private void createCashOutflowFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createCashOutflowFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -743,6 +871,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING); secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/"); secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
} }
private void createNetCashFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createNetCashFromInvestingActivitiesRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -755,6 +887,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.STRING); secondCell.setCellType(CellType.STRING);
secondCell.setCellValue("/"); secondCell.setCellValue("/");
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("/");
} }
private void createFinancingCapitalInflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createFinancingCapitalInflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -767,6 +903,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalInflow())); secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalInflow()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(垫资计划)");
} }
private void createFinancingCapitalOutflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createFinancingCapitalOutflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -779,6 +919,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalOutflow())); secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalOutflow()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("从资金计划表查(还款计划)");
} }
private void createFinancingCapitalCashflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createFinancingCapitalCashflowRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -791,6 +935,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalCashflow())); secondCell.setCellValue(Utils.format(cashFlowBean.getFinancingCapitalCashflow()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("融资资金流入-还款资金流出");
} }
private void createNetIncreaseMonetaryFundsRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) { private void createNetIncreaseMonetaryFundsRow(CashFlowBean cashFlowBean, XSSFSheet sheet, int index) {
@ -803,6 +951,10 @@ public class ExportExcelUtils {
secondCell.setCellStyle(style2); secondCell.setCellStyle(style2);
secondCell.setCellType(CellType.NUMERIC); secondCell.setCellType(CellType.NUMERIC);
secondCell.setCellValue(Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds())); secondCell.setCellValue(Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds()));
Cell thirdCell = row.createCell(2);
thirdCell.setCellStyle(style2);
thirdCell.setCellType(CellType.STRING);
thirdCell.setCellValue("经营活动产生的现金流量净额+投资活动产生的现金流量净额+筹资活动产生的现金流量净额");
} }
public void exportSettleExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean formerBean, SettleBean settleBean, FormerBean currentBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName) { public void exportSettleExcel(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean formerBean, SettleBean settleBean, FormerBean currentBean, int rowIndex, String sheetName, ServletOutputStream outputStream, String otherName) {
@ -897,6 +1049,9 @@ public class ExportExcelUtils {
} else if (i == 8) { } else if (i == 8) {
totalCell.setCellType(CellType.NUMERIC); totalCell.setCellType(CellType.NUMERIC);
totalCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxExclude())); totalCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxExclude()));
} else if (i == 9) {
totalCell.setCellType(CellType.NUMERIC);
totalCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTax()));
} else { } else {
totalCell.setCellType(CellType.STRING); totalCell.setCellType(CellType.STRING);
totalCell.setCellValue(""); totalCell.setCellValue("");
@ -983,6 +1138,9 @@ public class ExportExcelUtils {
} else if (i == 9) { } else if (i == 9) {
totalCell.setCellType(CellType.NUMERIC); totalCell.setCellType(CellType.NUMERIC);
totalCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxExclude())); totalCell.setCellValue(Utils.format(budgetBean.getCostTotalTaxExclude()));
} else if (i == 10) {
totalCell.setCellType(CellType.NUMERIC);
totalCell.setCellValue(Utils.format(budgetBean.getCostTotalTax()));
} else { } else {
totalCell.setCellType(CellType.STRING); totalCell.setCellType(CellType.STRING);
totalCell.setCellValue(""); totalCell.setCellValue("");
@ -1049,7 +1207,7 @@ public class ExportExcelUtils {
} }
} }
} }
Row total = sheet.createRow(index); Row total = sheet.createRow(index++);
for (int i = 0; i < headers.length; i++) { for (int i = 0; i < headers.length; i++) {
Cell totalCell = total.createCell(i); Cell totalCell = total.createCell(i);
totalCell.setCellStyle(style2); totalCell.setCellStyle(style2);
@ -1067,6 +1225,11 @@ public class ExportExcelUtils {
totalCell.setCellValue(""); totalCell.setCellValue("");
} }
} }
Row remark = sheet.createRow(index);
Cell remarkCell = remark.createCell(0);
remarkCell.setCellStyle(style2);
remarkCell.setCellType(CellType.STRING);
remarkCell.setCellValue("备注:本表展示不含税金额");
} }
public void exportPlanDetailExcel(String[] headers, String[] rows, Project project, BudgetBean budgetBean, List<ProjectBudgetPlanDetail> projectBudgetPlanDetails, ProjectBudgetPlanDetail projectBudgetPlanDetailTotal, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) { public void exportPlanDetailExcel(String[] headers, String[] rows, Project project, BudgetBean budgetBean, List<ProjectBudgetPlanDetail> projectBudgetPlanDetails, ProjectBudgetPlanDetail projectBudgetPlanDetailTotal, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) {

View File

@ -362,29 +362,6 @@
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <span>${Utils.format(project.advanceInterestAmount)}</span>元-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <span>${Utils.format(project.advancePeakAmount)}</span>元-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;width: 140px;" value="主合同收款条款"/></div>
<div class="am-u-sm-6 am-u-md-6">
<input readonly value="${project.mainContractCollectionTerms!}"/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;width: 100px;" value="价值及风险"/></div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;width: 100px;" value="价值及风险"/></div>

View File

@ -44,7 +44,7 @@
<div class="am-tabs am-margin" data-am-tabs> <div class="am-tabs am-margin" data-am-tabs>
<ul class="am-tabs-nav am-nav am-nav-tabs"> <ul class="am-tabs-nav am-nav am-nav-tabs">
<li class="am-active"><a href="#tab1">项目基本信息</a></li> <li class="am-active"><a href="#tab1">项目基本信息</a></li>
<#-- <li><a href="#tab2">项目其他信息</a></li>--> <li><a href="#tab2">项目其他信息</a></li>
<li><a href="#tab3">收入明细表</a></li> <li><a href="#tab3">收入明细表</a></li>
<li><a href="#tab4">采购成本明细表</a></li> <li><a href="#tab4">采购成本明细表</a></li>
<li><a href="#tab5">项目管理成本表</a></li> <li><a href="#tab5">项目管理成本表</a></li>
@ -79,7 +79,7 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目名称</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目名称</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入项目名称1000字符以内" <input type="text" class="am-input" data-validate-async data-validation-message="请输入项目名称1000字符以内"
name="name" placeholder="请输入项目名称1000字符以内" maxlength="1000" name="name" placeholder="请输入项目名称1000字符以内" maxlength="1000" id="name"
value="${project.name!}" required/> value="${project.name!}" required/>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -91,7 +91,7 @@
<select data-am-selected id="type" name="type"> <select data-am-selected id="type" name="type">
<option value="1" <#if project.type=1>selected</#if>>工程集成类</option> <option value="1" <#if project.type=1>selected</#if>>工程集成类</option>
<option value="2" <#if project.type=2>selected</#if>>设备集成类</option> <option value="2" <#if project.type=2>selected</#if>>设备集成类</option>
<option value="3" <#if project.type=3>selected</#if>>战略合作类</option> <#-- <option value="3" <#if project.type=3>selected</#if>>战略合作类</option>-->
</select> </select>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -163,49 +163,20 @@
</div> </div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty"> <input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资利息"
<#if project.certainty??> name="advanceInterestAmount" placeholder="单位(元)" maxlength="16" id="advanceInterestAmount"
<option value="1" <#if project.certainty=1>selected</#if>>A基本确定中标待签合同合同签订中</option> value="${Utils.format(project.advanceInterestAmount)}" required />
<option value="2" <#if project.certainty=2>selected</#if>>B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" <#if project.certainty=3>selected</#if>>C项目初期引导阶段</option>
<#else>
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</#if>
</select>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用" <input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20" name="advancePeakAmount" placeholder="单位(元)" maxlength="16" id="advancePeakAmount"
value="${project.industryScenario!}" required/> value="${Utils.format(project.advancePeakAmount)}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000"
value="${project.customer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000"
value="${project.terminalCustomer!}" required/>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
@ -214,7 +185,7 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>合同金额</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>合同金额</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入合同金额" <input type="text" class="number am-input" data-validate-async data-validation-message="请输入合同金额"
name="contractAmount" placeholder="单位(元)" maxlength="20" name="contractAmount" placeholder="单位(元)" maxlength="20" id="contractAmount"
value="${Utils.format(project.contractAmount)}" required /> value="${Utils.format(project.contractAmount)}" required />
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -240,31 +211,32 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="华智产品金额"
name="huazhiProductAmount" placeholder="单位(元)" maxlength="20"
value="${Utils.format(project.huazhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>汇智产品金额</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>汇智产品金额</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="请输入汇智产品金额" <input type="text" class="number am-input" data-validation-message="请输入汇智产品金额"
name="huizhiProductAmount" placeholder="单位(元)" maxlength="20" name="huizhiProductAmount" placeholder="单位(元)" maxlength="20" id="huizhiProductAmount"
value="${Utils.format(project.huizhiProductAmount, "0.00")}" required /> value="${Utils.format(project.huizhiProductAmount, "0.00")}" required />
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="华智产品金额"
name="huazhiProductAmount" placeholder="单位(元)" maxlength="20" id="huazhiProductAmount"
value="${Utils.format(project.huazhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华三产品金额</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华三产品金额</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="华三产品金额" <input type="text" class="number am-input" data-validation-message="华三产品金额"
name="huasanProductAmount" placeholder="单位(元)" maxlength="20" name="huasanProductAmount" placeholder="单位(元)" maxlength="20" id="huasanProductAmount"
value="${Utils.format(project.huasanProductAmount, "0.00")}" required /> value="${Utils.format(project.huasanProductAmount, "0.00")}" required />
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -274,12 +246,79 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>其他产品金额</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>其他产品金额</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="请输入其他产品金额" <input type="text" class="number am-input" data-validation-message="请输入其他产品金额"
name="ziguangOtherAmount" placeholder="单位(元)" maxlength="20" name="ziguangOtherAmount" placeholder="单位(元)" maxlength="20" id="ziguangOtherAmount"
value="${Utils.format(project.ziguangOtherAmount, "0.00")}" required /> value="${Utils.format(project.ziguangOtherAmount, "0.00")}" required />
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<#if project.certainty??>
<option value="1" <#if project.certainty=1>selected</#if>>A基本确定中标待签合同合同签订中</option>
<option value="2" <#if project.certainty=2>selected</#if>>B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" <#if project.certainty=3>selected</#if>>C项目初期引导阶段</option>
<#else>
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20" id="industryScenario"
value="${project.industryScenario!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<#if project.resolvePlan??>
<option value="1" <#if project.resolvePlan=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if project.resolvePlan=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if project.resolvePlan=3>selected</#if>>其他生态</option>
<#else>
<option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" >其他生态</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000" id="customer"
value="${project.customer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000" id="terminalCustomer"
value="${project.terminalCustomer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
@ -295,147 +334,115 @@
<!--验证表单元素validate end--> <!--验证表单元素validate end-->
</div> </div>
<#-- <div class="am-tabs-bd">--> <div class="am-tabs-bd">
<#-- <div class="am-tab-panel am-fade am-in" id="tab2">--> <div class="am-tab-panel am-fade am-in" id="tab2">
<#-- <div class="am-g am-form-group am-margin-top">--> <div class="am-g am-form-group am-margin-top">
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目负责人</div>--> <div class="am-u-sm-4 am-u-md-2 am-text-right">项目负责人</div>
<#-- <div class="am-u-sm-6 am-u-md-6">--> <div class="am-u-sm-6 am-u-md-6">
<#-- <input type="text" id="principal" class="am-input" data-validate-async data-validation-message="请输入项目负责人"--> <input type="text" id="principal" class="am-input" data-validate-async data-validation-message="请输入项目负责人"
<#-- name="principal" placeholder="请输入项目负责人" maxlength="20"--> name="principal" placeholder="请输入项目负责人" maxlength="20"
<#-- value="${project.principal!}" required />--> value="${project.principal!}" />
<#-- </div>--> </div>
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>--> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
<#-- </div>--> </div>
<#-- <div class="am-g am-form-group am-margin-top">--> <div class="am-g am-form-group am-margin-top">
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>预计合同签订时间</div>--> <div class="am-u-sm-4 am-u-md-2 am-text-right">预计合同签订时间</div>
<#-- <div class="am-u-sm-2 am-u-md-2">--> <div class="am-u-sm-2 am-u-md-2">
<#-- <div class="am-form-group am-form-icon">--> <div class="am-form-group am-form-icon">
<#-- <i class="am-icon-calendar"></i>--> <i class="am-icon-calendar"></i>
<#-- <input type="text" class="am-form-field am-input-sm" id="contractTime"--> <input type="text" class="am-form-field am-input-sm" id="contractTime"
<#-- name="contractTime" autocomplete="off"--> name="contractTime" autocomplete="off"
<#-- value="${(project.contractTime?string("yyyy-MM-dd"))!}" placeholder="预计合同签订时间"--> value="${(project.contractTime?string("yyyy-MM-dd"))!}" placeholder="预计合同签订时间"
<#-- data-am-datepicker required>--> data-am-datepicker>
<#-- </div>--> </div>
<#-- </div>--> </div>
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>--> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
<#-- </div>--> </div>
<#-- <div class="am-g am-form-group am-margin-top">--> <div class="am-g am-form-group am-margin-top">
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目计划招标时间</div>--> <div class="am-u-sm-4 am-u-md-2 am-text-right">项目计划招标时间</div>
<#-- <div class="am-u-sm-2 am-u-md-2">--> <div class="am-u-sm-2 am-u-md-2">
<#-- <div class="am-form-group am-form-icon">--> <div class="am-form-group am-form-icon">
<#-- <i class="am-icon-calendar"></i>--> <i class="am-icon-calendar"></i>
<#-- <input type="text" class="am-form-field am-input-sm" id="bidsTime"--> <input type="text" class="am-form-field am-input-sm" id="bidsTime"
<#-- name="bidsTime" autocomplete="off"--> name="bidsTime" autocomplete="off"
<#-- value="${(project.bidsTime?string("yyyy-MM-dd"))!}" placeholder="项目计划招标时间"--> value="${(project.bidsTime?string("yyyy-MM-dd"))!}" placeholder="项目计划招标时间"
<#-- data-am-datepicker required>--> data-am-datepicker>
<#-- </div>--> </div>
<#-- </div>--> </div>
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>--> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
<#-- </div>--> </div>
<#-- <div class="am-g am-form-group am-margin-top">--> <div class="am-g am-form-group am-margin-top">
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>是否二次合作</div>--> <div class="am-u-sm-4 am-u-md-2 am-text-right">是否二次合作</div>
<#-- <div class="am-u-sm-6 am-u-md-6">--> <div class="am-u-sm-6 am-u-md-6">
<#-- <select data-am-selected id="isSecond" name="isSecond">--> <select data-am-selected id="isSecond" name="isSecond">
<#-- <#if project.isSecond??>--> <#if project.isSecond??>
<#-- <option value="1" <#if project.isSecond=1>selected</#if>>是</option>--> <option value="-1" ></option>
<#-- <option value="2" <#if project.isSecond=2>selected</#if>>否</option>--> <option value="1" <#if project.isSecond=1>selected</#if>>是</option>
<#-- <#else>--> <option value="2" <#if project.isSecond=2>selected</#if>>否</option>
<#-- <option value="1" >是</option>--> <#else>
<#-- <option value="2" >否</option>--> <option value="-1" ></option>
<#-- </#if>--> <option value="1" >是</option>
<#-- </select>--> <option value="2" >否</option>
<#-- </div>--> </#if>
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>--> </select>
<#-- </div>--> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">--> <div class="am-g am-form-group am-margin-top">
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>签单方式</div>--> <div class="am-u-sm-4 am-u-md-2 am-text-right">签单方式</div>
<#-- <div class="am-u-sm-6 am-u-md-6">--> <div class="am-u-sm-6 am-u-md-6">
<#-- <select data-am-selected id="signType" name="signType">--> <select data-am-selected id="signType" name="signType">
<#-- <#if project.signType??>--> <#if project.signType??>
<#-- <option value="1" <#if project.signType=1>selected</#if>>紫光汇智直接投标</option>--> <option value="-1" ></option>
<#-- <#else>--> <option value="1" <#if project.signType=1>selected</#if>>紫光汇智直接投标</option>
<#-- <option value="1" >紫光汇智直接投标</option>--> <#else>
<#-- </#if>--> <option value="-1" ></option>
<#-- </select>--> <option value="1" >紫光汇智直接投标</option>
<#-- </div>--> </#if>
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>--> </select>
<#-- </div>--> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">-->
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目解决方案</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <select data-am-selected id="resolvePlan" name="resolvePlan">-->
<#-- <#if project.resolvePlan??>-->
<#-- <option value="1" <#if project.resolvePlan=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>-->
<#-- <option value="2" <#if project.resolvePlan=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>-->
<#-- <option value="3" <#if project.resolvePlan=3>selected</#if>>其他生态</option>-->
<#-- <#else>-->
<#-- <option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>-->
<#-- <option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>-->
<#-- <option value="3" >其他生态</option>-->
<#-- </#if>-->
<#-- </select>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- <div class="am-g am-form-group am-margin-top">--> <div class="am-g am-form-group am-margin-top">
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>--> <div class="am-u-sm-4 am-u-md-2 am-text-right">主合同收款条款</div>
<#-- <div class="am-u-sm-6 am-u-md-6">--> <div class="am-u-sm-6 am-u-md-6">
<#-- <input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资利息"--> <textarea rows="3" cols="20" id="mainContractCollectionTerms" name="mainContractCollectionTerms" maxlength="1000"
<#-- name="advanceInterestAmount" placeholder="单位(元)" maxlength="16"--> class="am-input" data-validate-async data-validation-message="请输入收款条款"
<#-- value="${Utils.format(project.advanceInterestAmount)}" required />--> placeholder="请输入收款条款"
<#-- </div>--> >${project.mainContractCollectionTerms!}</textarea>
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>--> </div>
<#-- </div>--> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
<#-- <div class="am-g am-form-group am-margin-top">--> </div>
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资峰值"-->
<#-- name="advancePeakAmount" placeholder="单位(元)" maxlength="16"-->
<#-- value="${Utils.format(project.advancePeakAmount)}" required />-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- <div class="am-g am-form-group am-margin-top">--> <div class="am-g am-form-group am-margin-top">
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>主合同收款条款</div>--> <div class="am-u-sm-4 am-u-md-2 am-text-right">主合同具体解决方案</div>
<#-- <div class="am-u-sm-6 am-u-md-6">--> <div class="am-u-sm-6 am-u-md-6">
<#-- <textarea rows="3" cols="20" id="mainContractCollectionTerms" name="mainContractCollectionTerms" maxlength="1000"--> <textarea rows="3" cols="20" id="mainContractResolvePlan" name="mainContractResolvePlan" maxlength="1000"
<#-- class="am-input" data-validate-async data-validation-message="请输入收款条款"--> class="am-input" data-validate-async data-validation-message="请输入具体解决方案"
<#-- placeholder="请输入收款条款" required--> placeholder="请输入具体解决方案"
<#-- >${project.mainContractCollectionTerms!}</textarea>--> >${project.mainContractResolvePlan!}</textarea>
<#-- </div>--> </div>
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>--> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
<#-- </div>--> </div>
<#-- <div class="am-g am-form-group am-margin-top">--> <div class="am-g am-form-group am-margin-top">
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>主合同具体解决方案</div>--> <div class="am-u-sm-4 am-u-md-2 am-text-right">计收计划</div>
<#-- <div class="am-u-sm-6 am-u-md-6">--> <div class="am-u-sm-6 am-u-md-6">
<#-- <textarea rows="3" cols="20" id="mainContractResolvePlan" name="mainContractResolvePlan" maxlength="1000"--> <textarea rows="3" cols="20" id="CalculationCollection" name="CalculationCollection" maxlength="1000"
<#-- class="am-input" data-validate-async data-validation-message="请输入具体解决方案"--> class="am-input" data-validate-async data-validation-message="按照开票金额及时间罗列计收计划"
<#-- placeholder="请输入具体解决方案" required--> placeholder="按照开票金额及时间罗列计收计划"
<#-- >${project.mainContractResolvePlan!}</textarea>--> >${project.CalculationCollection!}</textarea>
<#-- </div>--> </div>
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>--> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
<#-- </div>--> </div>
</div>
<#-- <div class="am-g am-form-group am-margin-top">--> </div>
<#-- <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>计收计划</div>-->
<#-- <div class="am-u-sm-6 am-u-md-6">-->
<#-- <textarea rows="3" cols="20" id="CalculationCollection" name="CalculationCollection" maxlength="1000"-->
<#-- class="am-input" data-validate-async data-validation-message="按照开票金额及时间罗列计收计划"-->
<#-- placeholder="按照开票金额及时间罗列计收计划" required-->
<#-- >${project.CalculationCollection!}</textarea>-->
<#-- </div>-->
<#-- <div class="am-u-sm-2 am-u-md-4 input-msg"></div>-->
<#-- </div>-->
<#-- </div>-->
<#-- </div>-->
<#-- <span>收入</span>--> <#-- <span>收入</span>-->
<#-- <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">--> <#-- <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">-->
<#-- <tbody>--> <#-- <tbody>-->

View File

@ -123,43 +123,20 @@
</div> </div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty"> <input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资利息"
<option value="1" >A基本确定中标待签合同合同签订中</option> name="advanceInterestAmount" id="advanceInterestAmount" placeholder="单位(元)" maxlength="16"
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option> value="" />
<option value="3" >C项目初期引导阶段</option>
</select>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用" <input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="industryScenario" id="industryScenario" placeholder="请输入行业场景应用" maxlength="20" name="advancePeakAmount" id="advancePeakAmount" placeholder="单位(元)" maxlength="16"
value="" required /> value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" id="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" id="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000"
value="" required />
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
@ -195,19 +172,19 @@
</div> </div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>智产品金额</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>智产品金额</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="智产品金额" required <input type="text" class="number am-input" data-validation-message="智产品金额" required
name="huazhiProductAmount" id="huazhiProductAmount" placeholder="单位(元)" maxlength="16" value="" /> name="huizhiProductAmount" id="huizhiProductAmount" placeholder="单位(元)" maxlength="16" value="" />
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>智产品金额</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>智产品金额</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="智产品金额" required <input type="text" class="number am-input" data-validation-message="智产品金额" required
name="huizhiProductAmount" id="huizhiProductAmount" placeholder="单位(元)" maxlength="16" value="" /> name="huazhiProductAmount" id="huazhiProductAmount" placeholder="单位(元)" maxlength="16" value="" />
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
@ -230,6 +207,60 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" id="industryScenario" placeholder="请输入行业场景应用" maxlength="20"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" >其他生态</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" id="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" id="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000"
value="" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
@ -288,6 +319,7 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right">是否二次合作</div> <div class="am-u-sm-4 am-u-md-2 am-text-right">是否二次合作</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="isSecond" name="isSecond"> <select data-am-selected id="isSecond" name="isSecond">
<option value="-1" ></option>
<option value="1" >是</option> <option value="1" >是</option>
<option value="2" >否</option> <option value="2" >否</option>
</select> </select>
@ -299,43 +331,13 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right">签单方式</div> <div class="am-u-sm-4 am-u-md-2 am-text-right">签单方式</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="signType" name="signType"> <select data-am-selected id="signType" name="signType">
<option value="-1" ></option>
<option value="1" >紫光汇智直接投标</option> <option value="1" >紫光汇智直接投标</option>
</select> </select>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" >其他生态</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">垫资利息</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资利息"
name="advanceInterestAmount" id="advanceInterestAmount" placeholder="单位(元)" maxlength="16"
value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="advancePeakAmount" id="advancePeakAmount" placeholder="单位(元)" maxlength="16"
value="" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">主合同收款条款</div> <div class="am-u-sm-4 am-u-md-2 am-text-right">主合同收款条款</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">

View File

@ -30,7 +30,7 @@
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>部门名称</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>部门名称</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<span>${project.deptName}</span> <span>${project.deptName!}</span>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
@ -61,7 +61,7 @@
<select data-am-selected id="type" name="type"> <select data-am-selected id="type" name="type">
<option value="1" <#if project.type=1>selected</#if>>工程集成类</option> <option value="1" <#if project.type=1>selected</#if>>工程集成类</option>
<option value="2" <#if project.type=2>selected</#if>>设备集成类</option> <option value="2" <#if project.type=2>selected</#if>>设备集成类</option>
<option value="3" <#if project.type=3>selected</#if>>战略合作类</option> <#-- <option value="3" <#if project.type=3>selected</#if>>战略合作类</option>-->
</select> </select>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -74,7 +74,7 @@
<i class="am-icon-calendar"></i> <i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="startDate" <input type="text" class="am-form-field am-input-sm" id="startDate"
name="startDate" autocomplete="off" name="startDate" autocomplete="off"
value="${project.startDate?string("yyyy-MM-dd")}" placeholder="项目计划开始时间" value="${(project.startDate?string("yyyy-MM-dd"))!}" placeholder="项目计划开始时间"
data-am-datepicker> data-am-datepicker>
</div> </div>
</div> </div>
@ -87,7 +87,7 @@
<i class="am-icon-calendar"></i> <i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="endDate" <input type="text" class="am-form-field am-input-sm" id="endDate"
name="endDate" autocomplete="off" name="endDate" autocomplete="off"
value="${project.endDate?string("yyyy-MM-dd")}" placeholder="项目计划结束时间" value="${(project.endDate?string("yyyy-MM-dd"))!}" placeholder="项目计划结束时间"
data-am-datepicker> data-am-datepicker>
</div> </div>
</div> </div>
@ -133,43 +133,20 @@
</div> </div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资利息</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty"> <input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资利息"
<option value="1" <#if project.certainty=1>selected</#if>>A基本确定中标待签合同合同签订中</option> name="advanceInterestAmount" placeholder="单位(元)" maxlength="16" id="advanceInterestAmount"
<option value="2" <#if project.certainty=2>selected</#if>>B客户产品参数、商务评分、商务资质引导成功</option> value="${Utils.format(project.advanceInterestAmount)}" required />
<option value="3" <#if project.certainty=3>selected</#if>>C项目初期引导阶段</option>
</select>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用" <input type="number" class="am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20" id="industryScenario" name="advancePeakAmount" placeholder="单位(元)" maxlength="16" id="advancePeakAmount"
value="${project.industryScenario!}" required/> value="${Utils.format(project.advancePeakAmount)}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000" id="customer"
value="${project.customer}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000" id="terminalCustomer"
value="${project.terminalCustomer}" required/>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
@ -204,6 +181,16 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>汇智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="请输入汇智产品金额"
name="huizhiProductAmount" placeholder="单位(元)" maxlength="20" id="huizhiProductAmount"
value="${Utils.format(project.huizhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华智产品金额</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
@ -214,15 +201,6 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>汇智产品金额</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validation-message="请输入汇智产品金额"
name="huizhiProductAmount" placeholder="单位(元)" maxlength="20" id="huizhiProductAmount"
value="${Utils.format(project.huizhiProductAmount, "0.00")}" required />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华三产品金额</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>华三产品金额</div>
@ -244,6 +222,73 @@
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目把握度</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="certainty" name="certainty">
<#if project.certainty??>
<option value="1" <#if project.certainty=1>selected</#if>>A基本确定中标待签合同合同签订中</option>
<option value="2" <#if project.certainty=2>selected</#if>>B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" <#if project.certainty=3>selected</#if>>C项目初期引导阶段</option>
<#else>
<option value="1" >A基本确定中标待签合同合同签订中</option>
<option value="2" >B客户产品参数、商务评分、商务资质引导成功</option>
<option value="3" >C项目初期引导阶段</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>行业场景应用</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入行业场景应用"
name="industryScenario" placeholder="请输入行业场景应用" maxlength="20" id="industryScenario"
value="${project.industryScenario!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<#if project.resolvePlan??>
<option value="1" <#if project.resolvePlan=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if project.resolvePlan=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if project.resolvePlan=3>selected</#if>>其他生态</option>
<#else>
<option value="1" >公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" >泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" >其他生态</option>
</#if>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入客户名称1000字符以内"
name="customer" placeholder="请输入客户名称1000字符以内" maxlength="1000" id="customer"
value="${project.customer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>终端客户名称</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="am-input" data-validate-async data-validation-message="请输入终端客户名称1000字符以内"
name="terminalCustomer" placeholder="请输入终端客户名称1000字符以内" maxlength="1000" id="terminalCustomer"
value="${project.terminalCustomer!}" required/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div> <div class="am-u-sm-4 am-u-md-2 am-text-right"><span style="color: red;">*</span>价值及风险</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
@ -303,8 +348,15 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right">是否二次合作</div> <div class="am-u-sm-4 am-u-md-2 am-text-right">是否二次合作</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="isSecond" name="isSecond"> <select data-am-selected id="isSecond" name="isSecond">
<option value="1" <#if project.isSecond=1>selected</#if>>是</option> <#if project.isSecond??>
<option value="2" <#if project.isSecond=2>selected</#if>>否</option> <option value="-1" ></option>
<option value="1" <#if project.isSecond=1>selected</#if>>是</option>
<option value="2" <#if project.isSecond=2>selected</#if>>否</option>
<#else>
<option value="-1" ></option>
<option value="1" >是</option>
<option value="2" >否</option>
</#if>
</select> </select>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
@ -314,42 +366,18 @@
<div class="am-u-sm-4 am-u-md-2 am-text-right">签单方式</div> <div class="am-u-sm-4 am-u-md-2 am-text-right">签单方式</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="signType" name="signType"> <select data-am-selected id="signType" name="signType">
<option value="1" <#if project.signType=1>selected</#if>>紫光汇智直接投标</option> <#if project.signType??>
<option value="-1" ></option>
<option value="1" <#if project.signType=1>selected</#if>>紫光汇智直接投标</option>
<#else>
<option value="-1" ></option>
<option value="1" >紫光汇智直接投标</option>
</#if>
</select> </select>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">项目解决方案</div>
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="1" <#if project.resolvePlan=1>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if project.resolvePlan=2>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if project.resolvePlan=3>selected</#if>>其他生态</option>
</select>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">垫资利息</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资利息"
name="advanceInterestAmount" placeholder="单位(元)" maxlength="16" id="advanceInterestAmount"
value="${Utils.format(project.advanceInterestAmount)}" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">垫资峰值</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" class="number am-input" data-validate-async data-validation-message="请输入垫资峰值"
name="advancePeakAmount" placeholder="单位(元)" maxlength="16" id="advancePeakAmount"
value="${Utils.format(project.advancePeakAmount)}" />
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div>
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">主合同收款条款</div> <div class="am-u-sm-4 am-u-md-2 am-text-right">主合同收款条款</div>
@ -376,10 +404,10 @@
<div class="am-g am-form-group am-margin-top"> <div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-4 am-u-md-2 am-text-right">计收计划</div> <div class="am-u-sm-4 am-u-md-2 am-text-right">计收计划</div>
<div class="am-u-sm-6 am-u-md-6"> <div class="am-u-sm-6 am-u-md-6">
<textarea rows="3" cols="20" id="calculationCollection" name="calculationCollection" maxlength="1000" <textarea rows="3" cols="20" id="CalculationCollection" name="CalculationCollection" maxlength="1000"
class="am-input" data-validate-async data-validation-message="按照开票金额及时间罗列计收计划" class="am-input" data-validate-async data-validation-message="按照开票金额及时间罗列计收计划"
placeholder="按照开票金额及时间罗列计收计划" placeholder="按照开票金额及时间罗列计收计划"
>${project.calculationCollection!}</textarea> >${project.CalculationCollection!}</textarea>
</div> </div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
</div> </div>

View File

@ -24,22 +24,22 @@
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;"> <table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody> <tbody>
<tr> <tr>
<th class="am-text-middle">项目编号</th> <th class="am-text-middle" style="width: 10%">项目编号</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<input type="text" id="projectNo" class="am-form-field am-input-sm" <input type="text" id="projectNo" class="am-form-field am-input-sm"
value="${projectNo!}"/> value="${projectNo!}"/>
</div> </div>
</td> </td>
<th class="am-text-middle">项目名称</th> <th class="am-text-middle" style="width: 10%">项目名称</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<input type="text" id="name" class="am-form-field am-input-sm" <input type="text" id="name" class="am-form-field am-input-sm"
value="${name!}"/> value="${name!}"/>
</div> </div>
</td> </td>
<th class="am-text-middle">项目状态</th> <th class="am-text-middle" style="width: 10%">项目状态</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<select data-am-selected id="status" name="status"> <select data-am-selected id="status" name="status">
<option value="-1">全部</option> <option value="-1">全部</option>
@ -50,8 +50,8 @@
</select> </select>
</div> </div>
</td> </td>
<th class="am-text-middle">项目创建者</th> <th class="am-text-middle" style="width: 10%">项目创建者</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<input type="text" id="creatorName" class="am-form-field am-input-sm" <input type="text" id="creatorName" class="am-form-field am-input-sm"
value="${creatorName!}"/> value="${creatorName!}"/>
@ -60,52 +60,8 @@
</tr> </tr>
<tr> <tr>
<th class="am-text-middle">是否二次合作</th> <th class="am-text-middle" style="width: 10%">部门名称</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="isSecond" name="isSecond">
<option value="-1">全部</option>
<option value="1" <#if isSecond?? && isSecond='1'>selected</#if>>是</option>
<option value="2" <#if isSecond?? && isSecond='2'>selected</#if>>否</option>
</select>
</div>
</td>
<th class="am-text-middle">签单方式</th>
<td>
<div class="am-u-sm-10">
<select data-am-selected id="signType" name="signType">
<option value="-1">全部</option>
<option value="1" <#if signType?? && signType='1'>selected</#if>>紫光汇智直接投标</option>
</select>
</div>
</td>
<th class="am-text-middle">项目解决方案</th>
<td>
<div class="am-u-sm-10">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="-1">全部</option>
<option value="1" <#if resolvePlan?? && resolvePlan='1'>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if resolvePlan?? && resolvePlan='2'>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if resolvePlan?? && resolvePlan='3'>selected</#if>>其他生态</option>
</select>
</div>
</td>
<th class="am-text-middle">审核状态</th>
<td>
<div class="am-u-sm-10">
<select data-am-selected id="approveStatus" name="approveStatus">
<option value="-1">全部</option>
<option value="0" <#if approveStatus?? && approveStatus='0'>selected</#if>>草稿</option>
<option value="1" <#if approveStatus?? && approveStatus='1'>selected</#if>>待审核</option>
<option value="2" <#if approveStatus?? && approveStatus='2'>selected</#if>>审核通过</option>
<option value="3" <#if approveStatus?? && approveStatus='3'>selected</#if>>审核不通过</option>
</select>
</div>
</td>
</tr>
<tr>
<th class="am-text-middle">部门名称</th>
<td>
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<select data-am-selected id="deptId" name="deptId"> <select data-am-selected id="deptId" name="deptId">
<option value="-1">全部</option> <option value="-1">全部</option>
@ -117,8 +73,8 @@
</select> </select>
</div> </div>
</td> </td>
<th class="am-text-middle">项目类型</th> <th class="am-text-middle" style="width: 10%">项目类型</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<select data-am-selected id="type" name="type"> <select data-am-selected id="type" name="type">
<option value="-1">全部</option> <option value="-1">全部</option>
@ -128,8 +84,8 @@
</select> </select>
</div> </div>
</td> </td>
<th class="am-text-middle">垫资模式</th> <th class="am-text-middle" style="width: 10%">垫资模式</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<select data-am-selected id="underwrittenMode" name="underwrittenMode"> <select data-am-selected id="underwrittenMode" name="underwrittenMode">
<option value="-1">全部</option> <option value="-1">全部</option>
@ -140,8 +96,8 @@
</select> </select>
</div> </div>
</td> </td>
<th class="am-text-middle">项目把握度</th> <th class="am-text-middle" style="width: 10%">项目把握度</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<select data-am-selected id="certainty" name="certainty"> <select data-am-selected id="certainty" name="certainty">
<option value="-1">全部</option> <option value="-1">全部</option>
@ -152,39 +108,86 @@
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
<th class="am-text-middle">行业场景应用</th> <th class="am-text-middle" style="width: 10%">客户名称</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="industryScenario" class="am-form-field am-input-sm"
value="${industryScenario!}"/>
</div>
</td>
<th class="am-text-middle">客户名称</th>
<td>
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<input type="text" id="customer" class="am-form-field am-input-sm" <input type="text" id="customer" class="am-form-field am-input-sm"
value="${customer!}"/> value="${customer!}"/>
</div> </div>
</td> </td>
<th class="am-text-middle">终端客户名称</th> <th class="am-text-middle" style="width: 10%">终端客户名称</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<input type="text" id="terminalCustomer" class="am-form-field am-input-sm" <input type="text" id="terminalCustomer" class="am-form-field am-input-sm"
value="${terminalCustomer!}"/> value="${terminalCustomer!}"/>
</div> </div>
</td> </td>
<th class="am-text-middle">项目负责人</th> <th class="am-text-middle" style="width: 10%">项目负责人</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<input type="text" id="principal" class="am-form-field am-input-sm" <input type="text" id="principal" class="am-form-field am-input-sm"
value="${principal!}"/> value="${principal!}"/>
</div> </div>
</td> </td>
<th class="am-text-middle" style="width: 10%">审核状态</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="approveStatus" name="approveStatus">
<option value="-1">全部</option>
<option value="0" <#if approveStatus?? && approveStatus='0'>selected</#if>>草稿</option>
<option value="1" <#if approveStatus?? && approveStatus='1'>selected</#if>>待审核</option>
<option value="2" <#if approveStatus?? && approveStatus='2'>selected</#if>>审核通过</option>
<option value="3" <#if approveStatus?? && approveStatus='3'>selected</#if>>审核不通过</option>
</select>
</div>
</td>
</tr> </tr>
<tr> <tr>
<th class="am-text-middle">最后更新时间</th> <th class="am-text-middle" style="width: 10%">是否二次合作</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="isSecond" name="isSecond">
<option value="-1">全部</option>
<option value="1" <#if isSecond?? && isSecond='1'>selected</#if>>是</option>
<option value="2" <#if isSecond?? && isSecond='2'>selected</#if>>否</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">签单方式</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="signType" name="signType">
<option value="-1">全部</option>
<option value="1" <#if signType?? && signType='1'>selected</#if>>紫光汇智直接投标</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">行业场景</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="industryScenario" class="am-form-field am-input-sm"
value="${industryScenario!}"/>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目解决方案</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected id="resolvePlan" name="resolvePlan">
<option value="-1">全部</option>
<option value="1" <#if resolvePlan?? && resolvePlan='1'>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if resolvePlan?? && resolvePlan='2'>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if resolvePlan?? && resolvePlan='3'>selected</#if>>其他生态</option>
</select>
</div>
</td>
</tr>
<tr>
<th class="am-text-middle" style="width: 10%">最后更新时间</th>
<td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<div class="am-form am-form-inline"> <div class="am-form am-form-inline">
<div class="am-form-group am-form-icon"> <div class="am-form-group am-form-icon">
@ -201,8 +204,8 @@
</div> </div>
</div> </div>
</td> </td>
<th class="am-text-middle">项目周期</th> <th class="am-text-middle" style="width: 10%">项目周期</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<div class="am-form am-form-inline"> <div class="am-form am-form-inline">
<div class="am-form-group am-form-icon"> <div class="am-form-group am-form-icon">
@ -219,8 +222,8 @@
</div> </div>
</div> </div>
</td> </td>
<th class="am-text-middle">预计合同签订时间</th> <th class="am-text-middle" style="width: 10%">预计合同签订时间</th>
<td> <td style="width: 15%">
<div class="am-u-sm-10"> <div class="am-u-sm-10">
<div class="am-form am-form-inline"> <div class="am-form am-form-inline">
<div class="am-form-group am-form-icon"> <div class="am-form-group am-form-icon">
@ -237,7 +240,13 @@
</div> </div>
</div> </div>
</td> </td>
<td colspan="2"> <th class="am-text-middle" style="width: 10%"></th>
<td style="width: 15%">
</td>
</tr>
<tr>
<td colspan="8">
<div align='right'> <div align='right'>
<@shiro.hasPermission name="PROJECT_QUERY"> <@shiro.hasPermission name="PROJECT_QUERY">
<button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary" <button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary"
@ -292,21 +301,22 @@
<th class="table-title">项目合同金额</th> <th class="table-title">项目合同金额</th>
<th class="table-title">项目毛利</th> <th class="table-title">项目毛利</th>
<th class="table-title">项目毛利率</th> <th class="table-title">项目毛利率</th>
<th class="table-title">项目状态</th> <th class="table-title">项目把握度</th>
<th class="table-title">汇智产品金额</th> <th class="table-title">汇智产品金额</th>
<th class="table-title">华智产品金额</th> <th class="table-title">华智产品金额</th>
<th class="table-title">华三产品金额</th> <th class="table-title">华三产品金额</th>
<th class="table-title">其他产品金额</th> <th class="table-title">其他产品金额</th>
<th class="table-title">项目把握度</th> <th class="table-title">项目状态</th>
<th class="table-title">行业场景应用</th> <th class="table-title">行业场景应用</th>
<th class="table-title">解决方案</th>
<th class="table-title">客户名称</th> <th class="table-title">客户名称</th>
<th class="table-title">终端客户名称</th> <th class="table-title">终端客户名称</th>
<th class="table-title">项目负责人</th>
<th class="table-title">预计合同签订时间</th> <th class="table-title">预计合同签订时间</th>
<th class="table-title">项目计划招标时间</th> <th class="table-title">项目计划招标时间</th>
<th class="table-title">是否二次合作</th> <th class="table-title">是否二次合作</th>
<th class="table-title">签单方式</th> <th class="table-title">签单方式</th>
<th class="table-title">合作对象</th> <th class="table-title">战略合作对象</th>
<th class="table-title">项目负责人</th>
<th class="table-title">审核状态</th> <th class="table-title">审核状态</th>
<th class="table-title">当前审核人</th> <th class="table-title">当前审核人</th>
<th class="table-title">项目创建者</th> <th class="table-title">项目创建者</th>
@ -329,21 +339,22 @@
<td>${Utils.format(list.contractAmount, "0.00")}</td> <td>${Utils.format(list.contractAmount, "0.00")}</td>
<td>${Utils.format(list.grossProfit, "0.00")}</td> <td>${Utils.format(list.grossProfit, "0.00")}</td>
<td>${Utils.format(list.grossProfitMargin, "0.00")}</td> <td>${Utils.format(list.grossProfitMargin, "0.00")}</td>
<td>${list.statusDesc!}</td> <td>${list.certaintyStr!}</td>
<td>${Utils.format(list.huizhiProductAmount, "0.00")}</td> <td>${Utils.format(list.huizhiProductAmount, "0.00")}</td>
<td>${Utils.format(list.huazhiProductAmount, "0.00")}</td> <td>${Utils.format(list.huazhiProductAmount, "0.00")}</td>
<td>${Utils.format(list.huasanProductAmount, "0.00")}</td> <td>${Utils.format(list.huasanProductAmount, "0.00")}</td>
<td>${Utils.format(list.ziguangOtherAmount, "0.00")}</td> <td>${Utils.format(list.ziguangOtherAmount, "0.00")}</td>
<td>${list.certaintyStr!}</td> <td>${list.statusDesc!}</td>
<td>${list.industryScenario!}</td> <td>${list.industryScenario!}</td>
<td>${list.resolvePlanStr!}</td>
<td>${list.customer!}</td> <td>${list.customer!}</td>
<td>${list.terminalCustomer!}</td> <td>${list.terminalCustomer!}</td>
<td>${list.principal!}</td>
<td>${(list.contractTime?string("yyyy-MM-dd HH:mm:ss"))!}</td> <td>${(list.contractTime?string("yyyy-MM-dd HH:mm:ss"))!}</td>
<td>${(list.bidsTime?string("yyyy-MM-dd HH:mm:ss"))!}</td> <td>${(list.bidsTime?string("yyyy-MM-dd HH:mm:ss"))!}</td>
<td>${list.isSecondStr!}</td> <td>${list.isSecondStr!}</td>
<td>${list.signTypeStr!}</td> <td>${list.signTypeStr!}</td>
<td>${list.collaborator!}</td> <td>${list.collaborator!}</td>
<td>${list.principal!}</td>
<td>${list.approveStatusDesc!}</td> <td>${list.approveStatusDesc!}</td>
<td>${list.approveName!}</td> <td>${list.approveName!}</td>
<td>${list.creatorName!}</td> <td>${list.creatorName!}</td>