蔡德晨 5 jaren geleden
bovenliggende
commit
1a90f32e52

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

@@ -10,4 +10,5 @@ public interface FeeAdjustMapper {
     List<JkxlAdjustFee> getTzFee(JkxlAdjustFee jkxlAdjustFee);
     void updateTzFee(JkxlAdjustFee jkxlAdjustFee);
     void saveTzFee(JkxlAdjustFee jkxlAdjustFee);
+    void delete(String id);
 }

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

@@ -15,4 +15,5 @@ public interface OverheadLineMapper {
     void saveProject(WbsProject project);
     List<JkxlDetailFee> findList(String id);
     void updateDate(JkxlDetailFee jkxlDetailFee);
+    void delete(String id);
 }

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

@@ -15,4 +15,6 @@ public interface SettlementMapper {
         查找工程
      */
     List<Settlement> selectSettlement(String id);
+
+    void delete(String id);
 }

+ 7 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/xml/FeeAdjustMapper.xml

@@ -35,4 +35,11 @@
 		#{fee}
 		)
 	</insert>
+
+	<delete id="delete" parameterType="String">
+		delete  from  sg_fee_adjust_jkxl
+		<where>
+			id = #{id}
+		</where>
+	</delete>
 </mapper>

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

@@ -209,6 +209,13 @@
 		)
 	</insert>
 
+	<delete id="delete" parameterType="String">
+		delete  from  sg_fee_detail_jkxl
+		<where>
+			id = #{id}
+		</where>
+	</delete>
+
 
 
 	

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

@@ -31,4 +31,12 @@
 		  sg_sett_count
 		  where id=#{id}
 	</select>
+
+
+	<delete id="delete" parameterType="String">
+		delete  from  sg_sett_count
+		<where>
+			id = #{id}
+		</where>
+	</delete>
 </mapper>

+ 5 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/service/FeeAdjustService.java

@@ -30,4 +30,9 @@ public class FeeAdjustService {
     public void save(JkxlAdjustFee jkxlAdjustFee){
        feeAdjustMapper.saveTzFee(jkxlAdjustFee);
     }
+
+    @Transactional
+    public void delete(String id){
+       feeAdjustMapper.delete(id);
+    }
 }

+ 30 - 11
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -8,6 +8,8 @@ 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.project.entity.WbsItem;
+import com.jeeplus.modules.sg.project.service.ItemService;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -29,6 +31,8 @@ public class OverheadLineService {
     private RuleRatioService ruleRatioService;
     @Autowired
     private SettlementService settlementService;
+    @Autowired
+    private ItemService itemService;
 
 
 
@@ -82,13 +86,22 @@ public class OverheadLineService {
    }
 
     @Transactional(readOnly = false)
-   public void save(MultipartFile file,double sl,String name,String id) throws IOException, InvalidFormatException {
-//       WbsProject wbsProject = new WbsProject();
-//       wbsProject.setId(id);
-//       wbsProject.setName(name);
-//       wbsProject.setCreateDate(new Date());
-       //保存项目
-//       overheadLineMapper.saveProject(wbsProject);
+   public void save(MultipartFile file,String name,String id,String projectId) throws IOException, InvalidFormatException {
+       WbsItem wbsItem = itemService.get(id);
+       if(wbsItem == null){
+           WbsItem wbsItem1 = new WbsItem();
+           wbsItem1.setProjectId(projectId);
+           wbsItem1.setId(id);
+           wbsItem1.setItemName(name);
+           //保存项目
+           itemService.save(wbsItem1);
+       }
+       List<JkxlDetailFee> jkxlDetailFees = overheadLineMapper.findList(id);
+       if(jkxlDetailFees != null && jkxlDetailFees.size()>0){
+           overheadLineMapper.delete(id);
+           feeAdjustService.delete(id);
+           settlementService.delete(id);
+       }
        //获取调差系数
        double[] tcRate = new double[3];
        tcRate[0] = ruleRatioService.getValueByName(BashInfo.RATIO_RGTC).getValue()/100;
@@ -100,8 +113,9 @@ public class OverheadLineService {
        ImportExcel gf = new ImportExcel(file,1,BashInfo.SHEET_GFQD);  //规费项目清单计价表
        ImportExcel qt = new ImportExcel(file,1,BashInfo.SHEET_QTFY);  //其他项目清单计价表
        ImportExcel total = new ImportExcel(file,1,BashInfo.SHEET_HZB );  //工程项目竣工结算汇总表
-       ImportExcel gzhz = new ImportExcel(file,1,BashInfo.SHEET_GCHZ );   //架空线路工程费用汇总表
-       //数据核验数据
+       ImportExcel gzhz = new ImportExcel(file,1,BashInfo.SHEET_GCHZ );   //架空线路工程费用汇总
+       ImportExcel fbrcg = new ImportExcel(file,1,BashInfo.SHEET_FBRCG);   //发包人采购材料设备计价表
+        //数据核验数据
        Map<String,Object[]> builtMap = BashInfo.getCompletionWorks(total);//获取工程项目竣工所有数据
        double builtTotal = ExcelUtil.getDouble(gzhz,BashInfo.QT_HJ,0,2);//获取架空线路工程费用汇总表 分部分项 合计
        double wordtotal =  ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表
@@ -122,6 +136,11 @@ public class OverheadLineService {
        double[] gfRate = BashInfo.getGfRate(gf);  //获取规费率
        double[] qtFees = BashInfo.getQtFees(qt);  //获取其他费用
        double gcjsFee = BashInfo.getGcjsFee(total);  //获取工程结算价
+       double fbrFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_HJ,0,6); //发包人采购计价表合计金额
+       double zjgcTotal = ExcelUtil.getDouble(gzhz,BashInfo.QT_HJ,0,3);//直接工程费合计
+       double[] aqwmFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4});  //安全文明施工费
+       double zg = zjgcTotal-(aqwmFees[1]/(aqwmFees[0]/100));
+       double jxsl = new BigDecimal(zg/(fbrFee-zg)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //进项税率
        //将本体工程费用明细存入集合
        List<JkxlDetailFee> list = new ArrayList<>();
        for(int i=0;i<originalTotalFees.length;i++){
@@ -136,10 +155,10 @@ public class OverheadLineService {
            double originalCbrCost = originalFees[i][1];  //原承包人采购
            double cbrCost = originalCbrCost/(1+tcRate[1]);  //后承包人采购
            double originalFbrCost = originalFees[i][2];  //原发包人采购
-           double fbrCost = originalFbrCost/(1+sl); //后发包人采购
+           double fbrCost = originalFbrCost/(1+jxsl); //后发包人采购
            double originalJxrCost = originalFees[i][3];   //原机械费
            double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
-           double measuresFee1 = (zjgcFee-fbrCost*sl)*csRate[0]; //措施费一(2)
+           double measuresFee1 = (zjgcFee-fbrCost*jxsl)*csRate[0]; //措施费一(2)
            double measuresFee2 = rgCost*csRate[1];   //措施费一(1)
            double measuresFee3 = 0.00; //措施费二
            double fees = rgCost*gfRate[1]*1.12+rgCost*gfRate[0];  //规费

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

@@ -33,4 +33,8 @@ public class SettlementService {
     public List<Settlement> selectSettlementService(String id){
         return settlementMapper.selectSettlement(id);
     }
+
+    public void delete(String id){
+        settlementMapper.delete(id);
+    }
 }

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

@@ -16,6 +16,7 @@ public class BashInfo {
     public static final String SHEET_QTFY = "其他项目清单计价表";
     public static final String SHEET_GFQD = "规费项目清单计价表";
     public static final String SHEET_GCHZ = "架空线路工程费用汇总表";
+    public static final String SHEET_FBRCG = "发包人采购材料设备计价表";
 
     public static final String JCGC = "1 基础工程";
     public static final String GTGC = "2 杆塔工程";

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

@@ -54,12 +54,12 @@ public class OverheadLineController extends BaseController {
    */
   @RequestMapping("/import")
   public String importFile(MultipartFile file, RedirectAttributes redirectAttributes, HttpServletRequest request, Model model){
-    double sl = Double.valueOf(request.getParameter("jxsl"));    //进项税率
     String projectName = request.getParameter("name");     //项目名称
+    String projectId = request.getParameter("projectId");    //工程ID
     String id = getId();
     try {
       //保存数据到数据库
-      overheadLineService.save(file,sl,projectName,id);
+      overheadLineService.save(file,projectName,id,projectId);
     } catch (RuntimeException e) {
       addMessage(redirectAttributes, "导入失败"+e.getMessage());
       return "modules/sg/free/indexProject";

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/project/mapper/ProjectMapper.java

@@ -4,6 +4,7 @@ import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
 import com.jeeplus.modules.sg.project.entity.WbsProject;
 import com.jeeplus.modules.sg.project.entity.WbsSelection;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -11,4 +12,5 @@ import java.util.List;
 @MyBatisMapper
 public interface ProjectMapper extends BaseMapper<WbsProject> {
     List<WbsProject> getList(WbsSelection wbsSelection);
+    void updateNum(@Param("number") int number,@Param("id") String id);
 }

+ 8 - 0
src/main/java/com/jeeplus/modules/sg/project/mapper/xml/ProjectMapper.xml

@@ -98,6 +98,14 @@
 			remarks = #{remarks}
 		WHERE id = #{id}
 	</update>
+
+	<update id="updateNum">
+		UPDATE sg_wbs_project SET
+		number = #{number}
+		<where>
+			id = #{id}
+		</where>
+	</update>
 	
 	
 	<!--物理删除-->

+ 6 - 0
src/main/java/com/jeeplus/modules/sg/project/service/ItemService.java

@@ -17,6 +17,8 @@ import java.util.List;
 public class ItemService extends CrudService<ItemMapper, WbsItem> {
     @Autowired
     private ItemMapper itemMapper;
+    @Autowired
+    private ProjectService projectService;
 
 
     public WbsItem get(String id) {
@@ -30,6 +32,10 @@ public class ItemService extends CrudService<ItemMapper, WbsItem> {
 
     @Transactional(readOnly = false)
     public void save(WbsItem wbsItem) {
+        String projectId = wbsItem.getProjectId();
+        WbsProject wbsProject = projectService.get(projectId);
+        int num = wbsProject.getNumber()+1;
+        projectService.updateNum(num,projectId);
         super.save(wbsItem);
     }
 

+ 18 - 1
src/main/java/com/jeeplus/modules/sg/project/service/ProjectService.java

@@ -1,6 +1,7 @@
 package com.jeeplus.modules.sg.project.service;
 
 import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
 import com.jeeplus.modules.sg.project.entity.WbsItem;
 import com.jeeplus.modules.sg.project.entity.WbsProject;
@@ -24,7 +25,12 @@ public class ProjectService extends CrudService<ProjectMapper, WbsProject> {
 
 
     public WbsProject get(String id) {
-        return super.get(id);
+        WbsProject wbsProject =  super.get(id);
+        WbsSelection wbsSelection = new WbsSelection();
+        wbsSelection.setProjectId(id);
+        List<WbsItem> items = itemService.findList(wbsSelection);
+        wbsProject.setWbsItems(items);
+        return wbsProject;
     }
 
 
@@ -48,11 +54,22 @@ public class ProjectService extends CrudService<ProjectMapper, WbsProject> {
         return list;
     }
 
+    public Page<WbsProject> findPage(Page<WbsProject> page, WbsProject wbsProject) {
+        return super.findPage(page, wbsProject);
+    }
+
     @Transactional(readOnly = false)
     public void save(WbsProject wbsProject) {
         super.save(wbsProject);
     }
 
+
+    @Transactional(readOnly = false)
+    public void updateNum(int number,String id){
+        projectMapper.updateNum(number,id);
+    }
+
+
     @Transactional(readOnly = false)
     public void delete(WbsProject wbsProject) {
         super.delete(wbsProject);

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

@@ -214,7 +214,7 @@
                         "id": "${data.id}",
                         "gcmc":"${data.projectName}",
                         "xmsl": "${data.number}",
-                        "cjsq": "<fmt:formatDate value="${data.createDate}" pattern="yyyy-MM-dd hh:mm:ss"/>",
+                        "cjsq": "<fmt:formatDate value="${data.createDate}" pattern="yyyy/MM/dd"/>",
                         "djr":"${data.userName}",
                         "status":"1",
                         "pid": -1
@@ -250,7 +250,7 @@
                         "gcmc":"${items.itemName}",
                         "xmsl": "某施工单位一",
                         "cjsq": "架空线路",
-                        "djr":"<fmt:formatDate value="${items.updateDate}" pattern="yyyy-MM-dd hh:mm:ss"/>",
+                        "djr":"<fmt:formatDate value="${items.updateDate}" pattern="yyyy/MM/dd"/>",
                         "status":"3",
                         "pid": "${items.projectId}"
                     },