瀏覽代碼

成本模型导出excel

sl 1 年之前
父節點
當前提交
a42e0300bc

+ 12 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelList/controller/CostModelListController.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.costModelWxPrice.entity.CostModelWxPrice;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -191,4 +192,15 @@ public class CostModelListController extends JeecgController<CostModelList, ICos
         return super.importExcel(request, response, CostModelList.class);
     }
 
+	 /**
+	  * 选中相应的某条成本模型数据,导出该条数据相应的外协费以及材料费的详情表
+	  *
+	  * @param costModelListId
+	  */
+	 @ApiOperation(value="成本模型——导出外协费材料费详情excel")
+	 @RequestMapping(value = "/exportXlsWXFCLFDetail")
+	 public ModelAndView exportXlsWXFCLFDetail(String costModelListId) {
+		 return costModelListService.exportXlsWXFCLFDetail(costModelListId, CostModelList.class, "成本模型");
+	 }
+
 }

+ 6 - 1
module_kzks/src/main/java/org/jeecg/modules/costModelList/mapper/CostModelListMapper.java

@@ -3,8 +3,11 @@ package org.jeecg.modules.costModelList.mapper;
 import java.util.List;
 
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.costModelList.entity.CostModelList;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
+import org.jeecg.modules.projectChbSwf.entity.ProjectChbSwf;
 
 /**
  * @Description: 成本模型
@@ -13,5 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @Version: V1.0
  */
 public interface CostModelListMapper extends BaseMapper<CostModelList> {
-
+    /**成本模型——外协费材料费各自最大值最小值平均值近期值总和——根据项目id查询*/
+    @Select("select max_wxf, min_wxf, ave_wxf, max_clf, min_clf, ave_clf, recent_clf from kzks_cost_model where xiangmu_id = #{xiangmuid}")
+    public List<CostModelList> getWXFCLFDetailList(@Param("xiangmuid") String xiangmuid);
 }

+ 22 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelList/service/ICostModelListService.java

@@ -1,7 +1,17 @@
 package org.jeecg.modules.costModelList.service;
 
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.costModelList.entity.CostModelList;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.costModelWxPrice.mapper.CostModelWxPriceMapper;
+import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
+import org.jeecg.modules.costModelXmxqWx.entity.CostModelXmxqWx;
+import org.jeecg.modules.costModelXmxqWx.mapper.CostModelXmxqWxMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.util.List;
 
 /**
  * @Description: 成本模型
@@ -10,5 +20,17 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface ICostModelListService extends IService<CostModelList> {
+    /**
+     * 成本模型——导出外协费材料费详情excel
+     */
+    public ModelAndView exportXlsWXFCLFDetail(String costModelListId, Class<CostModelList> clazz, String title);
+
+    /**成本模型——外协费材料费各自最大值最小值平均值近期值总和——根据项目id查询*/
+    public List<CostModelList> getWXFCLFDetailList(String costModelListId);
+
+    /**项目成本——事务费详情——根据项目id查询*/
+    public List<CostModelXmxqWx> getWXFDetailList(String costModelListId);
 
+    /**成本模型——材料费详情——根据项目id查询*/
+    public List<CostModelXmxqCl> getCLFDetailList(String costModelListId);
 }

+ 71 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelList/service/impl/CostModelListServiceImpl.java

@@ -1,11 +1,27 @@
 package org.jeecg.modules.costModelList.service.impl;
 
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.costModelList.entity.CostModelList;
 import org.jeecg.modules.costModelList.mapper.CostModelListMapper;
 import org.jeecg.modules.costModelList.service.ICostModelListService;
+import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
+import org.jeecg.modules.costModelXmxqCl.mapper.CostModelXmxqClMapper;
+import org.jeecg.modules.costModelXmxqWx.entity.CostModelXmxqWx;
+import org.jeecg.modules.costModelXmxqWx.mapper.CostModelXmxqWxMapper;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 成本模型
@@ -15,5 +31,60 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class CostModelListServiceImpl extends ServiceImpl<CostModelListMapper, CostModelList> implements ICostModelListService {
+    @Autowired
+    @SuppressWarnings("all")
+    private CostModelListMapper wxfclfMapper;
+    private CostModelXmxqWxMapper wxfMapper;
+    private CostModelXmxqClMapper clfMapper;
+
+    /**
+     * 成本模型——导出外协费材料费详情excel
+     */
+    public ModelAndView exportXlsWXFCLFDetail(String costModelListId, Class<CostModelList> clazz, String title) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        //1.根据项目id查出外协费材料费总计价格、外协费详情、材料费详情
+        List<CostModelList> listWxfClf = getWXFCLFDetailList(costModelListId);
+        List<CostModelXmxqWx> listWxf = getWXFDetailList(costModelListId);
+        List<CostModelXmxqCl> listClf = getCLFDetailList(costModelListId);
+
+        //2.多sheep输入
+        List<Map<String, Object>> list = new ArrayList<>();
+        //外协费
+        Map<String, Object> map1 = new HashMap<>();
+        map1.put(NormalExcelConstants.CLASS, clazz);
+        map1.put(NormalExcelConstants.PARAMS, new ExportParams("外协费报表", "导出人:" + sysUser.getRealname(), "外协费"));
+        map1.put(NormalExcelConstants.DATA_LIST, listWxf);
+        list.add(map1);
+        //材料费
+        Map<String, Object> map2 = new HashMap<>();
+        map2.put(NormalExcelConstants.CLASS, clazz);
+        map2.put(NormalExcelConstants.PARAMS, new ExportParams("材料费报表", "导出人:" + sysUser.getRealname(), "材料费"));
+        map2.put(NormalExcelConstants.DATA_LIST, listClf);
+        list.add(map2);
+
+        //3.AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        mv.addObject(NormalExcelConstants.FILE_NAME, title);  //文件名称,但是前端会重新命名
+        mv.addObject(NormalExcelConstants.MAP_LIST, list);
+//        mv.addObject(NormalExcelConstants.CLASS, clazz); //实体类型
+//        mv.addObject(NormalExcelConstants.PARAMS,new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title));//标题,sheet名称
+//        mv.addObject(NormalExcelConstants.DATA_LIST, listWxf); //list数据
+
+        return mv;
+    }
+
+    /**成本模型——外协费材料费各自最大值最小值平均值近期值总和——根据项目id查询*/
+    public List<CostModelList> getWXFCLFDetailList(String costModelListId){
+        return wxfclfMapper.getWXFCLFDetailList(costModelListId);
+    }
+
+    /**项目成本——事务费详情——根据项目id查询*/
+    public List<CostModelXmxqWx> getWXFDetailList(String costModelListId){
+        return wxfMapper.getWXFDetailList(costModelListId);
+    }
 
+    /**成本模型——材料费详情——根据项目id查询*/
+    public List<CostModelXmxqCl> getCLFDetailList(String costModelListId){
+        return clfMapper.getCLFDetailList(costModelListId);
+    }
 }

+ 32 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqCl/entity/CostModelXmxqCl.java

@@ -101,4 +101,36 @@ public class CostModelXmxqCl implements Serializable {
 	@Excel(name = "材料费类型", width = 15)
     @ApiModelProperty(value = "材料费类型")
     private java.lang.String clfType;
+    /**单价(最大值)*/
+    @Excel(name = "单价(最大值)", width = 15)
+    @ApiModelProperty(value = "单价(最大值)")
+    private java.lang.String maxDanjia;
+    /**单价(最小值)*/
+    @Excel(name = "单价(最小值)", width = 15)
+    @ApiModelProperty(value = "单价(最小值)")
+    private java.lang.String minDanjia;
+    /**单价(平均值)*/
+    @Excel(name = "单价(平均值)", width = 15)
+    @ApiModelProperty(value = "单价(平均值)")
+    private java.lang.String aveDanjia;
+    /**单价(近期值)*/
+    @Excel(name = "单价(近期值)", width = 15)
+    @ApiModelProperty(value = "单价(近期值)")
+    private java.lang.String recentDanjia;
+    /**价格(单价最大值*数量)*/
+    @Excel(name = "价格(单价最大值*数量)", width = 15)
+    @ApiModelProperty(value = "价格(单价最大值*数量)")
+    private java.lang.String maxPrice;
+    /**价格(单价最小值*数量)*/
+    @Excel(name = "价格(单价最小值*数量)", width = 15)
+    @ApiModelProperty(value = "价格(单价最小值*数量)")
+    private java.lang.String minPrice;
+    /**价格(单价平均值*数量)*/
+    @Excel(name = "价格(单价平均值*数量)", width = 15)
+    @ApiModelProperty(value = "价格(单价平均值*数量)")
+    private java.lang.String avePrice;
+    /**价格(单价近期值*数量)*/
+    @Excel(name = "价格(单价近期值*数量)", width = 15)
+    @ApiModelProperty(value = "价格(单价近期值*数量)")
+    private java.lang.String recentPrice;
 }

+ 5 - 1
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqCl/mapper/CostModelXmxqClMapper.java

@@ -3,8 +3,10 @@ package org.jeecg.modules.costModelXmxqCl.mapper;
 import java.util.List;
 
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.projectChbSwf.entity.ProjectChbSwf;
 
 /**
  * @Description: 项目材料导入详情
@@ -13,5 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @Version: V1.0
  */
 public interface CostModelXmxqClMapper extends BaseMapper<CostModelXmxqCl> {
-
+    /**成本模型——材料费详情——根据项目id查询*/
+    @Select("select xiangmu_name, wlbm, ggxh, zl_level, pici, caigou_time, number, max_danjia, min_danjia, ave_danjia, recent_danjia, max_price, min_price, ave_price, recent_price from kzks_cost_model_xmxq_cl where xiangmu_id = #{xiangmuid}")
+    public List<CostModelXmxqCl> getCLFDetailList(@Param("xiangmuid") String xiangmuid);
 }

+ 32 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqWx/entity/CostModelXmxqWx.java

@@ -91,4 +91,36 @@ public class CostModelXmxqWx implements Serializable {
 	@Excel(name = "描述", width = 15)
     @ApiModelProperty(value = "描述")
     private java.lang.String remark;
+    /**单价(最大值)*/
+    @Excel(name = "单价(最大值)", width = 15)
+    @ApiModelProperty(value = "单价(最大值)")
+    private java.lang.String maxDanjia;
+    /**单价(最小值)*/
+    @Excel(name = "单价(最小值)", width = 15)
+    @ApiModelProperty(value = "单价(最小值)")
+    private java.lang.String minDanjia;
+    /**单价(平均值)*/
+    @Excel(name = "单价(平均值)", width = 15)
+    @ApiModelProperty(value = "单价(平均值)")
+    private java.lang.String aveDanjia;
+    /**单价(近期值)*/
+    @Excel(name = "单价(近期值)", width = 15)
+    @ApiModelProperty(value = "单价(近期值)")
+    private java.lang.String recentDanjia;
+    /**价格(单价最大值*数量)*/
+    @Excel(name = "价格(单价最大值*数量)", width = 15)
+    @ApiModelProperty(value = "价格(单价最大值*数量)")
+    private java.lang.String maxPrice;
+    /**价格(单价最小值*数量)*/
+    @Excel(name = "价格(单价最小值*数量)", width = 15)
+    @ApiModelProperty(value = "价格(单价最小值*数量)")
+    private java.lang.String minPrice;
+    /**价格(单价平均值*数量)*/
+    @Excel(name = "价格(单价平均值*数量)", width = 15)
+    @ApiModelProperty(value = "价格(单价平均值*数量)")
+    private java.lang.String avePrice;
+    /**价格(单价近期值*数量)*/
+    @Excel(name = "价格(单价近期值*数量)", width = 15)
+    @ApiModelProperty(value = "价格(单价近期值*数量)")
+    private java.lang.String recentPrice;
 }

+ 5 - 1
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqWx/mapper/CostModelXmxqWxMapper.java

@@ -3,8 +3,10 @@ package org.jeecg.modules.costModelXmxqWx.mapper;
 import java.util.List;
 
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.costModelXmxqWx.entity.CostModelXmxqWx;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.projectChbSwf.entity.ProjectChbSwf;
 
 /**
  * @Description: 项目外协导入详情
@@ -13,5 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @Version: V1.0
  */
 public interface CostModelXmxqWxMapper extends BaseMapper<CostModelXmxqWx> {
-
+    /**成本模型——外协费详情——根据项目id查询*/
+    @Select("select xiangmu_name, wx_project, wx_company, number, unit, max_danjia, min_danjia, ave_danjia, max_price, min_price, ave_price from kzks_cost_model_xmxq_wx where xiangmu_id = #{xiangmuid}")
+    public List<CostModelXmxqWx> getWXFDetailList(@Param("xiangmuid") String xiangmuid);
 }