xs 5 vuotta sitten
vanhempi
commit
d6bdb6e7e7

+ 6 - 4
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -8,6 +8,7 @@ import com.jeeplus.modules.sg.overheadline.entity.Settlement;
 import com.jeeplus.modules.sg.overheadline.entity.WbsProject;
 import com.jeeplus.modules.sg.overheadline.mapper.OverheadLineMapper;
 import com.jeeplus.modules.sg.overheadline.util.BashInfo;
+import com.jeeplus.modules.sg.overheadline.util.SettementUtil;
 import com.jeeplus.modules.sg.project.entity.WbsItem;
 import com.jeeplus.modules.sg.project.service.ItemService;
 import org.apache.commons.lang3.ArrayUtils;
@@ -156,16 +157,17 @@ public class OverheadLineService {
        ImportExcel fbrcg = new ImportExcel(file,1,BashInfo.SHEET_FBRCG);   //发包人采购材料设备计价表
         ImportExcel cbrcgsb = new ImportExcel(file,1,BashInfo.SHEET_FBRCG);   //发包人采购设备计价表
         //数据核验数据
-       Map<String,Object[]> builtMap = BashInfo.getCompletionWorks(total);//获取工程项目竣工所有数据
+        List<Settlement> settlementList =  SettementUtil.getComparison(total);
        double builtTotal = ExcelUtil.getDouble(gzhz,BashInfo.QT_HJ,0,2);//获取架空线路工程费用汇总表 分部分项 合计
-       double wordtotal =  ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表
+       double wordtotal1 =  ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表
        double otherTotal =  ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
         double cbperson =  ExcelUtil.getDouble(cbrcgsb,BashInfo.SHEET_CBRCG,0,2);//获取其他项目费合计
-       int[] comlumn2 = {12,14,15};//定义所要数组
+       int[] comlumn2 = {12,15};//定义所要数组
        double[] divisiontotal=ExcelUtil.getDoubleArray(importExcel,BashInfo.PROJECTNAME,2,comlumn2);//获取分部分项比对数据清单
        double feescount =  ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
        //数据核验并保存数据库
-       settlementService.save(builtMap,builtTotal,divisiontotal,wordtotal,otherTotal,feescount,cbperson,id);
+        double wordtotal2 =  0.0;
+        settlementService.save(settlementList,builtTotal,divisiontotal,wordtotal1,wordtotal2,otherTotal,feescount,cbperson,id);
       //获取补增值税税率调整差额和扣减甲供材超供材料费
        double[] wsbFees = ExcelUtil.getDoubleArray(total, new String[]{BashInfo.BZZSSL,BashInfo.KJJGCC},1,2);
        double csFee = ExcelUtil.getDouble(gzhz,BashInfo.HZ_CH,1,2);

+ 8 - 89
src/main/java/com/jeeplus/modules/sg/overheadline/service/SettlementService.java

@@ -19,102 +19,21 @@ public class SettlementService {
     private SettlementMapper settlementMapper;
 
     /*
-        添加结算工程表
-     */
+      添加结算工程表
+   */
     @Transactional
-    public void save(Map<String,Object[]> builtMap, double builtTotal, double[] divisiontotal, double wordtotal, double otherTotal, double feescount,double cbperson,String id){
-        List<Settlement> settlementList = BashInfo.getTotality(builtMap,builtTotal,divisiontotal,wordtotal,otherTotal,feescount,cbperson,id);
+    public void save(List<Settlement> settlements, double builtTotal, double[] divisiontotal, double wordtotal1,double wordtotal2, double otherTotal, double feescount,double cbperson,String id){
+        List<Settlement> settlementList=SettementUtil.getComparison(settlements,builtTotal,divisiontotal,wordtotal1,wordtotal2,otherTotal,feescount,cbperson);
         for (Settlement settlement:settlementList){
+            settlement.setId(id);
             settlementMapper.sava(settlement);
         }
     }
     /*
-        查找结算工程
-     */
+       查找结算工程
+    */
     public List<Settlement> selectSettlementService(String id){
-        List<Settlement> settlementList =  settlementMapper.selectSettlement(id);
-        Double money;
-        String theAmout;
-        String[] amout;
-        String status;
-        String reason;
-        String reason1;
-        String reason2;
-        for(Settlement settlement:settlementList){
-            money=0.0;
-            reason="";
-            String key = settlement.getEntryName();
-            switch (key){
-                case BashInfo.JS_FBFX:
-                   money = settlement.getMoney();
-                   theAmout =  settlement.getTheAmount();
-                   amout = theAmout.split(",");
-                   status = settlement.getStatus();
-                   reason1 = SettementUtil.RESON_FBFX1.replaceAll("xxx",String.valueOf(money)).replace("yyy",amout[0]);
-                    reason2 = SettementUtil.RESON_FBFX2.replaceAll("xxx",String.valueOf(money)).replace("yyy",amout[1]);
-                    reason=reason1+reason2;
-                   settlement.setReason(reason);
-                    break;
-                case  BashInfo.JS_CBRF:
-                    money = settlement.getMoney();
-                    theAmout =  settlement.getTheAmount();
-                    reason = SettementUtil.RESON_CBRF.replaceAll("xxx",String.valueOf(money)).replace("yyy",theAmout);
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.JS_CSXM:
-                    money = settlement.getMoney();
-                    theAmout =  settlement.getTheAmount();
-                    reason = SettementUtil.RESON_CSXM.replaceAll("xxx",String.valueOf(money)).replace("yyy",theAmout).replace("zzz","0.0").replace("www",String.valueOf(money));
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.JS_QTXM:
-                    money = settlement.getMoney();
-                    theAmout =  settlement.getTheAmount();
-                    reason = SettementUtil.RESON_QTXM.replaceAll("xxx",String.valueOf(money)).replace("yyy",theAmout);
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.JS_GF:
-                    money = settlement.getMoney();
-                    theAmout =  settlement.getTheAmount();
-                    reason = SettementUtil.RESON_GF.replaceAll("xxx",String.valueOf(money)).replace("yyy",theAmout);
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.JS_SJ:
-                    reason = SettementUtil.RESON_SJ;
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.JS_FBRF:
-                    money = settlement.getMoney();
-                    theAmout =  settlement.getTheAmount();
-                    reason = SettementUtil.RESON_FBRF.replaceAll("xxx",String.valueOf(money)).replace("yyy",theAmout);
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.JS_JGJS:
-                    money = settlement.getMoney();
-                    theAmout =  settlement.getTheAmount();
-                    amout = theAmout.split(",");
-                    reason = SettementUtil.RESON_JGJS.replace("xxx",String.valueOf(money)).replace("yyy",amout[0]).replace("zzz",amout[1]).replace("qqq",amout[2]).replace("www",amout[3]).replace("nnn",amout[4]).replace("eee",amout[5]).replace("rrr",amout[6]).replace("ttt",amout[7]);
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.JS_BZZS:
-                    reason = SettementUtil.RESON_BZZS;
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.JS_KJJG:
-                    reason = SettementUtil.RESON_KJJG;
-                    settlement.setReason(reason);
-                    break;
-                case BashInfo.GCJS:
-                    money = settlement.getMoney();
-                    theAmout =  settlement.getTheAmount();
-                    amout=theAmout.split(",");
-                    reason = SettementUtil.RESON_GCJS.replace("xxx",String.valueOf(money)).replace("yyy",amout[0]).replace("zzz",amout[1]).replace("www",amout[2]).replace("ddd",amout[3]);
-                    settlement.setReason(reason);
-                    break;
-            }
-        }
-
-        return settlementList;
+        return SettementUtil.getSelectSettlement(settlementMapper.selectSettlement(id));
     }
 
     public void delete(String id){

+ 0 - 154
src/main/java/com/jeeplus/modules/sg/overheadline/util/BashInfo.java

@@ -112,19 +112,6 @@ public class BashInfo {
     public static final String JS_GCJS="工程结算价";
     public static final String JS_REASON="数据核验正确";
 
-    public static final String RESON_FBFX="《工程项目竣工结算汇总表》中分部分项金额与《架空线路工程费用汇总表》中分部分项单项合计金额/《分布分项工程量清单计价表》中分布分项单项金额不一致";
-    public static final String RESON_CBRF="《工程项目竣工结算汇总表》中承包人采购设备费与《分布分项工程量清单计价表》中'架空线路'合价承包人采购不一致";
-    public static final String RESON_CSXM="《工程项目竣工结算汇总表》中措施项目费与《措施项目清单计价表一》的合计+《措施项目清单计价表二》的合计不一致";
-    public static final String RESON_QTXM="《工程项目竣工结算汇总表》中其他项目费与《其他项目清单计价表》的合计费用不一致";
-    public static final String RESON_GF="《工程项目竣工结算汇总表》中规费与《规费项目清单计价表》合计不一致";
-    public static final String RESON_SJ="《工程项目竣工结算汇总表》中税金 (税率: 9%)";
-    public static final String RESON_FBRF="《工程项目竣工结算汇总表》中发包人采购材料费与《分布分项工程量清单计价表》中'架空线路'合价发包人采购不一致";
-    public static final String RESON_JGJS="《工程项目竣工结算汇总表》中竣工结算价合计金额不一致";
-    public static final String RESON_BZZS="补增值税税率调整差额";
-    public static final String RESON_KJJG="扣减甲供材超供材料费";
-    public static final String RESON_GCJS="《工程项目竣工结算汇总表》中工程结算价不一致";
-
-
 
 
     //架空线路主体模块WBSID
@@ -482,145 +469,4 @@ public class BashInfo {
         }
         return  map;
     }
-
-    /**
-     * 结算汇总数据校验
-     * @param builtMap 工程竣工结算Map集合
-     * @param builtTotal 获取架空线路工程费用汇总表 分部分项 合计
-     * @param divisiontotal 获取分部分项比对数据清单
-     * @param wordtotal //获取措施费清单计价表
-     * @param otherTotal 获取其他项目费合计
-     * @param feescount 获取规费合计
-     * @param id
-     * @return
-     */
-    public static List<Settlement> getTotality(Map<String,Object[]> builtMap, double builtTotal, double[] divisiontotal, double wordtotal, double otherTotal, double feescount,double cbperson, String id){
-        List<Settlement> list = new ArrayList<Settlement>();
-        String key="";//汇总表中的值
-        String cbper="";
-        String fbfx="";
-        String cbrcg="";
-        String csf="";
-        String qt="";
-        String gf="";
-        String sj="";
-        String jgjs="";
-        String bzz="";
-        String kj="";
-
-        double fbr = 0.0;//发包人金额
-        double count=0.0;//1+2+3+4+5+6-7
-        double countProtect=0.0;//竣工结算+不增值税
-        double creatProtect=0.0;//工程结算数据
-        String status="1";//状态 默认值 0
-        String theAmount ="";
-        Settlement  settlement;
-//        String reason = BashInfo.JS_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";
-                    }else if(money!=divisiontotal[0]&&money==builtTotal){
-                        status="1";
-                    }else if(money!=builtTotal&&money!=divisiontotal[0]){
-                        status="2";
-                    }
-                    fbfx=String.valueOf(money);
-                    theAmount=String.valueOf(builtTotal)+","+String.valueOf(divisiontotal[0]);
-                    count+=money;
-                    break;
-                case  BashInfo.JS_CBRF:
-                    if(money==cbperson){
-                        status="0";
-                    }
-                    cbrcg=String.valueOf(money);
-                    theAmount=String.valueOf(cbperson);
-                    count+=money;
-                    break;
-                case BashInfo.JS_CSXM:
-                    if(money==wordtotal){
-                        status="0";
-                    }
-                    csf=String.valueOf(money);
-                    theAmount=String.valueOf(wordtotal);
-                    count+=money;
-                    break;
-                case BashInfo.JS_QTXM:
-                    if(money==otherTotal){
-                        status="0";
-                    }
-                    qt=String.valueOf(money);
-                    theAmount=String.valueOf(otherTotal);
-                    count+=money;
-                    break;
-                case BashInfo.JS_GF:
-                    if(money==feescount){
-                        status="0";
-                    }
-                    gf=String.valueOf(money);
-                    theAmount=String.valueOf(feescount);
-                    count+=money;
-                    break;
-                case BashInfo.JS_SJ:
-                    status="3";
-                    count+=money;
-                    sj=String.valueOf(money);
-                    theAmount=String.valueOf(money);
-                    break;
-                case BashInfo.JS_FBRF:
-                    if(money==divisiontotal[2]){
-                        status="0";
-                    }
-                    theAmount=String.valueOf(divisiontotal[2]);
-                    fbr=money;
-                    break;
-                case BashInfo.JS_JGJS:
-                    double totalcount = count-fbr;
-                    if(money==totalcount){
-                        status="0";
-                    }
-                    jgjs=String.valueOf(money);
-                    theAmount=fbfx+","+cbrcg+","+csf+","+qt+","+gf+","+sj+","+String.valueOf(fbr)+","+String.valueOf(totalcount);
-                    countProtect+=money;
-                    break;
-                case BashInfo.JS_BZZS:
-                    status="3";
-                    bzz=String.valueOf(money);
-                    theAmount=String.valueOf(money);
-                    countProtect+=money;
-                    break;
-                case BashInfo.JS_KJJG:
-                    status="3";
-                    kj=String.valueOf(money);
-                    theAmount=String.valueOf(money);
-                    creatProtect=money;
-                    break;
-                case BashInfo.GCJS:
-                    double reduce = countProtect-creatProtect;
-                    if (money==reduce){
-                        status="0";
-                    }
-                    theAmount=jgjs+","+bzz+","+kj+","+String.valueOf(reduce);
-                    break;
-            }
-            settlement = new Settlement();
-            settlement.setId(id);
-            settlement.setEntryName(key);
-            settlement.setMoney(money);
-            settlement.setStatus(status);
-            settlement.setRemarks(remarks);
-            settlement.setTheAmount(theAmount);
-            list.add(settlement);
-            status="1";
-            theAmount="";
-        }
-        return list;
-    }
-
-
 }

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 625 - 9
src/main/java/com/jeeplus/modules/sg/overheadline/util/SettementUtil.java


+ 1 - 7
src/main/webapp/webpage/modules/sg/free/wbslist.jsp

@@ -393,19 +393,13 @@
         //监听行工具事件
         table.on('tool(settle)', function(obj){
             var data = obj.data;
-            var status = data.status;
-            if(status=="0"){
-                var xml="<span style='color:#168011'>&nbsp;一致</span>。";
-            }else {
-                var xml="<span style='color:#FF0000'>&nbsp;不一致。</span>。";
-            }
             if(obj.event === 'byz'){
                 layer.open({
                     type: 1,
                     title:data.setname,
                     // skin: 'layui-layer-rim',
                     area: ['50%', '70%'],
-                    content: "<div style='padding: 16px'>"+data.reason+"</br>&nbsp;金额"+xml+"</div>"
+                    content: "<div style='padding: 16px'>"+data.reason+"</div>"
                 });
             }
         });

+ 1 - 1
src/main/webapp/webpage/modules/sg/project/addItemForm.jsp

@@ -21,7 +21,7 @@
         }
     </style>
 </head>
-<body style="text-align: center;">
+<body>
 <form id="inputForm"class="layui-form" action="${ctx}/project/import" method="post" enctype="multipart/form-data">
     <input id="newText1" hidden name="projectId" value=""/>
     <div class="layui-form-item">