材料进场记录

This commit is contained in:
Administrator 2023-02-23 19:19:11 +08:00
parent 34e0c75617
commit 9d4ca47794
7 changed files with 364 additions and 2 deletions

View File

@ -0,0 +1,237 @@
package com.zhgd.xmgl.modules.material.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import com.zhgd.xmgl.modules.material.entity.MaterialApproachRecord;
import com.zhgd.xmgl.modules.material.service.IMaterialApproachRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @Title: Controller
* @Description: 材料进场记录
* @author zp
* @date 2023-02-23
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/materialApproachRecord")
@Slf4j
@Api(tags = "MaterialApproachRecordController相关Api")
public class MaterialApproachRecordController {
@Autowired
private IMaterialApproachRecordService materialApproachRecordService;
/**
* 分页列表查询
*
* @param materialApproachRecord
* @param pageNo 页码
* @param pageSize 条数
* @param req
* @return
*/
@ApiOperation(value = " 分页列表查询材料进场记录 信息", notes = "分页列表查询材料进场记录 信息", httpMethod = "GET")
@GetMapping(value = "/page")
public Result<IPage<MaterialApproachRecord>> queryPageList(MaterialApproachRecord materialApproachRecord,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<MaterialApproachRecord> queryWrapper = QueryGenerator.initQueryWrapper(materialApproachRecord, req.getParameterMap());
Page<MaterialApproachRecord> page = new Page<MaterialApproachRecord>(pageNo, pageSize);
IPage<MaterialApproachRecord> pageList = materialApproachRecordService.page(page, queryWrapper);
return Result.success(pageList);
}
/**
* 列表查询
*
* @param materialApproachRecord
* @param pageNo 页码
* @param pageSize 条数
* @param req
* @return
*/
@ApiOperation(value = " 列表查询材料进场记录 信息", notes = "列表查询材料进场记录 信息", httpMethod = "GET")
@GetMapping(value = "/list")
public Result<List<MaterialApproachRecord>> queryList(MaterialApproachRecord materialApproachRecord,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<MaterialApproachRecord> queryWrapper = QueryGenerator.initQueryWrapper(materialApproachRecord, req.getParameterMap());
return Result.success(materialApproachRecordService.list(queryWrapper));
}
/**
* 添加
*
* @param materialApproachRecord
* @return
*/
@ApiOperation(value = " 添加材料进场记录 信息", notes = "添加材料进场记录 信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<MaterialApproachRecord> add(@RequestBody MaterialApproachRecord materialApproachRecord) {
materialApproachRecordService.save(materialApproachRecord);
return Result.ok();
}
/**
* 编辑
*
* @param materialApproachRecord
* @return
*/
@ApiOperation(value = "编辑材料进场记录 信息", notes = "编辑材料进场记录 信息", httpMethod = "POST")
@PostMapping(value = "/edit")
public Result<MaterialApproachRecord> edit(@RequestBody MaterialApproachRecord materialApproachRecord) {
materialApproachRecordService.updateById(materialApproachRecord);
return Result.ok();
}
/**
* 通过id删除
*
* @param id
* @return
*/
@ApiOperation(value = "删除材料进场记录 信息", notes = "删除材料进场记录 信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "材料进场记录 ID", paramType = "query", required = true, dataType = "Integer")
@PostMapping(value = "/delete")
public Result<MaterialApproachRecord> delete(@RequestParam(name = "id", required = true) String id) {
materialApproachRecordService.removeById(id);
return Result.ok();
}
/**
* 批量删除
*
* @param ids
* @return
*/
@ApiOperation(value = "批量删除材料进场记录 信息", notes = "批量删除材料进场记录 信息", httpMethod = "DELETE")
@ApiImplicitParam(name = "id", value = "材料进场记录 ID字符串", paramType = "query", required = true, dataType = "String")
@DeleteMapping(value = "/deleteBatch")
public Result<MaterialApproachRecord> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
if (ids == null || "".equals(ids.trim())) {
throw new IllegalArgumentException("参数不识别!");
} else {
this.materialApproachRecordService.removeByIds(Arrays.asList(ids.split(",")));
}
return Result.ok();
}
/**
* 通过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<MaterialApproachRecord> queryById(@RequestParam(name = "id", required = true) String id) {
MaterialApproachRecord materialApproachRecord = materialApproachRecordService.getById(id);
return Result.success(materialApproachRecord);
}
/**
* 导出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<MaterialApproachRecord> queryWrapper = null;
try {
String paramsStr = request.getParameter("paramsStr");
if (oConvertUtils.isNotEmpty(paramsStr)) {
String deString = URLDecoder.decode(paramsStr, "UTF-8");
MaterialApproachRecord materialApproachRecord = JSON.parseObject(deString, MaterialApproachRecord.class);
queryWrapper = QueryGenerator.initQueryWrapper(materialApproachRecord, request.getParameterMap());
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
List<MaterialApproachRecord> pageList = materialApproachRecordService.list(queryWrapper);
//导出文件名称
mv.addObject(NormalExcelConstants.FILE_NAME, "材料进场记录 列表");
mv.addObject(NormalExcelConstants.CLASS, MaterialApproachRecord.class);
mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("材料进场记录 列表数据", "导出人:Jeecg", "导出信息"));
mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
return mv;
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@ApiOperation(value = "通过excel导入材料进场记录 信息", notes = "通过excel导入材料进场记录 信息", httpMethod = "POST")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<MaterialApproachRecord> listMaterialApproachRecords = ExcelImportUtil.importExcel(file.getInputStream(), MaterialApproachRecord.class, params);
for (MaterialApproachRecord materialApproachRecordExcel : listMaterialApproachRecords) {
materialApproachRecordService.save(materialApproachRecordExcel);
}
return Result.ok("文件导入成功!数据行数:" + listMaterialApproachRecords.size());
} catch (Exception e) {
log.error(e.getMessage());
return Result.error("文件导入失败!");
} finally {
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return Result.ok("文件导入失败!");
}
}

View File

@ -0,0 +1,69 @@
package com.zhgd.xmgl.modules.material.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 材料进场记录
* @author zp
* @date 2023-02-23
* @version V1.0
*/
@Data
@TableName("material_approach_record")
@ApiModel(value = "MaterialApproachRecord实体类", description = "MaterialApproachRecord")
public class MaterialApproachRecord implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "id")
private Integer id;
/**
* 进场时间
*/
@Excel(name = "进场时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "进场时间")
private Date entryTime;
/**
* 材料类型
*/
@Excel(name = "材料类型", width = 15)
@ApiModelProperty(value = "材料类型")
private String materialType;
/**
* 生产厂家
*/
@Excel(name = "生产厂家", width = 15)
@ApiModelProperty(value = "生产厂家")
private String manufacturer;
/**
* 车牌号
*/
@Excel(name = "车牌号", width = 15)
@ApiModelProperty(value = "车牌号")
private Integer licensePlateNumber;
/**
* 进场量
*/
@Excel(name = "进场量", width = 15)
@ApiModelProperty(value = "进场量")
private Double approachVolume;
@ApiModelProperty(value = "projectSn")
private String projectSn;
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.material.mapper;
import java.util.List;
import com.zhgd.xmgl.modules.material.entity.MaterialApproachRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 材料进场记录
* @author zp
* @date 2023-02-23
* @version V1.0
*/
@Mapper
public interface MaterialApproachRecordMapper extends BaseMapper<MaterialApproachRecord> {
}

View File

@ -0,0 +1,4 @@
<?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.material.mapper.MaterialApproachRecordMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.material.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.material.entity.MaterialApproachRecord;
/**
* @Description: 材料进场记录
* @author zp
* @date 2023-02-23
* @version V1.0
*/
public interface IMaterialApproachRecordService extends IService<MaterialApproachRecord> {
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.material.service.impl;
import com.zhgd.xmgl.modules.material.entity.MaterialApproachRecord;
import com.zhgd.xmgl.modules.material.mapper.MaterialApproachRecordMapper;
import com.zhgd.xmgl.modules.material.service.IMaterialApproachRecordService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 材料进场记录
* @author zp
* @date 2023-02-23
* @version V1.0
*/
@Service
public class MaterialApproachRecordServiceImpl extends ServiceImpl<MaterialApproachRecordMapper, MaterialApproachRecord> implements IMaterialApproachRecordService {
}

View File

@ -444,12 +444,12 @@
</select> </select>
<select id="getAlarmData" resultType="com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord"> <!-- <select id="getAlarmData" resultType="com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord">
SELECT SUBSTRING_INDEX(GROUP_CONCAT(id ORDER BY id DESC), ",", 3) as names SELECT SUBSTRING_INDEX(GROUP_CONCAT(id ORDER BY id DESC), ",", 3) as names
FROM ai_analyse_hard_ware_alarm_record s FROM ai_analyse_hard_ware_alarm_record s
GROUP BY location GROUP BY location
</select> </select>-->
</mapper> </mapper>