diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java b/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java index c2b7555a..59c1eadf 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java @@ -31,4 +31,12 @@ public class BaseConstants { public static final String COMPUTE_TYPE_BY = "by"; /**计算下次检测时间*/ public static final String COMPUTE_TYPE_JC = "jc"; + /**企业管理-员工管理表名称*/ + public static final String COMPANY_STAFF = "company_staff"; + /**员工标识*/ + public static final String COMPANY_SING_STAFF = "staff"; + /** 标签默认外观 */ + public static final String LABEL_TYPE = "default"; + /** 唯一推广码生成长度 */ + public static final Integer UNIQUE_CODE_LEN = 6; } diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/common/CommonErrorCodeConstants.java b/dl-module-base/src/main/java/cn/iocoder/yudao/common/CommonErrorCodeConstants.java new file mode 100644 index 00000000..5032d26f --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/common/CommonErrorCodeConstants.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.common; + +import cn.iocoder.yudao.framework.common.exception.ErrorCode; +import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants; + +public interface CommonErrorCodeConstants extends ErrorCodeConstants { + + /** 企业管理-员工管理 */ + ErrorCode UNIQUE_CODE_CREATE_REPEAT = new ErrorCode(2_002_000_000, "唯一推广码生成失败"); +} diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyController.java new file mode 100644 index 00000000..80397052 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyController.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.custom.controller.admin; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.custom.entity.Property; +import cn.iocoder.yudao.module.custom.service.PropertyService; +import cn.iocoder.yudao.module.custom.vo.PropertyReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 企业管理-资产") +@RestController +@RequestMapping("/company/property") +@Validated +public class PropertyController { + + @Resource + private PropertyService propertyService; + + @PostMapping("/create") + @Operation(summary = "创建企业管理-资产") + @PreAuthorize("@ss.hasPermission('company:property:create')") + public CommonResult createProperty(@RequestBody PropertyReqVO createReqVO) { + return success(propertyService.createProperty(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新企业管理-资产") + @PreAuthorize("@ss.hasPermission('company:property:update')") + public CommonResult updateProperty(@RequestBody PropertyReqVO updateReqVO) { + propertyService.updateProperty(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除企业管理-资产") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('company:property:delete')") + public CommonResult deleteProperty(@RequestParam("id") String id) { + propertyService.deleteProperty(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得企业管理-资产") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('company:property:query')") + public CommonResult getProperty(@RequestParam("id") String id) { + Property property = propertyService.getProperty(id); + return success(BeanUtils.toBean(property, PropertyRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得企业管理-资产分页") + @PreAuthorize("@ss.hasPermission('company:property:query')") + public CommonResult> getPropertyPage(PropertyReqVO pageReqVO) { + IPage pageResult = propertyService.getPropertyPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出企业管理-资产 Excel") + @PreAuthorize("@ss.hasPermission('company:property:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPropertyExcel(PropertyReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = propertyService.getPropertyPage(pageReqVO).getRecords(); + // 导出 Excel + ExcelUtils.write(response, "企业管理-资产.xls", "数据", PropertyRespVO.class, list); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyDealController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyDealController.java new file mode 100644 index 00000000..4a9c21d6 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyDealController.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.custom.controller.admin; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.custom.entity.PropertyDealDO; +import cn.iocoder.yudao.module.custom.service.PropertyDealService; +import cn.iocoder.yudao.module.custom.vo.PropertyDealReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 企业管理-资产处置单/变动单") +@RestController +@RequestMapping("/company/property-deal") +@Validated +public class PropertyDealController { + + @Resource + private PropertyDealService propertyDealService; + + @PostMapping("/create") + @Operation(summary = "创建企业管理-资产处置单/变动单") + @PreAuthorize("@ss.hasPermission('company:property-deal:create')") + public CommonResult createPropertyDeal(@RequestBody PropertyDealReqVO createReqVO) { + return success(propertyDealService.createPropertyDeal(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新企业管理-资产处置单/变动单") + @PreAuthorize("@ss.hasPermission('company:property-deal:update')") + public CommonResult updatePropertyDeal(@RequestBody PropertyDealReqVO updateReqVO) { + propertyDealService.updatePropertyDeal(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除企业管理-资产处置单/变动单") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('company:property-deal:delete')") + public CommonResult deletePropertyDeal(@RequestParam("id") String id) { + propertyDealService.deletePropertyDeal(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得企业管理-资产处置单/变动单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('company:property-deal:query')") + public CommonResult getPropertyDeal(@RequestParam("id") String id) { + PropertyDealDO propertyDeal = propertyDealService.getPropertyDeal(id); + return success(BeanUtils.toBean(propertyDeal, PropertyDealRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得企业管理-资产处置单/变动单分页") + @PreAuthorize("@ss.hasPermission('company:property-deal:query')") + public CommonResult> getPropertyDealPage(PropertyDealReqVO pageReqVO) { + IPage propertyDealPage = propertyDealService.getPropertyDealPage(pageReqVO); + return success(propertyDealPage); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出企业管理-资产处置单/变动单 Excel") + @PreAuthorize("@ss.hasPermission('company:property-deal:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPropertyDealExcel(PropertyDealReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = propertyDealService.getPropertyDealPage(pageReqVO).getRecords(); + // 导出 Excel + ExcelUtils.write(response, "企业管理-资产处置单/变动单.xls", "数据", PropertyDealRespVO.class,list); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyDealItemController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyDealItemController.java new file mode 100644 index 00000000..2d5418a1 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyDealItemController.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.custom.controller.admin; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.custom.entity.PropertyDealItemDO; +import cn.iocoder.yudao.module.custom.service.PropertyDealItemService; +import cn.iocoder.yudao.module.custom.vo.PropertyDealItemReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealItemRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 企业管理-资产处置子") +@RestController +@RequestMapping("/company/property-deal-item") +@Validated +public class PropertyDealItemController { + + @Resource + private PropertyDealItemService propertyDealItemService; + + @PostMapping("/create") + @Operation(summary = "创建企业管理-资产处置子") + @PreAuthorize("@ss.hasPermission('company:property-deal-item:create')") + public CommonResult createPropertyDealItem(@RequestBody PropertyDealItemReqVO createReqVO) { + return success(propertyDealItemService.createPropertyDealItem(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新企业管理-资产处置子") + @PreAuthorize("@ss.hasPermission('company:property-deal-item:update')") + public CommonResult updatePropertyDealItem(@RequestBody PropertyDealItemReqVO updateReqVO) { + propertyDealItemService.updatePropertyDealItem(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除企业管理-资产处置子") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('company:property-deal-item:delete')") + public CommonResult deletePropertyDealItem(@RequestParam("id") String id) { + propertyDealItemService.deletePropertyDealItem(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得企业管理-资产处置子") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('company:property-deal-item:query')") + public CommonResult getPropertyDealItem(@RequestParam("id") String id) { + PropertyDealItemDO propertyDealItem = propertyDealItemService.getPropertyDealItem(id); + return success(BeanUtils.toBean(propertyDealItem, PropertyDealItemRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得企业管理-资产处置子分页") + @PreAuthorize("@ss.hasPermission('company:property-deal-item:query')") + public CommonResult> getPropertyDealItemPage(PropertyDealItemReqVO pageReqVO) { + IPage propertyDealItemPage = propertyDealItemService.getPropertyDealItemPage(pageReqVO); + return success(propertyDealItemPage); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出企业管理-资产处置子 Excel") + @PreAuthorize("@ss.hasPermission('company:property-deal-item:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPropertyDealItemExcel(PropertyDealItemReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = propertyDealItemService.getPropertyDealItemPage(pageReqVO).getRecords(); + // 导出 Excel + ExcelUtils.write(response, "企业管理-资产处置子.xls", "数据", PropertyDealItemRespVO.class,list); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyKeepController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyKeepController.java new file mode 100644 index 00000000..be736424 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyKeepController.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.custom.controller.admin; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.custom.entity.PropertyKeep; +import cn.iocoder.yudao.module.custom.service.PropertyKeepService; +import cn.iocoder.yudao.module.custom.vo.PropertyKeepReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyKeepRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 资产维修/保养记录") +@RestController +@RequestMapping("/company/property-keep") +@Validated +public class PropertyKeepController { + + @Resource + private PropertyKeepService propertyKeepService; + + @PostMapping("/create") + @Operation(summary = "创建资产维修/保养记录") + @PreAuthorize("@ss.hasPermission('company:property-keep:create')") + public CommonResult createPropertyKeep(@RequestBody PropertyKeepReqVO createReqVO) { + return success(propertyKeepService.createPropertyKeep(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新资产维修/保养记录") + @PreAuthorize("@ss.hasPermission('company:property-keep:update')") + public CommonResult updatePropertyKeep(@RequestBody PropertyKeepReqVO updateReqVO) { + propertyKeepService.updatePropertyKeep(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除资产维修/保养记录") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('company:property-keep:delete')") + public CommonResult deletePropertyKeep(@RequestParam("id") String id) { + propertyKeepService.deletePropertyKeep(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得资产维修/保养记录") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('company:property-keep:query')") + public CommonResult getPropertyKeep(@RequestParam("id") String id) { + PropertyKeep propertyKeep = propertyKeepService.getPropertyKeep(id); + return success(BeanUtils.toBean(propertyKeep, PropertyKeepRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得资产维修/保养记录分页") + @PreAuthorize("@ss.hasPermission('company:property-keep:query')") + public CommonResult> getPropertyKeepPage(PropertyKeepReqVO pageReqVO) { + IPage pageResult = propertyKeepService.getPropertyKeepPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出资产维修/保养记录 Excel") + @PreAuthorize("@ss.hasPermission('company:property-keep:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPropertyKeepExcel(PropertyKeepReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = propertyKeepService.getPropertyKeepPage(pageReqVO).getRecords(); + // 导出 Excel + ExcelUtils.write(response, "资产维修/保养记录.xls", "数据", PropertyKeepRespVO.class, list); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyPosController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyPosController.java new file mode 100644 index 00000000..78ed3255 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/PropertyPosController.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.custom.controller.admin; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.custom.entity.PropertyPosDO; +import cn.iocoder.yudao.module.custom.service.PropertyPosService; +import cn.iocoder.yudao.module.custom.vo.PropertyPosReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyPosRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 企业管理-资产存放位置") +@RestController +@RequestMapping("/company/property-pos") +@Validated +public class PropertyPosController { + + @Resource + private PropertyPosService propertyPosService; + + @PostMapping("/create") + @Operation(summary = "创建企业管理-资产存放位置") + @PreAuthorize("@ss.hasPermission('company:property-pos:create')") + public CommonResult createPropertyPos(@RequestBody PropertyPosReqVO createReqVO) { + return success(propertyPosService.createPropertyPos(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新企业管理-资产存放位置") + @PreAuthorize("@ss.hasPermission('company:property-pos:update')") + public CommonResult updatePropertyPos(@RequestBody PropertyPosReqVO updateReqVO) { + propertyPosService.updatePropertyPos(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除企业管理-资产存放位置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('company:property-pos:delete')") + public CommonResult deletePropertyPos(@RequestParam("id") String id) { + propertyPosService.deletePropertyPos(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得企业管理-资产存放位置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('company:property-pos:query')") + public CommonResult getPropertyPos(@RequestParam("id") String id) { + PropertyPosDO propertyPos = propertyPosService.getPropertyPos(id); + return success(BeanUtils.toBean(propertyPos, PropertyPosRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得企业管理-资产存放位置分页") + @PreAuthorize("@ss.hasPermission('company:property-pos:query')") + public CommonResult> getPropertyPosPage(PropertyPosReqVO pageReqVO) { + IPage pageResult = propertyPosService.getPropertyPosPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出企业管理-资产存放位置 Excel") + @PreAuthorize("@ss.hasPermission('company:property-pos:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPropertyPosExcel(PropertyPosReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = propertyPosService.getPropertyPosPage(pageReqVO).getRecords(); + // 导出 Excel + ExcelUtils.write(response, "企业管理-资产存放位置.xls", "数据", PropertyPosRespVO.class,list); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/Property.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/Property.java new file mode 100644 index 00000000..4fa8ccdd --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/Property.java @@ -0,0 +1,150 @@ +package cn.iocoder.yudao.module.custom.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * 企业管理-资产 DO + * + * @author 后台管理员 + */ +@TableName("company_property") +@KeySequence("company_property_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Property extends TenantBaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 企业id + */ + private String corpId; + /** + * 部门id + */ + private Long deptId; + /** + * 存放位置 + */ + private String posId; + /** + * 使用人id + */ + private String userId; + /** + * 资产编号 + */ + private String propNo; + /** + * 资产名称 + */ + private String propName; + /** + * 资产分类 + */ + private String propCatg; + /** + * 预计使用年限 + */ + private Integer useYear; + /** + * 价值类型 + * + * 枚举 {@link TODO company_cost_type 对应的类} + */ + private String costType; + /** + * 资产数量 + */ + private Integer propNum; + /** + * 资产原值(元) + */ + private BigDecimal costTotal; + /** + * 资产状态 + * + * 枚举 {@link TODO company_prop_status 对应的类} + */ + private String propStatus; + /** + * 品牌 + */ + private String brand; + /** + * 规格型号 + */ + private String spec; + /** + * 生产厂家 + */ + private String factory; + /** + * 出场序列号/编号 + */ + private String serialNo; + /** + * 数量计量单位 + */ + private String unit; + /** + * 取得日期 + */ + private LocalDate getDate; + /** + * 出厂日期 + */ + private LocalDate prodDate; + /** + * 供应商 + */ + private String supplier; + /** + * 启用日期 + */ + private LocalDate openDate; + /** + * 净值(元) + */ + private BigDecimal netValue; + /** + * 凭证号 + */ + private String voucherNo; + /** + * 维修/保养周期单位 + */ + private String keepCycleType; + /** + * 维修/保养周期 + */ + private Integer keepCycle; + /** + * 上次维修/保养日期 + */ + private LocalDate lastKeepDate; + /** + * 下次维修/保养日期 + */ + private LocalDate nextKeepDate; + /** + * 附件urls + */ + private String fileUrls; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyDealDO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyDealDO.java new file mode 100644 index 00000000..f41253a9 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyDealDO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.custom.entity; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.time.LocalDate; + +/** + * 企业管理-资产处置单/变动单 DO + * + * @author 后台管理员 + */ +@TableName("company_property_deal") +@KeySequence("company_property_deal_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PropertyDealDO extends BaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 企业id(base_company表中的id) + */ + private String corpId; + /** + * 部门id(system_dept表中的id,用来做数据权限控制) + */ + private Long deptId; + /** + * 数据类型 + * + * 枚举 {@link TODO property_data_type 对应的类} + */ + private String dataType; + /** + * 处置/变动单号 + */ + private String dealNo; + /** + * 处置/变动日期 + */ + private LocalDate dealDate; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyDealItemDO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyDealItemDO.java new file mode 100644 index 00000000..f1edfcad --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyDealItemDO.java @@ -0,0 +1,81 @@ +package cn.iocoder.yudao.module.custom.entity; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * 企业管理-资产处置子 DO + * + * @author 后台管理员 + */ +@TableName("company_property_deal_item") +@KeySequence("company_property_deal_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PropertyDealItemDO extends BaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 处置单/变动单id + */ + private String dealId; + /** + * 资产id + */ + private String propertyId; + /** + * 处置方式 + * + * 枚举 {@link TODO company_deal_way 对应的类} + */ + private String dealWay; + /** + * 原企业id + */ + private String oldCorpId; + /** + * 调入企业id + */ + private String corpId; + /** + * 原部门id + */ + private Long oldDeptId; + /** + * 调入部门id + */ + private Long deptId; + /** + * 原存放地id + */ + private String oldPosId; + /** + * 调入存放地id + */ + private String posId; + /** + * 原使用人id + */ + private Long oldUserId; + /** + * 调入使用人id + */ + private Long userId; + /** + * 备注 + */ + private String remark; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyKeep.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyKeep.java new file mode 100644 index 00000000..494cc79d --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyKeep.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.custom.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.time.LocalDate; + +/** + * 资产维修/保养记录 DO + * + * @author 后台管理员 + */ +@TableName("company_property_keep") +@KeySequence("company_property_keep_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PropertyKeep extends TenantBaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 资产id + */ + private String propertyId; + /** + * 维修/保养日期 + */ + private LocalDate keepDate; + /** + * 备注 + */ + private String remark; + /** + * 附件urls + */ + private String fileUrls; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyPosDO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyPosDO.java new file mode 100644 index 00000000..8fb6bf09 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/PropertyPosDO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.custom.entity; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.math.BigDecimal; + +/** + * 企业管理-资产存放位置 DO + * + * @author vinjor-m + */ +@TableName("company_property_pos") +@KeySequence("company_property_pos_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PropertyPosDO extends BaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 企业id(base_company表中的id) + */ + private String corpId; + /** + * 部门id(system_dept表中的id,用来做数据权限控制) + */ + private Long deptId; + /** + * 存放地名称 + */ + private String posName; + /** + * 存放地地址 + */ + private String address; + /** + * 面积 + */ + private BigDecimal area; + /** + * 存放类型 + * + * 枚举 {@link TODO company_deposit_type 对应的类} + */ + private String depositType; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyDealItemMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyDealItemMapper.java new file mode 100644 index 00000000..5ac8fff5 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyDealItemMapper.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.custom.mapper; + +import cn.iocoder.yudao.module.custom.entity.PropertyDealItemDO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealItemReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealItemRespVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; + +/** + * 企业管理-资产处置子 Mapper + * + * @author 后台管理员 + */ +@Mapper +public interface PropertyDealItemMapper extends BaseMapper { + + default IPage selectPage(PropertyDealItemReqVO reqVO) { + return null; + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyDealMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyDealMapper.java new file mode 100644 index 00000000..f77d1002 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyDealMapper.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.custom.mapper; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.custom.entity.PropertyDealDO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; + +/** + * 企业管理-资产处置单/变动单 Mapper + * + * @author 后台管理员 + */ +@Mapper +public interface PropertyDealMapper extends BaseMapperX { + + default IPage selectPage(PropertyDealReqVO reqVO) { + return null; + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyKeepMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyKeepMapper.java new file mode 100644 index 00000000..360cda63 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyKeepMapper.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.custom.mapper; + +import cn.iocoder.yudao.module.custom.entity.PropertyKeep; +import cn.iocoder.yudao.module.custom.vo.PropertyKeepReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyKeepRespVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; + +/** + * 资产维修/保养记录 Mapper + * + * @author 后台管理员 + */ +@Mapper +public interface PropertyKeepMapper extends BaseMapper { + + default IPage selectPage(PropertyKeepReqVO reqVO) { + return null; + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyMapper.java new file mode 100644 index 00000000..72b705e4 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyMapper.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.custom.mapper; + +import cn.iocoder.yudao.module.custom.entity.Property; +import cn.iocoder.yudao.module.custom.vo.PropertyReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyRespVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; + +/** + * 企业管理-资产 Mapper + * + * @author 后台管理员 + */ +@Mapper +public interface PropertyMapper extends BaseMapper { + + default IPage selectPage(PropertyReqVO reqVO) { + return null; + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyPosMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyPosMapper.java new file mode 100644 index 00000000..dd9e7d33 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/mapper/PropertyPosMapper.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.custom.mapper; + +import cn.iocoder.yudao.module.custom.entity.PropertyPosDO; +import cn.iocoder.yudao.module.custom.vo.PropertyPosReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyPosRespVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; + +/** + * 企业管理-资产存放位置 Mapper + * + * @author vinjor-m + */ +@Mapper +public interface PropertyPosMapper extends BaseMapper { + + default IPage selectPage(PropertyPosReqVO reqVO) { + return null; + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyDealItemService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyDealItemService.java new file mode 100644 index 00000000..e771a503 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyDealItemService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.custom.service; + +import cn.iocoder.yudao.module.custom.entity.PropertyDealItemDO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealItemReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealItemRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + + +/** + * 企业管理-资产处置子 Service 接口 + * + * @author 后台管理员 + */ +public interface PropertyDealItemService extends IService { + + /** + * 创建企业管理-资产处置子 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createPropertyDealItem(PropertyDealItemReqVO createReqVO); + + /** + * 更新企业管理-资产处置子 + * + * @param updateReqVO 更新信息 + */ + void updatePropertyDealItem(PropertyDealItemReqVO updateReqVO); + + /** + * 删除企业管理-资产处置子 + * + * @param id 编号 + */ + void deletePropertyDealItem(String id); + + /** + * 获得企业管理-资产处置子 + * + * @param id 编号 + * @return 企业管理-资产处置子 + */ + PropertyDealItemDO getPropertyDealItem(String id); + + /** + * 获得企业管理-资产处置子分页 + * + * @param pageReqVO 分页查询 + * @return 企业管理-资产处置子分页 + */ + IPage getPropertyDealItemPage(PropertyDealItemReqVO pageReqVO); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyDealService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyDealService.java new file mode 100644 index 00000000..738fe16d --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyDealService.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.custom.service; + +import cn.iocoder.yudao.module.custom.entity.PropertyDealDO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 企业管理-资产处置单/变动单 Service 接口 + * + * @author 后台管理员 + */ +public interface PropertyDealService extends IService { + + /** + * 创建企业管理-资产处置单/变动单 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createPropertyDeal(PropertyDealReqVO createReqVO); + + /** + * 更新企业管理-资产处置单/变动单 + * + * @param updateReqVO 更新信息 + */ + void updatePropertyDeal(PropertyDealReqVO updateReqVO); + + /** + * 删除企业管理-资产处置单/变动单 + * + * @param id 编号 + */ + void deletePropertyDeal(String id); + + /** + * 获得企业管理-资产处置单/变动单 + * + * @param id 编号 + * @return 企业管理-资产处置单/变动单 + */ + PropertyDealDO getPropertyDeal(String id); + + /** + * 获得企业管理-资产处置单/变动单分页 + * + * @param pageReqVO 分页查询 + * @return 企业管理-资产处置单/变动单分页 + */ + IPage getPropertyDealPage(PropertyDealReqVO pageReqVO); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyKeepService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyKeepService.java new file mode 100644 index 00000000..18219535 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyKeepService.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.custom.service; + +import cn.iocoder.yudao.module.custom.entity.PropertyKeep; +import cn.iocoder.yudao.module.custom.vo.PropertyKeepReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyKeepRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 资产维修/保养记录 Service 接口 + * + * @author 后台管理员 + */ +public interface PropertyKeepService extends IService { + + /** + * 创建资产维修/保养记录 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createPropertyKeep(PropertyKeepReqVO createReqVO); + + /** + * 更新资产维修/保养记录 + * + * @param updateReqVO 更新信息 + */ + void updatePropertyKeep(PropertyKeepReqVO updateReqVO); + + /** + * 删除资产维修/保养记录 + * + * @param id 编号 + */ + void deletePropertyKeep(String id); + + /** + * 获得资产维修/保养记录 + * + * @param id 编号 + * @return 资产维修/保养记录 + */ + PropertyKeep getPropertyKeep(String id); + + /** + * 获得资产维修/保养记录分页 + * + * @param pageReqVO 分页查询 + * @return 资产维修/保养记录分页 + */ + IPage getPropertyKeepPage(PropertyKeepReqVO pageReqVO); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyPosService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyPosService.java new file mode 100644 index 00000000..c80de4a9 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyPosService.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.custom.service; + +import cn.iocoder.yudao.module.custom.entity.PropertyPosDO; +import cn.iocoder.yudao.module.custom.vo.PropertyPosReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyPosRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 企业管理-资产存放位置 Service 接口 + * + * @author vinjor-m + */ +public interface PropertyPosService extends IService { + + /** + * 创建企业管理-资产存放位置 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createPropertyPos(PropertyPosReqVO createReqVO); + + /** + * 更新企业管理-资产存放位置 + * + * @param updateReqVO 更新信息 + */ + void updatePropertyPos(PropertyPosReqVO updateReqVO); + + /** + * 删除企业管理-资产存放位置 + * + * @param id 编号 + */ + void deletePropertyPos(String id); + + /** + * 获得企业管理-资产存放位置 + * + * @param id 编号 + * @return 企业管理-资产存放位置 + */ + PropertyPosDO getPropertyPos(String id); + + /** + * 获得企业管理-资产存放位置分页 + * + * @param pageReqVO 分页查询 + * @return 企业管理-资产存放位置分页 + */ + IPage getPropertyPosPage(PropertyPosReqVO pageReqVO); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyService.java new file mode 100644 index 00000000..3bc25573 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/PropertyService.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.custom.service; + +import cn.iocoder.yudao.module.custom.entity.Property; +import cn.iocoder.yudao.module.custom.vo.PropertyReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 企业管理-资产 Service 接口 + * + * @author 后台管理员 + */ +public interface PropertyService extends IService { + + /** + * 创建企业管理-资产 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createProperty(PropertyReqVO createReqVO); + + /** + * 更新企业管理-资产 + * + * @param updateReqVO 更新信息 + */ + void updateProperty(PropertyReqVO updateReqVO); + + /** + * 删除企业管理-资产 + * + * @param id 编号 + */ + void deleteProperty(String id); + + /** + * 获得企业管理-资产 + * + * @param id 编号 + * @return 企业管理-资产 + */ + Property getProperty(String id); + + /** + * 获得企业管理-资产分页 + * + * @param pageReqVO 分页查询 + * @return 企业管理-资产分页 + */ + IPage getPropertyPage(PropertyReqVO pageReqVO); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CarMainServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CarMainServiceImpl.java index 95a9b6e5..f7c567d4 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CarMainServiceImpl.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CarMainServiceImpl.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.custom.service.impl; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.custom.entity.CarMain; import cn.iocoder.yudao.module.custom.entity.CustomerCar; import cn.iocoder.yudao.module.custom.mapper.CarMainMapper; @@ -18,7 +19,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import javax.annotation.Resource; import java.time.LocalDateTime; @@ -74,9 +74,10 @@ public class CarMainServiceImpl extends ServiceImpl impl if(brandAndModel.size()>1){ //填入了型号 carMain.setCarModel(brandAndModel.get(1)); + }else { + carMain.setCarModel(""); } - - + //todo 计算下次保养时间,下次保养里程,下次年检时间,保险到期时间 baseMapper.insert(carMain); // 返回 return CommonResult.success("新增成功"); @@ -109,7 +110,10 @@ public class CarMainServiceImpl extends ServiceImpl impl if(brandAndModel.size()>1){ //填入了型号 carMain.setCarModel(brandAndModel.get(1)); + }else { + carMain.setCarModel(""); } + //todo 计算下次保养时间,下次保养里程,下次年检时间,保险到期时间 baseMapper.updateById(carMain); return CommonResult.success("修改成功"); } @@ -285,6 +289,4 @@ public class CarMainServiceImpl extends ServiceImpl impl } - - } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyDealItemServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyDealItemServiceImpl.java new file mode 100644 index 00000000..1f4599ec --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyDealItemServiceImpl.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.custom.service.impl; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.custom.entity.PropertyDealItemDO; +import cn.iocoder.yudao.module.custom.mapper.PropertyDealItemMapper; +import cn.iocoder.yudao.module.custom.service.PropertyDealItemService; +import cn.iocoder.yudao.module.custom.vo.PropertyDealItemReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealItemRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +/** + * 企业管理-资产处置子 Service 实现类 + * + * @author 后台管理员 + */ +@Service +@Validated +public class PropertyDealItemServiceImpl extends ServiceImpl implements PropertyDealItemService { + + @Override + public String createPropertyDealItem(PropertyDealItemReqVO createReqVO) { + // 插入 + PropertyDealItemDO propertyDealItem = BeanUtils.toBean(createReqVO, PropertyDealItemDO.class); + baseMapper.insert(propertyDealItem); + // 返回 + return propertyDealItem.getId(); + } + + @Override + public void updatePropertyDealItem(PropertyDealItemReqVO updateReqVO) { + // 更新 + PropertyDealItemDO updateObj = BeanUtils.toBean(updateReqVO, PropertyDealItemDO.class); + baseMapper.updateById(updateObj); + } + + @Override + public void deletePropertyDealItem(String id) { + // 删除 + baseMapper.deleteById(id); + } + + + @Override + public PropertyDealItemDO getPropertyDealItem(String id) { + return baseMapper.selectById(id); + } + + @Override + public IPage getPropertyDealItemPage(PropertyDealItemReqVO pageReqVO) { + return baseMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyDealServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyDealServiceImpl.java new file mode 100644 index 00000000..8f7f0b2f --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyDealServiceImpl.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.custom.service.impl; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.custom.entity.PropertyDealDO; +import cn.iocoder.yudao.module.custom.mapper.PropertyDealMapper; +import cn.iocoder.yudao.module.custom.service.PropertyDealService; +import cn.iocoder.yudao.module.custom.vo.PropertyDealReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyDealRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + + +/** + * 企业管理-资产处置单/变动单 Service 实现类 + * + * @author 后台管理员 + */ +@Service +@Validated +public class PropertyDealServiceImpl extends ServiceImpl implements PropertyDealService { + + @Override + public String createPropertyDeal(PropertyDealReqVO createReqVO) { + // 插入 + PropertyDealDO propertyDeal = BeanUtils.toBean(createReqVO, PropertyDealDO.class); + baseMapper.insert(propertyDeal); + // 返回 + return propertyDeal.getId(); + } + + @Override + public void updatePropertyDeal(PropertyDealReqVO updateReqVO) { + // 更新 + PropertyDealDO updateObj = BeanUtils.toBean(updateReqVO, PropertyDealDO.class); + baseMapper.updateById(updateObj); + } + + @Override + public void deletePropertyDeal(String id) { + // 删除 + baseMapper.deleteById(id); + } + + + @Override + public PropertyDealDO getPropertyDeal(String id) { + return baseMapper.selectById(id); + } + + @Override + public IPage getPropertyDealPage(PropertyDealReqVO pageReqVO) { + return baseMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyKeepServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyKeepServiceImpl.java new file mode 100644 index 00000000..bc246af9 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyKeepServiceImpl.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.custom.service.impl; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.custom.entity.PropertyKeep; +import cn.iocoder.yudao.module.custom.mapper.PropertyKeepMapper; +import cn.iocoder.yudao.module.custom.service.PropertyKeepService; +import cn.iocoder.yudao.module.custom.vo.PropertyKeepReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyKeepRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +/** + * 资产维修/保养记录 Service 实现类 + * + * @author 后台管理员 + */ +@Service +@Validated +public class PropertyKeepServiceImpl extends ServiceImpl implements PropertyKeepService { + + @Override + public String createPropertyKeep(PropertyKeepReqVO createReqVO) { + // 插入 + PropertyKeep propertyKeep = BeanUtils.toBean(createReqVO, PropertyKeep.class); + baseMapper.insert(propertyKeep); + // 返回 + return propertyKeep.getId(); + } + + @Override + public void updatePropertyKeep(PropertyKeepReqVO updateReqVO) { + // 更新 + PropertyKeep updateObj = BeanUtils.toBean(updateReqVO, PropertyKeep.class); + baseMapper.updateById(updateObj); + } + + @Override + public void deletePropertyKeep(String id) { + // 删除 + baseMapper.deleteById(id); + } + + + @Override + public PropertyKeep getPropertyKeep(String id) { + return baseMapper.selectById(id); + } + + @Override + public IPage getPropertyKeepPage(PropertyKeepReqVO pageReqVO) { + return baseMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyPosServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyPosServiceImpl.java new file mode 100644 index 00000000..91750cc8 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyPosServiceImpl.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.custom.service.impl; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.custom.entity.PropertyPosDO; +import cn.iocoder.yudao.module.custom.mapper.PropertyPosMapper; +import cn.iocoder.yudao.module.custom.service.PropertyPosService; +import cn.iocoder.yudao.module.custom.vo.PropertyPosReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyPosRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +/** + * 企业管理-资产存放位置 Service 实现类 + * + * @author vinjor-m + */ +@Service +@Validated +public class PropertyPosServiceImpl extends ServiceImpl implements PropertyPosService { + + @Override + public String createPropertyPos(PropertyPosReqVO createReqVO) { + // 插入 + PropertyPosDO propertyPos = BeanUtils.toBean(createReqVO, PropertyPosDO.class); + baseMapper.insert(propertyPos); + // 返回 + return propertyPos.getId(); + } + + @Override + public void updatePropertyPos(PropertyPosReqVO updateReqVO) { + // 更新 + PropertyPosDO updateObj = BeanUtils.toBean(updateReqVO, PropertyPosDO.class); + baseMapper.updateById(updateObj); + } + + @Override + public void deletePropertyPos(String id) { + // 删除 + baseMapper.deleteById(id); + } + + + + @Override + public PropertyPosDO getPropertyPos(String id) { + return baseMapper.selectById(id); + } + + @Override + public IPage getPropertyPosPage(PropertyPosReqVO pageReqVO) { + return baseMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyServiceImpl.java new file mode 100644 index 00000000..cf2767ec --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/PropertyServiceImpl.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.custom.service.impl; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.custom.entity.Property; +import cn.iocoder.yudao.module.custom.mapper.PropertyMapper; +import cn.iocoder.yudao.module.custom.service.PropertyService; +import cn.iocoder.yudao.module.custom.vo.PropertyReqVO; +import cn.iocoder.yudao.module.custom.vo.PropertyRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +/** + * 企业管理-资产 Service 实现类 + * + * @author 后台管理员 + */ +@Service +@Validated +public class PropertyServiceImpl extends ServiceImpl implements PropertyService { + + @Override + public String createProperty(PropertyReqVO createReqVO) { + // 插入 + Property property = BeanUtils.toBean(createReqVO, Property.class); + baseMapper.insert(property); + // 返回 + return property.getId(); + } + + @Override + public void updateProperty(PropertyReqVO updateReqVO) { + // 更新 + Property updateObj = BeanUtils.toBean(updateReqVO, Property.class); + baseMapper.updateById(updateObj); + } + + @Override + public void deleteProperty(String id) { + // 删除 + baseMapper.deleteById(id); + } + + @Override + public Property getProperty(String id) { + return baseMapper.selectById(id); + } + + @Override + public IPage getPropertyPage(PropertyReqVO pageReqVO) { + return baseMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealItemReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealItemReqVO.java new file mode 100644 index 00000000..38648b19 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealItemReqVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.custom.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.LocalDateTime; + +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 PropertyDealItemReqVO extends PageParam { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "18095") + private String id; + + @Schema(description = "处置单/变动单id", example = "12936") + private String dealId; + + @Schema(description = "资产id", example = "14421") + private String propertyId; + + @Schema(description = "处置方式") + private String dealWay; + + @Schema(description = "原企业id", example = "17291") + private String oldCorpId; + + @Schema(description = "调入企业id", example = "21009") + private String corpId; + + @Schema(description = "原部门id", example = "23846") + private Long oldDeptId; + + @Schema(description = "调入部门id", example = "3881") + private Long deptId; + + @Schema(description = "原存放地id", example = "8837") + private String oldPosId; + + @Schema(description = "调入存放地id", example = "28147") + private String posId; + + @Schema(description = "原使用人id", example = "23983") + private Long oldUserId; + + @Schema(description = "调入使用人id", example = "918") + private Long userId; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealItemRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealItemRespVO.java new file mode 100644 index 00000000..0a7fc4e9 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealItemRespVO.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.custom.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +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.time.LocalDateTime; + +@Schema(description = "管理后台 - 企业管理-资产处置子 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PropertyDealItemRespVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "18095") + @ExcelProperty("主键标识") + private String id; + + @Schema(description = "处置单/变动单id", example = "12936") + @ExcelProperty("处置单/变动单id") + private String dealId; + + @Schema(description = "资产id", example = "14421") + @ExcelProperty("资产id") + private String propertyId; + + @Schema(description = "处置方式") + @ExcelProperty(value = "处置方式", converter = DictConvert.class) + @DictFormat("company_deal_way") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private String dealWay; + + @Schema(description = "原企业id", example = "17291") + @ExcelProperty("原企业id") + private String oldCorpId; + + @Schema(description = "调入企业id", example = "21009") + @ExcelProperty("调入企业id") + private String corpId; + + @Schema(description = "原部门id", example = "23846") + @ExcelProperty("原部门id") + private Long oldDeptId; + + @Schema(description = "调入部门id", example = "3881") + @ExcelProperty("调入部门id") + private Long deptId; + + @Schema(description = "原存放地id", example = "8837") + @ExcelProperty("原存放地id") + private String oldPosId; + + @Schema(description = "调入存放地id", example = "28147") + @ExcelProperty("调入存放地id") + private String posId; + + @Schema(description = "原使用人id", example = "23983") + @ExcelProperty("原使用人id") + private Long oldUserId; + + @Schema(description = "调入使用人id", example = "918") + @ExcelProperty("调入使用人id") + private Long userId; + + @Schema(description = "备注", example = "你说的对") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealReqVO.java new file mode 100644 index 00000000..1cebdff3 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealReqVO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.custom.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 java.time.LocalDateTime; + +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 PropertyDealReqVO extends PageParam { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "18095") + private String id; + + @Schema(description = "企业id(base_company表中的id)", example = "21595") + private String corpId; + + @Schema(description = "部门id(system_dept表中的id,用来做数据权限控制)", example = "19510") + private Long deptId; + + @Schema(description = "数据类型", example = "1") + private String dataType; + + @Schema(description = "处置/变动单号") + private String dealNo; + + @Schema(description = "处置/变动日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] dealDate; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealRespVO.java new file mode 100644 index 00000000..27c5e635 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyDealRespVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.custom.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +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.time.LocalDate; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 企业管理-资产处置单/变动单 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PropertyDealRespVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "29577") + @ExcelProperty("主键标识") + private String id; + + @Schema(description = "企业id(base_company表中的id)", example = "21595") + @ExcelProperty("企业id(base_company表中的id)") + private String corpId; + + @Schema(description = "部门id(system_dept表中的id,用来做数据权限控制)", example = "19510") + @ExcelProperty("部门id(system_dept表中的id,用来做数据权限控制)") + private Long deptId; + + @Schema(description = "数据类型", example = "1") + @ExcelProperty(value = "数据类型", converter = DictConvert.class) + @DictFormat("property_data_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private String dataType; + + @Schema(description = "处置/变动单号") + @ExcelProperty("处置/变动单号") + private String dealNo; + + @Schema(description = "处置/变动日期") + @ExcelProperty("处置/变动日期") + private LocalDate dealDate; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyKeepReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyKeepReqVO.java new file mode 100644 index 00000000..451b1aee --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyKeepReqVO.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.custom.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 java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; + +@Schema(description = "管理后台 - 资产维修/保养记录分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PropertyKeepReqVO extends PageParam { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "22729") + private String id; + + @Schema(description = "资产id", example = "20917") + private String propertyId; + + @Schema(description = "维修/保养日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate keepDate; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "附件urls") + private String fileUrls; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyKeepRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyKeepRespVO.java new file mode 100644 index 00000000..af7b40ae --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyKeepRespVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.custom.vo; + +import cn.iocoder.yudao.module.custom.entity.Property; +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.time.LocalDateTime; + +@Schema(description = "管理后台 - 资产维修/保养记录 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PropertyKeepRespVO extends Property { + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyPosReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyPosReqVO.java new file mode 100644 index 00000000..26ccf5cd --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyPosReqVO.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.custom.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.math.BigDecimal; +import java.time.LocalDateTime; + +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 PropertyPosReqVO extends PageParam { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "18095") + private String id; + + @Schema(description = "企业id(base_company表中的id)", example = "5018") + private String corpId; + + @Schema(description = "部门id(system_dept表中的id,用来做数据权限控制)", example = "25943") + private Long deptId; + + @Schema(description = "存放地名称", example = "王五") + private String posName; + + @Schema(description = "存放地地址") + private String address; + + @Schema(description = "面积") + private BigDecimal area; + + @Schema(description = "存放类型", example = "2") + private String depositType; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyPosRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyPosRespVO.java new file mode 100644 index 00000000..dd1605d7 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyPosRespVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.custom.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; + +@Schema(description = "管理后台 - 企业管理-资产存放位置 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PropertyPosRespVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "19336") + @ExcelProperty("主键标识") + private String id; + + @Schema(description = "企业id(base_company表中的id)", example = "5018") + @ExcelProperty("企业id(base_company表中的id)") + private String corpId; + + @Schema(description = "部门id(system_dept表中的id,用来做数据权限控制)", example = "25943") + @ExcelProperty("部门id(system_dept表中的id,用来做数据权限控制)") + private Long deptId; + + @Schema(description = "存放地名称", example = "王五") + @ExcelProperty("存放地名称") + private String posName; + + @Schema(description = "存放地地址") + @ExcelProperty("存放地地址") + private String address; + + @Schema(description = "面积") + @ExcelProperty("面积") + private BigDecimal area; + + @Schema(description = "存放类型", example = "2") + @ExcelProperty(value = "存放类型", converter = DictConvert.class) + @DictFormat("company_deposit_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private String depositType; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyReqVO.java new file mode 100644 index 00000000..117195ba --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyReqVO.java @@ -0,0 +1,115 @@ +package cn.iocoder.yudao.module.custom.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.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; + +@Schema(description = "管理后台 - 企业管理-资产分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PropertyReqVO extends PageParam { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "22729") + private String id; + + @Schema(description = "企业id", example = "9124") + private String corpId; + + @Schema(description = "部门id", example = "2480") + private Long deptId; + + @Schema(description = "存放位置", example = "7241") + private String posId; + + @Schema(description = "使用人id", example = "6217") + private String userId; + + @Schema(description = "资产编号") + private String propNo; + + @Schema(description = "资产名称", example = "芋艿") + private String propName; + + @Schema(description = "资产分类") + private String propCatg; + + @Schema(description = "预计使用年限") + private Integer useYear; + + @Schema(description = "价值类型", example = "01") + private String costType; + + @Schema(description = "资产数量") + private Integer propNum; + + @Schema(description = "资产原值(元)") + private BigDecimal costTotal; + + @Schema(description = "资产状态", example = "02") + private String propStatus; + + @Schema(description = "品牌") + private String brand; + + @Schema(description = "规格型号") + private String spec; + + @Schema(description = "生产厂家") + private String factory; + + @Schema(description = "出场序列号/编号") + private String serialNo; + + @Schema(description = "数量计量单位") + private String unit; + + @Schema(description = "取得日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate[] getDate; + + @Schema(description = "出厂日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate[] prodDate; + + @Schema(description = "供应商") + private String supplier; + + @Schema(description = "启用日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate[] openDate; + + @Schema(description = "净值(元)") + private BigDecimal netValue; + + @Schema(description = "凭证号") + private String voucherNo; + + @Schema(description = "维修/保养周期单位", example = "2") + private String keepCycleType; + + @Schema(description = "维修/保养周期") + private Integer keepCycle; + + @Schema(description = "上次维修/保养日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate[] lastKeepDate; + + @Schema(description = "下次维修/保养日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate[] nextKeepDate; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyRespVO.java new file mode 100644 index 00000000..2de03972 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/PropertyRespVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.custom.vo; + +import cn.iocoder.yudao.module.custom.entity.Property; +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.time.LocalDateTime; + +@Schema(description = "管理后台 - 企业管理-资产 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PropertyRespVO extends Property { + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/custom/PropertyDealItemMapper.xml b/dl-module-base/src/main/resources/mapper/custom/PropertyDealItemMapper.xml new file mode 100644 index 00000000..bf042fcb --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/custom/PropertyDealItemMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/custom/PropertyDealMapper.xml b/dl-module-base/src/main/resources/mapper/custom/PropertyDealMapper.xml new file mode 100644 index 00000000..2e486bde --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/custom/PropertyDealMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/custom/PropertyKeepMapper.xml b/dl-module-base/src/main/resources/mapper/custom/PropertyKeepMapper.xml new file mode 100644 index 00000000..51acf816 --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/custom/PropertyKeepMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/custom/PropertyMapper.xml b/dl-module-base/src/main/resources/mapper/custom/PropertyMapper.xml new file mode 100644 index 00000000..a9432c36 --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/custom/PropertyMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/custom/PropertyPosMapper.xml b/dl-module-base/src/main/resources/mapper/custom/PropertyPosMapper.xml new file mode 100644 index 00000000..319c0a54 --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/custom/PropertyPosMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/dl-module-company/pom.xml b/dl-module-company/pom.xml index 213828e7..8e45cd02 100644 --- a/dl-module-company/pom.xml +++ b/dl-module-company/pom.xml @@ -15,6 +15,12 @@ 点亮企业管理库 + + + cn.iocoder.boot + dl-module-base + ${revision} + cn.iocoder.boot yudao-module-system-api diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffChangeController.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffChangeController.java new file mode 100644 index 00000000..8f427a82 --- /dev/null +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffChangeController.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.staff.controller.admin; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.staff.entity.CompanyStaff; +import cn.iocoder.yudao.module.staff.service.CompanyStaffChangeService; +import cn.iocoder.yudao.module.staff.vo.CompanyStaffChangeRespVO; +import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; +import io.swagger.v3.oas.annotations.Operation; +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 java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +/** + * 企业管理-员工交接记录 控制层 + * @author 小李 + * @date 16:19 2024/8/8 +**/ +@RestController +@RequestMapping("/company/staffChange") +@Tag(name = "管理后台 - 企业管理 - 员工交接") +@Validated +public class CompanyStaffChangeController { + + @Resource + private CompanyStaffChangeService staffChangeService; + + @PostMapping("/create") + @Operation(summary = "创建企业管理-员工交接表信息") + @PreAuthorize("@ss.hasPermission('company:staff:change')") + public CommonResult createStaffChange(@RequestBody CompanyStaffChangeRespVO staffChangeRespVO){ + staffChangeService.createChangeStaff(staffChangeRespVO); + return CommonResult.ok(); + } + + /** + * 查询交接双方信息 + * @author 小李 + * @date 18:26 2024/8/8 + * @param id 接收方员工ID + **/ + @GetMapping("/changeItem") + @Operation(summary = "查询企业管理-员工交接表信息及交接双方") + @PreAuthorize("@ss.hasPermission('company:staff:query')") + public CommonResult getChangeStaff(@RequestParam("id") String id){ + return success(staffChangeService.getChangeStaff(id)); + } +} diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffController.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffController.java index 3df25b2c..fe3ced6a 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffController.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffController.java @@ -1,20 +1,20 @@ package cn.iocoder.yudao.module.staff.controller.admin; -import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.label.entity.Label; import cn.iocoder.yudao.module.staff.entity.CompanyStaff; import cn.iocoder.yudao.module.staff.service.CompanyStaffService; import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO; import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -22,7 +22,6 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -55,7 +54,7 @@ public class CompanyStaffController { @GetMapping("/page") @Operation(summary = "获得企业管理-员工信息表信息分页") @PreAuthorize("@ss.hasPermission('company:staff:query')") - public CommonResult> getCompanyPage(CompanyStaffReqVO pageReqVO, + public CommonResult> getCompanyStaffPage(CompanyStaffReqVO pageReqVO, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { Page page = new Page<>(pageNo, pageSize); @@ -71,7 +70,7 @@ public class CompanyStaffController { @PostMapping("/create") @Operation(summary = "创建企业管理-员工信息表信息") @PreAuthorize("@ss.hasPermission('company:staff:create')") - public CommonResult createCompany(@RequestBody CompanyStaffRespVO staffRespVO) { + public CommonResult createCompanyStaff(@RequestBody CompanyStaffRespVO staffRespVO) { staffService.saveStaff(staffRespVO); return CommonResult.ok(); } @@ -85,7 +84,7 @@ public class CompanyStaffController { @PutMapping("/update") @Operation(summary = "更新企业管理-员工信息表信息") @PreAuthorize("@ss.hasPermission('company:staff:update')") - public CommonResult updateCompany(@RequestBody CompanyStaffRespVO staffRespVO) { + public CommonResult updateCompanyStaff(@RequestBody CompanyStaffRespVO staffRespVO) { staffService.updateStaff(staffRespVO); return CommonResult.ok(); } @@ -100,7 +99,7 @@ public class CompanyStaffController { @Operation(summary = "删除企业管理-员工信息表信息") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('company:staff:delete')") - public CommonResult deleteCompany(@RequestParam("id") String id) { + public CommonResult deleteCompanyStaff(@RequestParam("id") String id) { staffService.deleteStaff(id); return success(true); } @@ -115,16 +114,13 @@ public class CompanyStaffController { @Operation(summary = "获得企业管理-员工信息表信息") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('company:staff:query')") - public CommonResult getCompany(@RequestParam("id") String id) { - CompanyStaff staff = staffService.getById(id); - CompanyStaffRespVO staffRespVO = BeanUtils.toBean(staff, CompanyStaffRespVO.class); - if(StringUtils.isNotEmpty(staffRespVO.getFileIds())){ - staffRespVO.setFileIdArray(Arrays.asList(staff.getFileIds().split(StrUtil.COMMA))); - } + public CommonResult getCompanyStaff(@RequestParam("id") String id) { + CompanyStaffRespVO staffRespVO = staffService.getCompanyStaffById(id); return success(staffRespVO); } /** + * 导出员工信息表 * @author 小李 * @date 18:01 2024/8/6 * @param pageReqVO 查询条件--暂时导出所有 @@ -134,7 +130,7 @@ public class CompanyStaffController { @Operation(summary = "导出企业管理-员工信息表 Excel") @PreAuthorize("@ss.hasPermission('company:staff:export')") @ApiAccessLog(operateType = EXPORT) - public void exportCompanyExcel(CompanyStaffReqVO pageReqVO, + public void exportCompanyStaffExcel(CompanyStaffReqVO pageReqVO, HttpServletResponse response) throws IOException { List list = staffService.list(); // 导出 Excel @@ -144,4 +140,25 @@ public class CompanyStaffController { columnWidthMap.put(10, 20); ExcelUtils.write(response, "企业信息表.xls", "数据", CompanyStaff.class, list,columnWidthMap); } + + /** + * 获取当前功能的标签 + * @author 小李 + * @date 14:59 2024/8/7 + **/ + @GetMapping("/labels") + public CommonResult> getLabels(){ + return success(staffService.getLabels()); + } + + /** + * 获取当前登录用户部门下所有员工信息 + * @author 小李 + * @date 15:54 2024/8/8 + **/ + @GetMapping("/list") + public CommonResult> getStaffList(){ + return success(staffService.getStaffList()); + } + } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/CompanyStaff.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/CompanyStaff.java index a9b64c98..dd33650a 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/CompanyStaff.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/CompanyStaff.java @@ -7,11 +7,13 @@ import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; -import java.time.LocalDate; +import java.util.Date; /** * 企业管理-员工信息实体 @@ -24,7 +26,7 @@ import java.time.LocalDate; @ExcelIgnoreUnannotated public class CompanyStaff extends TenantBaseDO { /** 主键标识 */ - @TableId(type = IdType.INPUT) + @TableId(type = IdType.ASSIGN_ID) private String id; /** 企业id(base_company表中的id) */ @@ -57,16 +59,20 @@ public class CompanyStaff extends TenantBaseDO { private String address; /** 工作日期 */ + @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd") @ExcelProperty("工作日期") - private LocalDate workDate; + private Date workDate; /** 工龄 */ @ExcelProperty("工龄") private BigDecimal workYear; /** 入职日期 */ + @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd") @ExcelProperty("入职日期") - private LocalDate joinedDate; + private Date joinedDate; /** 司龄 */ @ExcelProperty("司龄") @@ -84,6 +90,6 @@ public class CompanyStaff extends TenantBaseDO { @ExcelProperty("唯一推广码") private String uniqueCode; - /** 附件ids(infra_file表中的id,多个英文逗号拼接) */ - private String fileIds; + /** 附件urls(infra_file表中的url,多个英文逗号拼接) */ + private String fileUrls; } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/CompanyStaffChange.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/CompanyStaffChange.java new file mode 100644 index 00000000..3b46ed3a --- /dev/null +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/CompanyStaffChange.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.staff.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 企业管理-员工交接记录 + * @author 小李 + * @date 15:33 2024/8/8 +**/ +@TableName("company_staff_change") +@Data +@EqualsAndHashCode(callSuper = true) +public class CompanyStaffChange extends TenantBaseDO { + /** 主键标识 */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + /** 原用户id(system_users表的id) */ + private Long oldUserId; + + /** 新用户id(system_users表的id) */ + private Long newUserId; + + /** 交接时间 */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date changeTime; + + /** 附件urls(infra_file表中的url,多个英文逗号拼接) */ + private String fileUrls; + + /** 备注 */ + private String remark; +} diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/UniqueCode.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/UniqueCode.java new file mode 100644 index 00000000..9e3c231c --- /dev/null +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/entity/UniqueCode.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.staff.entity; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 唯一推广码使用记录表 + * @author 小李 + * @date 9:53 2024/8/8 +**/ + +@TableName("unique_code") +@Data +public class UniqueCode { + + /** 唯一推广码(须保证全平台唯一,规则:字母+数字;字母全大写) */ + private String uniqueCode; +} diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/CompanyStaffChangeMapper.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/CompanyStaffChangeMapper.java new file mode 100644 index 00000000..ae617b06 --- /dev/null +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/CompanyStaffChangeMapper.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.staff.mapper; + +import cn.iocoder.yudao.module.staff.entity.CompanyStaffChange; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 企业管理-员工交接记录 + * @author 小李 + * @date 15:38 2024/8/8 +**/ +@Mapper +public interface CompanyStaffChangeMapper extends BaseMapper { +} diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/CompanyStaffMapper.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/CompanyStaffMapper.java index 9c460e39..e411164f 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/CompanyStaffMapper.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/CompanyStaffMapper.java @@ -8,8 +8,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** * 企业管理-员工信息表 * @author 小李 diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/UniqueCodeMapper.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/UniqueCodeMapper.java new file mode 100644 index 00000000..7aae0d45 --- /dev/null +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/mapper/UniqueCodeMapper.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.staff.mapper; + +import cn.iocoder.yudao.module.staff.entity.UniqueCode; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 唯一推广码使用记录表 + * @author 小李 + * @date 9:56 2024/8/8 +**/ +@Mapper +public interface UniqueCodeMapper extends BaseMapper { +} diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/CompanyStaffChangeService.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/CompanyStaffChangeService.java new file mode 100644 index 00000000..1e7cd9e6 --- /dev/null +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/CompanyStaffChangeService.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.staff.service; + +import cn.iocoder.yudao.module.staff.entity.CompanyStaffChange; +import cn.iocoder.yudao.module.staff.vo.CompanyStaffChangeRespVO; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业管理-员工交接记录 接口 + * @author 小李 + * @date 15:40 2024/8/8 +**/ +public interface CompanyStaffChangeService extends IService { + + /** + * 创建交接记录 + * @author 小李 + * @date 16:15 2024/8/8 + * @param staffChangeRespVO + **/ + void createChangeStaff(CompanyStaffChangeRespVO staffChangeRespVO); + + /** + * 查询交接双方信息 + * @author 小李 + * @date 18:26 2024/8/8 + * @param id 接收方员工ID + **/ + CompanyStaffChangeRespVO getChangeStaff(String id); +} diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/CompanyStaffService.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/CompanyStaffService.java index 2112e331..1af50637 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/CompanyStaffService.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/CompanyStaffService.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.staff.service; import cn.iocoder.yudao.module.staff.entity.CompanyStaff; +import cn.iocoder.yudao.module.label.entity.Label; import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO; import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -8,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import javax.validation.Valid; +import java.util.List; /** * 企业管理-员工信息表 服务 @@ -47,4 +49,26 @@ public interface CompanyStaffService extends IService { * @param id 员工ID **/ void deleteStaff(String id); + + /** + * 获取当前功能的标签 + * @author 小李 + * @date 14:59 2024/8/7 + **/ + List