diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/attendance/vo/AttendanceRecordVO.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/attendance/vo/AttendanceRecordVO.java new file mode 100644 index 00000000..865643c1 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/attendance/vo/AttendanceRecordVO.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.smartfactory.controller.admin.attendance.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDate; + +@Schema(description = "管理后台 - 厂区员工考勤记录 Response VO") +@Data +public class AttendanceRecordVO { + + @Schema(description = "打卡日期") + private LocalDate punchTime; + + @Schema(description = "打卡状态 | 1上班 2休息 3病假 4事假 5工伤") + private Integer status; +} diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/IndustrialInjuryController.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/IndustrialInjuryController.java new file mode 100644 index 00000000..36b48d7c --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/IndustrialInjuryController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.IndustrialInjuryPageReqVO; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.IndustrialInjuryRespVO; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.IndustrialInjurySaveReqVO; +import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factoryinfo.FactoryInfoDO; +import cn.iocoder.yudao.module.smartfactory.dal.dataobject.industrialinjury.IndustrialInjuryDO; +import cn.iocoder.yudao.module.smartfactory.dal.dataobject.staff.StaffDO; +import cn.iocoder.yudao.module.smartfactory.service.factoryinfo.FactoryInfoService; +import cn.iocoder.yudao.module.smartfactory.service.industrialinjury.IndustrialInjuryService; +import cn.iocoder.yudao.module.smartfactory.service.staff.StaffService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.Map; +import java.util.Set; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; + +@Tag(name = "管理后台 - 厂区工伤") +@RestController +@RequestMapping("/smartfactory/industrial-injury") +@Validated +public class IndustrialInjuryController { + + @Resource + private IndustrialInjuryService industrialInjuryService; + + @Resource + private StaffService staffService; + + @Resource + private FactoryInfoService factoryInfoService; + + @PostMapping("/create") + @Operation(summary = "创建厂区工伤") + @PreAuthorize("@ss.hasPermission('smartfactory:industrial-injury:create')") + public CommonResult createIndustrialInjury(@Valid @RequestBody IndustrialInjurySaveReqVO createReqVO) { + return success(industrialInjuryService.createIndustrialInjury(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新厂区工伤") + @PreAuthorize("@ss.hasPermission('smartfactory:industrial-injury:update')") + public CommonResult updateIndustrialInjury(@Valid @RequestBody IndustrialInjurySaveReqVO updateReqVO) { + industrialInjuryService.updateIndustrialInjury(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除厂区工伤") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('smartfactory:industrial-injury:delete')") + public CommonResult deleteIndustrialInjury(@RequestParam("id") Long id) { + industrialInjuryService.deleteIndustrialInjury(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得厂区工伤") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('smartfactory:industrial-injury:query')") + public CommonResult getIndustrialInjury(@RequestParam("id") Long id) { + IndustrialInjuryDO industrialInjury = industrialInjuryService.getIndustrialInjury(id); + return success(BeanUtils.toBean(industrialInjury, IndustrialInjuryRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得厂区工伤分页") + @PreAuthorize("@ss.hasPermission('smartfactory:industrial-injury:query')") + public CommonResult> getIndustrialInjuryPage(@Valid IndustrialInjuryPageReqVO pageReqVO) { + PageResult pageResult = industrialInjuryService.getIndustrialInjuryPage(pageReqVO); + PageResult result = BeanUtils.toBean(pageResult, IndustrialInjuryRespVO.class); + if (CollUtil.isNotEmpty(result.getList())) { + + // 获取员工信息 + Set userIds = convertSet(result.getList(), IndustrialInjuryRespVO::getStaffId); + Map userMap = convertMap(staffService.getList(userIds), StaffDO::getId); + + // 获取工厂信息 + Set factoryIds = convertSet(result.getList(), IndustrialInjuryRespVO::getFactoryId); + Map factoryMap = convertMap(factoryInfoService.getFactoryList(factoryIds), FactoryInfoDO::getId); + + result.getList().forEach(vo -> { + vo.setStaffName(userMap.get(vo.getStaffId()) != null ? userMap.get(vo.getStaffId()).getNickName() : null); + vo.setFactoryName(factoryMap.get(vo.getFactoryId()) != null ? factoryMap.get(vo.getFactoryId()).getName() : null); + }); + } + + return success(result); + } +} \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/AdvancePaymentItem.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/AdvancePaymentItem.java new file mode 100644 index 00000000..a2416ee5 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/AdvancePaymentItem.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 垫资明细") +@Data +public class AdvancePaymentItem { + + @Schema(description = "金额") + private BigDecimal amount; + + @Schema(description = "时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String time; +} diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/ClaimAmountItem.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/ClaimAmountItem.java new file mode 100644 index 00000000..a30fe7ba --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/ClaimAmountItem.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 理赔明细") +@Data +public class ClaimAmountItem { + + @Schema(description = "理赔方") + private String payee; + + @Schema(description = "金额") + private BigDecimal amount; + + @Schema(description = "理赔时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String time; +} diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjuryPageReqVO.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjuryPageReqVO.java new file mode 100644 index 00000000..cbbb9944 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjuryPageReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDate; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 厂区工伤分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class IndustrialInjuryPageReqVO extends PageParam { + + @Schema(description = "用户编号", example = "146") + private Long staffId; + + @Schema(description = "所属工厂编号", example = "10000008") + private Long factoryId; + + @Schema(description = "发生时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] happenTime; + + @Schema(description = "垫资方 | 1公司 2工厂") + private Integer payer; + + @Schema(description = "状态 | 1处理中 2已完成", example = "1") + private Integer status; + +} \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjuryRespVO.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjuryRespVO.java new file mode 100644 index 00000000..e330ec97 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjuryRespVO.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 厂区工伤 Response VO") +@Data +@ExcelIgnoreUnannotated +public class IndustrialInjuryRespVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("主键id") + private Long id; + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "146") + @ExcelProperty("用户编号") + private Long staffId; + + @Schema(description = "用户名称") + private String staffName; + + @Schema(description = "所属工厂编号", example = "10000008") + @ExcelProperty("所属工厂编号") + private Long factoryId; + + @Schema(description = "所属工厂名称") + private String factoryName; + + @Schema(description = "发生时间") + @ExcelProperty("发生时间") + private LocalDate happenTime; + + @Schema(description = "受伤原因") + @ExcelProperty("受伤原因") + private String reason; + + @Schema(description = "医药垫资金额") + @ExcelProperty("医药垫资金额") + private BigDecimal advancePayment; + + @Schema(description = "医药垫资明细") + private List advancePaymentItems; + + @Schema(description = "垫资方 | 1公司 2工厂") + @ExcelProperty("垫资方 | 1公司 2工厂") + private Integer payer; + + @Schema(description = "理赔金额") + @ExcelProperty("理赔金额") + private BigDecimal claimAmount; + + @Schema(description = "理赔明细") + private List claimAmountItems; + + @Schema(description = "状态 | 1处理中 2已完成", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("状态 | 1处理中 2已完成") + private Integer status; + + @Schema(description = "附件信息") + @ExcelProperty("附件信息") + private List fileItems; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjurySaveReqVO.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjurySaveReqVO.java new file mode 100644 index 00000000..9522f7b6 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/industrialinjury/vo/IndustrialInjurySaveReqVO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + +@Schema(description = "管理后台 - 厂区工伤新增/修改 Request VO") +@Data +public class IndustrialInjurySaveReqVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "146") + @NotNull(message = "用户编号不能为空") + private Long staffId; + + @Schema(description = "所属工厂编号", example = "10000008") + private Long factoryId; + + @Schema(description = "发生时间") + private LocalDate happenTime; + + @Schema(description = "受伤原因") + private String reason; + + @Schema(description = "医药垫资金额") + private BigDecimal advancePayment; + + @Schema(description = "医药垫资明细") + private List advancePaymentItems; + + @Schema(description = "垫资方 | 1公司 2工厂") + private Integer payer; + + @Schema(description = "理赔金额") + private BigDecimal claimAmount; + + @Schema(description = "理赔明细") + private List claimAmountItems; + + @Schema(description = "状态 | 1处理中 2已完成") + private Integer status; + + @Schema(description = "附件信息") + private List fileItems; + +} \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/staffsalary/vo/DeductionItemsVO.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/staffsalary/vo/DeductionItemsVO.java new file mode 100644 index 00000000..234c7079 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/staffsalary/vo/DeductionItemsVO.java @@ -0,0 +1,13 @@ +package cn.iocoder.yudao.module.smartfactory.controller.admin.staffsalary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 扣款明细 Response VO") +@Data +public class DeductionItemsVO { + + private String key; + + private String value; +} diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/dataobject/industrialinjury/IndustrialInjuryDO.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/dataobject/industrialinjury/IndustrialInjuryDO.java new file mode 100644 index 00000000..625b08a8 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/dataobject/industrialinjury/IndustrialInjuryDO.java @@ -0,0 +1,86 @@ +package cn.iocoder.yudao.module.smartfactory.dal.dataobject.industrialinjury; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.AdvancePaymentItem; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.ClaimAmountItem; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.UploadFilesVO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + +/** + * 厂区工伤 DO + * + * @author 符溶馨 + */ +@TableName(value = "sf_industrial_injury", autoResultMap = true) +@KeySequence("sf_industrial_injury_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IndustrialInjuryDO extends BaseDO { + + /** + * 主键id + */ + @TableId + private Long id; + /** + * 用户编号 + */ + private Long staffId; + /** + * 所属工厂编号 + */ + private Long factoryId; + /** + * 发生时间 + */ + private LocalDate happenTime; + /** + * 受伤原因 + */ + private String reason; + /** + * 医药垫资金额 + */ + private BigDecimal advancePayment; + /** + * 垫资明细 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List advancePaymentItems; + /** + * 垫资方 | 1公司 2工厂 + */ + private Integer payer; + /** + * 理赔金额 + */ + private BigDecimal claimAmount; + /** + * 理赔明细 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List claimAmountItems; + /** + * 状态 | 1处理中 2已完成 + */ + private Integer status; + /** + * 附件信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems; + +} \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/industrialinjury/IndustrialInjuryMapper.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/industrialinjury/IndustrialInjuryMapper.java new file mode 100644 index 00000000..34e7dc66 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/industrialinjury/IndustrialInjuryMapper.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.smartfactory.dal.mysql.industrialinjury; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.IndustrialInjuryPageReqVO; +import cn.iocoder.yudao.module.smartfactory.dal.dataobject.industrialinjury.IndustrialInjuryDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 厂区工伤 Mapper + * + * @author 符溶馨 + */ +@Mapper +public interface IndustrialInjuryMapper extends BaseMapperX { + + default PageResult selectPage(IndustrialInjuryPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(IndustrialInjuryDO::getStaffId, reqVO.getStaffId()) + .eqIfPresent(IndustrialInjuryDO::getFactoryId, reqVO.getFactoryId()) + .betweenIfPresent(IndustrialInjuryDO::getHappenTime, reqVO.getHappenTime()) + .eqIfPresent(IndustrialInjuryDO::getPayer, reqVO.getPayer()) + .eqIfPresent(IndustrialInjuryDO::getStatus, reqVO.getStatus()) + .orderByDesc(IndustrialInjuryDO::getId)); + } + +} \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/framework/rpc/config/RpcConfiguration.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/framework/rpc/config/RpcConfiguration.java index b03e668a..7602c9bd 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/framework/rpc/config/RpcConfiguration.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/framework/rpc/config/RpcConfiguration.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.system.api.assets.AssetsTypeApi; import cn.iocoder.yudao.module.system.api.dept.DeptApi; import cn.iocoder.yudao.module.system.api.dept.PostApi; import cn.iocoder.yudao.module.system.api.dict.DictDataApi; +import cn.iocoder.yudao.module.system.api.loan.LoanApi; import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi; import cn.iocoder.yudao.module.system.api.permission.PermissionApi; import cn.iocoder.yudao.module.system.api.permission.RoleApi; @@ -17,7 +18,7 @@ import org.springframework.context.annotation.Configuration; @Configuration(proxyBeanMethods = false) @EnableFeignClients(clients = {FileApi.class, RoleApi.class, DeptApi.class, PostApi.class, AdminUserApi.class, SmsSendApi.class, DictDataApi.class, NotifyMessageSendApi.class, - SubscribeMessageSendApi.class, ConfigApi.class, PermissionApi.class, AssetsTypeApi.class + SubscribeMessageSendApi.class, ConfigApi.class, PermissionApi.class, AssetsTypeApi.class, LoanApi.class }) public class RpcConfiguration { } diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/industrialinjury/IndustrialInjuryService.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/industrialinjury/IndustrialInjuryService.java new file mode 100644 index 00000000..704669ef --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/industrialinjury/IndustrialInjuryService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.smartfactory.service.industrialinjury; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.IndustrialInjuryPageReqVO; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.IndustrialInjurySaveReqVO; +import cn.iocoder.yudao.module.smartfactory.dal.dataobject.industrialinjury.IndustrialInjuryDO; + +import javax.validation.Valid; + +/** + * 厂区工伤 Service 接口 + * + * @author 符溶馨 + */ +public interface IndustrialInjuryService { + + /** + * 创建厂区工伤 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createIndustrialInjury(@Valid IndustrialInjurySaveReqVO createReqVO); + + /** + * 更新厂区工伤 + * + * @param updateReqVO 更新信息 + */ + void updateIndustrialInjury(@Valid IndustrialInjurySaveReqVO updateReqVO); + + /** + * 删除厂区工伤 + * + * @param id 编号 + */ + void deleteIndustrialInjury(Long id); + + /** + * 获得厂区工伤 + * + * @param id 编号 + * @return 厂区工伤 + */ + IndustrialInjuryDO getIndustrialInjury(Long id); + + /** + * 获得厂区工伤分页 + * + * @param pageReqVO 分页查询 + * @return 厂区工伤分页 + */ + PageResult getIndustrialInjuryPage(IndustrialInjuryPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/industrialinjury/IndustrialInjuryServiceImpl.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/industrialinjury/IndustrialInjuryServiceImpl.java new file mode 100644 index 00000000..9952ee28 --- /dev/null +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/industrialinjury/IndustrialInjuryServiceImpl.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.smartfactory.service.industrialinjury; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.IndustrialInjuryPageReqVO; +import cn.iocoder.yudao.module.smartfactory.controller.admin.industrialinjury.vo.IndustrialInjurySaveReqVO; +import cn.iocoder.yudao.module.smartfactory.dal.dataobject.industrialinjury.IndustrialInjuryDO; +import cn.iocoder.yudao.module.smartfactory.dal.mysql.industrialinjury.IndustrialInjuryMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.smartfactory.enums.ErrorCodeConstants.INDUSTRIAL_INJURY_NOT_EXISTS; + +/** + * 厂区工伤 Service 实现类 + * + * @author 符溶馨 + */ +@Service +@Validated +public class IndustrialInjuryServiceImpl implements IndustrialInjuryService { + + @Resource + private IndustrialInjuryMapper industrialInjuryMapper; + + @Override + public Long createIndustrialInjury(IndustrialInjurySaveReqVO createReqVO) { + // 插入 + IndustrialInjuryDO industrialInjury = BeanUtils.toBean(createReqVO, IndustrialInjuryDO.class); + industrialInjuryMapper.insert(industrialInjury); + // 返回 + return industrialInjury.getId(); + } + + @Override + public void updateIndustrialInjury(IndustrialInjurySaveReqVO updateReqVO) { + // 校验存在 + validateIndustrialInjuryExists(updateReqVO.getId()); + // 更新 + IndustrialInjuryDO updateObj = BeanUtils.toBean(updateReqVO, IndustrialInjuryDO.class); + industrialInjuryMapper.updateById(updateObj); + } + + @Override + public void deleteIndustrialInjury(Long id) { + // 校验存在 + validateIndustrialInjuryExists(id); + // 删除 + industrialInjuryMapper.deleteById(id); + } + + private void validateIndustrialInjuryExists(Long id) { + if (industrialInjuryMapper.selectById(id) == null) { + throw exception(INDUSTRIAL_INJURY_NOT_EXISTS); + } + } + + @Override + public IndustrialInjuryDO getIndustrialInjury(Long id) { + return industrialInjuryMapper.selectById(id); + } + + @Override + public PageResult getIndustrialInjuryPage(IndustrialInjuryPageReqVO pageReqVO) { + return industrialInjuryMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file