exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java
@@ -1,17 +1,15 @@ package controller; package com.gkhy.exam.noncoalmine.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.api.ApiController; import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import .entity.ExamSite; import .service.ExamSiteService; import com.gkhy.exam.noncoalmine.model.addForm.ExamSiteAddForm; import com.gkhy.exam.noncoalmine.model.modForm.ExamSiteModForm; import com.gkhy.exam.noncoalmine.model.query.ExamSiteQuery; import com.gkhy.exam.noncoalmine.service.ExamSiteService; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.Serializable; import java.util.List; /** @@ -21,68 +19,68 @@ * @since 2023-09-13 16:11:04 */ @RestController @RequestMapping("examSite") public class ExamSiteController extends ApiController { @RequestMapping("exam/site") public class ExamSiteController extends BaseController { /** * 服务对象 */ @Resource @Autowired private ExamSiteService examSiteService; /** * 分页查询所有数据 * * @param page 分页对象 * @param examSite 查询实体 * @param query 查询实体 * @return 所有数据 */ @GetMapping public R selectAll(Page<ExamSite> page, ExamSite examSite) { return success(this.examSiteService.page(page, new QueryWrapper<>(examSite))); @GetMapping("page/list") public TableDataInfo listByPage(ExamSiteQuery query) { startPage(); return getDataTable(this.examSiteService.listByPage(query)); } /** * 通过主键查询单条数据 * * @param id 主键 * @param siteId 主键 * @return 单条数据 */ @GetMapping("{id}") public R selectOne(@PathVariable Serializable id) { return success(this.examSiteService.getById(id)); @GetMapping("{get/siteId}") public AjaxResult selectOne(@PathVariable Long siteId) { return success(this.examSiteService.getById(siteId)); } /** * 新增数据 * * @param examSite 实体对象 * @param addForm 实体对象 * @return 新增结果 */ @PostMapping public R insert(@RequestBody ExamSite examSite) { return success(this.examSiteService.save(examSite)); @PostMapping("add") public AjaxResult add(@Validated @RequestBody ExamSiteAddForm addForm) { return toAjax(this.examSiteService.add(addForm)); } /** * 修改数据 * * @param examSite 实体对象 * @param modForm 实体对象 * @return 修改结果 */ @PutMapping public R update(@RequestBody ExamSite examSite) { return success(this.examSiteService.updateById(examSite)); @PutMapping("mod") public AjaxResult mod(@Validated @RequestBody ExamSiteModForm modForm) { return toAjax(this.examSiteService.mod(modForm)); } /** * 删除数据 * * @param idList 主键结合 * @param siteIds 主键结合 * @return 删除结果 */ @DeleteMapping public R delete(@RequestParam("idList") List<Long> idList) { return success(this.examSiteService.removeByIds(idList)); @DeleteMapping("/del/batch/{siteIds}") public AjaxResult delete(@PathVariable("siteIds") List<Long> siteIds) { return toAjax(this.examSiteService.removeByIds(siteIds)); } } exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java
@@ -7,6 +7,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import org.aspectj.weaver.loadtime.Aj; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -33,7 +34,7 @@ * @param query 查询实体 * @return 所有数据 */ @GetMapping @GetMapping("page/list") public TableDataInfo listByPage(TrainingInstitutionQuery query) { startPage(); return getDataTable(this.trainingInstitutionService.listByPage( query)); @@ -82,5 +83,12 @@ public AjaxResult delete(@PathVariable("institutionIds") List<Long> institutionIds) { return toAjax(this.trainingInstitutionService.removeByIds(institutionIds)); } /** * 选择列表 */ @GetMapping("select") public AjaxResult selectList(TrainingInstitutionQuery query){ return success(this.trainingInstitutionService.listByPage(query)); } } exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamSiteMapper.java
@@ -2,8 +2,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gkhy.exam.noncoalmine.entity.ExamSite; import com.gkhy.exam.noncoalmine.model.query.ExamSiteQuery; import com.gkhy.exam.noncoalmine.model.vo.ExamSiteVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; /** * (ExamSite)表数据库访问层 @@ -15,5 +20,6 @@ @Mapper public interface ExamSiteMapper extends BaseMapper<ExamSite> { List<ExamSiteVO> listByPage(@Param("query") ExamSiteQuery query); } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamSiteAddForm.java
对比新文件 @@ -0,0 +1,41 @@ package com.gkhy.exam.noncoalmine.model.addForm; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** * @email 1603559716@qq.com * @author: zf * @date: 2023/9/14 * @time: 16:48 */ @Data public class ExamSiteAddForm { //机构名称 @NotEmpty(message = "请输入考点名称") private String siteName; //地区id @NotNull(message = "请选择地区") private Long districtId; //地址 private String address; //负责人 private String header; //负责人电话 private String hphone; //联系人 private String contact; //联系人电话 private String cphone; //是否为煤矿:0为非,1是 @NotNull(message = "请选择是否为煤矿") private Byte isCm; //备注 private String remark; @NotNull(message = "请选择机构") private Long institutionId; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/TrainingInstitutionAddForm.java
@@ -1,6 +1,12 @@ package com.gkhy.exam.noncoalmine.model.addForm; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** * @email 1603559716@qq.com @@ -10,4 +16,26 @@ */ @Data public class TrainingInstitutionAddForm { //机构名称 @NotEmpty(message = "请输入机构名称") private String institutionName; //地区id @NotNull(message = "请选择地区") private Long districtId; //地址 private String address; //负责人 private String header; //负责人电话 private String hphone; //联系人 private String contact; //联系人电话 private String cphone; //是否为煤矿:0为非,1是 @NotNull(message = "请选择是否为煤矿") private Byte isCm; //备注 private String remark; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ExamSiteModForm.java
对比新文件 @@ -0,0 +1,41 @@ package com.gkhy.exam.noncoalmine.model.modForm; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** * @email 1603559716@qq.com * @author: zf * @date: 2023/9/14 * @time: 16:47 */ @Data public class ExamSiteModForm { @NotNull(message = "考点主键不可为空") private String siteId; //考点名称 @NotEmpty(message = "请输入考点名称") private String siteName; //地区id @NotNull(message = "请选择地区") private Long districtId; //地址 private String address; //负责人 private String header; //负责人电话 private String hphone; //联系人 private String contact; //联系人电话 private String cphone; //是否为煤矿:0为非,1是 @NotNull(message = "请选择是否为煤矿") private Byte isCm; //备注 private String remark; @NotNull(message = "请选择机构") private Long institutionId; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java
@@ -2,6 +2,9 @@ import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** * @email 1603559716@qq.com * @author: zf @@ -10,4 +13,27 @@ */ @Data public class TrainingInstitutionModForm { @NotNull(message = "机构主键不可为空") private String institutionId; //机构名称 @NotEmpty(message = "请输入机构名称") private String institutionName; //地区id @NotNull(message = "请选择地区") private Long districtId; //地址 private String address; //负责人 private String header; //负责人电话 private String hphone; //联系人 private String contact; //联系人电话 private String cphone; //是否为煤矿:0为非,1是 @NotNull(message = "请选择是否为煤矿") private Byte isCm; //备注 private String remark; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ExamSiteQuery.java
对比新文件 @@ -0,0 +1,19 @@ package com.gkhy.exam.noncoalmine.model.query; import lombok.Data; /** * @email 1603559716@qq.com * @author: zf * @date: 2023/9/14 * @time: 16:35 */ @Data public class ExamSiteQuery { //机构名称 private String siteName; //是否为煤矿:0为非,1是 private Byte isCm; //区划编码 private String districtCode; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java
@@ -15,5 +15,5 @@ //是否为煤矿:0为非,1是 private Byte isCm; //区划编码 private String regionCode; private String districtCode; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ViolationRegistrationQuery.java
@@ -10,4 +10,8 @@ */ @Data public class ViolationRegistrationQuery { private String dept; private String name; private String idCard; private Long operateTypeId; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ExamSiteVO.java
对比新文件 @@ -0,0 +1,50 @@ package com.gkhy.exam.noncoalmine.model.vo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; /** * @email 1603559716@qq.com * @author: zf * @date: 2023/9/14 * @time: 16:27 */ @Data public class ExamSiteVO { private Long siteId; //地点名称 private String siteName; //地区id private Long districtId; //地址 private String address; //负责人 private String header; //负责人电话 private String hphone; //联系人 private String contact; //联系人电话 private String cphone; //备注 private String remark; //机构ID private Long institutionId; //删除标识(0未删除,1删除) private Byte delFlag; //是否为煤矿:0为非,1是 private Byte isCm; private String createBy; private String updateBy; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; private String districtName; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/TrainingInstitutionVO.java
@@ -42,6 +42,7 @@ private Date createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; private String districtName; } exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java
@@ -2,6 +2,12 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.exam.noncoalmine.entity.ExamSite; import com.gkhy.exam.noncoalmine.model.addForm.ExamSiteAddForm; import com.gkhy.exam.noncoalmine.model.modForm.ExamSiteModForm; import com.gkhy.exam.noncoalmine.model.query.ExamSiteQuery; import com.gkhy.exam.noncoalmine.model.vo.ExamSiteVO; import java.util.List; /** * (ExamSite)表服务接口 @@ -11,5 +17,10 @@ */ public interface ExamSiteService extends IService<ExamSite> { List<ExamSiteVO> listByPage(ExamSiteQuery query); int add(ExamSiteAddForm addForm); int mod(ExamSiteModForm modForm); } exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
@@ -3,8 +3,22 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.noncoalmine.entity.ExamSite; import com.gkhy.exam.noncoalmine.mapper.ExamSiteMapper; import com.gkhy.exam.noncoalmine.model.addForm.ExamSiteAddForm; import com.gkhy.exam.noncoalmine.model.modForm.ExamSiteModForm; import com.gkhy.exam.noncoalmine.model.query.ExamSiteQuery; import com.gkhy.exam.noncoalmine.model.vo.ExamSiteVO; import com.gkhy.exam.noncoalmine.service.ExamSiteService; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.SysDistrict; import com.ruoyi.system.service.SysDistrictService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * (ExamSite)表服务实现类 @@ -14,6 +28,55 @@ */ @Service("examSiteService") public class ExamSiteServiceImpl extends ServiceImpl<ExamSiteMapper, ExamSite> implements ExamSiteService { @Autowired private SysDistrictService districtService; @Autowired private ExamSiteMapper examSiteMapper; @Override public List<ExamSiteVO> listByPage(ExamSiteQuery query) { SysUser user = SecurityUtils.getLoginUser().getUser(); if(StringUtils.isEmpty(query.getDistrictCode())){ //传入区划为空 if(!user.isAdmin(user.getUserId())){ //非超管 List<SysDistrict> districtList = districtService .selectAll() .stream() .filter(sysDistrict -> sysDistrict.getId().equals(user.getDistrictId())) .collect(Collectors.toList()); if(districtList.size() > 0){ SysDistrict sysDistrict = districtList.get(0); query.setDistrictCode(sysDistrict.getCode()); } } } List<ExamSiteVO> trainingInstitutionVOS = examSiteMapper.listByPage(query); return trainingInstitutionVOS; } /** * 新增 * @param addForm * @return */ @Override public int add(ExamSiteAddForm addForm) { ExamSite examSite = new ExamSite(); BeanUtils.copyProperties(addForm,examSite); examSite.setDelFlag((byte)0); return baseMapper.insert(examSite); } /** * 修改 * @param modForm * @return */ @Override public int mod(ExamSiteModForm modForm) { ExamSite examSite = new ExamSite(); BeanUtils.copyProperties(modForm,examSite); return baseMapper.updateById(examSite); } } exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java
@@ -36,7 +36,7 @@ @Override public List<TrainingInstitutionVO> listByPage(TrainingInstitutionQuery query) { SysUser user = SecurityUtils.getLoginUser().getUser(); if(StringUtils.isEmpty(query.getRegionCode())){ if(StringUtils.isEmpty(query.getDistrictCode())){ //传入区划为空 if(!user.isAdmin(user.getUserId())){ //非超管 @@ -47,7 +47,7 @@ .collect(Collectors.toList()); if(districtList.size() > 0){ SysDistrict sysDistrict = districtList.get(0); query.setRegionCode(sysDistrict.getCode()); query.setDistrictCode(sysDistrict.getCode()); } } } @@ -69,5 +69,6 @@ trainingInstitution.setDelFlag((byte)0); return baseMapper.insert(trainingInstitution); } } exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java
@@ -89,13 +89,20 @@ /** * 根据身份证获取违章数据 */ public List<ViolationRegistrationVO> getByIdCard(String idCard){ public List<ViolationRegistrationVO> getByIdCard(String idCard,byte isCm){ List<ViolationRegistration> violationRegistrations = baseMapper.selectList(new LambdaQueryWrapper<ViolationRegistration>() .eq(ViolationRegistration::getDelFlag, 0) .eq(ViolationRegistration::getIdCard, idCard)); .eq(ViolationRegistration::getIdCard, idCard) .eq(idCard != null,ViolationRegistration::getIsCm,isCm)); List<ViolationRegistrationVO> list = violationRegistrations.stream().map(registration -> { ViolationRegistrationVO violationRegistrationVO = new ViolationRegistrationVO(); BeanUtils.copyProperties(registration, violationRegistrationVO); SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(registration.getOperateTypeId()); violationRegistrationVO.setJobCategory(operateTypeWholeName.getJobCategory()); violationRegistrationVO.setQualificationType(operateTypeWholeName.getQualificationType()); violationRegistrationVO.setOperationItems(operateTypeWholeName.getOperationItems()); //附件转换 violationRegistrationVO.setViolationPath(getAttachmentUrl(registration.getViolationPath())); return violationRegistrationVO; }).collect(Collectors.toList()); return list; exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java
@@ -1,5 +1,6 @@ package com.gkhy.exam.noncoalmine.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.noncoalmine.entity.WorkRegistration; import com.gkhy.exam.noncoalmine.mapper.WorkRegistrationMapper; @@ -67,5 +68,25 @@ BeanUtils.copyProperties(modForm,workRegistration); return baseMapper.updateById(workRegistration); } /** * 根据身份证获取做业数据 */ public List<WorkRegistrationVO> getByIdCard(String idCard, byte isCm){ List<WorkRegistration> workRegistrations = baseMapper.selectList(new LambdaQueryWrapper<WorkRegistration>() .eq(WorkRegistration::getDelFlag, 0) .eq(WorkRegistration::getIdCard, idCard) .eq(idCard != null,WorkRegistration::getIsCm,isCm)); List<WorkRegistrationVO> list = workRegistrations.stream().map(workRegistration -> { WorkRegistrationVO workRegistrationVO = new WorkRegistrationVO(); BeanUtils.copyProperties(workRegistration, workRegistrationVO); SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(workRegistration.getOperateTypeId()); workRegistrationVO.setJobCategory(operateTypeWholeName.getJobCategory()); workRegistrationVO.setQualificationType(operateTypeWholeName.getQualificationType()); workRegistrationVO.setOperationItems(operateTypeWholeName.getOperationItems()); return workRegistrationVO; }).collect(Collectors.toList()); return list; } } exam-system/src/main/resources/mapper/noncoalmine/ExamSiteMapper.xml
对比新文件 @@ -0,0 +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.gkhy.exam.noncoalmine.mapper.ExamSiteMapper"> <select id="listByPage" resultType="com.gkhy.exam.noncoalmine.model.vo.ExamSiteVO"> SELECT s.*, d.name as districtName FROM exam_site s LEFT JOIN sys_district d ON d.id = s.district_id WHERE s.del_flag = 0 <if test="query.siteName != null and query.siteName = ''"> and s.site_name like concat('%', #{query.siteName}, '%') </if> <if test="query.districtCode != null and query.districtCode = ''"> AND d.`code` LIKE concat(#{query.districtCode}, '%') </if> <if test="query.isCm != null and query.isCm = ''"> AND s.is_cm = #{query.isCm} </if> order by s.create_time desc </select> </mapper> exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml
@@ -2,40 +2,26 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.gkhy.exam.noncoalmine.mapper.ViolationRegistrationMapper"> <select id="listByPage" resultType="com.gkhy.exam.noncoalmine.entity.TrainingInstitution"> select violation_id, name, id_card, elect_num, ic_num, violation_time, dept, operate_type_id, is_cm, violation_path, remark, del_flag, create_by, create_time, update_by, update_time from violation_registration where del_flag = 0 <if test="query.dept != null and query.dept = ''"> and dept like concat('%', #{query.dept}, '%') <mapper namespace="com.gkhy.exam.noncoalmine.mapper.TrainingInstitutionMapper"> <select id="listByPage" resultType="com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO"> SELECT t.*, d.name as districtName FROM training_institution t LEFT JOIN sys_district d ON d.id = t.district_id WHERE t.del_flag = 0 <if test="query.institutionName != null and query.institutionName = ''"> and t.institution_name like concat('%', #{query.institutionName}, '%') </if> <if test="query.name != null and query.name = ''"> and name like concat('%', #{query.name}, '%') <if test="query.districtCode != null and query.districtCode = ''"> AND d.`code` LIKE concat(#{query.districtCode}, '%') </if> <if test="query.idCard != null and query.idCard = ''"> and id_card like concat('%', #{query.idCard}, '%') <if test="query.isCm != null and query.isCm = ''"> AND t.is_cm = #{query.isCm} </if> <if test="query.operateTypeId != null and query.operateTypeId != 0"> and (operate_type_id = #{query.operateTypeId} OR operate_type_id IN ( SELECT t.id FROM sys_operate_type t WHERE find_in_set(#{query.operateTypeId}, ancestors))) </if> order by create_time desc order by t.create_time desc </select> </mapper>