generate/src/main/java/com/ojq/controller/TravelCountController.java
File was deleted generate/src/main/java/com/ojq/controller/TravelDetailController.java
File was deleted generate/src/main/java/com/ojq/domain/TravelCount.java
File was deleted generate/src/main/java/com/ojq/domain/TravelDetail.java
File was deleted generate/src/main/java/com/ojq/mapper/TravelCountMapper.java
File was deleted generate/src/main/java/com/ojq/mapper/TravelDetailMapper.java
File was deleted generate/src/main/java/com/ojq/service/ITravelCountService.java
File was deleted generate/src/main/java/com/ojq/service/ITravelDetailService.java
File was deleted generate/src/main/java/com/ojq/service/impl/TravelCountServiceImpl.java
File was deleted generate/src/main/java/com/ojq/service/impl/TravelDetailServiceImpl.java
File was deleted generate/src/main/resources/mapper/PhyscialMapper.xml
New file @@ -0,0 +1,5 @@ <?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.ojq.mapper.PhyscialMapper"> </mapper> ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/PhyscialController.java
New file @@ -0,0 +1,141 @@ package com.ruoyi.web.controller.zhang; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.domain. Physcial; import com.ruoyi.domain.Physcial; import com.ruoyi.service. PhyscialService; import com.ruoyi.service.PhyscialService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.Collections; import java.util.List; import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM; import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE; /** * <p> * 前端控制器 * </p> * * @author ojq * @since 2023-10-23 */ @RestController @RequestMapping("/physcial") @Slf4j public class PhyscialController extends BaseController { @Autowired private PhyscialService physcialService; /** * 查询所有记录 */ @GetMapping("/all") public AjaxResult listAll(Physcial physcial){ Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); return physcialService.selectDataList(physcial,pageNum,pageSize); } /** * 根据id查询 */ @GetMapping() public AjaxResult listById(Long id){ return AjaxResult.success(physcialService.getById(id)); } /** * 模板 */ @PostMapping("/model") public void getModel(HttpServletResponse response){ Physcial physcial = new Physcial(); List<Physcial> emptyList = Collections.singletonList(physcial); ExcelUtil<Physcial> util = new ExcelUtil<>(Physcial.class); util.exportExcel(response, emptyList, "历年体检数据记录数据"); } @Log(title = "历年体检数据记录", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response) { List<Physcial> list = physcialService.selectByCondition(); log.info("导出记录为:{}",list); ExcelUtil<Physcial> util = new ExcelUtil<>(Physcial.class); util.exportExcel(response, list, "历年体检数据记录数据"); } /** * 导出历年体检数据记录列表 */ // @PreAuthorize("@ss.hasPermi('system:property:export')") @Log(title = "历年体检数据记录", businessType = BusinessType.EXPORT) @PostMapping("/export1/{ids}") public void export1(HttpServletResponse response,@PathVariable Long[] ids) { List<Physcial> list = physcialService.selectByIds(ids); log.info("导出记录为:{}",list); ExcelUtil<Physcial> util = new ExcelUtil<>(Physcial.class); util.exportExcel(response, list, "历年体检数据记录数据"); } /** * 导入历年体检数据记录列表 */ @Log(title = "用户管理", businessType = BusinessType.IMPORT) @PostMapping("/importData") public AjaxResult importData(@RequestParam("excelImport") MultipartFile file) throws Exception { return physcialService.importExcel(file); } /** * 新增历年体检数据记录 */ // @PreAuthorize("@ss.hasPermi('system:property:add')") @Log(title = "历年体检数据记录", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody Physcial physcial) { return physcialService.mySave(physcial); } /** * 修改历年体检数据记录 */ // @PreAuthorize("@ss.hasPermi('system:property:edit')") @Log(title = "历年体检数据记录", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody Physcial physcial) { return toAjax(physcialService.updateById(physcial)); } // /** * 批量删除历年体检数据记录 */ // @PreAuthorize("@ss.hasPermi('system:property:remove')") @Log(title = "历年体检数据记录", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(physcialService.removeByIds(Arrays.asList(ids))); } } zhang-content/src/main/java/com/ruoyi/domain/Physcial.java
New file @@ -0,0 +1,72 @@ package com.ruoyi.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import java.io.Serializable; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** * <p> * * </p> * * @author ojq * @since 2023-10-23 */ @Data @TableName("physcial") public class Physcial implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 年度报告 */ private String report; /** * 体检时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date happenTime; @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd") private Date happenStartTime; @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd") private Date happenEndTime; /** * 电子文件 */ private String url; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date createTime; /** * 用户id */ private Long uid; } zhang-content/src/main/java/com/ruoyi/mapper/PhyscialMapper.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.domain.Physcial; /** * <p> * Mapper 接口 * </p> * * @author ojq * @since 2023-10-23 */ public interface PhyscialMapper extends BaseMapper<Physcial> { } zhang-content/src/main/java/com/ruoyi/service/PhyscialService.java
New file @@ -0,0 +1,34 @@ package com.ruoyi.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.domain.Physcial; import com.ruoyi.domain.Physcial; import com.ruoyi.domain.Physcial; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * <p> * 服务类 * </p> * * @author ojq * @since 2023-10-23 */ public interface PhyscialService extends IService<Physcial> { AjaxResult selectDataList(Physcial physcial, Integer pageNum, Integer pageSize); List<Physcial> selectByIds(Long[] ids); AjaxResult importExcel(MultipartFile file); AjaxResult mySave(Physcial physcial); List<Physcial> selectByCondition(); } zhang-content/src/main/java/com/ruoyi/service/impl/PhyscialServiceImpl.java
New file @@ -0,0 +1,145 @@ package com.ruoyi.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.domain.Physcial; import com.ruoyi.domain.Physcial; import com.ruoyi.domain.Physcial; import com.ruoyi.mapper.PhyscialMapper; import com.ruoyi.service.PhyscialService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; /** * <p> * 服务实现类 * </p> * * @author ojq * @since 2023-10-23 */ @Service @Slf4j public class PhyscialServiceImpl extends ServiceImpl<PhyscialMapper, Physcial> implements PhyscialService { @Autowired PhyscialServiceImpl physcialService; private LambdaQueryWrapper<Physcial> uniqueCondition(Physcial physcial) { LambdaQueryWrapper<Physcial> lqw = new LambdaQueryWrapper<>(); lqw.eq(StringUtils.isNotEmpty(physcial.getReport()), Physcial::getReport, physcial.getReport()) .eq(physcial.getHappenTime() != null, Physcial::getHappenTime, physcial.getHappenTime()) .eq(physcial.getUid() != null, Physcial::getUid, physcial.getUid()); return lqw; } private LambdaQueryWrapper<Physcial> buildCondition(Physcial physcial, Long userId) { LambdaQueryWrapper<Physcial> lqw = new LambdaQueryWrapper<>(); lqw.eq(userId != null, Physcial::getUid, userId) .like(StringUtils.isNotEmpty(physcial.getReport()), Physcial::getReport, physcial.getReport()) .between(physcial.getHappenStartTime() != null && physcial.getHappenEndTime() != null, Physcial::getHappenTime, physcial.getHappenStartTime(), physcial.getHappenEndTime()) .orderByDesc(Physcial::getCreateTime); return lqw; } /** * 分页查找 */ @Override public AjaxResult selectDataList(Physcial physcial, Integer pageNum, Integer pageSize) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); LambdaQueryWrapper<Physcial> lqw = buildCondition(physcial, userId); Page<Physcial> pageBean = new Page<>(pageNum, pageSize); Page<Physcial> pageResult = page(pageBean, lqw); List<Physcial> beanRecords = pageResult.getRecords();//得到查询出来的数据 HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); return AjaxResult.success(data); } @Override public List<Physcial> selectByIds(Long[] ids) { List<Physcial> list = new ArrayList<>(); if (ids.length != 0) list = listByIds(Arrays.asList(ids)); else list = list(); return list; } @Override public AjaxResult mySave(Physcial physcial) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); physcial.setUid(userId); //检查是否有重复数据插入 LambdaQueryWrapper<Physcial> lqw = uniqueCondition(physcial); List<Physcial> list = list(lqw); if (list.size() > 0) { throw new RuntimeException("请勿新增重复数据"); } if (save(physcial)) { return AjaxResult.success(); } else { return AjaxResult.error(); } } @Override public List<Physcial> selectByCondition() { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); Physcial physcial = new Physcial(); LambdaQueryWrapper<Physcial> lqw = buildCondition(physcial, userId); return list(lqw); } @Override @Transactional public AjaxResult importExcel(MultipartFile file) { ExcelUtil<Physcial> util = new ExcelUtil<>(Physcial.class); List<Physcial> dataList = null; try { dataList = util.importExcel(file.getInputStream()); } catch (Exception e) { throw new RuntimeException("没有按照规则导入数据"); } assert dataList != null; for (Physcial physcial : dataList) { physcialService.mySave(physcial); } return AjaxResult.success(); } }