diff --git a/src/main/java/com/zhgd/xmgl/modules/material/controller/MaterialApproachRecordController.java b/src/main/java/com/zhgd/xmgl/modules/material/controller/MaterialApproachRecordController.java new file mode 100644 index 000000000..c54a9beb8 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/material/controller/MaterialApproachRecordController.java @@ -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> queryPageList(MaterialApproachRecord materialApproachRecord, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(materialApproachRecord, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage 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> queryList(MaterialApproachRecord materialApproachRecord, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + + QueryWrapper 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 add(@RequestBody MaterialApproachRecord materialApproachRecord) { + materialApproachRecordService.save(materialApproachRecord); + return Result.ok(); + } + + /** + * 编辑 + * + * @param materialApproachRecord + * @return + */ + @ApiOperation(value = "编辑材料进场记录 信息", notes = "编辑材料进场记录 信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result 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 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 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 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 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 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 fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue();// 获取上传文件对象 + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + List 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("文件导入失败!"); + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/material/entity/MaterialApproachRecord.java b/src/main/java/com/zhgd/xmgl/modules/material/entity/MaterialApproachRecord.java new file mode 100644 index 000000000..0440226f0 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/material/entity/MaterialApproachRecord.java @@ -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; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/material/mapper/MaterialApproachRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/material/mapper/MaterialApproachRecordMapper.java new file mode 100644 index 000000000..b10862712 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/material/mapper/MaterialApproachRecordMapper.java @@ -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 { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/material/mapper/xml/MaterialApproachRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/material/mapper/xml/MaterialApproachRecordMapper.xml new file mode 100644 index 000000000..5e971cc34 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/material/mapper/xml/MaterialApproachRecordMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/main/java/com/zhgd/xmgl/modules/material/service/IMaterialApproachRecordService.java b/src/main/java/com/zhgd/xmgl/modules/material/service/IMaterialApproachRecordService.java new file mode 100644 index 000000000..b67cb0143 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/material/service/IMaterialApproachRecordService.java @@ -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 { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/material/service/impl/MaterialApproachRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/material/service/impl/MaterialApproachRecordServiceImpl.java new file mode 100644 index 000000000..c8ffde98f --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/material/service/impl/MaterialApproachRecordServiceImpl.java @@ -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 implements IMaterialApproachRecordService { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml index b784237b8..1dd287908 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml @@ -444,12 +444,12 @@ -