智慧保安后台管理项目备份
Administrator
2021-07-14 760e59d99bb2305fda50cadb3791e295ca019838
通知,装备,车辆,枪支接口同步
4 files modified
28 files added
1350 ■■■■■ changed files
src/main/java/org/springblade/modules/desk/controller/NoticeController.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/desk/entity/Notice.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/desk/vo/NoticeVO.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/controller/CarController.java 87 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/controller/EquipageController.java 87 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/controller/GunController.java 87 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/entity/Car.java 83 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/entity/Equipage.java 77 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/entity/Gun.java 82 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/mapper/CarMapper.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/mapper/CarMapper.xml 53 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/mapper/EquipageMapper.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/mapper/EquipageMapper.xml 50 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/mapper/GunMapper.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/mapper/GunMapper.xml 53 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/service/CarService.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/service/EquipageService.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/service/GunService.java 23 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/service/impl/CarServiceImpl.java 37 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/service/impl/EquipageServiceImpl.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/service/impl/GunServiceImpl.java 37 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/vo/CarVo.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/vo/EquipageVo.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/vo/GunVo.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java 87 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java 99 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml 44 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java 27 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/vo/TrainingRegistrationVo.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/desk/controller/NoticeController.java
@@ -32,6 +32,8 @@
import org.springblade.modules.desk.service.INoticeService;
import org.springblade.modules.desk.vo.NoticeVO;
import org.springblade.modules.desk.wrapper.NoticeWrapper;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.service.IDeptService;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
@@ -51,6 +53,8 @@
public class NoticeController extends BladeController {
    private final INoticeService noticeService;
    private final IDeptService iDeptService;
    /**
     * 详情
@@ -89,6 +93,13 @@
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入notice")
    public R<IPage<NoticeVO>> page(@ApiIgnore NoticeVO notice, Query query) {
        //通过deptId获取组织机构信息
        Dept dept = iDeptService.getById(notice.getDeptId());
//        if (dept.getDeptCategory() == 1) {
//            notice.setCategory(1);
//        } else {
//            notice.setCategory(2);
//        }
        IPage<NoticeVO> pages = noticeService.selectNoticePage(Condition.getPage(query), notice);
        return R.data(pages);
    }
src/main/java/org/springblade/modules/desk/entity/Notice.java
@@ -16,6 +16,7 @@
 */
package org.springblade.modules.desk.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -60,5 +61,10 @@
    @ApiModelProperty(value = "内容")
    private String content;
    /**
     * 单位id
     */
    @TableField("dept_id")
    private Long deptId;
}
src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml
@@ -40,7 +40,7 @@
        d.dict_value AS categoryName
        FROM
        blade_notice n
        LEFT JOIN ( SELECT * FROM blade_dict WHERE CODE = 'notice' ) d ON n.category = d.dict_key
        LEFT JOIN ( SELECT * FROM blade_dict WHERE code = 'notice' ) d ON n.category = d.dict_key
        WHERE
        n.is_deleted = 0 and n.tenant_id = #{notice.tenantId}
        <if test="notice.title!=null">
@@ -49,5 +49,14 @@
        <if test="notice.category!=null">
            and n.category = #{notice.category}
        </if>
        <if test="notice.deptId!=null">
            and (n.dept_id = #{notice.deptId} or n.category = 2)
        </if>
        <if test="notice.startTime!=null and notice.startTime!=''">
            and n.release_time &gt;= #{notice.startTime}
        </if>
        <if test="notice.endTime!=null and notice.endTime!=''">
            and n.release_time &lt;= #{notice.endTime}
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/desk/vo/NoticeVO.java
@@ -20,4 +20,14 @@
    @ApiModelProperty(value = "租户编号")
    private String tenantId;
    /**
     * 通知开始时间
     */
    private String startTime;
    /**
     * 通知结束时间
     */
    private String endTime;
}
src/main/java/org/springblade/modules/equipage/controller/CarController.java
New file
@@ -0,0 +1,87 @@
package org.springblade.modules.equipage.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.equipage.entity.Car;
import org.springblade.modules.equipage.service.CarService;
import org.springblade.modules.equipage.vo.CarVo;
import org.springframework.web.bind.annotation.*;
/**
 * @author zhongrj
 * @time 2021-07-06
 * @desc 车辆控制层
 */
@RestController
@AllArgsConstructor
@RequestMapping("/car")
public class CarController {
    private final CarService carService;
    /**
     * 自定义分页
     * @param query page,size
     * @param car 车辆信息对象
     */
    @GetMapping("/page")
    public R<IPage<CarVo>> page(CarVo car, Query query) {
        IPage<CarVo> pages = carService.selectCarPage(Condition.getPage(query), car);
        return R.data(pages);
    }
    /**
     * 新增
     * @param car 车辆信息对象
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入car")
    public R save(@RequestBody Car car) {
        return R.status(carService.save(car));
    }
    /**
     * 修改
     * @param car 车辆信息对象
     */
    @PostMapping("/update")
    public R update(@RequestBody Car car) {
        return R.status(carService.updateById(car));
    }
    /**
     * 新增或修改
     * @param car 车辆信息对象
     */
    @PostMapping("/submit")
    public R submit(@RequestBody Car car) {
        return R.status(carService.saveOrUpdate(car));
    }
    /**
     * 删除
     * @param ids 车辆信息ids 数组
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        return R.status(carService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 详情
     * @param car 车辆信息对象
     */
    @GetMapping("/detail")
    @ApiOperation(value = "详情", notes = "传入car")
    public R<CarVo> detail(Car car) {
        CarVo detail = carService.selectCarInfo(car);
        return R.data(detail);
    }
}
src/main/java/org/springblade/modules/equipage/controller/EquipageController.java
New file
@@ -0,0 +1,87 @@
package org.springblade.modules.equipage.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.equipage.entity.Equipage;
import org.springblade.modules.equipage.service.EquipageService;
import org.springblade.modules.equipage.vo.EquipageVo;
import org.springframework.web.bind.annotation.*;
/**
 * @author zhongrj
 * @time 2021-07-06
 * @desc 装备管理控制层
 */
@RestController
@AllArgsConstructor
@RequestMapping("/equipage")
public class EquipageController {
    private final EquipageService equipageService;
    /**
     * 自定义分页
     * @param query page,size
     * @param equipage 装备信息对象
     */
    @GetMapping("/page")
    public R<IPage<EquipageVo>> page(EquipageVo equipage, Query query) {
        IPage<EquipageVo> pages = equipageService.selectEquipagePage(Condition.getPage(query), equipage);
        return R.data(pages);
    }
    /**
     * 新增
     * @param equipage 装备信息对象
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入equipage")
    public R save(@RequestBody Equipage equipage) {
        return R.status(equipageService.save(equipage));
    }
    /**
     * 修改
     * @param equipage 装备信息对象
     */
    @PostMapping("/update")
    public R update(@RequestBody Equipage equipage) {
        return R.status(equipageService.updateById(equipage));
    }
    /**
     * 新增或修改
     * @param equipage 装备信息对象
     */
    @PostMapping("/submit")
    public R submit(@RequestBody Equipage equipage) {
        return R.status(equipageService.saveOrUpdate(equipage));
    }
    /**
     * 删除
     * @param ids 装备信息ids 数组
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        return R.status(equipageService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 详情
     * @param equipage 装备信息对象
     */
    @GetMapping("/detail")
    @ApiOperation(value = "详情", notes = "传入equipage")
    public R<EquipageVo> detail(Equipage equipage) {
        EquipageVo detail = equipageService.selectEquipageInfo(equipage);
        return R.data(detail);
    }
}
src/main/java/org/springblade/modules/equipage/controller/GunController.java
New file
@@ -0,0 +1,87 @@
package org.springblade.modules.equipage.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.equipage.entity.Gun;
import org.springblade.modules.equipage.service.GunService;
import org.springblade.modules.equipage.vo.GunVo;
import org.springframework.web.bind.annotation.*;
/**
 * @author zhongrj
 * @time 2021-07-06
 * @desc 枪支控制层
 */
@RestController
@AllArgsConstructor
@RequestMapping("/gun")
public class GunController {
    private final GunService gunService;
    /**
     * 自定义分页
     * @param query page,size
     * @param gun 枪支信息对象
     */
    @GetMapping("/page")
    public R<IPage<GunVo>> page(GunVo gun, Query query) {
        IPage<GunVo> pages = gunService.selectGunPage(Condition.getPage(query), gun);
        return R.data(pages);
    }
    /**
     * 新增
     * @param gun 枪支信息对象
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入gun")
    public R save(@RequestBody Gun gun) {
        return R.status(gunService.save(gun));
    }
    /**
     * 修改
     * @param gun 枪支信息对象
     */
    @PostMapping("/update")
    public R update(@RequestBody Gun gun) {
        return R.status(gunService.updateById(gun));
    }
    /**
     * 新增或修改
     * @param gun 枪支信息对象
     */
    @PostMapping("/submit")
    public R submit(@RequestBody Gun gun) {
        return R.status(gunService.saveOrUpdate(gun));
    }
    /**
     * 删除
     * @param ids 枪支信息ids 数组
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        return R.status(gunService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 详情
     * @param gun 枪支信息对象
     */
    @GetMapping("/detail")
    @ApiOperation(value = "详情", notes = "传入gun")
    public R<GunVo> detail(Gun gun) {
        GunVo detail = gunService.selectGunInfo(gun);
        return R.data(detail);
    }
}
src/main/java/org/springblade/modules/equipage/entity/Car.java
New file
@@ -0,0 +1,83 @@
package org.springblade.modules.equipage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 实体类
 * @author zhongrj
 * @time 2021-07-06
 */
@Data
@TableName("sys_car")
public class Car implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 招聘主键id
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 部门id
     */
    @TableField("dept_id")
    private Long deptId;
    /**
     * 车牌号码
     */
    @TableField("car_number")
    private String carNumber;
    /**
     * 号码种类
     */
    @TableField("number_type")
    private Integer numberType;
    /**
     * 车辆类型
     */
    @TableField("car_type")
    private Integer carType;
    /**
     * 责任人
     */
    @TableField("person_in_charge")
    private String personInCharge;
    /**
     * 厂商,品牌
     */
    private String brand;
    /**
     * 出厂日期
     */
    @TableField("date_for_production")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date dateForProduction;
    /**
     * 环保标志 ,国IV
     */
    private String umweltsatz;
    /**
     * 车辆型号
     */
    private String mode;
}
src/main/java/org/springblade/modules/equipage/entity/Equipage.java
New file
@@ -0,0 +1,77 @@
package org.springblade.modules.equipage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 实体类
 * @author zhongrj
 * @time 2021-07-06
 */
@Data
@TableName("sys_equipage")
public class Equipage implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 招聘主键id
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 部门id
     */
    @TableField("dept_id")
    private Long deptId;
    /**
     * 名称
     */
    private String name;
    /**
     * 编号
     */
    private String number;
    /**
     * 规格
     */
    private String specifications;
    /**
     * 型号
     */
    private String mode;
    /**
     * 责任人
     */
    @TableField("person_in_charge")
    private String personInCharge;
    /**
     * 品牌,厂商
     */
    private String brand;
    /**
     * 生产时间
     */
    @TableField("date_for_production")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date dateForProduction;
}
src/main/java/org/springblade/modules/equipage/entity/Gun.java
New file
@@ -0,0 +1,82 @@
package org.springblade.modules.equipage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 实体类
 * @author zhongrj
 * @time 2021-07-06
 */
@Data
@TableName("sys_gun")
public class Gun implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 招聘主键id
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 部门id
     */
    @TableField("dept_id")
    private Long deptId;
    /**
     * 公务用枪证编号
     */
    @TableField("gun_card_number")
    private String gunCardNumber;
    /**
     * 发证单位名称
     */
    @TableField("issue_unit")
    private String issueUnit;
    /**
     * 公务用枪编号
     */
    @TableField("card_number")
    private String cardNumber;
    /**
     * 责任人
     */
    @TableField("person_in_charge")
    private String personInCharge;
    /**
     * 枪型
     */
    @TableField("gun_mode")
    private String gunMode;
    /**
     * 发证日期
     */
    @TableField("issue_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date issueTime;
    /**
     * 有效日期
     */
    @TableField("valid_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date validTime;
}
src/main/java/org/springblade/modules/equipage/mapper/CarMapper.java
New file
@@ -0,0 +1,32 @@
package org.springblade.modules.equipage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.equipage.entity.Car;
import org.springblade.modules.equipage.vo.CarVo;
import java.util.List;
/**
 * 车辆Mapper 接口
 * @author zhongrj
 */
public interface CarMapper extends BaseMapper<Car> {
    /**
     * 自定义分页
     *
     * @param page   分页
     * @param car 实体
     * @return
     */
    List<CarVo> selectCarPage(IPage page, @Param("car") CarVo car);
    /**
     * 详情
     * @param car 车辆信息对象
     * @return
     */
    CarVo selectCarInfo(@Param("car") Car car);
}
src/main/java/org/springblade/modules/equipage/mapper/CarMapper.xml
New file
@@ -0,0 +1,53 @@
<?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="org.springblade.modules.equipage.mapper.CarMapper">
    <!--车辆分页信息-->
    <select id="selectCarPage" resultType="org.springblade.modules.equipage.vo.CarVo">
        SELECT
            sc.*,bt.dept_name AS tenantName
        FROM
            sys_car sc
        LEFT JOIN
            blade_dept bt
        ON
            sc.dept_id = bt.id
        WHERE
            1=1
        <if test="car.tenantName!=null and  car.tenantName!=''">
            and bt.dept_name like concat('%', #{car.tenantName},'%')
        </if>
        <if test="car.carNumber!=null and car.carNumber!=''">
            and sc.car_number like concat('%', #{car.carNumber},'%')
        </if>
        <if test="car.deptId!=null and car.deptId!=''">
            and sc.dept_id = #{car.deptId}
        </if>
        <if test="car.numberType!=null and car.numberType!=''">
            and sc.number_type like concat('%', #{car.numberType},'%')
        </if>
        <if test="car.carType!=null and car.carType!=''">
            and sc.car_type like concat('%', #{car.carType},'%')
        </if>
        <if test="car.personInCharge!=null and car.personInCharge!=''">
            and sc.person_in_charge like concat('%', #{car.personInCharge},'%')
        </if>
    </select>
    <!--车辆详情信息-->
    <select id="selectCarInfo" resultType="org.springblade.modules.equipage.vo.CarVo">
        SELECT
            sc.*,bt.dept_name AS tenantName
        FROM
            sys_car sc
        LEFT JOIN
            blade_dept bt
        ON
            sc.dept_id = bt.id
        WHERE
            1=1
        <if test="car.id!=null">
            and sc.id = #{car.id}
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/equipage/mapper/EquipageMapper.java
New file
@@ -0,0 +1,32 @@
package org.springblade.modules.equipage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.equipage.entity.Equipage;
import org.springblade.modules.equipage.vo.EquipageVo;
import java.util.List;
/**
 * 装备Mapper 接口
 * @author zhongrj
 */
public interface EquipageMapper extends BaseMapper<Equipage> {
    /**
     * 自定义分页
     *
     * @param page   分页
     * @param equipage 实体
     * @return
     */
    List<EquipageVo> selectEquipagePage(IPage page, @Param("equipage") EquipageVo equipage);
    /**
     * 详情
     * @param equipage 装备信息对象
     * @return
     */
    EquipageVo selectEquipageInfo(@Param("equipage") Equipage equipage);
}
src/main/java/org/springblade/modules/equipage/mapper/EquipageMapper.xml
New file
@@ -0,0 +1,50 @@
<?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="org.springblade.modules.equipage.mapper.EquipageMapper">
    <!--车辆分页信息-->
    <select id="selectEquipagePage" resultType="org.springblade.modules.equipage.vo.EquipageVo">
        SELECT
            se.*,bt.dept_name AS tenantName
        FROM
            sys_equipage se
        LEFT JOIN
            blade_dept bt
        ON
            se.dept_id = bt.id
        WHERE
            1=1
        <if test="equipage.tenantName!=null and  equipage.tenantName!=''">
            and bt.dept_name like concat('%', #{equipage.tenantName},'%')
        </if>
        <if test="equipage.deptId!=null and equipage.deptId!=''">
            and se.dept_id = #{equipage.deptId}
        </if>
        <if test="equipage.number!=null and equipage.number!=''">
            and se.number like concat('%', #{equipage.number},'%')
        </if>
        <if test="equipage.name!=null and equipage.name!=''">
            and se.name like concat('%', #{equipage.name},'%')
        </if>
        <if test="equipage.personInCharge!=null and equipage.personInCharge!=''">
            and se.person_in_charge like concat('%', #{equipage.personInCharge},'%')
        </if>
    </select>
    <!--车辆详情信息-->
    <select id="selectEquipageInfo" resultType="org.springblade.modules.equipage.vo.EquipageVo">
        SELECT
            se.*,bt.dept_name AS tenantName
        FROM
            sys_equipage se
        LEFT JOIN
            blade_dept bt
        ON
            se.dept_id = bt.id
        WHERE
            1=1
        <if test="equipage.id!=null">
            and se.id = #{equipage.id}
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/equipage/mapper/GunMapper.java
New file
@@ -0,0 +1,32 @@
package org.springblade.modules.equipage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.equipage.entity.Gun;
import org.springblade.modules.equipage.vo.GunVo;
import java.util.List;
/**
 * 枪支Mapper 接口
 * @author zhongrj
 */
public interface GunMapper extends BaseMapper<Gun> {
    /**
     * 自定义分页
     *
     * @param page   分页
     * @param gun 实体
     * @return
     */
    List<GunVo> selectGunPage(IPage page, @Param("gun") GunVo gun);
    /**
     * 详情
     * @param gun 枪支信息对象
     * @return
     */
    GunVo selectGunInfo(@Param("gun") Gun gun);
}
src/main/java/org/springblade/modules/equipage/mapper/GunMapper.xml
New file
@@ -0,0 +1,53 @@
<?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="org.springblade.modules.equipage.mapper.GunMapper">
    <!--枪支分页信息-->
    <select id="selectGunPage" resultType="org.springblade.modules.equipage.vo.GunVo">
        SELECT
            sg.*,bt.dept_name AS tenantName
        FROM
            sys_gun sg
        LEFT JOIN
            blade_dept bt
        ON
            sg.dept_id = bt.id
        WHERE
            1=1
        <if test="gun.tenantName!=null and  gun.tenantName!=''">
            and bt.dept_name like concat('%', #{gun.tenantName},'%')
        </if>
        <if test="gun.deptId!=null and gun.deptId!=''">
            and sg.dept_id = #{gun.deptId}
        </if>
        <if test="gun.gunCardNumber!=null and gun.gunCardNumber!=''">
            and sg.gun_card_number like concat('%', #{gun.gunCardNumber},'%')
        </if>
        <if test="gun.cardNumber!=null and gun.cardNumber!=''">
            and sg.card_number like concat('%', #{gun.cardNumber},'%')
        </if>
        <if test="gun.issueUnit!=null and gun.issueUnit!=''">
            and sg.issue_unit like concat('%', #{gun.issueUnit},'%')
        </if>
        <if test="gun.personInCharge!=null and gun.personInCharge!=''">
            and sg.person_in_charge like concat('%', #{gun.personInCharge},'%')
        </if>
    </select>
    <!--枪支详情信息-->
    <select id="selectGunInfo" resultType="org.springblade.modules.equipage.vo.GunVo">
        SELECT
            sg.*,bt.dept_name AS tenantName
        FROM
            sys_gun sg
        LEFT JOIN
            blade_dept bt
        ON
            sg.dept_id = bt.id
        WHERE
            1=1
        <if test="gun.id!=null">
            and sg.id = #{gun.id}
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/equipage/service/CarService.java
New file
@@ -0,0 +1,25 @@
package org.springblade.modules.equipage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.equipage.entity.Car;
import org.springblade.modules.equipage.vo.CarVo;
public interface CarService extends IService<Car> {
    /**
     * 车辆详情
     * @param car 车辆信息对象
     * @return
     */
    CarVo selectCarInfo(Car car);
    /**
     * 车辆分页信息
     * @param page
     * @param car 车辆信息对象
     * @return
     */
    IPage<CarVo> selectCarPage(IPage<CarVo> page, CarVo car);
}
src/main/java/org/springblade/modules/equipage/service/EquipageService.java
New file
@@ -0,0 +1,13 @@
package org.springblade.modules.equipage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.equipage.entity.Equipage;
import org.springblade.modules.equipage.vo.EquipageVo;
public interface EquipageService extends IService<Equipage> {
    EquipageVo selectEquipageInfo(Equipage equipage);
    IPage<EquipageVo> selectEquipagePage(IPage<EquipageVo> page, EquipageVo equipage);
}
src/main/java/org/springblade/modules/equipage/service/GunService.java
New file
@@ -0,0 +1,23 @@
package org.springblade.modules.equipage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.equipage.entity.Gun;
import org.springblade.modules.equipage.vo.GunVo;
public interface GunService extends IService<Gun> {
    /**
     * 枪支详情
     * @param gun 枪支信息对象
     * @return
     */
    GunVo selectGunInfo(Gun gun);
    /**
     * 枪支分页信息
     * @param page
     * @param gun 枪支信息对象
     * @return
     */
    IPage<GunVo> selectGunPage(IPage<GunVo> page, GunVo gun);
}
src/main/java/org/springblade/modules/equipage/service/impl/CarServiceImpl.java
New file
@@ -0,0 +1,37 @@
package org.springblade.modules.equipage.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.equipage.entity.Car;
import org.springblade.modules.equipage.mapper.CarMapper;
import org.springblade.modules.equipage.service.CarService;
import org.springblade.modules.equipage.vo.CarVo;
import org.springframework.stereotype.Service;
/**
 * 车辆服务实现类
 * @author zhongrj
 */
@Service
public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements CarService {
    /**
     * 车辆分页信息
     * @param page
     * @param car 车辆信息对象
     * @return
     */
    @Override
    public IPage<CarVo> selectCarPage(IPage<CarVo> page, CarVo car) {
        return page.setRecords(baseMapper.selectCarPage(page, car));
    }
    /**
     * 详情
     * @param car 车辆信息对象
     */
    @Override
    public CarVo selectCarInfo(Car car) {
        return baseMapper.selectCarInfo(car);
    }
}
src/main/java/org/springblade/modules/equipage/service/impl/EquipageServiceImpl.java
New file
@@ -0,0 +1,33 @@
package org.springblade.modules.equipage.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.equipage.entity.Equipage;
import org.springblade.modules.equipage.mapper.EquipageMapper;
import org.springblade.modules.equipage.service.EquipageService;
import org.springblade.modules.equipage.vo.EquipageVo;
import org.springframework.stereotype.Service;
/**
 * 装备服务实现类
 * @author zhongrj
 */
@Service
public class EquipageServiceImpl extends ServiceImpl<EquipageMapper, Equipage> implements EquipageService {
    @Override
    public IPage<EquipageVo> selectEquipagePage(IPage<EquipageVo> page, EquipageVo rquipage) {
        return page.setRecords(baseMapper.selectEquipagePage(page, rquipage));
    }
    /**
     * 详情
     * @param rquipage 装备信息对象
     */
    @Override
    public EquipageVo selectEquipageInfo(Equipage rquipage) {
        return baseMapper.selectEquipageInfo(rquipage);
    }
}
src/main/java/org/springblade/modules/equipage/service/impl/GunServiceImpl.java
New file
@@ -0,0 +1,37 @@
package org.springblade.modules.equipage.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.equipage.entity.Gun;
import org.springblade.modules.equipage.mapper.GunMapper;
import org.springblade.modules.equipage.service.GunService;
import org.springblade.modules.equipage.vo.GunVo;
import org.springframework.stereotype.Service;
/**
 * 枪支服务实现类
 * @author zhongrj
 */
@Service
public class GunServiceImpl extends ServiceImpl<GunMapper, Gun> implements GunService {
    /**
     * 枪支分页信息
     * @param page
     * @param gun 枪支信息对象
     * @return
     */
    @Override
    public IPage<GunVo> selectGunPage(IPage<GunVo> page, GunVo gun) {
        return page.setRecords(baseMapper.selectGunPage(page, gun));
    }
    /**
     * 详情
     * @param gun 枪支信息对象
     */
    @Override
    public GunVo selectGunInfo(Gun gun) {
        return baseMapper.selectGunInfo(gun);
    }
}
src/main/java/org/springblade/modules/equipage/vo/CarVo.java
New file
@@ -0,0 +1,19 @@
package org.springblade.modules.equipage.vo;
import lombok.Data;
import org.springblade.modules.equipage.entity.Car;
import java.io.Serializable;
/**
 * @author zhongrj
 * @since 2021-07-07
 */
@Data
public class CarVo extends Car implements Serializable {
    /**
     * 保安单位名称
     */
    private String tenantName;
}
src/main/java/org/springblade/modules/equipage/vo/EquipageVo.java
New file
@@ -0,0 +1,15 @@
package org.springblade.modules.equipage.vo;
import lombok.Data;
import org.springblade.modules.equipage.entity.Equipage;
import java.io.Serializable;
/**
 * @author zhongrj
 */
@Data
public class EquipageVo extends Equipage implements Serializable {
    private String tenantName;
}
src/main/java/org/springblade/modules/equipage/vo/GunVo.java
New file
@@ -0,0 +1,15 @@
package org.springblade.modules.equipage.vo;
import lombok.Data;
import org.springblade.modules.equipage.entity.Gun;
import java.io.Serializable;
/**
 * @author zhongrj
 */
@Data
public class GunVo extends Gun implements Serializable {
    private String tenantName;
}
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
New file
@@ -0,0 +1,87 @@
package org.springblade.modules.training.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.service.TrainingRegistrationService;
import org.springblade.modules.training.vo.TrainingRegistrationVo;
import org.springframework.web.bind.annotation.*;
/**
 * @author zhongrj
 * @time 2021-07-12
 * @desc 报名培训管理控制层
 */
@RestController
@AllArgsConstructor
@RequestMapping("/trainingRegistration")
public class TrainingRegistrationController {
    private final TrainingRegistrationService trainingRegistrationService;
    /**
     * 自定义分页
     * @param query page,size
     * @param trainingRegistration 报名培训信息对象
     */
    @GetMapping("/page")
    public R<IPage<TrainingRegistrationVo>> page(TrainingRegistrationVo trainingRegistration, Query query) {
        IPage<TrainingRegistrationVo> pages = trainingRegistrationService.selectTrainingRegistrationPage(Condition.getPage(query), trainingRegistration);
        return R.data(pages);
    }
    /**
     * 新增
     * @param trainingRegistration 报名培训信息对象
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入trainingRegistration")
    public R save(@RequestBody TrainingRegistration trainingRegistration) {
        return R.status(trainingRegistrationService.save(trainingRegistration));
    }
    /**
     * 修改
     * @param trainingRegistration 报名培训信息对象
     */
    @PostMapping("/update")
    public R update(@RequestBody TrainingRegistration trainingRegistration) {
        return R.status(trainingRegistrationService.updateById(trainingRegistration));
    }
    /**
     * 新增或修改
     * @param trainingRegistration 报名培训信息对象
     */
    @PostMapping("/submit")
    public R submit(@RequestBody TrainingRegistration trainingRegistration) {
        return R.status(trainingRegistrationService.saveOrUpdate(trainingRegistration));
    }
    /**
     * 删除
     * @param ids 报名培训信息ids 数组
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        return R.status(trainingRegistrationService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 详情
     * @param trainingRegistration 报名培训信息对象
     */
    @GetMapping("/detail")
    @ApiOperation(value = "详情", notes = "传入trainingRegistration")
    public R<TrainingRegistrationVo> detail(TrainingRegistration trainingRegistration) {
        TrainingRegistrationVo detail = trainingRegistrationService.selectTrainingRegistrationInfo(trainingRegistration);
        return R.data(detail);
    }
}
src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
New file
@@ -0,0 +1,99 @@
package org.springblade.modules.training.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 报名培训实体类
 * @author zhongrj
 * @time 2021-07-12
 */
@Data
@TableName("sys_training_registration")
public class TrainingRegistration implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 报名培训主键id
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 组织机构id
     */
    @TableField("dept_id")
    private Long deptId;
    /**
     * 报名人姓名
     */
    private String name;
    /**
     * 性别  1:男   2:女
     */
    private Integer sex;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 身高
     */
    private String height;
    /**
     * 体重
     */
    private String weight;
    /**
     * 报名电话
     */
    private String phone;
    /**
     * 身份证号
     */
    @TableField("id_card_no")
    private String idCardNo;
    /**
     * 学历证书url
     */
    @TableField("academic_url")
    private String academicUrl;
    /**
     * 培训公司名称
     */
    @TableField("training_unit_name")
    private String trainingUnitName;
    /**
     * 培训时间
     */
    @TableField("training_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date trainingTime;
    /**
     * 是否取消报名  1:否   2:是
     */
    private Integer cancel;
}
src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.java
New file
@@ -0,0 +1,33 @@
package org.springblade.modules.training.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.vo.TrainingRegistrationVo;
import java.util.List;
/**
 * 报名培训Mapper 接口
 * @author zhongrj
 */
public interface TrainingRegistrationMapper extends BaseMapper<TrainingRegistration> {
    /**
     * 自定义分页
     *
     * @param page   分页
     * @param recruitment 实体
     * @return
     */
    List<TrainingRegistrationVo> selectTrainingRegistrationPage(IPage page, @Param("trainingRegistration") TrainingRegistrationVo recruitment);
    /**
     * 详情
     * @param trainingRegistration 报名培训信息对象
     */
    TrainingRegistrationVo selectTrainingRegistrationInfo(@Param("trainingRegistration") TrainingRegistration trainingRegistration);
}
src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
New file
@@ -0,0 +1,44 @@
<?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="org.springblade.modules.training.mapper.TrainingRegistrationMapper">
    <!--报名培训分页信息-->
    <select id="selectTrainingRegistrationPage" resultType="org.springblade.modules.training.vo.TrainingRegistrationVo">
        SELECT
            sr.*,bt.dept_name AS deptName
        FROM
            sys_training_registration sr
        LEFT JOIN
            blade_dept bt
        ON
            sr.dept_id = bt.id
        WHERE
            1=1
        <if test="trainingRegistration.deptName!=null and  trainingRegistration.deptName!=''">
            and bt.dept_name like concat('%', #{trainingRegistration.deptName},'%')
        </if>
        <if test="trainingRegistration.name!=null and  trainingRegistration.name!=''">
            and sr.name like concat('%', #{trainingRegistration.name},'%')
        </if>
        <if test="trainingRegistration.cancel!=null">
            and sr.cancel = #{trainingRegistration.cancel}
        </if>
    </select>
    <!--报名培训详情信息-->
    <select id="selectTrainingRegistrationInfo" resultType="org.springblade.modules.training.vo.TrainingRegistrationVo">
        SELECT
            sr.*,bt.dept_name AS deptName
        FROM
            sys_training_registration sr
        LEFT JOIN
            blade_dept bt
        ON
            sr.dept_id = bt.id
        WHERE
            1=1
        <if test="trainingRegistration.id!=null">
            and sr.id = #{trainingRegistration.id}
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java
New file
@@ -0,0 +1,27 @@
package org.springblade.modules.training.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.vo.TrainingRegistrationVo;
/**
 * 报名培训服务类
 * @author zhongrj
 */
public interface TrainingRegistrationService extends IService<TrainingRegistration> {
    /**
     * 自定义分页
     * @param page
     * @param trainingRegistration
     * @return
     */
    IPage<TrainingRegistrationVo> selectTrainingRegistrationPage(IPage<TrainingRegistrationVo> page, TrainingRegistrationVo recruitment);
    /**
     * 详情
     * @param trainingRegistration 报名培训信息对象
     */
    TrainingRegistrationVo selectTrainingRegistrationInfo(TrainingRegistration trainingRegistration);
}
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
New file
@@ -0,0 +1,32 @@
package org.springblade.modules.training.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.mapper.TrainingRegistrationMapper;
import org.springblade.modules.training.service.TrainingRegistrationService;
import org.springblade.modules.training.vo.TrainingRegistrationVo;
import org.springframework.stereotype.Service;
/**
 * 报名培训服务实现类
 * @author zhongrj
 */
@Service
public class TrainingRegistrationServiceImpl extends ServiceImpl<TrainingRegistrationMapper, TrainingRegistration> implements TrainingRegistrationService {
    @Override
    public IPage<TrainingRegistrationVo> selectTrainingRegistrationPage(IPage<TrainingRegistrationVo> page, TrainingRegistrationVo trainingRegistration) {
        return page.setRecords(baseMapper.selectTrainingRegistrationPage(page, trainingRegistration));
    }
    /**
     * 详情
     * @param trainingRegistration 报名培训信息对象
     */
    @Override
    public TrainingRegistrationVo selectTrainingRegistrationInfo(TrainingRegistration trainingRegistration) {
        return baseMapper.selectTrainingRegistrationInfo(trainingRegistration);
    }
}
src/main/java/org/springblade/modules/training/vo/TrainingRegistrationVo.java
New file
@@ -0,0 +1,18 @@
package org.springblade.modules.training.vo;
import lombok.Data;
import org.springblade.modules.training.entity.TrainingRegistration;
import java.io.Serializable;
/**
 * @author zhongrj
 */
@Data
public class TrainingRegistrationVo extends TrainingRegistration implements Serializable {
    /**
     * 组织机构名称
     */
    private String deptName;
}