From c24eeca0a9820e6c0e26bca93fb9483dc0f193f1 Mon Sep 17 00:00:00 2001 From: zf <1603559716@qq.com> Date: 星期二, 12 九月 2023 09:07:50 +0800 Subject: [PATCH] 违章 --- exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationDao.java | 15 + exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java | 187 +++++++++++++++ exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java | 19 + ruoyi-admin/src/main/resources/application.yml | 6 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java | 15 + exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java | 91 +++++++ exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java | 47 +++ exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java | 24 ++ exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java | 60 +++++ exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java | 57 ++++ exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/WorkRegistrationModForm.java | 47 +++ exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java | 90 +++++++ exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationDao.java | 15 + 13 files changed, 673 insertions(+), 0 deletions(-) diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java new file mode 100644 index 0000000..6cc44dc --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java @@ -0,0 +1,90 @@ +package com.gkhy.exam.noncoalmine.controller; + + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gkhy.exam.noncoalmine.entity.ViolationRegistration; +import com.gkhy.exam.noncoalmine.service.ViolationRegistrationService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.List; + +/** + * (ViolationRegistration)表控制层 + * + * @author makejava + * @since 2023-09-11 16:59:05 + */ +@RestController +@RequestMapping("violation/registration") +public class ViolationRegistrationController extends BaseController { + /** + * 服务对象 + */ + @Resource + private ViolationRegistrationService violationRegistrationService; + + /** + * 分页查询所有数据 + * + * @param page 分页对象 + * @param violationRegistration 查询实体 + * @return 所有数据 + */ + @GetMapping + public TableDataInfo selectAll(Page<ViolationRegistration> page, ViolationRegistration violationRegistration) { + return getDataTable(this.violationRegistrationService.page(page, new QueryWrapper<>(violationRegistration))); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("get/{id}") + public AjaxResult selectOne(@PathVariable Serializable id) { + return success(this.violationRegistrationService.getById(id)); + } + + /** + * 新增数据 + * + * @param violationRegistration 实体对象 + * @return 新增结果 + */ + @PostMapping + public AjaxResult insert(@RequestBody ViolationRegistration violationRegistration) { + return success(this.violationRegistrationService.save(violationRegistration)); + } + + /** + * 修改数据 + * + * @param violationRegistration 实体对象 + * @return 修改结果 + */ + @PutMapping + public AjaxResult update(@RequestBody ViolationRegistration violationRegistration) { + return success(this.violationRegistrationService.updateById(violationRegistration)); + } + + /** + * 删除数据 + * + * @param idList 主键结合 + * @return 删除结果 + */ + @DeleteMapping + public AjaxResult delete(@RequestParam("idList") List<Long> idList) { + return success(this.violationRegistrationService.removeByIds(idList)); + } +} + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java new file mode 100644 index 0000000..c993f3f --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java @@ -0,0 +1,91 @@ +package com.gkhy.exam.noncoalmine.controller; + + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gkhy.exam.noncoalmine.entity.WorkRegistration; +import com.gkhy.exam.noncoalmine.model.addForm.WorkRegistrationAddForm; +import com.gkhy.exam.noncoalmine.model.modForm.WorkRegistrationModForm; +import com.gkhy.exam.noncoalmine.service.WorkRegistrationService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.List; + +/** + * (WorkRegistration)表控制层 + * + * @author makejava + * @since 2023-09-11 16:59:58 + */ +@RestController +@RequestMapping("work/registration") +public class WorkRegistrationController extends BaseController { + /** + * 服务对象 + */ + @Resource + private WorkRegistrationService workRegistrationService; + + /** + * 分页查询所有数据 + * + * @param workRegistration 查询实体 + * @return 所有数据 + */ + @GetMapping() + public TableDataInfo listByPage( WorkRegistration workRegistration) { + startPage(); + return getDataTable(this.workRegistrationService.listByPage(workRegistration)); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("get/{id}") + public AjaxResult selectOne(@PathVariable Long id) { + return success(this.workRegistrationService.getById(id)); + } + + /** + * 新增数据 + * + * @param addForm 实体对象 + * @return 新增结果 + */ + @PostMapping("add") + public AjaxResult add(@Validated @RequestBody WorkRegistrationAddForm addForm) { + return toAjax(this.workRegistrationService.add(addForm)); + } + + /** + * 修改数据 + * @param modForm + * @return + */ + @PostMapping("mod") + public AjaxResult mod(@Validated @RequestBody WorkRegistrationModForm modForm) { + return toAjax(this.workRegistrationService.mod(modForm)); + } + + /** + * 删除数据 + * + * @param workIds 主键结合 + * @return 删除结果 + */ + @DeleteMapping("del/batch/{workIds}") + public AjaxResult delete(@PathVariable List<Long> workIds) { + return success(this.workRegistrationService.removeByIds(workIds)); + } +} + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java new file mode 100644 index 0000000..f64768e --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java @@ -0,0 +1,187 @@ +package com.gkhy.exam.noncoalmine.entity; + +import java.util.Date; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.io.Serializable; + +/** + * (ViolationRegistration)表实体类 + * + * @author makejava + * @since 2023-09-11 16:59:09 + */ +@SuppressWarnings("serial") +public class ViolationRegistration extends Model<ViolationRegistration> { + //违章主键 + private Long violationId; + //姓名 + private String name; + //身份证 + private String idCard; + //电子证号 + private String electNum; + //IC卡编号 + private String icNum; + //违章时间 + private Date violationTime; + //所属单位 + private String dept; + //操作类型id + private Long operateTypeId; + //是否为煤矿:0为非,1是 + private Integer isCm; + //违章附件 + private String violationPath; + //描述 + private String remark; + //删除标识(0未删除,1删除) + private Integer delFlag; + + private String createBy; + + private String updateBy; + + private Date createTime; + + private Date updateTime; + + + public Long getViolationId() { + return violationId; + } + + public void setViolationId(Long violationId) { + this.violationId = violationId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getIdCard() { + return idCard; + } + + public void setIdCard(String idCard) { + this.idCard = idCard; + } + + public String getElectNum() { + return electNum; + } + + public void setElectNum(String electNum) { + this.electNum = electNum; + } + + public String getIcNum() { + return icNum; + } + + public void setIcNum(String icNum) { + this.icNum = icNum; + } + + public Date getViolationTime() { + return violationTime; + } + + public void setViolationTime(Date violationTime) { + this.violationTime = violationTime; + } + + public String getDept() { + return dept; + } + + public void setDept(String dept) { + this.dept = dept; + } + + public Long getOperateTypeId() { + return operateTypeId; + } + + public void setOperateTypeId(Long operateTypeId) { + this.operateTypeId = operateTypeId; + } + + public Integer getIsCm() { + return isCm; + } + + public void setIsCm(Integer isCm) { + this.isCm = isCm; + } + + public String getViolationPath() { + return violationPath; + } + + public void setViolationPath(String violationPath) { + this.violationPath = violationPath; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public Integer getDelFlag() { + return delFlag; + } + + public void setDelFlag(Integer delFlag) { + this.delFlag = delFlag; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + /** + * 获取主键值 + * + * @return 主键值 + */ + @Override + protected Serializable pkVal() { + return this.violationId; + } + } + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java new file mode 100644 index 0000000..dcfb011 --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java @@ -0,0 +1,57 @@ +package com.gkhy.exam.noncoalmine.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; + +/** + * (WorkRegistration)表实体类 + * + * @author makejava + * @since 2023-09-11 16:59:58 + */ +@Data +public class WorkRegistration implements Serializable { + //主键 + @TableId(type = IdType.AUTO) + private Long workId; + //姓名 + private String name; + //身份证 + private String idCard; + //电子证号 + private String electNum; + //IC卡编号 + private String icNum; + //作业时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date violationTime; + //所属单位 + private String dept; + //操作类型id + private Long operateTypeId; + //是否为煤矿:0为非,1是 + private Byte isCm; + //描述 + private String remark; + //删除标识(0未删除,1删除) + private Byte delFlag; + + 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; + + + +} + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationDao.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationDao.java new file mode 100644 index 0000000..bd77cd6 --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationDao.java @@ -0,0 +1,15 @@ +package com.gkhy.exam.noncoalmine.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gkhy.exam.noncoalmine.entity.ViolationRegistration; + +/** + * (ViolationRegistration)表数据库访问层 + * + * @author makejava + * @since 2023-09-11 16:59:05 + */ +public interface ViolationRegistrationDao extends BaseMapper<ViolationRegistration> { + +} + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationDao.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationDao.java new file mode 100644 index 0000000..440933d --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationDao.java @@ -0,0 +1,15 @@ +package com.gkhy.exam.noncoalmine.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gkhy.exam.noncoalmine.entity.WorkRegistration; + +/** + * (WorkRegistration)表数据库访问层 + * + * @author makejava + * @since 2023-09-11 16:59:58 + */ +public interface WorkRegistrationDao extends BaseMapper<WorkRegistration> { + +} + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java new file mode 100644 index 0000000..c621c64 --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java @@ -0,0 +1,47 @@ +package com.gkhy.exam.noncoalmine.model.addForm; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @email 1603559716@qq.com + * @author: zf + * @date: 2023/9/11 + * @time: 17:09 + */ +@Data +public class WorkRegistrationAddForm { + + //姓名 + @NotEmpty(message = "请填写姓名") + private String name; + //身份证 + @NotEmpty(message = "请填写身份证") + private String idCard; + //电子证号 + private String electNum; + //IC卡编号 + private String icNum; + //作业时间 + @NotNull(message = "请填写做业时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date violationTime; + //所属单位 + @NotEmpty(message = "请填写所属单位") + private String dept; + //操作类型id + @NotNull(message = "请选择操作类型") + private Long operateTypeId; + //是否为煤矿:0为非,1是 + @NotNull(message = "是否为煤矿不可为空") + private Integer isCm; + //描述 + private String remark; + +} diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/WorkRegistrationModForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/WorkRegistrationModForm.java new file mode 100644 index 0000000..0773022 --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/WorkRegistrationModForm.java @@ -0,0 +1,47 @@ +package com.gkhy.exam.noncoalmine.model.modForm; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @email 1603559716@qq.com + * @author: zf + * @date: 2023/9/11 + * @time: 17:19 + */ +@Data +public class WorkRegistrationModForm { + @NotNull(message = "做业主键不可为空") + private Long workId; + //姓名 + @NotEmpty(message = "请填写姓名") + private String name; + //身份证 + @NotEmpty(message = "请填写身份证") + private String idCard; + //电子证号 + private String electNum; + //IC卡编号 + private String icNum; + //作业时间 + @NotNull(message = "请填写做业时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date violationTime; + //所属单位 + @NotEmpty(message = "请填写所属单位") + private String dept; + //操作类型id + @NotNull(message = "请选择操作类型") + private Long operateTypeId; + //是否为煤矿:0为非,1是 + @NotNull(message = "是否为煤矿不可为空") + private Integer isCm; + //描述 + private String remark; +} diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java new file mode 100644 index 0000000..1a6ff2d --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java @@ -0,0 +1,15 @@ +package com.gkhy.exam.noncoalmine.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.exam.noncoalmine.entity.ViolationRegistration; + +/** + * (ViolationRegistration)表服务接口 + * + * @author makejava + * @since 2023-09-11 16:59:09 + */ +public interface ViolationRegistrationService extends IService<ViolationRegistration> { + +} + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java new file mode 100644 index 0000000..ba046ea --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java @@ -0,0 +1,24 @@ +package com.gkhy.exam.noncoalmine.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.exam.noncoalmine.entity.WorkRegistration; +import com.gkhy.exam.noncoalmine.model.addForm.WorkRegistrationAddForm; +import com.gkhy.exam.noncoalmine.model.modForm.WorkRegistrationModForm; + +import java.util.List; + +/** + * (WorkRegistration)表服务接口 + * + * @author makejava + * @since 2023-09-11 16:59:58 + */ +public interface WorkRegistrationService extends IService<WorkRegistration> { + + List<WorkRegistration> listByPage(WorkRegistration workRegistration); + + int add(WorkRegistrationAddForm addForm); + + int mod(WorkRegistrationModForm modForm); +} + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java new file mode 100644 index 0000000..eb7e19b --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java @@ -0,0 +1,19 @@ +package com.gkhy.exam.noncoalmine.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.exam.noncoalmine.mapper.ViolationRegistrationDao; +import com.gkhy.exam.noncoalmine.entity.ViolationRegistration; +import com.gkhy.exam.noncoalmine.service.ViolationRegistrationService; +import org.springframework.stereotype.Service; + +/** + * (ViolationRegistration)表服务实现类 + * + * @author makejava + * @since 2023-09-11 16:59:09 + */ +@Service("violationRegistrationService") +public class ViolationRegistrationServiceImpl extends ServiceImpl<ViolationRegistrationDao, ViolationRegistration> implements ViolationRegistrationService { + +} + diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java new file mode 100644 index 0000000..d10b6fe --- /dev/null +++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java @@ -0,0 +1,60 @@ +package com.gkhy.exam.noncoalmine.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.exam.noncoalmine.mapper.WorkRegistrationDao; +import com.gkhy.exam.noncoalmine.entity.WorkRegistration; +import com.gkhy.exam.noncoalmine.model.addForm.WorkRegistrationAddForm; +import com.gkhy.exam.noncoalmine.model.modForm.WorkRegistrationModForm; +import com.gkhy.exam.noncoalmine.service.WorkRegistrationService; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.bean.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * (WorkRegistration)表服务实现类 + * + * @author makejava + * @since 2023-09-11 16:59:58 + */ +@Service("workRegistrationService") +public class WorkRegistrationServiceImpl extends ServiceImpl<WorkRegistrationDao, WorkRegistration> implements WorkRegistrationService { + + @Override + public List<WorkRegistration> listByPage(WorkRegistration workRegistration) { + return null; + } + + /** + * 新增 + * @param addForm + * @return + */ + @Override + public int add(WorkRegistrationAddForm addForm) { + WorkRegistration workRegistration = new WorkRegistration(); + BeanUtils.copyProperties(addForm,workRegistration); + workRegistration.setDelFlag((byte) 0); + workRegistration.setCreateBy(SecurityUtils.getUsername()); + workRegistration.setCreateTime(new Date()); + workRegistration.setUpdateBy(SecurityUtils.getUsername()); + workRegistration.setUpdateTime(new Date()); + return baseMapper.insert(workRegistration); + } + /** + * 修改 + * @param modForm + * @return + */ + @Override + public int mod(WorkRegistrationModForm modForm) { + WorkRegistration workRegistration = new WorkRegistration(); + BeanUtils.copyProperties(modForm,workRegistration); + workRegistration.setUpdateBy(SecurityUtils.getUsername()); + workRegistration.setUpdateTime(new Date()); + return baseMapper.updateById(workRegistration); + } +} + diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 19b95f7..7d31efb 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -68,6 +68,12 @@ #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + global-config: + db-config: + logic-delete-value: 2 + logic-not-delete-value: 0 + logic-delete-field: del_flag + # PageHelper分页插件 pagehelper: -- Gitblit v1.9.2