蔡德晨 5 tahun lalu
induk
melakukan
a4c40cc084

+ 9 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/entity/FtData.java

@@ -6,9 +6,18 @@ public class FtData {
     private String state;  //调整类型  1:增加  2:减少
     private Double fee;   //调整费用
     private String type;  //分摊类型
+    private String itemType;  //项目类型
     private String tableData; //表格数据
 
 
+    public String getItemType() {
+        return itemType;
+    }
+
+    public void setItemType(String itemType) {
+        this.itemType = itemType;
+    }
+
     public String getTableData() {
         return tableData;
     }

+ 0 - 1
src/main/java/com/jeeplus/modules/sg/overheadline/entity/JkxlDetailFee.java

@@ -421,5 +421,4 @@ public class JkxlDetailFee {
         JkxlDetailFee that = (JkxlDetailFee) o;
         return wbsCode.equals(that.wbsCode);
     }
-
 }

+ 1 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/OverheadLineMapper.java

@@ -14,6 +14,7 @@ public interface OverheadLineMapper {
     void save(JkxlDetailFee jkxlDetailFee);
     void saveProject(WbsProject project);
     List<JkxlDetailFee> findList(@Param("id") String id,@Param("type")String type);
+    List<JkxlDetailFee> getAdjust(String id);
     void updateDate(JkxlDetailFee jkxlDetailFee);
     void delete(String id);
 }

+ 10 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/xml/OverheadLineMapper.xml

@@ -110,6 +110,16 @@
          order by a.id
 	</select>
 
+	<select id="getAdjust" parameterType="String" resultType="com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee">
+		select
+		a.simple_describe as 'describe',
+		a.short_id as wbsCode
+		FROM sg_wbs_elements a LEFT JOIN sg_fee_detail_jkxl b on a.short_id = b.wbs_code
+		<where>
+			b.id = #{id} and b.original_total_cost is not null
+		</where>
+	</select>
+
 
 	<insert id="save" parameterType="com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee">
 		insert into sg_fee_detail_jkxl

+ 7 - 3
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -83,19 +83,19 @@ public class OverheadLineService {
            }
        }
        for(JkxlDetailFee jkxlDetailFee : list){
-           if(jkxlDetailFee.getWbsCode().equals("30000000")){
+           if(jkxlDetailFee.getWbsCode().equals("30000000") || jkxlDetailFee.getWbsCode().equals("40000000")){
                jkxlDetailFee.setTotalFee(btTotal+qtTotal);
                jkxlDetailFee.setAzFee(azTotal);
                jkxlDetailFee.setQtFee(otherTotal);
                jkxlDetailFee.setcFee(cFee);
                jkxlDetailFee.setJsFee(btTotal+qtTotal+cFee);
            }
-           if(jkxlDetailFee.getWbsCode().equals("39000000")){
+           if(jkxlDetailFee.getWbsCode().equals("39000000") || jkxlDetailFee.getWbsCode().equals("49000000")){
                jkxlDetailFee.setTotalFee(btTotal);
                jkxlDetailFee.setAzFee(azTotal);
                jkxlDetailFee.setQtFee(otherTotal);
            }
-           if(jkxlDetailFee.getWbsCode().equals("34000000")){
+           if(jkxlDetailFee.getWbsCode().equals("44000000")){
                jkxlDetailFee.setTotalFee(qtTotal);
 
            }
@@ -111,6 +111,10 @@ public class OverheadLineService {
        return overheadLineMapper.getData(id,wbsCode);
    }
 
+   public List<JkxlDetailFee> getAdjust(String id){
+       return overheadLineMapper.getAdjust(id);
+   }
+
 
     @Transactional(readOnly = false)
     public void updataDate(JkxlDetailFee jkxlDetailFee){

+ 17 - 3
src/main/java/com/jeeplus/modules/sg/overheadline/web/OverheadLineController.java

@@ -112,10 +112,11 @@ public class OverheadLineController extends BaseController {
       String code = ftData.getCode();   //分摊费用类型
       String state = ftData.getState();  //1:增加 2:减少
       String type = ftData.getType();   //分摊费用名
+      String itemType = ftData.getItemType();   //项目类型
       double fee = ftData.getFee();
       double total = 0.00;
       try {
-        List<JkxlDetailFee> jkxl = overheadLineService.getList(id,type);
+        List<JkxlDetailFee> jkxl = overheadLineService.getList(id,itemType);
         //获取本体部分费用明细
         List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
         for(JkxlDetailFee jkxlDetailFee : jkxl){
@@ -368,7 +369,19 @@ public class OverheadLineController extends BaseController {
         addMessage(redirectAttributes, "调整失败");
       }
     addMessage(redirectAttributes, "调整成功");
-    return "redirect:/a/jkxl/list?id="+id;
+    return "redirect:/a/jkxl/list?id="+id+"&type="+itemType;
+  }
+
+
+  /**
+   * 分摊表
+   */
+  @RequestMapping("/getft")
+  public String getft(HttpServletRequest request,Model model){
+    String id = request.getParameter("id");
+    List<JkxlDetailFee> list = overheadLineService.getAdjust(id);
+    model.addAttribute("list",list);
+    return "modules/sg/free/alongst";
   }
 
 
@@ -378,6 +391,7 @@ public class OverheadLineController extends BaseController {
   @RequestMapping("/ddtz")
   public String ddtz(FtData ftData, Model model, RedirectAttributes redirectAttributes){
     String id = ftData.getId();
+    String itemType = ftData.getItemType();
     String state  = ftData.getState();  // 1:增加 2:减少
     String data1 = ftData.getTableData();   //表格数据JOSN字符串
     String row = data1.replaceAll("&quot;","\\\"");
@@ -415,7 +429,7 @@ public class OverheadLineController extends BaseController {
       addMessage(redirectAttributes, "调整失败");
     }
     addMessage(redirectAttributes, "调整成功");
-    return "redirect:/a/jkxl/list?id="+id;
+    return "redirect:/a/jkxl/list?id="+id+"&type="+itemType;
   }
 
 

+ 32 - 26
src/main/java/com/jeeplus/modules/sg/project/web/ProjectController.java

@@ -26,10 +26,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Random;
+import java.util.*;
 
 
 @Controller
@@ -43,17 +40,17 @@ public class ProjectController extends BaseController {
     private OverheadLineService overheadLineService;
 
 
-    @ModelAttribute
-    public WbsProject get(@RequestParam(required=false) String id) {
-        WbsProject entity = null;
-        if (StringUtils.isNotBlank(id)){
-            entity = projectService.get(id);
-        }
-        if (entity == null){
-            entity = new WbsProject();
-        }
-        return entity;
-    }
+//    @ModelAttribute
+//    public WbsProject get(@RequestParam(required=false) String id) {
+//        WbsProject entity = null;
+//        if (StringUtils.isNotBlank(id)){
+//            entity = projectService.get(id);
+//        }
+//        if (entity == null){
+//            entity = new WbsProject();
+//        }
+//        return entity;
+//    }
 
 
     @RequestMapping(value = {"list", ""})
@@ -142,9 +139,16 @@ public class ProjectController extends BaseController {
             List<JkxlDetailFee> jkxlDetailFees = overheadLineService.findList(wbsItem.getId(),wbsItem.getType());
             list.addAll(jkxlDetailFees);
         }
+        //集合去重合并
         List<JkxlDetailFee> list1 = getNewList(list);
+        //加序号
+        for (int i=0;i<list1.size();i++){
+            list1.get(i).setIndex(i+1);
+        }
         ExportUtil exportUtil = new ExportUtil(null, JkxlDetailFee.class,sts);
+        //写合计
         exportUtil.setDataList(list1,0);
+        //分别写入项目
         for(int j=0;j<wbsItems.size();j++){
             List<JkxlDetailFee> jkxlDetailFees = overheadLineService.findList(wbsItems.get(j).getId(),wbsItems.get(j).getType());
             exportUtil.setDataList(jkxlDetailFees,j+1);
@@ -153,6 +157,12 @@ public class ProjectController extends BaseController {
         return "redirect:/a/project/list";
     }
 
+
+    /**
+     * 数据去重合并
+     * @param list
+     * @return
+     */
     private List<JkxlDetailFee> getNewList(List<JkxlDetailFee> list) {
        List<JkxlDetailFee> list1 = new ArrayList<>();
        for(JkxlDetailFee jkxlDetailFee: list){
@@ -180,18 +190,14 @@ public class ProjectController extends BaseController {
                    }
                }
            }
-//           for(JkxlDetailFee jkxlDetailFee1 : list1){
-//               if(wbsCode.equals(jkxlDetailFee1.getWbsCode())){
-//                   jkxlDetailFee1.setAzFee(jkxlDetailFee1.getAzFee()+jkxlDetailFee.getAzFee());
-//                   jkxlDetailFee1.setQtFee(jkxlDetailFee1.getQtFee()+jkxlDetailFee.getQtFee());
-//                   jkxlDetailFee1.setTotalFee(jkxlDetailFee1.getTotalFee()+jkxlDetailFee.getTotalFee());
-//                   jkxlDetailFee1.setJsFee(jkxlDetailFee1.getJsFee()+jkxlDetailFee.getJsFee());
-//                   jkxlDetailFee1.setcFee(jkxlDetailFee1.getcFee()+jkxlDetailFee.getcFee());
-//               }else {
-//                   list1.add(jkxlDetailFee);
-//               }
-//           }
        }
+       //按照wbs码排序
+        Collections.sort(list1, new Comparator<JkxlDetailFee>() {
+            @Override
+            public int compare(JkxlDetailFee o1, JkxlDetailFee o2) {
+                return o1.getWbsCode().compareTo(o2.getWbsCode());
+            }
+        });
         return list1;
     }
 

+ 41 - 37
src/main/webapp/webpage/modules/sg/free/alongst.jsp

@@ -65,48 +65,52 @@
                 ,{field:'fee',width:100,title:'分摊金额',edit: 'text'}
             ]]
             ,data:[
+            <c:if test="${ not empty list}">
+             <c:forEach items="${list}" var="data" varStatus="index">
                 {
                     "id":"1",
-                    "wbsys": "基础工程",
-                    "wbsCode": "39100000",
+                    "wbsys": "${data.describe}",
+                    "wbsCode": "${data.wbsCode}",
                     "bl":'',
                     "fee":''
                 },
-                {
-                    "id":"2",
-                    "wbsys": "杆塔工程",
-                    "wbsCode": "39200000",
-                    "bl":'',
-                    "fee":''
-                },
-                {
-                    "id":"3",
-                    "wbsys": "接地工程",
-                    "wbsCode": "39300000",
-                    "bl":'',
-                    "fee":''
-                },
-                {
-                    "id":"4",
-                    "wbsys": "架线工程",
-                    "wbsCode": "39400000",
-                    "bl":'',
-                    "fee":''
-                },
-                {
-                    "id":"5",
-                    "wbsys": "附件安装工程",
-                    "wbsCode": "39500000",
-                    "bl":'',
-                    "fee":''
-                },
-                {
-                    "id":"6",
-                    "wbsys": "辅助工程",
-                    "wbsCode": "39600000",
-                    "bl":'',
-                    "fee":''
-                }
+             </c:forEach>
+                </c:if>
+                // {
+                //     "id":"2",
+                //     "wbsys": "杆塔工程",
+                //     "wbsCode": "39200000",
+                //     "bl":'',
+                //     "fee":''
+                // },
+                // {
+                //     "id":"3",
+                //     "wbsys": "接地工程",
+                //     "wbsCode": "39300000",
+                //     "bl":'',
+                //     "fee":''
+                // },
+                // {
+                //     "id":"4",
+                //     "wbsys": "架线工程",
+                //     "wbsCode": "39400000",
+                //     "bl":'',
+                //     "fee":''
+                // },
+                // {
+                //     "id":"5",
+                //     "wbsys": "附件安装工程",
+                //     "wbsCode": "39500000",
+                //     "bl":'',
+                //     "fee":''
+                // },
+                // {
+                //     "id":"6",
+                //     "wbsys": "辅助工程",
+                //     "wbsCode": "39600000",
+                //     "bl":'',
+                //     "fee":''
+                // }
             ]
             ,page: false
         });

+ 3 - 0
src/main/webapp/webpage/modules/sg/free/avgpage.jsp

@@ -24,6 +24,7 @@
     <input hidden="hidden" name="id" id="newid2" value=""/>
     <input hidden="hidden" name="type" id="xmmc2" value=""/>
     <input hidden="hidden" name="fee" id="fyje2" value=""/>
+    <input hidden="hidden" name="itemType" id="type" value=""/>
     <div class="layui-form-item">
 
     </div>
@@ -93,11 +94,13 @@
         var newid2 = parent.$('#newid').val();
         var xmmc2 = parent.$('#xmmc1').val();
         var fyje2 = parent.$('#fyje1').val();
+        var type = parent.$("#type").val();
         $("#newid2").val(newid2);
         $("#xmmc2").val(xmmc2);
         $("#fyje2").val(fyje2);
         $("#mylable").text(xmmc2);
         $("#readid2").text(fyje2);
+        $("#type").val(type);
     });
 
     function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。

+ 5 - 3
src/main/webapp/webpage/modules/sg/free/wbslist.jsp

@@ -49,6 +49,7 @@
     </fieldset>
     <div class="" style="margin-left: 10px;margin-right: 10px;margin-top: 10px;">
        <c:forEach items="${map.list1}" var="data1" varStatus="index">
+           <input id="type" hidden value="${data1.type}">
          <a class="layui-btn" href="${ctx}/jkxl/export?id=${data1.id}&type=${data1.type}">导出</a>
            <a class="layui-btn" href="${ctx}/project/tolist">返回</a>
        </c:forEach>
@@ -276,14 +277,14 @@
             if(obj.event === 'fttz'){
                 sureradio(data);
             } else if(obj.event === 'ddtz'){
-                sureradio2(data);
+                sureradio2(data,'${ctx}/jkxl/getft?id='+data.id);
             }
             // alert(datacount);
         });
     });
 </script>
 <script>
-    function sureradio2(data){
+    function sureradio2(data,url){
         var newid = data.id;
         var xmmc = data.xmmc;
         var fyje = data.fyje;
@@ -299,7 +300,8 @@
                 shade: 0.8,
                 maxmin: true,
                 shadeClose: true,
-                content: '${ctxp}/webpage/modules/sg/free/alongst.jsp'
+                <%--content: '${ctxp}/webpage/modules/sg/free/alongst.jsp'--%>
+                content: url
                 , btn: ['确定','关闭']
                 ,yes: function(index, layero){
                     var bodyparent = layer.getChildFrame('body', index);

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

@@ -81,7 +81,7 @@
                 ,{field:'xmlx',width:100,title:'项目类型'}
                 ,{field:'op',align:'center',title:"操作",width:100,templet:function(d){
                         ////对操作进行初始化
-                        var xml = "<a  class='layui-btn layui-btn-xs'  onclick=\"view( '" + d.id +",'" + d.type + "')\">编辑</a>";
+                        var xml = "<a  class='layui-btn layui-btn-xs'  onclick=\"view( '" + d.id +" ','" + d.type + "')\">编辑</a>";
                         return xml;
                     }}
             ]]
@@ -123,6 +123,7 @@
     }
     function view(id,type) {
         var url = '${ctx}/jkxl/list?id='+id+'&type='+type;
+        alert(url);
         parent.location.href=url;
     }
 </script>