沥青拌合站

This commit is contained in:
guo 2024-01-24 14:08:43 +08:00
parent 0f7ae32dc9
commit e5a2b8bbfb
12 changed files with 255 additions and 370 deletions

View File

@ -1,185 +0,0 @@
package com.zhgd.xmgl.modules.pitchmixstation.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.HashMap;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import org.apache.commons.collections.MapUtils;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationData;
import com.zhgd.xmgl.modules.pitchmixstation.service.IPitchMixStationDataService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
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.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
/**
* @Title: Controller
* @Description: 沥青拌合站数据
* @author pds
* @date 2023-10-27
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/pitchMixStationData")
@Slf4j
@Api(tags = "沥青拌合站数据相关Api")
public class PitchMixStationDataController {
@Autowired
private IPitchMixStationDataService pitchMixStationDataService;
/**
* 分页列表查询
*
* @return
*/
@ApiOperation(value = "分页列表查询沥青拌合站数据信息", notes = "分页列表查询沥青拌合站数据信息", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
})
@GetMapping(value = "/page")
public Result<IPage<PitchMixStationData>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationDataService.queryPageList(paramMap));
}
/**
* 列表查询
*
* @return
*/
@ApiOperation(value = "列表查询沥青拌合站数据信息", notes = "列表查询沥青拌合站数据信息", httpMethod = "GET")
@GetMapping(value = "/list")
public Result<List<PitchMixStationData>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationDataService.queryList(paramMap));
}
/**
* 添加
*
* @param pitchMixStationData
* @return
*/
@ApiOperation(value = "添加沥青拌合站数据信息", notes = "添加沥青拌合站数据信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<PitchMixStationData> add(@RequestBody PitchMixStationData pitchMixStationData) {
pitchMixStationDataService.save(pitchMixStationData);
return Result.ok();
}
/**
* 编辑
*
* @param pitchMixStationData
* @return
*/
@ApiOperation(value = "编辑沥青拌合站数据信息", notes = "编辑沥青拌合站数据信息", httpMethod = "POST")
@PostMapping(value = "/edit")
public Result<PitchMixStationData> edit(@RequestBody PitchMixStationData pitchMixStationData) {
pitchMixStationDataService.updateById(pitchMixStationData);
return Result.ok();
}
/**
* 通过id删除
*
* @param id
* @return
*/
@ApiOperation(value = "删除沥青拌合站数据信息", notes = "删除沥青拌合站数据信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "沥青拌合站数据ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}")
@PostMapping(value = "/delete")
public Result<PitchMixStationData> delete(@ApiIgnore @RequestBody HashMap<String, Object> map) {
String id = MapUtils.getString(map, "id");
Result<PitchMixStationData> result = new Result<PitchMixStationData>();
PitchMixStationData pitchMixStationData = pitchMixStationDataService.getById(id);
if (pitchMixStationData == null) {
result.error500("未找到对应实体");
} else {
boolean ok = pitchMixStationDataService.removeById(id);
if (ok) {
result.success("删除成功!");
}
}
return result;
}
/**
* 通过id查询
*
* @param id
* @return
*/
@ApiOperation(value = "通过id查询沥青拌合站数据信息", notes = "通过id查询沥青拌合站数据信息", httpMethod = "GET")
@ApiImplicitParam(name = "id", value = "沥青拌合站数据ID", paramType = "query", required = true, dataType = "Integer")
@GetMapping(value = "/queryById")
public Result<PitchMixStationData> queryById(@RequestParam(name = "id", required = true) String id) {
Result<PitchMixStationData> result = new Result<PitchMixStationData>();
PitchMixStationData pitchMixStationData = pitchMixStationDataService.getById(id);
if (pitchMixStationData == null) {
result.error500("未找到对应实体");
} else {
result.setResult(pitchMixStationData);
result.setSuccess(true);
}
return result;
}
/**
* 导出excel
*
* @param request
* @param response
*/
@ApiOperation(value = "导出excel沥青拌合站数据信息", notes = "导出excel沥青拌合站数据信息", httpMethod = "POST")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
// Step.1 组装查询条件
QueryWrapper<PitchMixStationData> queryWrapper = null;
try {
String paramsStr = request.getParameter("paramsStr");
if (oConvertUtils.isNotEmpty(paramsStr)) {
String deString = URLDecoder.decode(paramsStr, "UTF-8");
PitchMixStationData pitchMixStationData = JSON.parseObject(deString, PitchMixStationData.class);
queryWrapper = QueryGenerator.initQueryWrapper(pitchMixStationData, request.getParameterMap());
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
List<PitchMixStationData> pageList = pitchMixStationDataService.list(queryWrapper);
//导出文件名称
mv.addObject(NormalExcelConstants.FILE_NAME, "沥青拌合站数据列表");
mv.addObject(NormalExcelConstants.CLASS, PitchMixStationData.class);
mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("沥青拌合站数据列表数据", "导出人:Jeecg", "导出信息"));
mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
return mv;
}
}

View File

@ -1,185 +0,0 @@
package com.zhgd.xmgl.modules.pitchmixstation.controller;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationExceedData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.HashMap;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import org.apache.commons.collections.MapUtils;
import com.zhgd.xmgl.modules.pitchmixstation.service.IPitchMixStationExceedDataService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
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.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
/**
* @Title: Controller
* @Description: 沥青拌合站超标数据
* @author pds
* @date 2023-10-27
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/pitchMixStationExceedData")
@Slf4j
@Api(tags = "沥青拌合站超标数据相关Api")
public class PitchMixStationExceedDataController {
@Autowired
private IPitchMixStationExceedDataService pitchMixStationExceedDataService;
/**
* 分页列表查询
*
* @return
*/
@ApiOperation(value = "分页列表查询沥青拌合站超标数据信息", notes = "分页列表查询沥青拌合站超标数据信息", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
})
@GetMapping(value = "/page")
public Result<IPage<PitchMixStationExceedData>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationExceedDataService.queryPageList(paramMap));
}
/**
* 列表查询
*
* @return
*/
@ApiOperation(value = "列表查询沥青拌合站超标数据信息", notes = "列表查询沥青拌合站超标数据信息", httpMethod = "GET")
@GetMapping(value = "/list")
public Result<List<PitchMixStationExceedData>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationExceedDataService.queryList(paramMap));
}
/**
* 添加
*
* @param pitchMixStationExceedData
* @return
*/
@ApiOperation(value = "添加沥青拌合站超标数据信息", notes = "添加沥青拌合站超标数据信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<PitchMixStationExceedData> add(@RequestBody PitchMixStationExceedData pitchMixStationExceedData) {
pitchMixStationExceedDataService.save(pitchMixStationExceedData);
return Result.ok();
}
/**
* 编辑
*
* @param pitchMixStationExceedData
* @return
*/
@ApiOperation(value = "编辑沥青拌合站超标数据信息", notes = "编辑沥青拌合站超标数据信息", httpMethod = "POST")
@PostMapping(value = "/edit")
public Result<PitchMixStationExceedData> edit(@RequestBody PitchMixStationExceedData pitchMixStationExceedData) {
pitchMixStationExceedDataService.updateById(pitchMixStationExceedData);
return Result.ok();
}
/**
* 通过id删除
*
* @param id
* @return
*/
@ApiOperation(value = "删除沥青拌合站超标数据信息", notes = "删除沥青拌合站超标数据信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "沥青拌合站超标数据ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}")
@PostMapping(value = "/delete")
public Result<PitchMixStationExceedData> delete(@ApiIgnore @RequestBody HashMap<String, Object> map) {
String id = MapUtils.getString(map, "id");
Result<PitchMixStationExceedData> result = new Result<PitchMixStationExceedData>();
PitchMixStationExceedData pitchMixStationExceedData = pitchMixStationExceedDataService.getById(id);
if (pitchMixStationExceedData == null) {
result.error500("未找到对应实体");
} else {
boolean ok = pitchMixStationExceedDataService.removeById(id);
if (ok) {
result.success("删除成功!");
}
}
return result;
}
/**
* 通过id查询
*
* @param id
* @return
*/
@ApiOperation(value = "通过id查询沥青拌合站超标数据信息", notes = "通过id查询沥青拌合站超标数据信息", httpMethod = "GET")
@ApiImplicitParam(name = "id", value = "沥青拌合站超标数据ID", paramType = "query", required = true, dataType = "Integer")
@GetMapping(value = "/queryById")
public Result<PitchMixStationExceedData> queryById(@RequestParam(name = "id", required = true) String id) {
Result<PitchMixStationExceedData> result = new Result<PitchMixStationExceedData>();
PitchMixStationExceedData pitchMixStationExceedData = pitchMixStationExceedDataService.getById(id);
if (pitchMixStationExceedData == null) {
result.error500("未找到对应实体");
} else {
result.setResult(pitchMixStationExceedData);
result.setSuccess(true);
}
return result;
}
/**
* 导出excel
*
* @param request
* @param response
*/
@ApiOperation(value = "导出excel沥青拌合站超标数据信息", notes = "导出excel沥青拌合站超标数据信息", httpMethod = "POST")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
// Step.1 组装查询条件
QueryWrapper<PitchMixStationExceedData> queryWrapper = null;
try {
String paramsStr = request.getParameter("paramsStr");
if (oConvertUtils.isNotEmpty(paramsStr)) {
String deString = URLDecoder.decode(paramsStr, "UTF-8");
PitchMixStationExceedData pitchMixStationExceedData = JSON.parseObject(deString, PitchMixStationExceedData.class);
queryWrapper = QueryGenerator.initQueryWrapper(pitchMixStationExceedData, request.getParameterMap());
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
List<PitchMixStationExceedData> pageList = pitchMixStationExceedDataService.list(queryWrapper);
//导出文件名称
mv.addObject(NormalExcelConstants.FILE_NAME, "沥青拌合站超标数据列表");
mv.addObject(NormalExcelConstants.CLASS, PitchMixStationExceedData.class);
mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("沥青拌合站超标数据列表数据", "导出人:Jeecg", "导出信息"));
mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
return mv;
}
}

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.pitchmixstation.controller;
import com.zhgd.xmgl.base.entity.vo.SectorVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@ -136,4 +137,14 @@ public class PitchMixStationMaterialDataController {
return result;
}
@ApiOperation(value = "原材用量统计", notes = "原材用量统计", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "type", value = "1今日2、7日3、30日", paramType = "body", required = true, dataType = "Integer"),
})
@PostMapping(value = "/countMaterialName")
public Result<SectorVo> countMaterialName(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationMaterialDataService.countMaterialName(paramMap));
}
}

View File

@ -1,5 +1,8 @@
package com.zhgd.xmgl.modules.pitchmixstation.controller;
import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.base.entity.vo.TrendVo;
import com.zhgd.xmgl.modules.concretemixstation.entity.vo.CountConcreteMixStationDataVo;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationProdData;
import com.zhgd.xmgl.modules.pitchmixstation.service.IPitchMixStationProdDataService;
import io.swagger.annotations.Api;
@ -136,4 +139,45 @@ public class PitchMixStationProdDataController {
return result;
}
@ApiOperation(value = "各设备产量趋势", notes = "各设备产量趋势", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "type", value = "1今日2、7日3、30日", paramType = "body", required = true, dataType = "Integer"),
})
@PostMapping(value = "/countConcreteMixStationDataTrend")
public Result<List<TrendVo>> countConcreteMixStationDataTrend(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationProdDataService.countConcreteMixStationDataTrend(paramMap));
}
@ApiOperation(value = "统计混凝土拌合站生产数据(实时监测)", notes = "统计混凝土拌合站生产数据(实时监测)", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = false, dataType = "String"),
})
@PostMapping(value = "/countConcreteMixStationData")
public Result<CountConcreteMixStationDataVo> countConcreteMixStationData(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationProdDataService.countConcreteMixStationData(paramMap));
}
@ApiOperation(value = "生产质量统计", notes = "生产质量统计", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = false, dataType = "String"),
})
@PostMapping(value = "/countUseStatus")
public Result<SectorVo> countUseStatus(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationProdDataService.countUseStatus(paramMap));
}
@ApiOperation(value = "各配比产量", notes = "各配比产量", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "type", value = "1今日2、7日3、30日", paramType = "body", required = true, dataType = "Integer"),
})
@PostMapping(value = "/countPowerLevel")
public Result<SectorVo> countPowerLevel(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(pitchMixStationProdDataService.countPowerLevel(paramMap));
}
}

View File

@ -1,9 +1,13 @@
package com.zhgd.xmgl.modules.pitchmixstation.mapper;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import org.apache.ibatis.annotations.Mapper;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationMaterialData;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.HashMap;
import java.util.List;
/**
* @Description: 沥青拌合站材料用量数据
* @author pds
@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface PitchMixStationMaterialDataMapper extends BaseMapper<PitchMixStationMaterialData> {
List<SectorOneVo> countMaterialName(HashMap<String, Object> paramMap);
}

View File

@ -1,9 +1,16 @@
package com.zhgd.xmgl.modules.pitchmixstation.mapper;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.concretemixstation.entity.vo.CountConcreteMixStationDataVo;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationProdData;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* @Description: 沥青拌合站生产数据
* @author pds
@ -13,4 +20,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface PitchMixStationProdDataMapper extends BaseMapper<PitchMixStationProdData> {
List<TrendOneVo> countConcreteMixStationDataTrend(HashMap<String, Object> paramMap);
CountConcreteMixStationDataVo countConcreteMixStationData(HashMap<String, Object> paramMap);
ArrayList<SectorOneVo> countUseStatus(HashMap<String, Object> paramMap);
ArrayList<SectorOneVo> countPowerLevel(HashMap<String, Object> paramMap);
}

View File

@ -1,4 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.pitchmixstation.mapper.PitchMixStationMaterialDataMapper">
<select id="countMaterialName" resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
select material_name name,ifnull(sum(actual_amount),0) count
from pitch_mix_station_material_data
where 1=1
<if test="projectSn != null and projectSn != ''">
and project_sn = #{projectSn}
</if>
<if test="devSn != null and devSn != ''">
and dev_sn = #{devSn}
</if>
<if test="type == '1'.toString()">
and create_date > current_date
</if>
<if test="type == '2'.toString()">
and create_date > date_sub(create_date,interval 6 day)
</if>
<if test="type == '3'.toString()">
and create_date > date_sub(create_date,interval 29 day)
</if>
group by material_name
order by count desc
</select>
</mapper>

View File

@ -1,4 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.pitchmixstation.mapper.PitchMixStationProdDataMapper">
<select id="countConcreteMixStationDataTrend" resultType="com.zhgd.xmgl.base.entity.vo.TrendOneVo">
select
<if test="type == '1'.toString()">
date_format(discharge_time, '%H:00') x,
</if>
<if test="type == '2'.toString()">
date_format(discharge_time, '%Y-%m-%d') x,
</if>
<if test="type == '3'.toString()">
date_format(discharge_time, '%Y-%m-%d') x,
</if>
ifnull(sum(plate_weight),0) y,
dev_sn sn
from pitch_mix_station_prod_data
where project_sn = #{projectSn}
<if test="type == '1'.toString()">
and discharge_time > current_date
group by dev_sn, date_format(discharge_time, '%Y-%m-%d %H:00')
</if>
<if test="type == '2'.toString()">
and discharge_time > date_sub(discharge_time, interval 6 day)
group by dev_sn, date_format(discharge_time, '%Y-%m-%d')
</if>
<if test="type == '3'.toString()">
and discharge_time > date_sub(discharge_time, interval 29 day)
group by dev_sn, date_format(discharge_time, '%Y-%m-%d')
</if>
</select>
<select id="countConcreteMixStationData"
resultType="com.zhgd.xmgl.modules.concretemixstation.entity.vo.CountConcreteMixStationDataVo">
select ifnull(sum(if(discharge_time > current_date, plate_weight, 0)), 0) dailyOutput,
ifnull(sum(plate_weight), 0) totalOutput,
ifnull(sum(if(discharge_time > current_date, 1, 0)), 0) dayNumber,
count(*) totalNumber
from pitch_mix_station_prod_data
where 1 = 1
<if test="projectSn != null and projectSn != ''">
and project_sn = #{projectSn}
</if>
<if test="devSn != null and devSn != ''">
and dev_sn = #{devSn}
</if>
</select>
<select id="countUseStatus" resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
select count(*) count,use_status enumType
from pitch_mix_station_prod_data
where 1=1
<if test="projectSn != null and projectSn != ''">
and project_sn = #{projectSn}
</if>
<if test="devSn != null and devSn != ''">
and dev_sn = #{devSn}
</if>
group by use_status
</select>
<select id="countPowerLevel" resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
select proportion_name name,ifnull(sum(plate_weight),0) count
from pitch_mix_station_prod_data
where 1=1
<if test="projectSn != null and projectSn != ''">
and project_sn = #{projectSn}
</if>
<if test="devSn != null and devSn != ''">
and dev_sn = #{devSn}
</if>
<if test="type == '1'.toString()">
and discharge_time > current_date
</if>
<if test="type == '2'.toString()">
and discharge_time > date_sub(discharge_time,interval 6 day)
</if>
<if test="type == '3'.toString()">
and discharge_time > date_sub(discharge_time,interval 29 day)
</if>
group by proportion_name
</select>
</mapper>

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.pitchmixstation.service;
import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationMaterialData;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -22,4 +23,6 @@ public interface IPitchMixStationMaterialDataService extends IService<PitchMixSt
void add(PitchMixStationMaterialData pitchMixStationMaterialData);
void edit(PitchMixStationMaterialData pitchMixStationMaterialData);
SectorVo countMaterialName(HashMap<String, Object> paramMap);
}

View File

@ -1,5 +1,8 @@
package com.zhgd.xmgl.modules.pitchmixstation.service;
import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.base.entity.vo.TrendVo;
import com.zhgd.xmgl.modules.concretemixstation.entity.vo.CountConcreteMixStationDataVo;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationProdData;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -22,4 +25,12 @@ public interface IPitchMixStationProdDataService extends IService<PitchMixStatio
void add(PitchMixStationProdData pitchMixStationProdData);
void edit(PitchMixStationProdData pitchMixStationProdData);
SectorVo countPowerLevel(HashMap<String, Object> paramMap);
List<TrendVo> countConcreteMixStationDataTrend(HashMap<String, Object> paramMap);
CountConcreteMixStationDataVo countConcreteMixStationData(HashMap<String, Object> paramMap);
SectorVo countUseStatus(HashMap<String, Object> paramMap);
}

View File

@ -1,5 +1,7 @@
package com.zhgd.xmgl.modules.pitchmixstation.service.impl;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationMaterialData;
import com.zhgd.xmgl.modules.pitchmixstation.mapper.PitchMixStationMaterialDataMapper;
import com.zhgd.xmgl.modules.pitchmixstation.service.IPitchMixStationMaterialDataService;
@ -66,4 +68,10 @@ public class PitchMixStationMaterialDataServiceImpl extends ServiceImpl<PitchMix
public void edit(PitchMixStationMaterialData pitchMixStationMaterialData) {
baseMapper.updateById(pitchMixStationMaterialData);
}
@Override
public SectorVo countMaterialName(HashMap<String, Object> paramMap) {
List<SectorOneVo> list = baseMapper.countMaterialName(paramMap);
return SectorVo.getSectorVo(list);
}
}

View File

@ -1,8 +1,20 @@
package com.zhgd.xmgl.modules.pitchmixstation.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.base.entity.vo.TrendVo;
import com.zhgd.xmgl.enums.ParamEnum;
import com.zhgd.xmgl.modules.concretemixstation.entity.ConcreteMixStationDev;
import com.zhgd.xmgl.modules.concretemixstation.entity.vo.CountConcreteMixStationDataVo;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationDev;
import com.zhgd.xmgl.modules.pitchmixstation.entity.PitchMixStationProdData;
import com.zhgd.xmgl.modules.pitchmixstation.mapper.PitchMixStationDevMapper;
import com.zhgd.xmgl.modules.pitchmixstation.mapper.PitchMixStationProdDataMapper;
import com.zhgd.xmgl.modules.pitchmixstation.service.IPitchMixStationProdDataService;
import com.zhgd.xmgl.util.DateUtils;
import org.apache.commons.collections.MapUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -11,8 +23,11 @@ import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.util.PageUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import com.zhgd.xmgl.util.RefUtil;
import org.springframework.transaction.annotation.Transactional;
@ -29,6 +44,8 @@ import org.springframework.beans.factory.annotation.Autowired;
public class PitchMixStationProdDataServiceImpl extends ServiceImpl<PitchMixStationProdDataMapper, PitchMixStationProdData> implements IPitchMixStationProdDataService {
@Autowired
private PitchMixStationProdDataMapper pitchMixStationProdDataMapper;
@Autowired
private PitchMixStationDevMapper pitchMixStationDevMapper;
@Override
public IPage<PitchMixStationProdData> queryPageList(HashMap<String, Object> paramMap) {
@ -66,4 +83,45 @@ public class PitchMixStationProdDataServiceImpl extends ServiceImpl<PitchMixStat
public void edit(PitchMixStationProdData pitchMixStationProdData) {
baseMapper.updateById(pitchMixStationProdData);
}
@Override
public List<TrendVo> countConcreteMixStationDataTrend(HashMap<String, Object> paramMap) {
String projectSn = MapUtils.getString(paramMap, "projectSn");
Integer type = MapUtils.getInteger(paramMap, "type");
List<TrendVo> trendVos = pitchMixStationDevMapper.selectList(new LambdaQueryWrapper<PitchMixStationDev>()
.eq(PitchMixStationDev::getProjectSn, projectSn)).stream().map(c -> new TrendVo(c.getDevName(), c.getDevSn())).collect(Collectors.toList());
List<TrendOneVo> list = baseMapper.countConcreteMixStationDataTrend(paramMap);
if (Objects.equals(type, 1)) {
List<String> dateTimeStrList = DateUtils.getDateTimeStrList(100, "HH:00");
String format = "HH:00";
return TrendVo.getTrendVos(trendVos, list, dateTimeStrList, format);
} else if (Objects.equals(type, 2)) {
List<String> dateTimeStrList = DateUtils.getDateTimeStrList(60, "yyyy-MM-dd");
String format = "yyyy-MM-dd";
return TrendVo.getTrendVos(trendVos, list, dateTimeStrList, format);
} else if (Objects.equals(type, 3)) {
List<String> dateTimeStrList = DateUtils.getDateTimeStrList(80, "yyyy-MM-dd");
String format = "yyyy-MM-dd";
return TrendVo.getTrendVos(trendVos, list, dateTimeStrList, format);
} else {
return null;
}
}
@Override
public CountConcreteMixStationDataVo countConcreteMixStationData(HashMap<String, Object> paramMap) {
return baseMapper.countConcreteMixStationData(paramMap);
}
@Override
public SectorVo countUseStatus(HashMap<String, Object> paramMap) {
ArrayList<SectorOneVo> list = baseMapper.countUseStatus(paramMap);
return SectorVo.getSectorVoByEnum(list, ParamEnum.ConcreteMixStationDataUseStatusEnum.values());
}
@Override
public SectorVo countPowerLevel(HashMap<String, Object> paramMap) {
ArrayList<SectorOneVo> list = baseMapper.countPowerLevel(paramMap);
return SectorVo.getSectorVo(list);
}
}