蔡德晨 5 rokov pred
rodič
commit
37e8cab075

+ 70 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/entity/Settlement.java

@@ -0,0 +1,70 @@
+package com.jeeplus.modules.sg.overheadline.entity;
+
+public class Settlement {
+    private String id;
+    private String entryName;
+    private Double money;
+    private String remarks;
+    private String status;
+    private String reason;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getEntryName() {
+        return entryName;
+    }
+
+    public void setEntryName(String entryName) {
+        this.entryName = entryName;
+    }
+
+    public Double getMoney() {
+        return money;
+    }
+
+    public void setMoney(Double money) {
+        this.money = money;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+
+    @Override
+    public String toString() {
+        return "Settlement{" +
+                "id='" + id + '\'' +
+                ", entryName='" + entryName + '\'' +
+                ", money=" + money +
+                ", remarks='" + remarks + '\'' +
+                ", status='" + status + '\'' +
+                ", reason='" + reason + '\'' +
+                '}';
+    }
+}

+ 18 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/SettlementMapper.java

@@ -0,0 +1,18 @@
+package com.jeeplus.modules.sg.overheadline.mapper;
+
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.overheadline.entity.Settlement;
+
+import java.util.List;
+
+@MyBatisMapper
+public interface SettlementMapper {
+    /*
+        保存结算工程
+     */
+    void sava(Settlement settlement);
+    /*
+        查找工程
+     */
+    List<Settlement> selectSettlement(String id);
+}

+ 34 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/xml/SettlementMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.sg.overheadline.mapper.SettlementMapper">
+	<insert id="sava" parameterType="com.jeeplus.modules.sg.overheadline.entity.Settlement">
+		insert into sg_sett_count
+				( id,
+				 sett_name,
+				 sett_money,
+				 sett_remarks,
+				 sett_status,
+				 sett_reason
+				) values (
+				 #{id},
+				 #{entryName},
+				 #{money},
+				 #{remarks},
+				 #{status},
+				 #{reason}
+				)
+	</insert>
+
+	<select id="selectSettlement" parameterType="String" resultType="com.jeeplus.modules.sg.overheadline.entity.Settlement">
+		  select
+		  id as id,
+		  sett_name as entryName,
+		  sett_money as money,
+		  sett_remarks as remarks,
+		  sett_status as status,
+		  sett_reason as reason
+		  from
+		  sg_sett_count
+		  where id=#{id}
+	</select>
+</mapper>

+ 351 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/service/SettlementService.java

@@ -0,0 +1,351 @@
+package com.jeeplus.modules.sg.overheadline.service;
+
+import com.jeeplus.common.utils.excel.ImportExcel;
+import com.jeeplus.modules.sg.overheadline.entity.Settlement;
+import com.jeeplus.modules.sg.overheadline.mapper.SettlementMapper;
+import com.jeeplus.modules.sg.overheadline.util.BashInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.*;
+
+@Service
+public class SettlementService {
+    @Autowired
+    private SettlementMapper settlementMapper;
+
+    /*
+        添加结算工程表
+     */
+    @Transactional
+    public void save(MultipartFile file,String id){
+        try {
+            List<Settlement> settlementList = getSettlement(file,id);
+            for (int i = 0; i < settlementList.size(); i++) {
+                settlementMapper.sava(settlementList.get(i));
+            }
+        }catch (Exception c){
+            c.printStackTrace();
+        }
+    }
+    /*
+        查找结算工程表
+     */
+    public List<Settlement> selectSettlementService(String id){
+        return settlementMapper.selectSettlement(id);
+    }
+
+    /*
+     获取结算数据
+    */
+    public List<Settlement> getSettlement(MultipartFile file, String id) throws  Exception{
+        ImportExcel completion = new ImportExcel(file,1, BashInfo.SHEET_HZB);
+        ImportExcel built = new ImportExcel(file,1,BashInfo.SHEET_GCHZ);
+        ImportExcel division = new ImportExcel(file,1,BashInfo.SHEET_FBFXJJ);
+        ImportExcel wordFirst = new ImportExcel(file,1,BashInfo.SHEET_CSB);
+        ImportExcel otherProject = new ImportExcel(file,1,BashInfo.SHEET_QTFY);
+        ImportExcel feesProject  = new ImportExcel(file,1,BashInfo.SHEET_GFQD);
+        Map<String,Object[]> builtMap = getCompletionWorks(completion);
+        Double builtTotal = getBuiltStilts(built);
+        Double[] divisiontotal = getDivisionOf(division);
+        Double wordtotal = getWording(wordFirst);
+        Double otherTotal = getOtherProject(otherProject);
+        Double feescount  = getFeesTotal(feesProject);
+        return getTotality(builtMap,builtTotal,divisiontotal,wordtotal,otherTotal,feescount,id);
+    }
+    /*
+      获取工程竣工数据
+     */
+    public Map<String,Object[]> getCompletionWorks(ImportExcel importExcel){
+        Map<String,Object[]> map  = new LinkedHashMap<String, Object[]>();
+        Integer lastDataRowNum =  importExcel.getLastDataRowNum();
+        String key="";
+        Double val=0.0;
+        String text = "";
+        Object[] objects;
+        for (int i = 2; i < lastDataRowNum; i++) {
+            objects = new Object[2];
+            key =  importExcel.getValue(i+1,1);
+            val = importExcel.getDouble(i+1,2);
+            text=importExcel.getValue(i+1,3);
+            switch (key){
+                case BashInfo.JS_FBFX:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_CBRF:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_CSXM:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_QTXM:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_GF:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_SJ:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_FBRF:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_JGJS:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_BZZS:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_KJJG:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+                case BashInfo.JS_GCJS:
+                    val = importExcel.getDouble(i+1,2);
+                    text=importExcel.getValue(i+1,3);
+                    objects[0] = val;
+                    objects[1] = text;
+                    map.put(key, objects);
+                    break;
+            }
+        }
+        return  map;
+    }
+    /*
+      获取架空合计
+     */
+    public Double getBuiltStilts(ImportExcel importExcel){
+        Double value = 0.0;
+        String type="";
+        Integer lastDataRowNum = importExcel.getLastDataRowNum();
+        for (int i = 2; i < lastDataRowNum ; i++) {
+            type = importExcel.getValue(i+1,0);
+            if (type.equals(BashInfo.QT_HJ)){
+                value = importExcel.getDouble(i+1,2);
+                break;
+            }
+        }
+        return value;
+    }
+    /*
+      获取措施费合计
+     */
+    public Double getWording(ImportExcel importExcel){
+        Double value = 0.0;
+        String type = "";
+        Integer lastDataRowNum = importExcel.getLastDataRowNum();
+        for (int i = 2; i <lastDataRowNum ; i++) {
+            type = importExcel.getValue(i+1,0);
+            if (type.equals(BashInfo.QT_HJ)){
+                value = importExcel.getDouble(i+1,4);
+                break;
+            }
+        }
+        return value;
+    }
+    /*
+      获取其他项目费
+     */
+    public Double getOtherProject(ImportExcel importExcel){
+        Double value = 0.0;
+        String type= "";
+        Integer lastDataRowNum = importExcel.getLastDataRowNum();
+        for (int i = 0; i <lastDataRowNum ; i++) {
+            type = importExcel.getValue(i+1,0);
+            if (type.equals(BashInfo.QT_HJ)){
+                value = importExcel.getDouble(i+1,2);
+                break;
+            }
+        }
+        return  value;
+    }
+    /*
+      获取规费合计
+     */
+    public Double getFeesTotal(ImportExcel importExcel){
+        Double value = 0.0;
+        String type = "";
+        Integer lastDataRowNum = importExcel.getLastDataRowNum();
+        for (int i = 2; i < lastDataRowNum; i++) {
+            type = importExcel.getValue(i+1,0);
+            if (type.equals(BashInfo.QT_HJ)){
+                value = importExcel.getDouble(i+1,4);
+                break;
+            }
+        }
+        return value;
+    }
+    /*
+      获取分工清单
+     */
+    public Double[] getDivisionOf(ImportExcel importExcel){
+        Double count = 0.0;
+        Double fpermoney =  0.0;
+        Double cpermoney = 0.0;
+        String type="";
+        Integer lastDataRowNum = importExcel.getLastDataRowNum();
+        for (int i = 0; i < lastDataRowNum; i++) {
+            type = importExcel.getValue(i+1,2);
+            if (type.equals(BashInfo.PROJECTNAME)) {
+                count = importExcel.getDouble(i + 1, 12);
+                cpermoney = importExcel.getDouble(i + 1, 14);
+                fpermoney = importExcel.getDouble(i + 1, 15);
+                break;
+            }
+        }
+        Double[] val = new Double[3];
+        val[0] = count;
+        val[1] = cpermoney;
+        val[2] = fpermoney;
+        return  val;
+    }
+    /*
+      结算汇总
+     */
+    public List<Settlement> getTotality(Map<String,Object[]> builtMap,Double builtTotal,Double[] divisiontotal,Double wordtotal,Double otherTotal,Double feescount,String id){
+        List<Settlement> list = new ArrayList<Settlement>();
+        String key="";
+        Double count=0.0;
+        Double countProtect=0.0;
+        Double creatProtect=0.0;
+        String status="1";
+        Settlement  settlement;
+        String reason = "数据核验正确";
+        for (Map.Entry<String,Object[]> map:builtMap.entrySet()){
+            key = map.getKey();
+            Object[] val = map.getValue();
+            double money = Double.parseDouble(val[0].toString());
+            String remarks=val[1].toString();
+            switch (key){
+                case BashInfo.JS_FBFX:
+                    if(money==builtTotal&&money==divisiontotal[0]){
+                        status="0";
+                        count+=money;
+                    }else {
+                        reason = BashInfo.RESON_FBFX;
+                    }
+                    break;
+                case  BashInfo.JS_CBRF:
+                    if(money==divisiontotal[1]){
+                        status="0";
+                        count+=money;
+                    }else {
+                        reason = BashInfo.RESON_CBRF;
+                    }
+                    break;
+                case BashInfo.JS_CSXM:
+                    if(money==wordtotal){
+                        status="0";
+                        count+=money;
+                    }else {
+                        reason = BashInfo.RESON_CSXM;
+                    }
+                    break;
+                case BashInfo.JS_QTXM:
+                    if(money==wordtotal){
+                        status="0";
+                        count+=money;
+                    }else {
+                        reason = BashInfo.RESON_QTXM;
+                    }
+                    break;
+                case BashInfo.JS_GF:
+                    if(money==feescount){
+                        status="0";
+                        count+=money;
+                    }else {
+                        reason = BashInfo.RESON_GF;
+                    }
+                    break;
+                case BashInfo.JS_FBRF:
+                    if(money==divisiontotal[2]){
+                        status="0";
+                        count+=money;
+                    }else {
+                        reason = BashInfo.RESON_FBRF;
+                    }
+                    break;
+                case BashInfo.JS_SJ:
+                    status="0";
+                    count+=money;
+                    break;
+                case BashInfo.JS_JGJS:
+                    if(money==count){
+                        status="0";
+                        countProtect+=money;
+                    }else {
+                        reason = BashInfo.RESON_JGJS;
+                    }
+                    break;
+                case BashInfo.JS_BZZS:
+                    status="0";
+                    countProtect+=money;
+                    break;
+                case BashInfo.JS_KJJG:
+                    status="0";
+                    creatProtect=money;
+                    break;
+                case BashInfo.GCJS:
+                    Double reduce = countProtect-creatProtect;
+                    if (money==reduce){
+                        status="0";
+                    }else {
+                        reason = BashInfo.RESON_GCJS;
+                    }
+                    break;
+            }
+            settlement = new Settlement();
+            settlement.setId(id);
+            settlement.setEntryName(key);
+            settlement.setMoney(money);
+            settlement.setStatus(status);
+            settlement.setRemarks(remarks);
+            settlement.setReason(reason);
+            list.add(settlement);
+            status="1";
+            reason = "数据核验正确";
+        }
+        return list;
+    }
+}

+ 423 - 0
src/main/webapp/webpage/modules/sg/free/wbslist.jsp

@@ -0,0 +1,423 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: user
+  Date: 2019/8/7
+  Time: 18:39
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+    <title>wbs</title>
+    <link rel="stylesheet" href="${ctxp}/static/plugin/assets/layui/css/layui.css">
+    <link rel="stylesheet" href="${ctxp}/static/plugin/assets/common.css"/>
+    <script type="text/javascript" src="${ctxp}/static/plugin/assets/jquery-3.2.1.min.js"></script>
+</head>
+<style>
+    .btn_out{
+        width: 100px;
+        margin: 0;
+        float: right;
+        margin-right:2%;
+    }
+    .div_main_form{
+        width: 50%;
+        margin-left: 10px;
+    }
+    .layui-icon-layer{
+        display: none;
+    }
+    .layui-icon-file{
+        display: none;
+    }
+
+     .layui-table-view .layui-table {width:100%}
+</style>
+<body style="background-color: white ;height: 100%">
+    <sys:message content="${message}"/>
+    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
+        <legend>结算汇总表</legend>
+    </fieldset>
+    <div class="" style="margin-left: 10px;margin-right: 10px;">
+        <table class="layui-hide" id="settlement" lay-filter="settle"></table>
+    </div>
+
+    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
+        <legend>本体部分</legend>
+    </fieldset>
+    <div class="" style="margin-left: 10px;margin-right: 10px;margin-top: 10px;">
+       <c:forEach items="${map.list1}" var="data1" varStatus="index">
+         <a class="layui-btn" href="${ctx}/jkxl/export?id=${data1.id}">导出</a>
+       </c:forEach>
+            <%--<table:importExcel url="${ctx}/propertycostreminder/propertyCostReminder/import"></table:importExcel>--%>
+        <table id="table1" class="layui-table" lay-filter="table1"></table>
+    </div>
+
+    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
+        <legend>其他部分</legend>
+    </fieldset>
+    <div class="" style="margin-left: 10px;margin-right: 10px;">
+        <table id="table2" class="layui-table" lay-filter="table2"></table>
+    </div>
+
+    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
+        <legend>未识别部分</legend>
+    </fieldset>
+    <div class="" style="margin-left: 10px;width:70%;margin-right: 10px;">
+        <input hidden="hidden" name="" id="newid" value=""/>
+        <input hidden="hidden" name="" id="xmmc1" value=""/>
+        <input hidden="hidden" name="" id="fyje1" value=""/>
+        <table class="layui-hide" id="xmmc" lay-filter="freestr"></table>
+    </div>
+    <div style="width: 100%;height: 100px"></div>
+    <script type="text/html" id="barDemo">
+        <a class="layui-btn  layui-btn-xs" lay-event="fttz">分摊调整</a>
+        <a class="layui-btn layui-btn-xs" lay-event="ddtz">单独调整</a>
+    </script>
+    <script type="text/html" id="barbtn1">
+    <%--<c:if test="${not empty map.settlementList}">--%>
+        <%--<c:forEach items="${map.settlementList}" var="data" varStatus="id">--%>
+            <%--{{# if(data.status==0){}}--%>
+                <%--<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="byz">一致</a>--%>
+            {{# if(d.status==0){}}
+                <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="byz">不一致</a>
+            {{# }}}
+        <%--</c:forEach>--%>
+    <%--</c:if>--%>
+    </script>
+</body>
+<script src="${ctxp}/static/plugin/assets/layui/layui.js"></script>
+<script>
+    layui.config({
+        base: '${ctxp}/static/plugin/assets/'
+    }).extend({
+        treetable: 'treetable-lay/treetable'
+    }).use(['layer', 'table', 'treetable'], function () {
+        var $ = layui.jquery;
+        var table = layui.table;
+        var layer = layui.layer;
+        var treetable = layui.treetable;
+
+        var renderTable1 = function () {
+            layer.load(2);
+            treetable.render({
+                treeColIndex: 1,
+                treeSpid: -1,
+                treeIdName: 'id',
+                treePidName: 'pid',
+                treeDefaultClose: false,
+                treeLinkage: false,
+                elem: '#table1',
+                <%--url: '${ctxp}/webpage/modules/sys/free/selfwbs.json',--%>
+                page: false,
+                cols: [[
+                    {type:'numbers',title: '序号', rowspan: 2, totalRowText: "合计",},
+                    {field: 'wbsys', title: 'WBS要素',width:200, rowspan:'2'},
+
+                    {field:'wbssbm',width:100, align:'center',rowspan:'2',title:"wbs识别码",rowspan:'2'},
+                    {field:'fbfxysj', align:'center', title: '分部分项(原数据)',colspan:'6'},
+                    {field:'fbfxtch',align:'center',title:'分部分项(调差后)',colspan:'4'},
+                    {field:'fbfxtch',align:'center',title:'共性分摊费用',colspan:'11'},
+
+                    {field:'hj',align:'center',width:120,title:'合计',rowspan:'2',totalRow: true}
+//                  {templet: '#oper-col', title: 'oper'}
+                ],[
+                    {field:'hjje', width:120,align:'center',title:'合计金额',totalRow: true},
+                    {field:'zjgcf', width:120,align:'center',title:'直接工程费',totalRow: true},
+                    {field:'rgf1', width:120,align:'center',title:'人工费',totalRow: true},
+                    {field:'cbrcg1', width:120,align:'center',title:'承包人采购',totalRow: true},
+                    {field:'fbrcg1', width:120,align:'center',title:'发包人采购',totalRow: true},
+                    {field:'jxf1', width:120,align:'center',title:'机械费',totalRow: true},
+
+                    {field:'rgf2', width:120,align:'center',title:'人工费',totalRow: true},
+                    {field:'cbrcg2', width:120,align:'center',title:'承包人采购',totalRow: true},
+                    {field:'fbrcg2', width:120,align:'center',title:'发包人采购',totalRow: true},
+                    {field:'jxf2', width:120,align:'center',title:'机械费',totalRow: true},
+
+                    {field:'rgf3', width:120,align:'center',title:'人工费',totalRow: true},
+                    {field:'cbrcg3', width:120,align:'center',title:'承包人采购',totalRow: true},
+                    {field:'fbrcg3', width:120,align:'center',title:'发包人采购',totalRow: true},
+                    {field:'jxf3', width:120,align:'center',title:'机械费',totalRow: true},
+
+                    {field:'csf_1',width:120,title:'措施费-1',align:'center',totalRow: true},
+                    {field:'csf_2',width:120,title:'措施费-2',align:'center',totalRow: true},
+                    {field:'csf2',align:'center',width:120,title:'措施费二',totalRow: true},
+                    {field:'qtf',align:'center',width:120,title:'其他费',totalRow: true},
+                    {field:'gf',align:'center',width:120,title:'规费',totalRow: true},
+                    {field:'sf',align:'center',width:120,title:'税金',totalRow: true},
+                    {field:'gxfy',align:'center',width:120,title: '共性费用',rowspan:'2',totalRow: true},
+                ]]
+                ,data: [
+                <c:if test="${ not empty map.list}">
+                <c:forEach items="${map.list}" var="data" varStatus="index">
+                    <c:if test="${data.feeType eq '1'}">
+                {
+                    "id": "${data.wbsCode}",
+                    "wbsys":"${data.describe}",
+                    "wbssbm": "${data.wbsCode}",
+
+                    "hjje": "${data.originalTotalCost}",
+                    "zjgcf":"${data.zjgcFee}",
+                    "rgf1": "${data.originalRgCost}",
+                    "cbrcg1": "${data.originalCbrCost}",
+                    "fbrcg1": "${data.originalFbrCost}",
+                    "jxf1": "${data.originalJxCost}",
+
+                    "rgf2": "${data.jxCost}",
+                    "cbrcg2": "${data.cbrCost}",
+                    "fbrcg2":"${data.fbrCost}",
+                    "jxf2": "${data.jxCost}",
+
+                    <%--"rgf3": "${data.rgFtFee}",--%>
+                    "rgf3": "<c:if test="${ empty data.rgFtFee and not empty data.originalTotalCost}">0.0</c:if><c:if test="${ not empty data.rgFtFee}">${data.rgFtFee}</c:if> ",
+                    "cbrcg3": "<c:if test="${ empty data.cbrFtFee and not empty data.originalTotalCost}">0.0</c:if><c:if test="${ not empty data.cbrFtFee}">${data.cbrFtFee}</c:if>",
+                    "fbrcg3": "<c:if test="${ empty data.fbrFtFee and not empty data.originalTotalCost}">0.0</c:if><c:if test="${ not empty data.fbrFtFee}">${data.fbrFtFee}</c:if>",
+                    "jxf3": "<c:if test="${ empty data.jxFtFee and not empty data.originalTotalCost}">0.0</c:if><c:if test="${ not empty data.jxFtFee}">${data.jxFtFee}</c:if>",
+
+                    "csf_1": "${data.measuresFee1}",
+                    "csf_2": "${data.measuresFee2}",
+                    "csf2": "<c:if test="${ empty data.measuresFee3 and not empty data.originalTotalCost}">0.0</c:if><c:if test="${ not empty data.measuresFee3}">${data.measuresFee3}</c:if>",
+                    "qtf":"${data.otherCost}",
+                    "gf":"${data.fees}",
+                    "sf":"${data.tex}",
+                    "hj": "${data.totalFee}",
+                    "gxfy": "${data.gxFee}",
+                    "pid": "${data.parentNode}"
+                },
+                    </c:if>
+                </c:forEach>
+                </c:if>
+            ],
+                done: function () {
+                    layer.closeAll('loading');
+                }
+            });
+        };
+
+        renderTable1();
+    });
+</script>
+<script>
+    layui.use(['table', 'form', 'element', 'treetable'], function () {
+        var $ = layui.jquery;
+        var table = layui.table;
+        var form = layui.form;
+        var element = layui.element;
+        var treetable = layui.treetable;
+
+        // 渲染表格
+        var renderTable2 = function () {
+            layer.load(2);
+            treetable.render({
+                treeColIndex: 1,
+                treeSpid: -1,
+                treeIdName: 'd_id',
+                treePidName: 'd_pid',
+                elem: '#table2',
+                <%--url: '${ctxp}/webpage/modules/sys/free/other.json',--%>
+                page: false,
+                cols: [[
+                    {type: 'numbers'},
+//                  {field: 'id', title: 'WBS要素'},
+                    {field: 'wbsys', title: 'WBS要素'},
+                    {field: 'wbssbm', title: 'WBS识别码'},
+                    {field: 'money', title: '金额'},
+//                  {field: 'pid', title: 'pid'},
+                ]]
+                ,data: [
+                <c:if test="${ not empty map.list}">
+                <c:forEach items="${map.list}" var="data" varStatus="index">
+                <c:if test="${data.feeType eq '0'}">
+                {
+                    "d_id": "${data.wbsCode}",
+                    "wbsys": "${data.describe}",
+                    "wbssbm": "${data.wbsCode}",
+                    "money": "${data.totalFee}",
+                    "d_pid": "${data.parentNode}"
+
+                },
+                    </c:if>
+                </c:forEach>
+                </c:if>
+            ],
+                done: function () {
+                    layer.closeAll('loading');
+                }
+            });
+        };
+
+        renderTable2();
+    });
+</script>
+<script>
+    layui.use('table', function(){
+        var table = layui.table;
+    });
+</script>
+<script>
+    layui.use('table', function(){
+        var table = layui.table;
+
+        table.render({
+            elem: '#xmmc'
+            ,title: '为标识'
+            ,cols: [[
+                {field:'xmmc', width:200,title:'项目名称'}
+                ,{field:'fyje', width:178,title:'费用金额'}
+                ,{width:178,  toolbar: '#barDemo',title:'操作'}
+            ]]
+            ,data:[
+            <c:if test="${ not empty map.list}">
+               <c:forEach items="${map.list2}" var="data" varStatus="index">
+                {
+                    "id":"${data.id}",
+                    "xmmc": "${data.type}",
+                    "fyje": "${data.fee}"
+                },
+                </c:forEach>
+                </c:if>
+            ]
+            ,page: false
+        });
+        //监听工具条
+        table.on('tool(freestr)', function(obj){
+            var datacount="";
+            var data = obj.data;
+            if(obj.event === 'fttz'){
+                sureradio(data);
+            } else if(obj.event === 'ddtz'){
+                sureradio2(data);
+            }
+            // alert(datacount);
+        });
+    });
+</script>
+<script>
+    function sureradio2(data){
+        var newid = data.id;
+        var xmmc = data.xmmc;
+        var fyje = data.fyje;
+        $("#newid").val(newid);
+        $("#xmmc1").val(xmmc);
+        $("#fyje1").val(fyje);
+//		alert(fyje);
+        layui.use(['table','layer'],function(){
+
+            layer.open({
+                type: 2,
+                title: '单独调整',
+                area: ['70%', '90%'],
+                shade: 0.8,
+//		  closeBtn: 0,
+//      fixed: true, //不固定
+                maxmin: true,
+                shadeClose: true,
+                content: '${ctxp}/webpage/modules/sg/free/alongst.jsp'
+                , btn: ['确定','关闭']
+                ,yes: function(index, layero){
+                    var bodyparent = layer.getChildFrame('body', index);
+                    bodyparent.find('#freenl').click();
+                }
+                ,btn2: function(index, layero){
+//		  		alert(layero);
+                    layer.close(index);
+                }
+            })
+        })
+    }
+</script>
+<script>
+    function sureradio(data,target){
+        var newid = data.id;
+        var xmmc = data.xmmc;
+        var fyje = data.fyje;
+        $("#newid").val(newid);
+        $("#xmmc1").val(xmmc);
+        $("#fyje1").val(fyje);
+        layui.use(['table','layer'],function(){
+
+           layer.open({
+                type: 2,
+                title: xmmc,
+                area: ['40%', '90%'],
+                shade: 0.8,
+                shadeClose: true,
+                content: '${ctxp}/webpage/modules/sg/free/avgpage.jsp'
+                , btn: ['调整','关闭']
+                ,yes: function(index, layero){
+                    var body = layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    iframeWin.contentWindow.doSubmit();
+
+                    layer.close(index);//关闭对话框。
+
+                }
+
+            })
+        })
+    }
+</script>
+<script>
+    layui.use('table', function(){
+        var table = layui.table;
+        table.render({
+            elem: '#settlement'
+
+            ,title: '结算汇总表'
+            ,cols: [[
+                {width:50, title: '序号',type:'numbers'}
+                ,{field:'setname',title:'项目或费用名称'}
+                ,{field:'setmoney',title:'金额'}
+                ,{field:'settext', title:'备注'}
+                ,{field:'op',align:'center',title:"操作", templet:function(d){
+                        ////对操作进行初始化
+                        var xml = "";
+                        if(d.status=="1")
+                            xml += "<a class='layui-btn layui-btn-danger layui-btn-xs' lay-event='byz'>不一致</a>";
+                        if(d.status == "0")
+                            xml+="<span>一致</span>";
+                        return xml;
+                    }}
+            ]]
+            ,data:[
+                <c:if test="${not empty map.list3}">
+                <c:forEach items="${map.list3}" var="data" varStatus="id">
+                {
+                    "id":"${data.id}",
+                    "setname": "${data.entryName}",
+                    "setmoney":"${data.money}",
+                    "settext":"${data.remarks}",
+                    "status":"${data.status}",
+                    "reason":"${data.reason}"
+                },
+                </c:forEach>
+                </c:if>
+            ]
+            ,page: false
+        });
+        //监听行工具事件
+        table.on('tool(settle)', function(obj){
+            var data = obj.data;
+            if(obj.event === 'byz'){
+                layer.open({
+                    type: 1,
+                    skin: 'layui-layer-rim',
+                    area: ['420px', '240px'],
+                    content: data.reason
+                });
+            }
+        });
+
+    });
+
+</script>
+</html>