renqianlong 1 year ago
parent
commit
9094dc6973
50 changed files with 3184 additions and 0 deletions
  1. 112 0
      zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/certificate/StaffCertificateController.java
  2. 112 0
      zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/company/CompanyCertificateController.java
  3. 112 0
      zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/company/CompanyController.java
  4. 112 0
      zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/company/CompanyDepartmentController.java
  5. 112 0
      zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/company/CompanyUserController.java
  6. 61 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/bo/StaffCertificateAddBo.java
  7. 74 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/bo/StaffCertificateEditBo.java
  8. 73 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/bo/StaffCertificateQueryBo.java
  9. 60 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/domain/StaffCertificate.java
  10. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/mapper/StaffCertificateMapper.java
  11. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/service/IStaffCertificateService.java
  12. 110 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/service/impl/StaffCertificateServiceImpl.java
  13. 73 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/vo/StaffCertificateVo.java
  14. 83 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyAddBo.java
  15. 47 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyCertificateAddBo.java
  16. 54 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyCertificateEditBo.java
  17. 58 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyCertificateQueryBo.java
  18. 58 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyDepartmentAddBo.java
  19. 70 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyDepartmentEditBo.java
  20. 70 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyDepartmentQueryBo.java
  21. 102 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyEditBo.java
  22. 94 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyQueryBo.java
  23. 39 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyUserAddBo.java
  24. 45 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyUserEditBo.java
  25. 51 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyUserQueryBo.java
  26. 74 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/domain/Company.java
  27. 49 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/domain/CompanyCertificate.java
  28. 57 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/domain/CompanyDepartment.java
  29. 43 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/domain/CompanyUser.java
  30. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/mapper/CompanyCertificateMapper.java
  31. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/mapper/CompanyDepartmentMapper.java
  32. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/mapper/CompanyMapper.java
  33. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/mapper/CompanyUserMapper.java
  34. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/ICompanyCertificateService.java
  35. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/ICompanyDepartmentService.java
  36. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/ICompanyService.java
  37. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/ICompanyUserService.java
  38. 105 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/impl/CompanyCertificateServiceImpl.java
  39. 109 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/impl/CompanyDepartmentServiceImpl.java
  40. 133 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/impl/CompanyServiceImpl.java
  41. 102 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/impl/CompanyUserServiceImpl.java
  42. 54 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/vo/CompanyCertificateVo.java
  43. 73 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/vo/CompanyDepartmentVo.java
  44. 43 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/vo/CompanyUserVo.java
  45. 107 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/company/vo/CompanyVo.java
  46. 26 0
      zhongzheng-system/src/main/resources/mapper/modules/certificate/StaffCertificateMapper.xml
  47. 21 0
      zhongzheng-system/src/main/resources/mapper/modules/company/CompanyCertificateMapper.xml
  48. 25 0
      zhongzheng-system/src/main/resources/mapper/modules/company/CompanyDepartmentMapper.xml
  49. 33 0
      zhongzheng-system/src/main/resources/mapper/modules/company/CompanyMapper.xml
  50. 18 0
      zhongzheng-system/src/main/resources/mapper/modules/company/CompanyUserMapper.xml

+ 112 - 0
zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/certificate/StaffCertificateController.java

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.certificate;
+
+import java.util.List;
+import java.util.Arrays;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.certificate.vo.StaffCertificateVo;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateQueryBo;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateAddBo;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateEditBo;
+import com.zhongzheng.modules.certificate.service.IStaffCertificateService;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 员工证书Controller
+ * 
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Api(value = "员工证书控制器", tags = {"员工证书管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/staff/certificate")
+public class StaffCertificateController extends BaseController {
+
+    private final IStaffCertificateService iStaffCertificateService;
+
+    /**
+     * 查询员工证书列表
+     */
+    @ApiOperation("查询员工证书列表")
+    @PreAuthorize("@ss.hasPermi('system:certificate:list')")
+    @GetMapping("/list")
+    public TableDataInfo<StaffCertificateVo> list(StaffCertificateQueryBo bo) {
+        startPage();
+        List<StaffCertificateVo> list = iStaffCertificateService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出员工证书列表
+     */
+    @ApiOperation("导出员工证书列表")
+    @PreAuthorize("@ss.hasPermi('system:certificate:export')")
+    @Log(title = "员工证书", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<StaffCertificateVo> export(StaffCertificateQueryBo bo) {
+        List<StaffCertificateVo> list = iStaffCertificateService.queryList(bo);
+        ExcelUtil<StaffCertificateVo> util = new ExcelUtil<StaffCertificateVo>(StaffCertificateVo.class);
+        return util.exportExcel(list, "员工证书");
+    }
+
+    /**
+     * 获取员工证书详细信息
+     */
+    @ApiOperation("获取员工证书详细信息")
+    @PreAuthorize("@ss.hasPermi('system:certificate:query')")
+    @GetMapping("/{certificateId}")
+    public AjaxResult<StaffCertificateVo> getInfo(@PathVariable("certificateId" ) Long certificateId) {
+        return AjaxResult.success(iStaffCertificateService.queryById(certificateId));
+    }
+
+    /**
+     * 新增员工证书
+     */
+    @ApiOperation("新增员工证书")
+    @PreAuthorize("@ss.hasPermi('system:certificate:add')")
+    @Log(title = "员工证书", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody StaffCertificateAddBo bo) {
+        return toAjax(iStaffCertificateService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改员工证书
+     */
+    @ApiOperation("修改员工证书")
+    @PreAuthorize("@ss.hasPermi('system:certificate:edit')")
+    @Log(title = "员工证书", businessType = BusinessType.UPDATE)
+    @PutMapping()
+    public AjaxResult<Void> edit(@RequestBody StaffCertificateEditBo bo) {
+        return toAjax(iStaffCertificateService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除员工证书
+     */
+    @ApiOperation("删除员工证书")
+    @PreAuthorize("@ss.hasPermi('system:certificate:remove')")
+    @Log(title = "员工证书" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{certificateIds}")
+    public AjaxResult<Void> remove(@PathVariable Long[] certificateIds) {
+        return toAjax(iStaffCertificateService.deleteWithValidByIds(Arrays.asList(certificateIds), true) ? 1 : 0);
+    }
+}

+ 112 - 0
zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/company/CompanyCertificateController.java

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.company;
+
+import java.util.List;
+import java.util.Arrays;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.company.vo.CompanyCertificateVo;
+import com.zhongzheng.modules.company.bo.CompanyCertificateQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyCertificateAddBo;
+import com.zhongzheng.modules.company.bo.CompanyCertificateEditBo;
+import com.zhongzheng.modules.company.service.ICompanyCertificateService;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 企业证书Controller
+ * 
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Api(value = "企业证书控制器", tags = {"企业证书管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/system/certificate")
+public class CompanyCertificateController extends BaseController {
+
+    private final ICompanyCertificateService iCompanyCertificateService;
+
+    /**
+     * 查询企业证书列表
+     */
+    @ApiOperation("查询企业证书列表")
+    @PreAuthorize("@ss.hasPermi('system:certificate:list')")
+    @GetMapping("/list")
+    public TableDataInfo<CompanyCertificateVo> list(CompanyCertificateQueryBo bo) {
+        startPage();
+        List<CompanyCertificateVo> list = iCompanyCertificateService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出企业证书列表
+     */
+    @ApiOperation("导出企业证书列表")
+    @PreAuthorize("@ss.hasPermi('system:certificate:export')")
+    @Log(title = "企业证书", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<CompanyCertificateVo> export(CompanyCertificateQueryBo bo) {
+        List<CompanyCertificateVo> list = iCompanyCertificateService.queryList(bo);
+        ExcelUtil<CompanyCertificateVo> util = new ExcelUtil<CompanyCertificateVo>(CompanyCertificateVo.class);
+        return util.exportExcel(list, "企业证书");
+    }
+
+    /**
+     * 获取企业证书详细信息
+     */
+    @ApiOperation("获取企业证书详细信息")
+    @PreAuthorize("@ss.hasPermi('system:certificate:query')")
+    @GetMapping("/{certificateId}")
+    public AjaxResult<CompanyCertificateVo> getInfo(@PathVariable("certificateId" ) Long certificateId) {
+        return AjaxResult.success(iCompanyCertificateService.queryById(certificateId));
+    }
+
+    /**
+     * 新增企业证书
+     */
+    @ApiOperation("新增企业证书")
+    @PreAuthorize("@ss.hasPermi('system:certificate:add')")
+    @Log(title = "企业证书", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody CompanyCertificateAddBo bo) {
+        return toAjax(iCompanyCertificateService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改企业证书
+     */
+    @ApiOperation("修改企业证书")
+    @PreAuthorize("@ss.hasPermi('system:certificate:edit')")
+    @Log(title = "企业证书", businessType = BusinessType.UPDATE)
+    @PutMapping()
+    public AjaxResult<Void> edit(@RequestBody CompanyCertificateEditBo bo) {
+        return toAjax(iCompanyCertificateService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除企业证书
+     */
+    @ApiOperation("删除企业证书")
+    @PreAuthorize("@ss.hasPermi('system:certificate:remove')")
+    @Log(title = "企业证书" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{certificateIds}")
+    public AjaxResult<Void> remove(@PathVariable Long[] certificateIds) {
+        return toAjax(iCompanyCertificateService.deleteWithValidByIds(Arrays.asList(certificateIds), true) ? 1 : 0);
+    }
+}

+ 112 - 0
zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/company/CompanyController.java

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.company;
+
+import java.util.List;
+import java.util.Arrays;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.company.vo.CompanyVo;
+import com.zhongzheng.modules.company.bo.CompanyQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyAddBo;
+import com.zhongzheng.modules.company.bo.CompanyEditBo;
+import com.zhongzheng.modules.company.service.ICompanyService;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 企业Controller
+ * 
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Api(value = "企业控制器", tags = {"企业管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/system/company")
+public class CompanyController extends BaseController {
+
+    private final ICompanyService iCompanyService;
+
+    /**
+     * 查询企业列表
+     */
+    @ApiOperation("查询企业列表")
+    @PreAuthorize("@ss.hasPermi('system:company:list')")
+    @GetMapping("/list")
+    public TableDataInfo<CompanyVo> list(CompanyQueryBo bo) {
+        startPage();
+        List<CompanyVo> list = iCompanyService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出企业列表
+     */
+    @ApiOperation("导出企业列表")
+    @PreAuthorize("@ss.hasPermi('system:company:export')")
+    @Log(title = "企业", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<CompanyVo> export(CompanyQueryBo bo) {
+        List<CompanyVo> list = iCompanyService.queryList(bo);
+        ExcelUtil<CompanyVo> util = new ExcelUtil<CompanyVo>(CompanyVo.class);
+        return util.exportExcel(list, "企业");
+    }
+
+    /**
+     * 获取企业详细信息
+     */
+    @ApiOperation("获取企业详细信息")
+    @PreAuthorize("@ss.hasPermi('system:company:query')")
+    @GetMapping("/{companyId}")
+    public AjaxResult<CompanyVo> getInfo(@PathVariable("companyId" ) Long companyId) {
+        return AjaxResult.success(iCompanyService.queryById(companyId));
+    }
+
+    /**
+     * 新增企业
+     */
+    @ApiOperation("新增企业")
+    @PreAuthorize("@ss.hasPermi('system:company:add')")
+    @Log(title = "企业", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody CompanyAddBo bo) {
+        return toAjax(iCompanyService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改企业
+     */
+    @ApiOperation("修改企业")
+    @PreAuthorize("@ss.hasPermi('system:company:edit')")
+    @Log(title = "企业", businessType = BusinessType.UPDATE)
+    @PutMapping()
+    public AjaxResult<Void> edit(@RequestBody CompanyEditBo bo) {
+        return toAjax(iCompanyService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除企业
+     */
+    @ApiOperation("删除企业")
+    @PreAuthorize("@ss.hasPermi('system:company:remove')")
+    @Log(title = "企业" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{companyIds}")
+    public AjaxResult<Void> remove(@PathVariable Long[] companyIds) {
+        return toAjax(iCompanyService.deleteWithValidByIds(Arrays.asList(companyIds), true) ? 1 : 0);
+    }
+}

+ 112 - 0
zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/company/CompanyDepartmentController.java

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.company;
+
+import java.util.List;
+import java.util.Arrays;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.company.vo.CompanyDepartmentVo;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentAddBo;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentEditBo;
+import com.zhongzheng.modules.company.service.ICompanyDepartmentService;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 企业部门Controller
+ * 
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Api(value = "企业部门控制器", tags = {"企业部门管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/system/department")
+public class CompanyDepartmentController extends BaseController {
+
+    private final ICompanyDepartmentService iCompanyDepartmentService;
+
+    /**
+     * 查询企业部门列表
+     */
+    @ApiOperation("查询企业部门列表")
+    @PreAuthorize("@ss.hasPermi('system:department:list')")
+    @GetMapping("/list")
+    public TableDataInfo<CompanyDepartmentVo> list(CompanyDepartmentQueryBo bo) {
+        startPage();
+        List<CompanyDepartmentVo> list = iCompanyDepartmentService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出企业部门列表
+     */
+    @ApiOperation("导出企业部门列表")
+    @PreAuthorize("@ss.hasPermi('system:department:export')")
+    @Log(title = "企业部门", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<CompanyDepartmentVo> export(CompanyDepartmentQueryBo bo) {
+        List<CompanyDepartmentVo> list = iCompanyDepartmentService.queryList(bo);
+        ExcelUtil<CompanyDepartmentVo> util = new ExcelUtil<CompanyDepartmentVo>(CompanyDepartmentVo.class);
+        return util.exportExcel(list, "企业部门");
+    }
+
+    /**
+     * 获取企业部门详细信息
+     */
+    @ApiOperation("获取企业部门详细信息")
+    @PreAuthorize("@ss.hasPermi('system:department:query')")
+    @GetMapping("/{departmentId}")
+    public AjaxResult<CompanyDepartmentVo> getInfo(@PathVariable("departmentId" ) Long departmentId) {
+        return AjaxResult.success(iCompanyDepartmentService.queryById(departmentId));
+    }
+
+    /**
+     * 新增企业部门
+     */
+    @ApiOperation("新增企业部门")
+    @PreAuthorize("@ss.hasPermi('system:department:add')")
+    @Log(title = "企业部门", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody CompanyDepartmentAddBo bo) {
+        return toAjax(iCompanyDepartmentService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改企业部门
+     */
+    @ApiOperation("修改企业部门")
+    @PreAuthorize("@ss.hasPermi('system:department:edit')")
+    @Log(title = "企业部门", businessType = BusinessType.UPDATE)
+    @PutMapping()
+    public AjaxResult<Void> edit(@RequestBody CompanyDepartmentEditBo bo) {
+        return toAjax(iCompanyDepartmentService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除企业部门
+     */
+    @ApiOperation("删除企业部门")
+    @PreAuthorize("@ss.hasPermi('system:department:remove')")
+    @Log(title = "企业部门" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{departmentIds}")
+    public AjaxResult<Void> remove(@PathVariable Long[] departmentIds) {
+        return toAjax(iCompanyDepartmentService.deleteWithValidByIds(Arrays.asList(departmentIds), true) ? 1 : 0);
+    }
+}

+ 112 - 0
zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/company/CompanyUserController.java

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.company;
+
+import java.util.List;
+import java.util.Arrays;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.company.vo.CompanyUserVo;
+import com.zhongzheng.modules.company.bo.CompanyUserQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyUserAddBo;
+import com.zhongzheng.modules.company.bo.CompanyUserEditBo;
+import com.zhongzheng.modules.company.service.ICompanyUserService;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 企业用户Controller
+ * 
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+@Api(value = "企业用户控制器", tags = {"企业用户管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/system/user")
+public class CompanyUserController extends BaseController {
+
+    private final ICompanyUserService iCompanyUserService;
+
+    /**
+     * 查询企业用户列表
+     */
+    @ApiOperation("查询企业用户列表")
+    @PreAuthorize("@ss.hasPermi('system:user:list')")
+    @GetMapping("/list")
+    public TableDataInfo<CompanyUserVo> list(CompanyUserQueryBo bo) {
+        startPage();
+        List<CompanyUserVo> list = iCompanyUserService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出企业用户列表
+     */
+    @ApiOperation("导出企业用户列表")
+    @PreAuthorize("@ss.hasPermi('system:user:export')")
+    @Log(title = "企业用户", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<CompanyUserVo> export(CompanyUserQueryBo bo) {
+        List<CompanyUserVo> list = iCompanyUserService.queryList(bo);
+        ExcelUtil<CompanyUserVo> util = new ExcelUtil<CompanyUserVo>(CompanyUserVo.class);
+        return util.exportExcel(list, "企业用户");
+    }
+
+    /**
+     * 获取企业用户详细信息
+     */
+    @ApiOperation("获取企业用户详细信息")
+    @PreAuthorize("@ss.hasPermi('system:user:query')")
+    @GetMapping("/{userId}")
+    public AjaxResult<CompanyUserVo> getInfo(@PathVariable("userId" ) Long userId) {
+        return AjaxResult.success(iCompanyUserService.queryById(userId));
+    }
+
+    /**
+     * 新增企业用户
+     */
+    @ApiOperation("新增企业用户")
+    @PreAuthorize("@ss.hasPermi('system:user:add')")
+    @Log(title = "企业用户", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody CompanyUserAddBo bo) {
+        return toAjax(iCompanyUserService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改企业用户
+     */
+    @ApiOperation("修改企业用户")
+    @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    @Log(title = "企业用户", businessType = BusinessType.UPDATE)
+    @PutMapping()
+    public AjaxResult<Void> edit(@RequestBody CompanyUserEditBo bo) {
+        return toAjax(iCompanyUserService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除企业用户
+     */
+    @ApiOperation("删除企业用户")
+    @PreAuthorize("@ss.hasPermi('system:user:remove')")
+    @Log(title = "企业用户" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{userIds}")
+    public AjaxResult<Void> remove(@PathVariable Long[] userIds) {
+        return toAjax(iCompanyUserService.deleteWithValidByIds(Arrays.asList(userIds), true) ? 1 : 0);
+    }
+}

+ 61 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/bo/StaffCertificateAddBo.java

@@ -0,0 +1,61 @@
+package com.zhongzheng.modules.certificate.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 员工证书添加对象 staff_certificate
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("员工证书添加对象")
+public class StaffCertificateAddBo {
+    @ApiModelProperty("机构名称")
+    private String tenantId;
+    /** 公司id */
+    @ApiModelProperty("公司id")
+    private String companyId;
+    /** 用户id */
+    @ApiModelProperty("用户id")
+    private String userId;
+    /** 证书编号 */
+    @ApiModelProperty("证书编号")
+    private String certificateNumber;
+    /** 证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他 */
+    @ApiModelProperty("证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他")
+    private Integer certificateType;
+    /** 证书专业 */
+    @ApiModelProperty("证书专业")
+    private String certificateMajor;
+    /** 发证时间 */
+    @ApiModelProperty("发证时间")
+    private String startTime;
+    /** 有效时间 */
+    @ApiModelProperty("有效时间")
+    private String endTime;
+    /** 发证机关 */
+    @ApiModelProperty("发证机关")
+    private String certificateAddress;
+    /** 预警状态 1:正常 2:已过期 */
+    @ApiModelProperty("预警状态 1:正常 2:已过期")
+    private Integer warningStatus;
+    /** 证书预览 */
+    @ApiModelProperty("证书预览")
+    private String previewImg;
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+}

+ 74 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/bo/StaffCertificateEditBo.java

@@ -0,0 +1,74 @@
+package com.zhongzheng.modules.certificate.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 员工证书编辑对象 staff_certificate
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("员工证书编辑对象")
+public class StaffCertificateEditBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long certificateId;
+
+    @ApiModelProperty("机构名称")
+    private String tenantId;
+    /** 公司id */
+    @ApiModelProperty("公司id")
+    private String companyId;
+
+    /** 用户id */
+    @ApiModelProperty("用户id")
+    private String userId;
+
+    /** 证书编号 */
+    @ApiModelProperty("证书编号")
+    private String certificateNumber;
+
+    /** 证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他 */
+    @ApiModelProperty("证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他")
+    private Integer certificateType;
+
+    /** 证书专业 */
+    @ApiModelProperty("证书专业")
+    private String certificateMajor;
+
+    /** 发证时间 */
+    @ApiModelProperty("发证时间")
+    private String startTime;
+
+    /** 有效时间 */
+    @ApiModelProperty("有效时间")
+    private String endTime;
+
+    /** 发证机关 */
+    @ApiModelProperty("发证机关")
+    private String certificateAddress;
+
+    /** 预警状态 1:正常 2:已过期 */
+    @ApiModelProperty("预警状态 1:正常 2:已过期")
+    private Integer warningStatus;
+
+    /** 证书预览 */
+    @ApiModelProperty("证书预览")
+    private String previewImg;
+
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+
+}

+ 73 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/bo/StaffCertificateQueryBo.java

@@ -0,0 +1,73 @@
+package com.zhongzheng.modules.certificate.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 员工证书分页查询对象 staff_certificate
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("员工证书分页查询对象")
+public class StaffCertificateQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+	@ApiModelProperty("机构名称")
+	private String tenantId;
+	/** 公司id */
+	@ApiModelProperty("公司id")
+	private String companyId;
+	/** 用户id */
+	@ApiModelProperty("用户id")
+	private String userId;
+	/** 证书编号 */
+	@ApiModelProperty("证书编号")
+	private String certificateNumber;
+	/** 证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他 */
+	@ApiModelProperty("证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他")
+	private Integer certificateType;
+	/** 证书专业 */
+	@ApiModelProperty("证书专业")
+	private String certificateMajor;
+	/** 发证时间 */
+	@ApiModelProperty("发证时间")
+	private String startTime;
+	/** 有效时间 */
+	@ApiModelProperty("有效时间")
+	private String endTime;
+	/** 发证机关 */
+	@ApiModelProperty("发证机关")
+	private String certificateAddress;
+	/** 预警状态 1:正常 2:已过期 */
+	@ApiModelProperty("预警状态 1:正常 2:已过期")
+	private Integer warningStatus;
+	/** 证书预览 */
+	@ApiModelProperty("证书预览")
+	private String previewImg;
+	/** 1有效 0无效 */
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+}

+ 60 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/domain/StaffCertificate.java

@@ -0,0 +1,60 @@
+package com.zhongzheng.modules.certificate.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 员工证书对象 staff_certificate
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("staff_certificate")
+public class StaffCertificate implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "certificate_id")
+    private Long certificateId;
+    /** 机构名称 */
+    private String tenantId;
+    /** 公司id */
+    private String companyId;
+    /** 用户id */
+    private String userId;
+    /** 证书编号 */
+    private String certificateNumber;
+    /** 证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他 */
+    private Integer certificateType;
+    /** 证书专业 */
+    private String certificateMajor;
+    /** 发证时间 */
+    private String startTime;
+    /** 有效时间 */
+    private String endTime;
+    /** 发证机关 */
+    private String certificateAddress;
+    /** 预警状态 1:正常 2:已过期 */
+    private Integer warningStatus;
+    /** 证书预览 */
+    private String previewImg;
+    /** 1有效 0无效 */
+    private Integer status;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 更新时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/mapper/StaffCertificateMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.certificate.mapper;
+
+import com.zhongzheng.modules.certificate.domain.StaffCertificate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 员工证书Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+public interface StaffCertificateMapper extends BaseMapper<StaffCertificate> {
+
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/service/IStaffCertificateService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.certificate.service;
+
+import com.zhongzheng.modules.certificate.domain.StaffCertificate;
+import com.zhongzheng.modules.certificate.vo.StaffCertificateVo;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateQueryBo;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateAddBo;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 员工证书Service接口
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+public interface IStaffCertificateService extends IService<StaffCertificate> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	StaffCertificateVo queryById(Long certificateId);
+
+	/**
+	 * 查询列表
+	 */
+	List<StaffCertificateVo> queryList(StaffCertificateQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入员工证书
+	 * @param bo 员工证书新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(StaffCertificateAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改员工证书
+	 * @param bo 员工证书编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(StaffCertificateEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 110 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/service/impl/StaffCertificateServiceImpl.java

@@ -0,0 +1,110 @@
+package com.zhongzheng.modules.certificate.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateAddBo;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateQueryBo;
+import com.zhongzheng.modules.certificate.bo.StaffCertificateEditBo;
+import com.zhongzheng.modules.certificate.domain.StaffCertificate;
+import com.zhongzheng.modules.certificate.mapper.StaffCertificateMapper;
+import com.zhongzheng.modules.certificate.vo.StaffCertificateVo;
+import com.zhongzheng.modules.certificate.service.IStaffCertificateService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 员工证书Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Service
+public class StaffCertificateServiceImpl extends ServiceImpl<StaffCertificateMapper, StaffCertificate> implements IStaffCertificateService {
+
+    @Override
+    public StaffCertificateVo queryById(Long certificateId){
+        StaffCertificate db = this.baseMapper.selectById(certificateId);
+        return BeanUtil.toBean(db, StaffCertificateVo.class);
+    }
+
+    @Override
+    public List<StaffCertificateVo> queryList(StaffCertificateQueryBo bo) {
+        LambdaQueryWrapper<StaffCertificate> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getCompanyId()), StaffCertificate::getCompanyId, bo.getCompanyId());
+        lqw.eq(StrUtil.isNotBlank(bo.getTenantId()), StaffCertificate::getTenantId, bo.getTenantId());
+        lqw.eq(StrUtil.isNotBlank(bo.getUserId()), StaffCertificate::getUserId, bo.getUserId());
+        lqw.eq(StrUtil.isNotBlank(bo.getCertificateNumber()), StaffCertificate::getCertificateNumber, bo.getCertificateNumber());
+        lqw.eq(bo.getCertificateType() != null, StaffCertificate::getCertificateType, bo.getCertificateType());
+        lqw.eq(StrUtil.isNotBlank(bo.getCertificateMajor()), StaffCertificate::getCertificateMajor, bo.getCertificateMajor());
+        lqw.eq(StrUtil.isNotBlank(bo.getStartTime()), StaffCertificate::getStartTime, bo.getStartTime());
+        lqw.eq(StrUtil.isNotBlank(bo.getEndTime()), StaffCertificate::getEndTime, bo.getEndTime());
+        lqw.eq(StrUtil.isNotBlank(bo.getCertificateAddress()), StaffCertificate::getCertificateAddress, bo.getCertificateAddress());
+        lqw.eq(bo.getWarningStatus() != null, StaffCertificate::getWarningStatus, bo.getWarningStatus());
+        lqw.eq(StrUtil.isNotBlank(bo.getPreviewImg()), StaffCertificate::getPreviewImg, bo.getPreviewImg());
+        lqw.eq(bo.getStatus() != null, StaffCertificate::getStatus, bo.getStatus());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<StaffCertificateVo> entity2Vo(Collection<StaffCertificate> collection) {
+        List<StaffCertificateVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, StaffCertificateVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<StaffCertificate> page = (Page<StaffCertificate>)collection;
+            Page<StaffCertificateVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(StaffCertificateAddBo bo) {
+        StaffCertificate add = BeanUtil.toBean(bo, StaffCertificate.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(StaffCertificateEditBo bo) {
+        StaffCertificate update = BeanUtil.toBean(bo, StaffCertificate.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(StaffCertificate entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 73 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/certificate/vo/StaffCertificateVo.java

@@ -0,0 +1,73 @@
+package com.zhongzheng.modules.certificate.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 员工证书视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("员工证书视图对象")
+public class StaffCertificateVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long certificateId;
+	@Excel(name = "机构id")
+	@ApiModelProperty("机构名称")
+	private String tenantId;
+	/** 公司id */
+	@Excel(name = "公司id")
+	@ApiModelProperty("公司id")
+	private String companyId;
+	/** 用户id */
+	@Excel(name = "用户id")
+	@ApiModelProperty("用户id")
+	private String userId;
+	/** 证书编号 */
+	@Excel(name = "证书编号")
+	@ApiModelProperty("证书编号")
+	private String certificateNumber;
+	/** 证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他 */
+	@Excel(name = "证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他")
+	@ApiModelProperty("证书类型 1:注册证书 2:技术职称 3:线程管理 4:安管三类 5:职业技能 6:待种作业 7:其他")
+	private Integer certificateType;
+	/** 证书专业 */
+	@Excel(name = "证书专业")
+	@ApiModelProperty("证书专业")
+	private String certificateMajor;
+	/** 发证时间 */
+	@Excel(name = "发证时间")
+	@ApiModelProperty("发证时间")
+	private String startTime;
+	/** 有效时间 */
+	@Excel(name = "有效时间")
+	@ApiModelProperty("有效时间")
+	private String endTime;
+	/** 发证机关 */
+	@Excel(name = "发证机关")
+	@ApiModelProperty("发证机关")
+	private String certificateAddress;
+	/** 预警状态 1:正常 2:已过期 */
+	@Excel(name = "预警状态 1:正常 2:已过期")
+	@ApiModelProperty("预警状态 1:正常 2:已过期")
+	private Integer warningStatus;
+	/** 证书预览 */
+	@Excel(name = "证书预览")
+	@ApiModelProperty("证书预览")
+	private String previewImg;
+	/** 1有效 0无效 */
+	@Excel(name = "1有效 0无效")
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+}

+ 83 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyAddBo.java

@@ -0,0 +1,83 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 企业添加对象 company
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业添加对象")
+public class CompanyAddBo {
+
+    /** 企业名称 */
+    @ApiModelProperty("企业名称")
+    private String companyName;
+    @ApiModelProperty("机构名称")
+    private String tenantId;
+    /** 企业信用代码 */
+    @ApiModelProperty("企业信用代码")
+    private String creditCode;
+    /** 企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业 */
+    @ApiModelProperty("企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业")
+    private Long companyType;
+    /** 注册资本 */
+    @ApiModelProperty("注册资本")
+    private Long registeredCapital;
+    /** 法定代表人 */
+    @ApiModelProperty("法定代表人")
+    private String legalRepresentative;
+    /** 企业地址 */
+    @ApiModelProperty("企业地址")
+    private String companyAddress;
+    /** 成立日期 */
+    @ApiModelProperty("成立日期")
+    private Long establishDate;
+    /** 营业日期 */
+    @ApiModelProperty("营业日期")
+    private Long operateDate;
+    /** 登记机关 */
+    @ApiModelProperty("登记机关")
+    private String registrationAuthority;
+    /** 经验范围 */
+    @ApiModelProperty("经验范围")
+    private String experienceScope;
+    /** 企业联系人 */
+    @ApiModelProperty("企业联系人")
+    private String companyContacts;
+    /** 企业联系电话 */
+    @ApiModelProperty("企业联系电话")
+    private String contactPhone;
+    /** 所在部门 */
+    @ApiModelProperty("所在部门")
+    private String department;
+    /** 所在岗位 */
+    @ApiModelProperty("所在岗位")
+    private String position;
+    /** 企业备注 */
+    @ApiModelProperty("企业备注")
+    private String companyRemarks;
+    /** 级别 1:总公司 2:分公司 */
+    @ApiModelProperty("级别 1:总公司 2:分公司")
+    private Long companyLevel;
+    /** 企业父级id */
+    @ApiModelProperty("企业父级id")
+    private String fatherId;
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+}

+ 47 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyCertificateAddBo.java

@@ -0,0 +1,47 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 企业证书添加对象 company_certificate
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业证书添加对象")
+public class CompanyCertificateAddBo {
+
+    /** 公司id */
+    @ApiModelProperty("公司id")
+    private String companyId;
+    @ApiModelProperty("机构名称")
+    private String tenantId;
+    /** 证书编号 */
+    @ApiModelProperty("证书编号")
+    private String certificateNumber;
+    /** 证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他 */
+    @ApiModelProperty("证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他")
+    private Integer certificateType;
+    /** 预警状态 1:正常 2:已过期 */
+    @ApiModelProperty("预警状态 1:正常 2:已过期")
+    private Integer warningStatus;
+    /** 预览 */
+    @ApiModelProperty("预览")
+    private String previewImg;
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+}

+ 54 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyCertificateEditBo.java

@@ -0,0 +1,54 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 企业证书编辑对象 company_certificate
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业证书编辑对象")
+public class CompanyCertificateEditBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long certificateId;
+    @ApiModelProperty("机构名称")
+    private String tenantId;
+
+    /** 公司id */
+    @ApiModelProperty("公司id")
+    private String companyId;
+
+    /** 证书编号 */
+    @ApiModelProperty("证书编号")
+    private String certificateNumber;
+
+    /** 证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他 */
+    @ApiModelProperty("证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他")
+    private Integer certificateType;
+
+    /** 预警状态 1:正常 2:已过期 */
+    @ApiModelProperty("预警状态 1:正常 2:已过期")
+    private Integer warningStatus;
+
+    /** 预览 */
+    @ApiModelProperty("预览")
+    private String previewImg;
+
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+
+}

+ 58 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyCertificateQueryBo.java

@@ -0,0 +1,58 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 企业证书分页查询对象 company_certificate
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("企业证书分页查询对象")
+public class CompanyCertificateQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+	@ApiModelProperty("机构名称")
+	private String tenantId;
+	/** 公司id */
+	@ApiModelProperty("公司id")
+	private String companyId;
+	/** 证书编号 */
+	@ApiModelProperty("证书编号")
+	private String certificateNumber;
+	/** 证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他 */
+	@ApiModelProperty("证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他")
+	private Integer certificateType;
+	/** 预警状态 1:正常 2:已过期 */
+	@ApiModelProperty("预警状态 1:正常 2:已过期")
+	private Integer warningStatus;
+	/** 预览 */
+	@ApiModelProperty("预览")
+	private String previewImg;
+	/** 1有效 0无效 */
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+}

+ 58 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyDepartmentAddBo.java

@@ -0,0 +1,58 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 企业部门添加对象 company_department
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业部门添加对象")
+public class CompanyDepartmentAddBo {
+    @ApiModelProperty("机构名称")
+    private String tenantId;
+    /** 公司id */
+    @ApiModelProperty("公司id")
+    private String companyId;
+    /** 部门名称 */
+    @ApiModelProperty("部门名称")
+    private String departmentName;
+    /** 部门类型 1:部门 2:子级 */
+    @ApiModelProperty("部门类型 1:部门 2:子级")
+    private Long departmentType;
+    /** 部门联系人 */
+    @ApiModelProperty("部门联系人")
+    private String registeredContacts;
+    /** 部门联系电话 */
+    @ApiModelProperty("部门联系电话")
+    private String departmentPhone;
+    /** 部门员工人数 */
+    @ApiModelProperty("部门员工人数")
+    private Long departmentNum;
+    /** 部门备注 */
+    @ApiModelProperty("部门备注")
+    private String departmentRemarks;
+    /** 部门父级id */
+    @ApiModelProperty("部门父级id")
+    private String departmentFartherId;
+    /** 部门级别 1:一级部门 */
+    @ApiModelProperty("部门级别 1:一级部门")
+    private Long departmentLevel;
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+}

+ 70 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyDepartmentEditBo.java

@@ -0,0 +1,70 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 企业部门编辑对象 company_department
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业部门编辑对象")
+public class CompanyDepartmentEditBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long departmentId;
+
+    @ApiModelProperty("机构名称")
+    private String tenantId;
+    /** 公司id */
+    @ApiModelProperty("公司id")
+    private String companyId;
+
+    /** 部门名称 */
+    @ApiModelProperty("部门名称")
+    private String departmentName;
+
+    /** 部门类型 1:部门 2:子级 */
+    @ApiModelProperty("部门类型 1:部门 2:子级")
+    private Long departmentType;
+
+    /** 部门联系人 */
+    @ApiModelProperty("部门联系人")
+    private String registeredContacts;
+
+    /** 部门联系电话 */
+    @ApiModelProperty("部门联系电话")
+    private String departmentPhone;
+
+    /** 部门员工人数 */
+    @ApiModelProperty("部门员工人数")
+    private Long departmentNum;
+
+    /** 部门备注 */
+    @ApiModelProperty("部门备注")
+    private String departmentRemarks;
+
+    /** 部门父级id */
+    @ApiModelProperty("部门父级id")
+    private String departmentFartherId;
+
+    /** 部门级别 1:一级部门 */
+    @ApiModelProperty("部门级别 1:一级部门")
+    private Long departmentLevel;
+
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+
+}

+ 70 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyDepartmentQueryBo.java

@@ -0,0 +1,70 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 企业部门分页查询对象 company_department
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("企业部门分页查询对象")
+public class CompanyDepartmentQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+	@ApiModelProperty("机构名称")
+	private String tenantId;
+	/** 公司id */
+	@ApiModelProperty("公司id")
+	private String companyId;
+	/** 部门名称 */
+	@ApiModelProperty("部门名称")
+	private String departmentName;
+	/** 部门类型 1:部门 2:子级 */
+	@ApiModelProperty("部门类型 1:部门 2:子级")
+	private Long departmentType;
+	/** 部门联系人 */
+	@ApiModelProperty("部门联系人")
+	private String registeredContacts;
+	/** 部门联系电话 */
+	@ApiModelProperty("部门联系电话")
+	private String departmentPhone;
+	/** 部门员工人数 */
+	@ApiModelProperty("部门员工人数")
+	private Long departmentNum;
+	/** 部门备注 */
+	@ApiModelProperty("部门备注")
+	private String departmentRemarks;
+	/** 部门父级id */
+	@ApiModelProperty("部门父级id")
+	private String departmentFartherId;
+	/** 部门级别 1:一级部门 */
+	@ApiModelProperty("部门级别 1:一级部门")
+	private Long departmentLevel;
+	/** 1有效 0无效 */
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+}

+ 102 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyEditBo.java

@@ -0,0 +1,102 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 企业编辑对象 company
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业编辑对象")
+public class CompanyEditBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long companyId;
+
+    @ApiModelProperty("机构名称")
+    private String tenantId;
+    /** 企业名称 */
+    @ApiModelProperty("企业名称")
+    private String companyName;
+
+    /** 企业信用代码 */
+    @ApiModelProperty("企业信用代码")
+    private String creditCode;
+
+    /** 企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业 */
+    @ApiModelProperty("企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业")
+    private Long companyType;
+
+    /** 注册资本 */
+    @ApiModelProperty("注册资本")
+    private Long registeredCapital;
+
+    /** 法定代表人 */
+    @ApiModelProperty("法定代表人")
+    private String legalRepresentative;
+
+    /** 企业地址 */
+    @ApiModelProperty("企业地址")
+    private String companyAddress;
+
+    /** 成立日期 */
+    @ApiModelProperty("成立日期")
+    private Long establishDate;
+
+    /** 营业日期 */
+    @ApiModelProperty("营业日期")
+    private Long operateDate;
+
+    /** 登记机关 */
+    @ApiModelProperty("登记机关")
+    private String registrationAuthority;
+
+    /** 经验范围 */
+    @ApiModelProperty("经验范围")
+    private String experienceScope;
+
+    /** 企业联系人 */
+    @ApiModelProperty("企业联系人")
+    private String companyContacts;
+
+    /** 企业联系电话 */
+    @ApiModelProperty("企业联系电话")
+    private String contactPhone;
+
+    /** 所在部门 */
+    @ApiModelProperty("所在部门")
+    private String department;
+
+    /** 所在岗位 */
+    @ApiModelProperty("所在岗位")
+    private String position;
+
+    /** 企业备注 */
+    @ApiModelProperty("企业备注")
+    private String companyRemarks;
+
+    /** 级别 1:总公司 2:分公司 */
+    @ApiModelProperty("级别 1:总公司 2:分公司")
+    private Long companyLevel;
+
+    /** 企业父级id */
+    @ApiModelProperty("企业父级id")
+    private String fatherId;
+
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+
+}

+ 94 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyQueryBo.java

@@ -0,0 +1,94 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 企业分页查询对象 company
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("企业分页查询对象")
+public class CompanyQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+	@ApiModelProperty("机构名称")
+	private String tenantId;
+	/** 企业名称 */
+	@ApiModelProperty("企业名称")
+	private String companyName;
+	/** 企业信用代码 */
+	@ApiModelProperty("企业信用代码")
+	private String creditCode;
+	/** 企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业 */
+	@ApiModelProperty("企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业")
+	private Long companyType;
+	/** 注册资本 */
+	@ApiModelProperty("注册资本")
+	private Long registeredCapital;
+	/** 法定代表人 */
+	@ApiModelProperty("法定代表人")
+	private String legalRepresentative;
+	/** 企业地址 */
+	@ApiModelProperty("企业地址")
+	private String companyAddress;
+	/** 成立日期 */
+	@ApiModelProperty("成立日期")
+	private Long establishDate;
+	/** 营业日期 */
+	@ApiModelProperty("营业日期")
+	private Long operateDate;
+	/** 登记机关 */
+	@ApiModelProperty("登记机关")
+	private String registrationAuthority;
+	/** 经验范围 */
+	@ApiModelProperty("经验范围")
+	private String experienceScope;
+	/** 企业联系人 */
+	@ApiModelProperty("企业联系人")
+	private String companyContacts;
+	/** 企业联系电话 */
+	@ApiModelProperty("企业联系电话")
+	private String contactPhone;
+	/** 所在部门 */
+	@ApiModelProperty("所在部门")
+	private String department;
+	/** 所在岗位 */
+	@ApiModelProperty("所在岗位")
+	private String position;
+	/** 企业备注 */
+	@ApiModelProperty("企业备注")
+	private String companyRemarks;
+	/** 级别 1:总公司 2:分公司 */
+	@ApiModelProperty("级别 1:总公司 2:分公司")
+	private Long companyLevel;
+	/** 企业父级id */
+	@ApiModelProperty("企业父级id")
+	private String fatherId;
+	/** 1有效 0无效 */
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+}

+ 39 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyUserAddBo.java

@@ -0,0 +1,39 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 企业用户添加对象 company_user
+ *
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+@Data
+@ApiModel("企业用户添加对象")
+public class CompanyUserAddBo {
+
+    /** 公司id */
+    @ApiModelProperty("公司id")
+    private String companyId;
+    /** 企业用户名 */
+    @ApiModelProperty("企业用户名")
+    private String username;
+    /** 密码 */
+    @ApiModelProperty("密码")
+    private String password;
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+}

+ 45 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyUserEditBo.java

@@ -0,0 +1,45 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 企业用户编辑对象 company_user
+ *
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+@Data
+@ApiModel("企业用户编辑对象")
+public class CompanyUserEditBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long userId;
+
+
+    /** 公司id */
+    @ApiModelProperty("公司id")
+    private String companyId;
+
+    /** 企业用户名 */
+    @ApiModelProperty("企业用户名")
+    private String username;
+
+    /** 密码 */
+    @ApiModelProperty("密码")
+    private String password;
+
+    /** 1有效 0无效 */
+    @ApiModelProperty("1有效 0无效")
+    private Integer status;
+
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+
+}

+ 51 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/bo/CompanyUserQueryBo.java

@@ -0,0 +1,51 @@
+package com.zhongzheng.modules.company.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 企业用户分页查询对象 company_user
+ *
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("企业用户分页查询对象")
+public class CompanyUserQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 公司id */
+	@ApiModelProperty("公司id")
+	private String companyId;
+	/** 企业用户名 */
+	@ApiModelProperty("企业用户名")
+	private String username;
+	/** 密码 */
+	@ApiModelProperty("密码")
+	private String password;
+	/** 1有效 0无效 */
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+}

+ 74 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/domain/Company.java

@@ -0,0 +1,74 @@
+package com.zhongzheng.modules.company.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 企业对象 company
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("company")
+public class Company implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "company_id")
+    private Long companyId;
+    /** 机构名称 */
+    private String tenantId;
+    /** 企业名称 */
+    private String companyName;
+    /** 企业信用代码 */
+    private String creditCode;
+    /** 企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业 */
+    private Long companyType;
+    /** 注册资本 */
+    private Long registeredCapital;
+    /** 法定代表人 */
+    private String legalRepresentative;
+    /** 企业地址 */
+    private String companyAddress;
+    /** 成立日期 */
+    private Long establishDate;
+    /** 营业日期 */
+    private Long operateDate;
+    /** 登记机关 */
+    private String registrationAuthority;
+    /** 经验范围 */
+    private String experienceScope;
+    /** 企业联系人 */
+    private String companyContacts;
+    /** 企业联系电话 */
+    private String contactPhone;
+    /** 所在部门 */
+    private String department;
+    /** 所在岗位 */
+    private String position;
+    /** 企业备注 */
+    private String companyRemarks;
+    /** 级别 1:总公司 2:分公司 */
+    private Long companyLevel;
+    /** 企业父级id */
+    private String fatherId;
+    /** 1有效 0无效 */
+    private Integer status;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 更新时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+}

+ 49 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/domain/CompanyCertificate.java

@@ -0,0 +1,49 @@
+package com.zhongzheng.modules.company.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 企业证书对象 company_certificate
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("company_certificate")
+public class CompanyCertificate implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "certificate_id")
+    private Long certificateId;
+    /** 机构名称 */
+    private String tenantId;
+    /** 公司id */
+    private String companyId;
+    /** 证书编号 */
+    private String certificateNumber;
+    /** 证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他 */
+    private Integer certificateType;
+    /** 预警状态 1:正常 2:已过期 */
+    private Integer warningStatus;
+    /** 预览 */
+    private String previewImg;
+    /** 1有效 0无效 */
+    private Integer status;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 更新时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+}

+ 57 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/domain/CompanyDepartment.java

@@ -0,0 +1,57 @@
+package com.zhongzheng.modules.company.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 企业部门对象 company_department
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("company_department")
+public class CompanyDepartment implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "department_id")
+    private Long departmentId;
+    /** 机构名称 */
+    private String tenantId;
+    /** 公司id */
+    private String companyId;
+    /** 部门名称 */
+    private String departmentName;
+    /** 部门类型 1:部门 2:子级 */
+    private Long departmentType;
+    /** 部门联系人 */
+    private String registeredContacts;
+    /** 部门联系电话 */
+    private String departmentPhone;
+    /** 部门员工人数 */
+    private Long departmentNum;
+    /** 部门备注 */
+    private String departmentRemarks;
+    /** 部门父级id */
+    private String departmentFartherId;
+    /** 部门级别 1:一级部门 */
+    private Long departmentLevel;
+    /** 1有效 0无效 */
+    private Integer status;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 更新时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+}

+ 43 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/domain/CompanyUser.java

@@ -0,0 +1,43 @@
+package com.zhongzheng.modules.company.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 企业用户对象 company_user
+ *
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("company_user")
+public class CompanyUser implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "user_id")
+    private Long userId;
+    /** 公司id */
+    private String companyId;
+    /** 企业用户名 */
+    private String username;
+    /** 密码 */
+    private String password;
+    /** 1有效 0无效 */
+    private Integer status;
+    /** 创建时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+    /** 更新时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/mapper/CompanyCertificateMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.company.mapper;
+
+import com.zhongzheng.modules.company.domain.CompanyCertificate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 企业证书Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+public interface CompanyCertificateMapper extends BaseMapper<CompanyCertificate> {
+
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/mapper/CompanyDepartmentMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.company.mapper;
+
+import com.zhongzheng.modules.company.domain.CompanyDepartment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 企业部门Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+public interface CompanyDepartmentMapper extends BaseMapper<CompanyDepartment> {
+
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/mapper/CompanyMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.company.mapper;
+
+import com.zhongzheng.modules.company.domain.Company;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 企业Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+public interface CompanyMapper extends BaseMapper<Company> {
+
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/mapper/CompanyUserMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.company.mapper;
+
+import com.zhongzheng.modules.company.domain.CompanyUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 企业用户Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+public interface CompanyUserMapper extends BaseMapper<CompanyUser> {
+
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/ICompanyCertificateService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.company.service;
+
+import com.zhongzheng.modules.company.domain.CompanyCertificate;
+import com.zhongzheng.modules.company.vo.CompanyCertificateVo;
+import com.zhongzheng.modules.company.bo.CompanyCertificateQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyCertificateAddBo;
+import com.zhongzheng.modules.company.bo.CompanyCertificateEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 企业证书Service接口
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+public interface ICompanyCertificateService extends IService<CompanyCertificate> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	CompanyCertificateVo queryById(Long certificateId);
+
+	/**
+	 * 查询列表
+	 */
+	List<CompanyCertificateVo> queryList(CompanyCertificateQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入企业证书
+	 * @param bo 企业证书新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(CompanyCertificateAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改企业证书
+	 * @param bo 企业证书编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(CompanyCertificateEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/ICompanyDepartmentService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.company.service;
+
+import com.zhongzheng.modules.company.domain.CompanyDepartment;
+import com.zhongzheng.modules.company.vo.CompanyDepartmentVo;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentAddBo;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 企业部门Service接口
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+public interface ICompanyDepartmentService extends IService<CompanyDepartment> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	CompanyDepartmentVo queryById(Long departmentId);
+
+	/**
+	 * 查询列表
+	 */
+	List<CompanyDepartmentVo> queryList(CompanyDepartmentQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入企业部门
+	 * @param bo 企业部门新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(CompanyDepartmentAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改企业部门
+	 * @param bo 企业部门编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(CompanyDepartmentEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/ICompanyService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.company.service;
+
+import com.zhongzheng.modules.company.domain.Company;
+import com.zhongzheng.modules.company.vo.CompanyVo;
+import com.zhongzheng.modules.company.bo.CompanyQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyAddBo;
+import com.zhongzheng.modules.company.bo.CompanyEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 企业Service接口
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+public interface ICompanyService extends IService<Company> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	CompanyVo queryById(Long companyId);
+
+	/**
+	 * 查询列表
+	 */
+	List<CompanyVo> queryList(CompanyQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入企业
+	 * @param bo 企业新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(CompanyAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改企业
+	 * @param bo 企业编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(CompanyEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/ICompanyUserService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.company.service;
+
+import com.zhongzheng.modules.company.domain.CompanyUser;
+import com.zhongzheng.modules.company.vo.CompanyUserVo;
+import com.zhongzheng.modules.company.bo.CompanyUserQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyUserAddBo;
+import com.zhongzheng.modules.company.bo.CompanyUserEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 企业用户Service接口
+ *
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+public interface ICompanyUserService extends IService<CompanyUser> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	CompanyUserVo queryById(Long userId);
+
+	/**
+	 * 查询列表
+	 */
+	List<CompanyUserVo> queryList(CompanyUserQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入企业用户
+	 * @param bo 企业用户新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(CompanyUserAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改企业用户
+	 * @param bo 企业用户编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(CompanyUserEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 105 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/impl/CompanyCertificateServiceImpl.java

@@ -0,0 +1,105 @@
+package com.zhongzheng.modules.company.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.company.bo.CompanyCertificateAddBo;
+import com.zhongzheng.modules.company.bo.CompanyCertificateQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyCertificateEditBo;
+import com.zhongzheng.modules.company.domain.CompanyCertificate;
+import com.zhongzheng.modules.company.mapper.CompanyCertificateMapper;
+import com.zhongzheng.modules.company.vo.CompanyCertificateVo;
+import com.zhongzheng.modules.company.service.ICompanyCertificateService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 企业证书Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Service
+public class CompanyCertificateServiceImpl extends ServiceImpl<CompanyCertificateMapper, CompanyCertificate> implements ICompanyCertificateService {
+
+    @Override
+    public CompanyCertificateVo queryById(Long certificateId){
+        CompanyCertificate db = this.baseMapper.selectById(certificateId);
+        return BeanUtil.toBean(db, CompanyCertificateVo.class);
+    }
+
+    @Override
+    public List<CompanyCertificateVo> queryList(CompanyCertificateQueryBo bo) {
+        LambdaQueryWrapper<CompanyCertificate> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getCompanyId()), CompanyCertificate::getCompanyId, bo.getCompanyId());
+        lqw.eq(StrUtil.isNotBlank(bo.getTenantId()), CompanyCertificate::getTenantId, bo.getTenantId());
+        lqw.eq(StrUtil.isNotBlank(bo.getCertificateNumber()), CompanyCertificate::getCertificateNumber, bo.getCertificateNumber());
+        lqw.eq(bo.getCertificateType() != null, CompanyCertificate::getCertificateType, bo.getCertificateType());
+        lqw.eq(bo.getWarningStatus() != null, CompanyCertificate::getWarningStatus, bo.getWarningStatus());
+        lqw.eq(StrUtil.isNotBlank(bo.getPreviewImg()), CompanyCertificate::getPreviewImg, bo.getPreviewImg());
+        lqw.eq(bo.getStatus() != null, CompanyCertificate::getStatus, bo.getStatus());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<CompanyCertificateVo> entity2Vo(Collection<CompanyCertificate> collection) {
+        List<CompanyCertificateVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CompanyCertificateVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<CompanyCertificate> page = (Page<CompanyCertificate>)collection;
+            Page<CompanyCertificateVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(CompanyCertificateAddBo bo) {
+        CompanyCertificate add = BeanUtil.toBean(bo, CompanyCertificate.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(CompanyCertificateEditBo bo) {
+        CompanyCertificate update = BeanUtil.toBean(bo, CompanyCertificate.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(CompanyCertificate entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 109 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/impl/CompanyDepartmentServiceImpl.java

@@ -0,0 +1,109 @@
+package com.zhongzheng.modules.company.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentAddBo;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyDepartmentEditBo;
+import com.zhongzheng.modules.company.domain.CompanyDepartment;
+import com.zhongzheng.modules.company.mapper.CompanyDepartmentMapper;
+import com.zhongzheng.modules.company.vo.CompanyDepartmentVo;
+import com.zhongzheng.modules.company.service.ICompanyDepartmentService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 企业部门Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Service
+public class CompanyDepartmentServiceImpl extends ServiceImpl<CompanyDepartmentMapper, CompanyDepartment> implements ICompanyDepartmentService {
+
+    @Override
+    public CompanyDepartmentVo queryById(Long departmentId){
+        CompanyDepartment db = this.baseMapper.selectById(departmentId);
+        return BeanUtil.toBean(db, CompanyDepartmentVo.class);
+    }
+
+    @Override
+    public List<CompanyDepartmentVo> queryList(CompanyDepartmentQueryBo bo) {
+        LambdaQueryWrapper<CompanyDepartment> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getCompanyId()), CompanyDepartment::getCompanyId, bo.getCompanyId());
+        lqw.eq(StrUtil.isNotBlank(bo.getTenantId()), CompanyDepartment::getTenantId, bo.getTenantId());
+        lqw.like(StrUtil.isNotBlank(bo.getDepartmentName()), CompanyDepartment::getDepartmentName, bo.getDepartmentName());
+        lqw.eq(bo.getDepartmentType() != null, CompanyDepartment::getDepartmentType, bo.getDepartmentType());
+        lqw.eq(StrUtil.isNotBlank(bo.getRegisteredContacts()), CompanyDepartment::getRegisteredContacts, bo.getRegisteredContacts());
+        lqw.eq(StrUtil.isNotBlank(bo.getDepartmentPhone()), CompanyDepartment::getDepartmentPhone, bo.getDepartmentPhone());
+        lqw.eq(bo.getDepartmentNum() != null, CompanyDepartment::getDepartmentNum, bo.getDepartmentNum());
+        lqw.eq(StrUtil.isNotBlank(bo.getDepartmentRemarks()), CompanyDepartment::getDepartmentRemarks, bo.getDepartmentRemarks());
+        lqw.eq(StrUtil.isNotBlank(bo.getDepartmentFartherId()), CompanyDepartment::getDepartmentFartherId, bo.getDepartmentFartherId());
+        lqw.eq(bo.getDepartmentLevel() != null, CompanyDepartment::getDepartmentLevel, bo.getDepartmentLevel());
+        lqw.eq(bo.getStatus() != null, CompanyDepartment::getStatus, bo.getStatus());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<CompanyDepartmentVo> entity2Vo(Collection<CompanyDepartment> collection) {
+        List<CompanyDepartmentVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CompanyDepartmentVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<CompanyDepartment> page = (Page<CompanyDepartment>)collection;
+            Page<CompanyDepartmentVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(CompanyDepartmentAddBo bo) {
+        CompanyDepartment add = BeanUtil.toBean(bo, CompanyDepartment.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(CompanyDepartmentEditBo bo) {
+        CompanyDepartment update = BeanUtil.toBean(bo, CompanyDepartment.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(CompanyDepartment entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 133 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/impl/CompanyServiceImpl.java

@@ -0,0 +1,133 @@
+package com.zhongzheng.modules.company.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.exception.CustomException;
+import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.company.service.ICompanyDepartmentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.company.bo.CompanyAddBo;
+import com.zhongzheng.modules.company.bo.CompanyQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyEditBo;
+import com.zhongzheng.modules.company.domain.Company;
+import com.zhongzheng.modules.company.mapper.CompanyMapper;
+import com.zhongzheng.modules.company.vo.CompanyVo;
+import com.zhongzheng.modules.company.service.ICompanyService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 企业Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Service
+public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements ICompanyService {
+    @Autowired
+    private ICompanyDepartmentService iCompanyDepartmentService;
+
+    @Override
+    public CompanyVo queryById(Long companyId){
+        Company db = this.baseMapper.selectById(companyId);
+        return BeanUtil.toBean(db, CompanyVo.class);
+    }
+
+    @Override
+    public List<CompanyVo> queryList(CompanyQueryBo bo) {
+        LambdaQueryWrapper<Company> lqw = Wrappers.lambdaQuery();
+        lqw.like(StrUtil.isNotBlank(bo.getCompanyName()), Company::getCompanyName, bo.getCompanyName());
+        lqw.eq(StrUtil.isNotBlank(bo.getCreditCode()), Company::getCreditCode, bo.getCreditCode());
+        lqw.eq(bo.getCompanyType() != null, Company::getCompanyType, bo.getCompanyType());
+        lqw.eq(bo.getRegisteredCapital() != null, Company::getRegisteredCapital, bo.getRegisteredCapital());
+        lqw.eq(StrUtil.isNotBlank(bo.getLegalRepresentative()), Company::getLegalRepresentative, bo.getLegalRepresentative());
+        lqw.eq(StrUtil.isNotBlank(bo.getCompanyAddress()), Company::getCompanyAddress, bo.getCompanyAddress());
+        lqw.eq(bo.getEstablishDate() != null, Company::getEstablishDate, bo.getEstablishDate());
+        lqw.eq(bo.getOperateDate() != null, Company::getOperateDate, bo.getOperateDate());
+        lqw.eq(StrUtil.isNotBlank(bo.getRegistrationAuthority()), Company::getRegistrationAuthority, bo.getRegistrationAuthority());
+        lqw.eq(StrUtil.isNotBlank(bo.getExperienceScope()), Company::getExperienceScope, bo.getExperienceScope());
+        lqw.eq(StrUtil.isNotBlank(bo.getCompanyContacts()), Company::getCompanyContacts, bo.getCompanyContacts());
+        lqw.eq(StrUtil.isNotBlank(bo.getContactPhone()), Company::getContactPhone, bo.getContactPhone());
+        lqw.eq(StrUtil.isNotBlank(bo.getDepartment()), Company::getDepartment, bo.getDepartment());
+        lqw.eq(StrUtil.isNotBlank(bo.getPosition()), Company::getPosition, bo.getPosition());
+        lqw.eq(StrUtil.isNotBlank(bo.getCompanyRemarks()), Company::getCompanyRemarks, bo.getCompanyRemarks());
+        lqw.eq(bo.getCompanyLevel() != null, Company::getCompanyLevel, bo.getCompanyLevel());
+        lqw.eq(StrUtil.isNotBlank(bo.getFatherId()), Company::getFatherId, bo.getFatherId());
+        lqw.eq(bo.getStatus() != null, Company::getStatus, bo.getStatus());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<CompanyVo> entity2Vo(Collection<Company> collection) {
+        List<CompanyVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CompanyVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<Company> page = (Page<Company>)collection;
+            Page<CompanyVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(CompanyAddBo bo) {
+        Company add = BeanUtil.toBean(bo, Company.class);
+        validEntityBeforeSave(add);
+        if (ObjectUtil.isNotEmpty(add.getCompanyId())){
+            Company company = this.baseMapper.selectById(add.getCompanyId());
+            if (ObjectUtil.isEmpty(company)){
+                throw new CustomException("总公司不存在");
+            }
+            add.setFatherId(String.valueOf(add.getCompanyId()));
+            Long companyLevel = add.getCompanyLevel();
+            add.setCompanyLevel(++companyLevel);
+        }else {
+            add.setCompanyLevel(1L);
+        }
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(CompanyEditBo bo) {
+        Company update = BeanUtil.toBean(bo, Company.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(Company entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 102 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/service/impl/CompanyUserServiceImpl.java

@@ -0,0 +1,102 @@
+package com.zhongzheng.modules.company.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.company.bo.CompanyUserAddBo;
+import com.zhongzheng.modules.company.bo.CompanyUserQueryBo;
+import com.zhongzheng.modules.company.bo.CompanyUserEditBo;
+import com.zhongzheng.modules.company.domain.CompanyUser;
+import com.zhongzheng.modules.company.mapper.CompanyUserMapper;
+import com.zhongzheng.modules.company.vo.CompanyUserVo;
+import com.zhongzheng.modules.company.service.ICompanyUserService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 企业用户Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+@Service
+public class CompanyUserServiceImpl extends ServiceImpl<CompanyUserMapper, CompanyUser> implements ICompanyUserService {
+
+    @Override
+    public CompanyUserVo queryById(Long userId){
+        CompanyUser db = this.baseMapper.selectById(userId);
+        return BeanUtil.toBean(db, CompanyUserVo.class);
+    }
+
+    @Override
+    public List<CompanyUserVo> queryList(CompanyUserQueryBo bo) {
+        LambdaQueryWrapper<CompanyUser> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getCompanyId()), CompanyUser::getCompanyId, bo.getCompanyId());
+        lqw.like(StrUtil.isNotBlank(bo.getUsername()), CompanyUser::getUsername, bo.getUsername());
+        lqw.eq(StrUtil.isNotBlank(bo.getPassword()), CompanyUser::getPassword, bo.getPassword());
+        lqw.eq(bo.getStatus() != null, CompanyUser::getStatus, bo.getStatus());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<CompanyUserVo> entity2Vo(Collection<CompanyUser> collection) {
+        List<CompanyUserVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CompanyUserVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<CompanyUser> page = (Page<CompanyUser>)collection;
+            Page<CompanyUserVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(CompanyUserAddBo bo) {
+        CompanyUser add = BeanUtil.toBean(bo, CompanyUser.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(CompanyUserEditBo bo) {
+        CompanyUser update = BeanUtil.toBean(bo, CompanyUser.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(CompanyUser entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 54 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/vo/CompanyCertificateVo.java

@@ -0,0 +1,54 @@
+package com.zhongzheng.modules.company.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 企业证书视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业证书视图对象")
+public class CompanyCertificateVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long certificateId;
+	/** 机构名称 */
+	@Excel(name = "机构名称")
+	@ApiModelProperty("机构名称")
+	private String tenantId;
+	/** 公司id */
+	@Excel(name = "公司id")
+	@ApiModelProperty("公司id")
+	private String companyId;
+	/** 证书编号 */
+	@Excel(name = "证书编号")
+	@ApiModelProperty("证书编号")
+	private String certificateNumber;
+	/** 证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他 */
+	@Excel(name = "证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他")
+	@ApiModelProperty("证书类型 1:营业执照 2:资质证书 3:安全生产许可证 4:其他")
+	private Integer certificateType;
+	/** 预警状态 1:正常 2:已过期 */
+	@Excel(name = "预警状态 1:正常 2:已过期")
+	@ApiModelProperty("预警状态 1:正常 2:已过期")
+	private Integer warningStatus;
+	/** 预览 */
+	@Excel(name = "预览")
+	@ApiModelProperty("预览")
+	private String previewImg;
+	/** 1有效 0无效 */
+	@Excel(name = "1有效 0无效")
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+}

+ 73 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/vo/CompanyDepartmentVo.java

@@ -0,0 +1,73 @@
+package com.zhongzheng.modules.company.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhongzheng.modules.company.domain.CompanyDepartment;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 企业部门视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业部门视图对象")
+public class CompanyDepartmentVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long departmentId;
+	/** 机构名称 */
+	@Excel(name = "机构名称")
+	@ApiModelProperty("机构名称")
+	private String tenantId;
+	/** 公司id */
+	@Excel(name = "公司id")
+	@ApiModelProperty("公司id")
+	private String companyId;
+	/** 部门名称 */
+	@Excel(name = "部门名称")
+	@ApiModelProperty("部门名称")
+	private String departmentName;
+	/** 部门类型 1:部门 2:子级 */
+	@Excel(name = "部门类型 1:部门 2:子级")
+	@ApiModelProperty("部门类型 1:部门 2:子级")
+	private Long departmentType;
+	/** 部门联系人 */
+	@Excel(name = "部门联系人")
+	@ApiModelProperty("部门联系人")
+	private String registeredContacts;
+	/** 部门联系电话 */
+	@Excel(name = "部门联系电话")
+	@ApiModelProperty("部门联系电话")
+	private String departmentPhone;
+	/** 部门员工人数 */
+	@Excel(name = "部门员工人数")
+	@ApiModelProperty("部门员工人数")
+	private Long departmentNum;
+	/** 部门备注 */
+	@Excel(name = "部门备注")
+	@ApiModelProperty("部门备注")
+	private String departmentRemarks;
+	/** 部门父级id */
+	@Excel(name = "部门父级id")
+	@ApiModelProperty("部门父级id")
+	private String departmentFartherId;
+	/** 部门级别 1:一级部门 */
+	@Excel(name = "部门级别 1:一级部门")
+	@ApiModelProperty("部门级别 1:一级部门")
+	private Long departmentLevel;
+	/** 1有效 0无效 */
+	@Excel(name = "1有效 0无效")
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+	@ApiModelProperty("子级部门列表")
+	private List<CompanyDepartment> childCompanyDepartment;
+}

+ 43 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/vo/CompanyUserVo.java

@@ -0,0 +1,43 @@
+package com.zhongzheng.modules.company.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 企业用户视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2024-03-19
+ */
+@Data
+@ApiModel("企业用户视图对象")
+public class CompanyUserVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long userId;
+
+	/** 公司id */
+	@Excel(name = "公司id")
+	@ApiModelProperty("公司id")
+	private String companyId;
+	/** 企业用户名 */
+	@Excel(name = "企业用户名")
+	@ApiModelProperty("企业用户名")
+	private String username;
+	/** 密码 */
+	@Excel(name = "密码")
+	@ApiModelProperty("密码")
+	private String password;
+	/** 1有效 0无效 */
+	@Excel(name = "1有效 0无效")
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+}

+ 107 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/company/vo/CompanyVo.java

@@ -0,0 +1,107 @@
+package com.zhongzheng.modules.company.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhongzheng.modules.company.domain.CompanyDepartment;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 企业视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2024-03-18
+ */
+@Data
+@ApiModel("企业视图对象")
+public class CompanyVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long companyId;
+	/** 机构名称 */
+	@Excel(name = "机构名称")
+	@ApiModelProperty("机构名称")
+	private String tenantId;
+	/** 企业名称 */
+	@Excel(name = "企业名称")
+	@ApiModelProperty("企业名称")
+	private String companyName;
+	/** 企业信用代码 */
+	@Excel(name = "企业信用代码")
+	@ApiModelProperty("企业信用代码")
+	private String creditCode;
+	/** 企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业 */
+	@Excel(name = "企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业" , readConverterExp = "港=或澳、台资")
+	@ApiModelProperty("企业类型 1:有限责任公司 2:国有企业 3:集体企业 4:股份合作企业 5:联营企业 6:私营企业 7:其他企业 8 合资经营企业(港或澳、台资) 9:合作经营企业(港或澳、台资) 10:港、澳、台商独资经营企业 11:港、澳、台商投资股份有限公司 12:其他港澳台商投资企业 13:中外合资经营企业 14:中外合作经营企业 15:外资企业 16:外商投资股份有限公司 17:其他外商投资企业")
+	private Long companyType;
+	/** 注册资本 */
+	@Excel(name = "注册资本")
+	@ApiModelProperty("注册资本")
+	private Long registeredCapital;
+	/** 法定代表人 */
+	@Excel(name = "法定代表人")
+	@ApiModelProperty("法定代表人")
+	private String legalRepresentative;
+	/** 企业地址 */
+	@Excel(name = "企业地址")
+	@ApiModelProperty("企业地址")
+	private String companyAddress;
+	/** 成立日期 */
+	@Excel(name = "成立日期")
+	@ApiModelProperty("成立日期")
+	private Long establishDate;
+	/** 营业日期 */
+	@Excel(name = "营业日期")
+	@ApiModelProperty("营业日期")
+	private Long operateDate;
+	/** 登记机关 */
+	@Excel(name = "登记机关")
+	@ApiModelProperty("登记机关")
+	private String registrationAuthority;
+	/** 经验范围 */
+	@Excel(name = "经验范围")
+	@ApiModelProperty("经验范围")
+	private String experienceScope;
+	/** 企业联系人 */
+	@Excel(name = "企业联系人")
+	@ApiModelProperty("企业联系人")
+	private String companyContacts;
+	/** 企业联系电话 */
+	@Excel(name = "企业联系电话")
+	@ApiModelProperty("企业联系电话")
+	private String contactPhone;
+	/** 所在部门 */
+	@Excel(name = "所在部门")
+	@ApiModelProperty("所在部门")
+	private String department;
+	/** 所在岗位 */
+	@Excel(name = "所在岗位")
+	@ApiModelProperty("所在岗位")
+	private String position;
+	/** 企业备注 */
+	@Excel(name = "企业备注")
+	@ApiModelProperty("企业备注")
+	private String companyRemarks;
+	/** 级别 1:总公司 2:分公司 */
+	@Excel(name = "级别 1:总公司 2:分公司")
+	@ApiModelProperty("级别 1:总公司 2:分公司")
+	private Long companyLevel;
+	/** 企业父级id */
+	@Excel(name = "企业父级id")
+	@ApiModelProperty("企业父级id")
+	private String fatherId;
+	/** 1有效 0无效 */
+	@Excel(name = "1有效 0无效")
+	@ApiModelProperty("1有效 0无效")
+	private Integer status;
+	@Excel(name = "1有效 0无效")
+	@ApiModelProperty("1有效 0无效")
+	private List<CompanyDepartment> companyDepartmentList;
+
+}

+ 26 - 0
zhongzheng-system/src/main/resources/mapper/modules/certificate/StaffCertificateMapper.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.certificate.mapper.StaffCertificateMapper">
+
+    <resultMap type="com.zhongzheng.modules.certificate.domain.StaffCertificate" id="StaffCertificateResult">
+        <result property="certificateId" column="certificate_id"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="companyId" column="company_id"/>
+        <result property="userId" column="user_id"/>
+        <result property="certificateNumber" column="certificate_number"/>
+        <result property="certificateType" column="certificate_type"/>
+        <result property="certificateMajor" column="certificate_major"/>
+        <result property="startTime" column="start_time"/>
+        <result property="endTime" column="end_time"/>
+        <result property="certificateAddress" column="certificate_address"/>
+        <result property="warningStatus" column="warning_status"/>
+        <result property="previewImg" column="preview_img"/>
+        <result property="status" column="status"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+
+</mapper>

+ 21 - 0
zhongzheng-system/src/main/resources/mapper/modules/company/CompanyCertificateMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.company.mapper.CompanyCertificateMapper">
+
+    <resultMap type="com.zhongzheng.modules.company.domain.CompanyCertificate" id="CompanyCertificateResult">
+        <result property="certificateId" column="certificate_id"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="companyId" column="company_id"/>
+        <result property="certificateNumber" column="certificate_number"/>
+        <result property="certificateType" column="certificate_type"/>
+        <result property="warningStatus" column="warning_status"/>
+        <result property="previewImg" column="preview_img"/>
+        <result property="status" column="status"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+
+</mapper>

+ 25 - 0
zhongzheng-system/src/main/resources/mapper/modules/company/CompanyDepartmentMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.company.mapper.CompanyDepartmentMapper">
+
+    <resultMap type="com.zhongzheng.modules.company.domain.CompanyDepartment" id="CompanyDepartmentResult">
+        <result property="departmentId" column="department_id"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="companyId" column="company_id"/>
+        <result property="departmentName" column="department_name"/>
+        <result property="departmentType" column="department_type"/>
+        <result property="registeredContacts" column="registered_contacts"/>
+        <result property="departmentPhone" column="department_phone"/>
+        <result property="departmentNum" column="department_num"/>
+        <result property="departmentRemarks" column="department_remarks"/>
+        <result property="departmentFartherId" column="department_farther_id"/>
+        <result property="departmentLevel" column="department_level"/>
+        <result property="status" column="status"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+
+</mapper>

+ 33 - 0
zhongzheng-system/src/main/resources/mapper/modules/company/CompanyMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.company.mapper.CompanyMapper">
+
+    <resultMap type="com.zhongzheng.modules.company.domain.Company" id="CompanyResult">
+        <result property="companyId" column="company_id"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="companyName" column="company_name"/>
+        <result property="creditCode" column="credit_code"/>
+        <result property="companyType" column="company_type"/>
+        <result property="registeredCapital" column="registered_capital"/>
+        <result property="legalRepresentative" column="legal_representative"/>
+        <result property="companyAddress" column="company_address"/>
+        <result property="establishDate" column="establish_date"/>
+        <result property="operateDate" column="operate_date"/>
+        <result property="registrationAuthority" column="registration_authority"/>
+        <result property="experienceScope" column="experience_scope"/>
+        <result property="companyContacts" column="company_contacts"/>
+        <result property="contactPhone" column="contact_phone"/>
+        <result property="department" column="department"/>
+        <result property="position" column="position"/>
+        <result property="companyRemarks" column="company_remarks"/>
+        <result property="companyLevel" column="company_level"/>
+        <result property="fatherId" column="father_id"/>
+        <result property="status" column="status"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+
+</mapper>

+ 18 - 0
zhongzheng-system/src/main/resources/mapper/modules/company/CompanyUserMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.company.mapper.CompanyUserMapper">
+
+    <resultMap type="com.zhongzheng.modules.company.domain.CompanyUser" id="CompanyUserResult">
+        <result property="userId" column="user_id"/>
+        <result property="companyId" column="company_id"/>
+        <result property="username" column="username"/>
+        <result property="password" column="password"/>
+        <result property="status" column="status"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+
+</mapper>