From 3663ee9ecf1346ac42f4f05691131307cd837932 Mon Sep 17 00:00:00 2001 From: guo Date: Tue, 14 Nov 2023 15:30:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=A5=E6=A2=81=E7=94=9F=E4=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/WisdomSiteApplication.java | 4 + .../controller/BridgeProduceController.java | 184 +++++++++++++++++ .../BridgeProduceRecordController.java | 185 ++++++++++++++++++ .../bridgeproduce/entity/BridgeProduce.java | 68 +++++++ .../entity/BridgeProduceRecord.java | 86 ++++++++ .../mapper/BridgeProduceMapper.java | 16 ++ .../mapper/BridgeProduceRecordMapper.java | 16 ++ .../mapper/xml/BridgeProduceMapper.xml | 4 + .../mapper/xml/BridgeProduceRecordMapper.xml | 4 + .../service/IBridgeProduceRecordService.java | 21 ++ .../service/IBridgeProduceService.java | 23 +++ .../impl/BridgeProduceRecordServiceImpl.java | 51 +++++ .../impl/BridgeProduceServiceImpl.java | 70 +++++++ 13 files changed, 732 insertions(+) create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/controller/BridgeProduceController.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/controller/BridgeProduceRecordController.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/entity/BridgeProduce.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/entity/BridgeProduceRecord.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/BridgeProduceMapper.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/BridgeProduceRecordMapper.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/xml/BridgeProduceMapper.xml create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/xml/BridgeProduceRecordMapper.xml create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/IBridgeProduceRecordService.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/IBridgeProduceService.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/impl/BridgeProduceRecordServiceImpl.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/impl/BridgeProduceServiceImpl.java diff --git a/src/main/java/com/WisdomSiteApplication.java b/src/main/java/com/WisdomSiteApplication.java index cc3c8c8c0..87343256b 100644 --- a/src/main/java/com/WisdomSiteApplication.java +++ b/src/main/java/com/WisdomSiteApplication.java @@ -153,3 +153,7 @@ public class WisdomSiteApplication extends SpringBootServletInitializer { } } +/* +todo + + */ diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/controller/BridgeProduceController.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/controller/BridgeProduceController.java new file mode 100644 index 000000000..38c56963d --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/controller/BridgeProduceController.java @@ -0,0 +1,184 @@ +package com.zhgd.xmgl.modules.bridgeproduce.controller; + +import com.zhgd.xmgl.modules.bridgeproduce.service.IBridgeProduceService; +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.bridgeproduce.entity.BridgeProduce; + +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-11-14 + * @version: V1.0 + */ +@RestController +@RequestMapping("/xmgl/bridgeProduce") +@Slf4j +@Api(tags = "桥梁(生产记录)相关Api") +public class BridgeProduceController { + @Autowired + private IBridgeProduceService bridgeProduceService; + + /** + * 分页列表查询 + * + * @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> queryPageList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(bridgeProduceService.queryPageList(paramMap)); + } + + /** + * 列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询桥梁(生产记录)信息", notes = "列表查询桥梁(生产记录)信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(bridgeProduceService.queryList(paramMap)); + } + + /** + * 添加 + * + * @param bridgeProduce + * @return + */ + @ApiOperation(value = "添加桥梁(生产记录)信息", notes = "添加桥梁(生产记录)信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody BridgeProduce bridgeProduce) { + bridgeProduceService.add(bridgeProduce); + return Result.ok(); + } + + /** + * 编辑 + * + * @param bridgeProduce + * @return + */ + @ApiOperation(value = "编辑桥梁(生产记录)信息", notes = "编辑桥梁(生产记录)信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody BridgeProduce bridgeProduce) { + bridgeProduceService.updateById(bridgeProduce); + return Result.ok(); + } + + /** + * 通过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 delete(@ApiIgnore @RequestBody HashMap map) { + String id = MapUtils.getString(map, "id"); + Result result = new Result(); + BridgeProduce bridgeProduce = bridgeProduceService.getById(id); + if (bridgeProduce == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = bridgeProduceService.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 queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + BridgeProduce bridgeProduce = bridgeProduceService.getById(id); + if (bridgeProduce == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(bridgeProduce); + 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 queryWrapper = null; + try { + String paramsStr = request.getParameter("paramsStr"); + if (oConvertUtils.isNotEmpty(paramsStr)) { + String deString = URLDecoder.decode(paramsStr, "UTF-8"); + BridgeProduce bridgeProduce = JSON.parseObject(deString, BridgeProduce.class); + queryWrapper = QueryGenerator.initQueryWrapper(bridgeProduce, request.getParameterMap()); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = bridgeProduceService.list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "桥梁(生产记录)列表"); + mv.addObject(NormalExcelConstants.CLASS, BridgeProduce.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("桥梁(生产记录)列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/controller/BridgeProduceRecordController.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/controller/BridgeProduceRecordController.java new file mode 100644 index 000000000..e902ba9e5 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/controller/BridgeProduceRecordController.java @@ -0,0 +1,185 @@ +package com.zhgd.xmgl.modules.bridgeproduce.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.bridgeproduce.entity.BridgeProduceRecord; +import com.zhgd.xmgl.modules.bridgeproduce.service.IBridgeProduceRecordService; + +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-11-14 + * @version: V1.0 + */ +@RestController +@RequestMapping("/xmgl/bridgeProduceRecord") +@Slf4j +@Api(tags = "桥梁生产记录相关Api") +public class BridgeProduceRecordController { + @Autowired + private IBridgeProduceRecordService bridgeProduceRecordService; + + /** + * 分页列表查询 + * + * @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> queryPageList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(bridgeProduceRecordService.queryPageList(paramMap)); + } + + /** + * 列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询桥梁生产记录信息", notes = "列表查询桥梁生产记录信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(bridgeProduceRecordService.queryList(paramMap)); + } + + /** + * 添加 + * + * @param bridgeProduceRecord + * @return + */ + @ApiOperation(value = "添加桥梁生产记录信息", notes = "添加桥梁生产记录信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody BridgeProduceRecord bridgeProduceRecord) { + bridgeProduceRecord.setId(null); + bridgeProduceRecordService.save(bridgeProduceRecord); + return Result.ok(); + } + + /** + * 编辑 + * + * @param bridgeProduceRecord + * @return + */ + @ApiOperation(value = "编辑桥梁生产记录信息", notes = "编辑桥梁生产记录信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody BridgeProduceRecord bridgeProduceRecord) { + bridgeProduceRecordService.updateById(bridgeProduceRecord); + return Result.ok(); + } + + /** + * 通过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 delete(@ApiIgnore @RequestBody HashMap map) { + String id = MapUtils.getString(map, "id"); + Result result = new Result(); + BridgeProduceRecord bridgeProduceRecord = bridgeProduceRecordService.getById(id); + if (bridgeProduceRecord == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = bridgeProduceRecordService.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 queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + BridgeProduceRecord bridgeProduceRecord = bridgeProduceRecordService.getById(id); + if (bridgeProduceRecord == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(bridgeProduceRecord); + 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 queryWrapper = null; + try { + String paramsStr = request.getParameter("paramsStr"); + if (oConvertUtils.isNotEmpty(paramsStr)) { + String deString = URLDecoder.decode(paramsStr, "UTF-8"); + BridgeProduceRecord bridgeProduceRecord = JSON.parseObject(deString, BridgeProduceRecord.class); + queryWrapper = QueryGenerator.initQueryWrapper(bridgeProduceRecord, request.getParameterMap()); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = bridgeProduceRecordService.list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "桥梁生产记录列表"); + mv.addObject(NormalExcelConstants.CLASS, BridgeProduceRecord.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("桥梁生产记录列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/entity/BridgeProduce.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/entity/BridgeProduce.java new file mode 100644 index 000000000..0370fb996 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/entity/BridgeProduce.java @@ -0,0 +1,68 @@ +package com.zhgd.xmgl.modules.bridgeproduce.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description: 桥梁(生产记录) + * @author: pds + * @date: 2023-11-14 + * @version: V1.0 + */ +@Data +@TableName("bridge_produce") +@ApiModel(value = "BridgeProduce实体类", description = "BridgeProduce") +public class BridgeProduce implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键id") + private java.lang.Long id; + /** + * 桥梁名称 + */ + @Excel(name = "桥梁名称", width = 15) + @ApiModelProperty(value = "桥梁名称") + private java.lang.String bridgeName; + /** + * 二维码 + */ + @Excel(name = "二维码", width = 15) + @ApiModelProperty(value = "二维码") + private java.lang.String qrCode; + /** + * 项目sn + */ + @Excel(name = "项目sn", width = 15) + @ApiModelProperty(value = "项目sn") + private java.lang.String projectSn; + /** + * 创建时间 + */ + @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private java.util.Date createTime; + /** + * 更新时间 + */ + @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间") + private java.util.Date updateTime; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/entity/BridgeProduceRecord.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/entity/BridgeProduceRecord.java new file mode 100644 index 000000000..48adb9988 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/entity/BridgeProduceRecord.java @@ -0,0 +1,86 @@ +package com.zhgd.xmgl.modules.bridgeproduce.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description: 桥梁生产记录 + * @author: pds + * @date: 2023-11-14 + * @version: V1.0 + */ +@Data +@TableName("bridge_produce_record") +@ApiModel(value = "BridgeProduceRecord实体类", description = "BridgeProduceRecord") +public class BridgeProduceRecord implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键id") + private java.lang.Long id; + /** + * 桥梁名称 + */ + @Excel(name = "桥梁名称", width = 15) + @ApiModelProperty(value = "桥梁名称") + private java.lang.String bridgeName; + /** + * 记录人 + */ + @Excel(name = "记录人", width = 15) + @ApiModelProperty(value = "记录人") + private java.lang.String recorder; + /** + * 桥梁状态 + */ + @Excel(name = "桥梁状态", width = 15) + @ApiModelProperty(value = "桥梁状态") + private java.lang.String bridgeStatus; + /** + * 具体事件 + */ + @Excel(name = "具体事件", width = 15) + @ApiModelProperty(value = "具体事件") + private java.lang.String specificEvent; + /** + * 上传图片 + */ + @Excel(name = "上传图片", width = 15) + @ApiModelProperty(value = "上传图片") + private java.lang.String uploadImage; + /** + * 项目sn + */ + @Excel(name = "项目sn", width = 15) + @ApiModelProperty(value = "项目sn") + private java.lang.String projectSn; + /** + * 创建时间(记录时间) + */ + @Excel(name = "创建时间(记录时间)", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间(记录时间)") + private java.util.Date createTime; + /** + * 更新时间 + */ + @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间") + private java.util.Date updateTime; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/BridgeProduceMapper.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/BridgeProduceMapper.java new file mode 100644 index 000000000..345a2ce9a --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/BridgeProduceMapper.java @@ -0,0 +1,16 @@ +package com.zhgd.xmgl.modules.bridgeproduce.mapper; + +import org.apache.ibatis.annotations.Mapper; +import com.zhgd.xmgl.modules.bridgeproduce.entity.BridgeProduce; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 桥梁(生产记录) + * @author: pds + * @date: 2023-11-14 + * @version: V1.0 + */ +@Mapper +public interface BridgeProduceMapper extends BaseMapper { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/BridgeProduceRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/BridgeProduceRecordMapper.java new file mode 100644 index 000000000..99ebb7a33 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/BridgeProduceRecordMapper.java @@ -0,0 +1,16 @@ +package com.zhgd.xmgl.modules.bridgeproduce.mapper; + +import com.zhgd.xmgl.modules.bridgeproduce.entity.BridgeProduceRecord; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 桥梁生产记录 + * @author: pds + * @date: 2023-11-14 + * @version: V1.0 + */ +@Mapper +public interface BridgeProduceRecordMapper extends BaseMapper { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/xml/BridgeProduceMapper.xml b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/xml/BridgeProduceMapper.xml new file mode 100644 index 000000000..85613dcd3 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/xml/BridgeProduceMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/xml/BridgeProduceRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/xml/BridgeProduceRecordMapper.xml new file mode 100644 index 000000000..6dae783fd --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/mapper/xml/BridgeProduceRecordMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/IBridgeProduceRecordService.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/IBridgeProduceRecordService.java new file mode 100644 index 000000000..08da4d044 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/IBridgeProduceRecordService.java @@ -0,0 +1,21 @@ +package com.zhgd.xmgl.modules.bridgeproduce.service; + +import com.zhgd.xmgl.modules.bridgeproduce.entity.BridgeProduceRecord; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.HashMap; +import java.util.List; + +/** + * @Description: 桥梁生产记录 + * @author: pds + * @date: 2023-11-14 + * @version: V1.0 + */ +public interface IBridgeProduceRecordService extends IService { + + IPage queryPageList(HashMap paramMap); + + List queryList(HashMap paramMap); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/IBridgeProduceService.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/IBridgeProduceService.java new file mode 100644 index 000000000..3e27ca3dd --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/IBridgeProduceService.java @@ -0,0 +1,23 @@ +package com.zhgd.xmgl.modules.bridgeproduce.service; + +import com.zhgd.xmgl.modules.bridgeproduce.entity.BridgeProduce; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.HashMap; +import java.util.List; + +/** + * @Description: 桥梁(生产记录) + * @author: pds + * @date: 2023-11-14 + * @version: V1.0 + */ +public interface IBridgeProduceService extends IService { + + IPage queryPageList(HashMap paramMap); + + List queryList(HashMap paramMap); + + void add(BridgeProduce bridgeProduce); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/impl/BridgeProduceRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/impl/BridgeProduceRecordServiceImpl.java new file mode 100644 index 000000000..b569d494e --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/impl/BridgeProduceRecordServiceImpl.java @@ -0,0 +1,51 @@ +package com.zhgd.xmgl.modules.bridgeproduce.service.impl; + +import com.zhgd.xmgl.modules.bridgeproduce.entity.BridgeProduceRecord; +import com.zhgd.xmgl.modules.bridgeproduce.mapper.BridgeProduceRecordMapper; +import com.zhgd.xmgl.modules.bridgeproduce.service.IBridgeProduceRecordService; +import org.springframework.stereotype.Service; +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.system.query.QueryGenerator; +import com.zhgd.xmgl.util.PageUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.HashMap; +import java.util.List; + +import com.zhgd.xmgl.util.RefUtil; + +/** + * @Description: 桥梁生产记录 + * @author: pds + * @date: 2023-11-14 + * @version: V1.0 + */ +@Service +public class BridgeProduceRecordServiceImpl extends ServiceImpl implements IBridgeProduceRecordService { + @Override + public IPage queryPageList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + Page page = PageUtil.getPage(paramMap); + IPage pageList = this.page(page, queryWrapper); + pageList.setRecords(dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + return dealList(this.list(queryWrapper)); + } + + private QueryWrapper getQueryWrapper(HashMap paramMap) { + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(BridgeProduceRecord.class, paramMap); + queryWrapper.orderByDesc(RefUtil.fieldNameUlc(BridgeProduceRecord::getId)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/impl/BridgeProduceServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/impl/BridgeProduceServiceImpl.java new file mode 100644 index 000000000..51d5561bb --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bridgeproduce/service/impl/BridgeProduceServiceImpl.java @@ -0,0 +1,70 @@ +package com.zhgd.xmgl.modules.bridgeproduce.service.impl; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.extra.qrcode.QrCodeUtil; +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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.modules.bridgeproduce.entity.BridgeProduce; +import com.zhgd.xmgl.modules.bridgeproduce.mapper.BridgeProduceMapper; +import com.zhgd.xmgl.modules.bridgeproduce.service.IBridgeProduceService; +import com.zhgd.xmgl.util.PageUtil; +import com.zhgd.xmgl.util.RefUtil; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.util.HashMap; +import java.util.List; + +/** + * @Description: 桥梁(生产记录) + * @author: pds + * @date: 2023-11-14 + * @version: V1.0 + */ +@Service +public class BridgeProduceServiceImpl extends ServiceImpl implements IBridgeProduceService { + @Value("${basePath}") + private String basePath; + + @Override + public IPage queryPageList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + Page page = PageUtil.getPage(paramMap); + IPage pageList = this.page(page, queryWrapper); + pageList.setRecords(dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + return dealList(this.list(queryWrapper)); + } + + @Override + public void add(BridgeProduce bridgeProduce) { + bridgeProduce.setId(null); + save(bridgeProduce); + // 生成指定url对应的二维码到文件,宽和高都是300像素 + String name = IdUtil.simpleUUID() + ".jpg"; + String absolutePath = new File(basePath, name).getAbsolutePath(); + bridgeProduce.setQrCode(name); + QrCodeUtil.generate("https://hutool.cn/?bridgeProduceId=" + bridgeProduce.getId(), 300, 300, FileUtil.file(absolutePath));//todo + updateById(bridgeProduce); + } + + private QueryWrapper getQueryWrapper(HashMap paramMap) { + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(BridgeProduce.class, paramMap); + queryWrapper.orderByDesc(RefUtil.fieldNameUlc(BridgeProduce::getId)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } +}