ソースを参照

Merge remote-tracking branch 'origin/master'

LLL 1 年間 前
コミット
de3df142de

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

@@ -21,6 +21,8 @@ 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.jeecg.modules.costModelXmxqWx.entity.CostModelXmxqWx;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -191,4 +193,18 @@ public class CostModelListController extends JeecgController<CostModelList, ICos
         return super.importExcel(request, response, CostModelList.class);
     }
 
+	 /**
+	  * 选中相应的某条成本模型数据,导出该条数据相应的外协费以及材料费的详情表
+	  *
+	  * @param
+	  */
+	 @ApiOperation(value="成本模型——导出外协费材料费详情excel")
+	 @RequestMapping(value = "/exportXlsWXFCLFDetail")
+	 public ModelAndView exportXlsWXFCLFDetail(HttpServletRequest request, HttpServletResponse response) {
+//		 System.out.println("进入控制层");
+//		 String xiangmuid = request.getParameter("xiangmuid");
+//		 System.out.println(xiangmuid);
+		 return costModelListService.exportXlsWXFCLFDetail(request.getParameter("xiangmuid"), CostModelList.class, "成本模型");
+	 }
+
 }

+ 29 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelList/entity/CostModelList.java

@@ -102,4 +102,33 @@ public class CostModelList implements Serializable {
 	@Excel(name = "总价", width = 15)
     @ApiModelProperty(value = "总价")
     private java.lang.String totalPrice;
+    /**外协费(最大值)*/
+    @Excel(name = "外协费(最大值)", width = 15)
+    @ApiModelProperty(value = "外协费(最大值)")
+    private java.lang.String maxWxf;
+    /**外协费(最小值)*/
+    @Excel(name = "外协费(最小值)", width = 15)
+    @ApiModelProperty(value = "外协费(最小值)")
+    private java.lang.String minWxf;
+    /**外协费(平均值)*/
+    @Excel(name = "外协费(平均值)", width = 15)
+    @ApiModelProperty(value = "外协费(平均值)")
+    private java.lang.String aveWxf;
+    /**材料费(最大值)*/
+    @Excel(name = "材料费(最大值)", width = 15)
+    @ApiModelProperty(value = "材料费(最大值)")
+    private java.lang.String maxClf;
+    /**材料费(最小值)*/
+    @Excel(name = "材料费(最小值)", width = 15)
+    @ApiModelProperty(value = "材料费(最小值)")
+    private java.lang.String minClf;
+    /**材料费(平均值)*/
+    @Excel(name = "材料费(平均值)", width = 15)
+    @ApiModelProperty(value = "材料费(平均值)")
+    private java.lang.String aveClf;
+    /**材料费(近期值)*/
+    @Excel(name = "材料费(近期值)", width = 15)
+    @ApiModelProperty(value = "材料费(近期值)")
+    private java.lang.String recentClf;
+
 }

+ 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 id = #{id}")
+    public List<CostModelList> getWXFCLFDetailList(@Param("id") String id);
 }

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

@@ -1,7 +1,18 @@
 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 javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * @Description: 成本模型
@@ -10,5 +21,17 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface ICostModelListService extends IService<CostModelList> {
+    /**
+     * 成本模型——导出外协费材料费详情excel
+     */
+    public ModelAndView exportXlsWXFCLFDetail(String xiangmuid, Class<CostModelList> clazz, String title);
+
+    /**成本模型——外协费材料费各自最大值最小值平均值近期值总和——根据项目id查询*/
+    public List<CostModelList> getWXFCLFDetailList(String xiangmuid);
+
+    /**项目成本——事务费详情——根据项目id查询*/
+    public List<CostModelXmxqWx> getWXFDetailList(String xiangmuid);
 
+    /**成本模型——材料费详情——根据项目id查询*/
+    public List<CostModelXmxqCl> getCLFDetailList(String xiangmuid);
 }

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

@@ -1,11 +1,30 @@
 package org.jeecg.modules.costModelList.service.impl;
 
+import org.apache.poi.ss.usermodel.Sheet;
+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.Repository;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 成本模型
@@ -15,5 +34,97 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class CostModelListServiceImpl extends ServiceImpl<CostModelListMapper, CostModelList> implements ICostModelListService {
+    @Autowired
+    @SuppressWarnings("all")
+    public CostModelListMapper wxfclfMapper;
+    @Autowired
+    @SuppressWarnings("all")
+    public CostModelXmxqWxMapper wxfMapper;
+    @Autowired
+    @SuppressWarnings("all")
+    public CostModelXmxqClMapper clfMapper;
+
+    /**
+     * 成本模型——导出外协费材料费详情excel
+     */
+    public ModelAndView exportXlsWXFCLFDetail(String xiangmuid, Class<CostModelList> clazz, String title) {
+//        System.out.println("进入服务层");
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        //1.根据项目id查出外协费材料费总计价格、外协费详情、材料费详情
+//        System.out.println("从数据库中获取详情列表");
+        List<CostModelList> listWxfClf = getWXFCLFDetailList(xiangmuid);
+        List<CostModelXmxqWx> listWxf = getWXFDetailList(xiangmuid);
+        List<CostModelXmxqCl> listClf = getCLFDetailList(xiangmuid);
+//        CostModelList wxfclfAll = new CostModelList();   //创建成本模型对象存储项目的外协费材料费总和  此处只是项目唯一选中进行导出
+//        for(CostModelList wxfclf:listWxfClf){
+//            wxfclfAll.setMaxWxf(wxfclf.getMaxWxf());
+//            wxfclfAll.setMinWxf(wxfclf.getMinWxf());
+//            wxfclfAll.setAveWxf(wxfclf.getAveWxf());
+//            wxfclfAll.setMaxClf(wxfclf.getMaxClf());
+//            wxfclfAll.setMinClf(wxfclf.getMinClf());
+//            wxfclfAll.setAveClf(wxfclf.getAveClf());
+//            wxfclfAll.setRecentClf(wxfclf.getRecentClf());
+//        }
+        CostModelXmxqWx wxfAll = new CostModelXmxqWx();
+        wxfAll.setXiangmuName("合计");
+        wxfAll.setMaxPrice(listWxfClf.get(0).getMaxWxf());
+        wxfAll.setMinPrice(listWxfClf.get(0).getMinWxf());
+        wxfAll.setAvePrice(listWxfClf.get(0).getAveWxf());
+        listWxf.add(wxfAll);
+
+        CostModelXmxqCl clfAll = new CostModelXmxqCl();
+        clfAll.setXiangmuName("合计");
+        clfAll.setMaxPrice(listWxfClf.get(0).getMaxClf());
+        clfAll.setMinPrice(listWxfClf.get(0).getMinClf());
+        clfAll.setAvePrice(listWxfClf.get(0).getAveClf());
+        clfAll.setRecentPrice(listWxfClf.get(0).getRecentClf());
+        listClf.add(clfAll);
+        //2.多sheep输入
+        List<Map<String, Object>> list = new ArrayList<>();
+        //外协费
+//        System.out.println("制作外协表");
+        Map<String, Object> map1 = new HashMap<>();
+        map1.put(NormalExcelConstants.CLASS, CostModelXmxqWx.class);
+        map1.put(NormalExcelConstants.PARAMS, new ExportParams("外协费详情表", "导出人:" + sysUser.getRealname(), "外协费"));
+        map1.put(NormalExcelConstants.DATA_LIST, listWxf);
+
+        list.add(map1);
+        //材料费
+//        System.out.println("制作材料表");
+        Map<String, Object> map2 = new HashMap<>();
+        map2.put(NormalExcelConstants.CLASS, CostModelXmxqCl.class);
+        map2.put(NormalExcelConstants.PARAMS, new ExportParams("材料费详情表", "导出人:" + sysUser.getRealname(), "材料费"));
+        map2.put(NormalExcelConstants.DATA_LIST, listClf);
+        list.add(map2);
+
+        //3.AutoPoi 导出Excel
+//        System.out.println("导出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 xiangmuid){
+        return wxfclfMapper.getWXFCLFDetailList(xiangmuid);
+    }
+
+    /**成本模型——外协费详情——根据项目id查询*/
+    public List<CostModelXmxqWx> getWXFDetailList(String xiangmuid){
+//        System.out.println("获取外协费详情");
+//        System.out.println(wxfMapper.getWXFDetailList(xiangmuid));
+        return wxfMapper.getWXFDetailList(xiangmuid);
+    }
 
+    /**成本模型——材料费详情——根据项目id查询*/
+    public List<CostModelXmxqCl> getCLFDetailList(String xiangmuid){
+//        System.out.println("获取材料费详情");
+//        System.out.println(clfMapper.getCLFDetailList(xiangmuid));
+        return clfMapper.getCLFDetailList(xiangmuid);
+    }
 }

+ 36 - 4
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqCl/entity/CostModelXmxqCl.java

@@ -56,7 +56,7 @@ public class CostModelXmxqCl implements Serializable {
     @ApiModelProperty(value = "所属部门")
     private java.lang.String sysOrgCode;
 	/**项目ID*/
-	@Excel(name = "项目ID", width = 15)
+//	@Excel(name = "项目ID", width = 15)
     @ApiModelProperty(value = "项目ID")
     private java.lang.String xiangmuId;
 	/**项目名称*/
@@ -86,7 +86,7 @@ public class CostModelXmxqCl implements Serializable {
     @ApiModelProperty(value = "采购日期")
     private java.util.Date caigouTime;
 	/**单价*/
-	@Excel(name = "单价", width = 15)
+//	@Excel(name = "单价", width = 15)
     @ApiModelProperty(value = "单价")
     private java.lang.String danjia;
 	/**数量*/
@@ -94,11 +94,43 @@ public class CostModelXmxqCl implements Serializable {
     @ApiModelProperty(value = "数量")
     private java.lang.String number;
 	/**价格(单价*数量)*/
-	@Excel(name = "价格(单价*数量)", width = 15)
+//	@Excel(name = "价格(单价*数量)", width = 15)
     @ApiModelProperty(value = "价格(单价*数量)")
     private java.lang.String price;
 	/**材料费类型*/
-	@Excel(name = "材料费类型", width = 15)
+//	@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);
 }

+ 36 - 4
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqWx/entity/CostModelXmxqWx.java

@@ -56,7 +56,7 @@ public class CostModelXmxqWx implements Serializable {
     @ApiModelProperty(value = "所属部门")
     private java.lang.String sysOrgCode;
 	/**项目ID*/
-	@Excel(name = "项目ID", width = 15)
+//	@Excel(name = "项目ID", width = 15)
     @ApiModelProperty(value = "项目ID")
     private java.lang.String xiangmuId;
 	/**项目名称*/
@@ -72,7 +72,7 @@ public class CostModelXmxqWx implements Serializable {
     @ApiModelProperty(value = "外协单位")
     private java.lang.String wxCompany;
 	/**单价*/
-	@Excel(name = "单价", width = 15)
+//	@Excel(name = "单价", width = 15)
     @ApiModelProperty(value = "单价")
     private java.lang.String danjia;
 	/**计量单位*/
@@ -84,11 +84,43 @@ public class CostModelXmxqWx implements Serializable {
     @ApiModelProperty(value = "数量")
     private java.lang.String number;
 	/**价格(单价*数量)*/
-	@Excel(name = "价格(单价*数量)", width = 15)
+//	@Excel(name = "价格(单价*数量)", width = 15)
     @ApiModelProperty(value = "价格(单价*数量)")
     private java.lang.String price;
 	/**描述*/
-	@Excel(name = "描述", width = 15)
+//	@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);
 }