From 489b2314ab4ccff911f0ca6a161969c41c1619e2 Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Thu, 27 Nov 2025 23:50:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeesite/modules/biz/dao/BizCitiesDao.java | 15 + .../modules/biz/dao/BizCompanyDao.java | 15 + .../modules/biz/dao/BizMunicipalitiesDao.java | 15 + .../modules/biz/dao/BizProjectReportDao.java | 15 + .../biz/dao/BizProjectRequirementsDao.java | 15 + .../modules/biz/dao/BizProvinceDao.java | 15 + .../modules/biz/dao/BizResumeEmployeeDao.java | 15 + .../modules/biz/dao/BizWebsiteStorageDao.java | 15 + .../jeesite/modules/biz/entity/BizCities.java | 100 ++++++ .../modules/biz/entity/BizCompany.java | 103 ++++++ .../modules/biz/entity/BizMunicipalities.java | 108 ++++++ .../modules/biz/entity/BizProjectInfo.java | 152 ++++---- .../modules/biz/entity/BizProjectReport.java | 111 ++++++ .../biz/entity/BizProjectRequirements.java | 114 ++++++ .../modules/biz/entity/BizProvince.java | 94 +++++ .../modules/biz/entity/BizResumeEmployee.java | 102 ++++++ .../modules/biz/entity/BizWebsiteStorage.java | 123 +++++++ .../modules/biz/service/BizCitiesService.java | 134 +++++++ .../biz/service/BizCompanyService.java | 134 +++++++ .../biz/service/BizMunicipalitiesService.java | 134 +++++++ .../biz/service/BizProjectReportService.java | 137 +++++++ .../BizProjectRequirementsService.java | 134 +++++++ .../biz/service/BizProvinceService.java | 134 +++++++ .../biz/service/BizResumeEmployeeService.java | 134 +++++++ .../biz/service/BizWebsiteStorageService.java | 134 +++++++ .../modules/biz/web/BizCitiesController.java | 146 ++++++++ .../modules/biz/web/BizCompanyController.java | 146 ++++++++ .../biz/web/BizMunicipalitiesController.java | 146 ++++++++ .../biz/web/BizProjectReportController.java | 146 ++++++++ .../web/BizProjectRequirementsController.java | 146 ++++++++ .../biz/web/BizProvinceController.java | 146 ++++++++ .../biz/web/BizResumeEmployeeController.java | 146 ++++++++ .../biz/web/BizWebsiteStorageController.java | 156 ++++++++ .../mappings/modules/biz/BizCitiesDao.xml | 15 + .../mappings/modules/biz/BizCompanyDao.xml | 15 + .../modules/biz/BizMunicipalitiesDao.xml | 15 + .../modules/biz/BizProjectReportDao.xml | 15 + .../modules/biz/BizProjectRequirementsDao.xml | 15 + .../mappings/modules/biz/BizProvinceDao.xml | 15 + .../modules/biz/BizResumeEmployeeDao.xml | 15 + .../modules/biz/BizWebsiteStorageDao.xml | 15 + web-vue/packages/biz/api/biz/cities.ts | 55 +++ web-vue/packages/biz/api/biz/company.ts | 56 +++ .../packages/biz/api/biz/municipalities.ts | 58 +++ web-vue/packages/biz/api/biz/projectReport.ts | 60 ++++ .../biz/api/biz/projectRequirements.ts | 61 ++++ web-vue/packages/biz/api/biz/province.ts | 54 +++ .../packages/biz/api/biz/resumeEmployee.ts | 57 +++ .../packages/biz/api/biz/websiteStorage.ts | 57 +++ .../packages/biz/views/biz/cities/form.vue | 141 ++++++++ .../biz/views/biz/cities/formImport.vue | 103 ++++++ .../packages/biz/views/biz/cities/list.vue | 263 ++++++++++++++ .../views/biz/{listItem => cities}/select.ts | 151 ++++---- .../packages/biz/views/biz/company/form.vue | 153 ++++++++ .../biz/views/biz/company/formImport.vue | 103 ++++++ .../packages/biz/views/biz/company/list.vue | 265 ++++++++++++++ .../packages/biz/views/biz/listItem/form.vue | 2 +- .../packages/biz/views/biz/listItem/list.vue | 2 +- .../biz/views/biz/municipalities/form.vue | 169 +++++++++ .../views/biz/municipalities/formImport.vue | 103 ++++++ .../biz/views/biz/municipalities/list.vue | 312 ++++++++++++++++ .../biz/views/biz/municipalities/select.ts | 205 +++++++++++ .../biz/views/biz/projectInfo/form.vue | 109 +++--- .../biz/views/biz/projectInfo/list.vue | 82 ++--- .../biz/views/biz/projectInfo/select.ts | 2 +- .../biz/views/biz/projectReport/form.vue | 189 ++++++++++ .../views/biz/projectReport/formImport.vue | 103 ++++++ .../biz/views/biz/projectReport/list.vue | 302 ++++++++++++++++ .../biz/views/biz/projectReport/select.ts | 198 +++++++++++ .../views/biz/projectRequirements/form.vue | 184 ++++++++++ .../biz/projectRequirements/formImport.vue | 103 ++++++ .../views/biz/projectRequirements/list.vue | 333 ++++++++++++++++++ .../views/biz/projectRequirements/select.ts | 226 ++++++++++++ .../packages/biz/views/biz/province/form.vue | 139 ++++++++ .../biz/views/biz/province/formImport.vue | 103 ++++++ .../packages/biz/views/biz/province/list.vue | 255 ++++++++++++++ .../packages/biz/views/biz/province/select.ts | 148 ++++++++ .../biz/views/biz/quickLogin/select.ts | 2 +- .../biz/views/biz/resumeEmployee/form.vue | 151 ++++++++ .../views/biz/resumeEmployee/formImport.vue | 103 ++++++ .../biz/views/biz/resumeEmployee/list.vue | 269 ++++++++++++++ .../biz/views/biz/websiteStorage/form.vue | 157 +++++++++ .../views/biz/websiteStorage/formImport.vue | 103 ++++++ .../biz/views/biz/websiteStorage/list.vue | 287 +++++++++++++++ .../src/selectType/bizCompSelect.ts | 159 +++++++++ .../ListSelect/src/selectType/bizEmpSelect.ts | 163 +++++++++ 86 files changed, 9534 insertions(+), 266 deletions(-) create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/dao/BizCitiesDao.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/dao/BizCompanyDao.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/dao/BizMunicipalitiesDao.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/dao/BizProjectReportDao.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/dao/BizProjectRequirementsDao.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/dao/BizProvinceDao.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/dao/BizResumeEmployeeDao.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/dao/BizWebsiteStorageDao.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/entity/BizCities.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/entity/BizCompany.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/entity/BizMunicipalities.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectReport.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectRequirements.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/entity/BizProvince.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/entity/BizResumeEmployee.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/entity/BizWebsiteStorage.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/service/BizCitiesService.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/service/BizCompanyService.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/service/BizMunicipalitiesService.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/service/BizProjectReportService.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/service/BizProjectRequirementsService.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/service/BizProvinceService.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/service/BizResumeEmployeeService.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/service/BizWebsiteStorageService.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/web/BizCitiesController.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/web/BizCompanyController.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/web/BizMunicipalitiesController.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/web/BizProjectReportController.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/web/BizProjectRequirementsController.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/web/BizProvinceController.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/web/BizResumeEmployeeController.java create mode 100644 web-api/src/main/java/com/jeesite/modules/biz/web/BizWebsiteStorageController.java create mode 100644 web-api/src/main/resources/mappings/modules/biz/BizCitiesDao.xml create mode 100644 web-api/src/main/resources/mappings/modules/biz/BizCompanyDao.xml create mode 100644 web-api/src/main/resources/mappings/modules/biz/BizMunicipalitiesDao.xml create mode 100644 web-api/src/main/resources/mappings/modules/biz/BizProjectReportDao.xml create mode 100644 web-api/src/main/resources/mappings/modules/biz/BizProjectRequirementsDao.xml create mode 100644 web-api/src/main/resources/mappings/modules/biz/BizProvinceDao.xml create mode 100644 web-api/src/main/resources/mappings/modules/biz/BizResumeEmployeeDao.xml create mode 100644 web-api/src/main/resources/mappings/modules/biz/BizWebsiteStorageDao.xml create mode 100644 web-vue/packages/biz/api/biz/cities.ts create mode 100644 web-vue/packages/biz/api/biz/company.ts create mode 100644 web-vue/packages/biz/api/biz/municipalities.ts create mode 100644 web-vue/packages/biz/api/biz/projectReport.ts create mode 100644 web-vue/packages/biz/api/biz/projectRequirements.ts create mode 100644 web-vue/packages/biz/api/biz/province.ts create mode 100644 web-vue/packages/biz/api/biz/resumeEmployee.ts create mode 100644 web-vue/packages/biz/api/biz/websiteStorage.ts create mode 100644 web-vue/packages/biz/views/biz/cities/form.vue create mode 100644 web-vue/packages/biz/views/biz/cities/formImport.vue create mode 100644 web-vue/packages/biz/views/biz/cities/list.vue rename web-vue/packages/biz/views/biz/{listItem => cities}/select.ts (53%) create mode 100644 web-vue/packages/biz/views/biz/company/form.vue create mode 100644 web-vue/packages/biz/views/biz/company/formImport.vue create mode 100644 web-vue/packages/biz/views/biz/company/list.vue create mode 100644 web-vue/packages/biz/views/biz/municipalities/form.vue create mode 100644 web-vue/packages/biz/views/biz/municipalities/formImport.vue create mode 100644 web-vue/packages/biz/views/biz/municipalities/list.vue create mode 100644 web-vue/packages/biz/views/biz/municipalities/select.ts create mode 100644 web-vue/packages/biz/views/biz/projectReport/form.vue create mode 100644 web-vue/packages/biz/views/biz/projectReport/formImport.vue create mode 100644 web-vue/packages/biz/views/biz/projectReport/list.vue create mode 100644 web-vue/packages/biz/views/biz/projectReport/select.ts create mode 100644 web-vue/packages/biz/views/biz/projectRequirements/form.vue create mode 100644 web-vue/packages/biz/views/biz/projectRequirements/formImport.vue create mode 100644 web-vue/packages/biz/views/biz/projectRequirements/list.vue create mode 100644 web-vue/packages/biz/views/biz/projectRequirements/select.ts create mode 100644 web-vue/packages/biz/views/biz/province/form.vue create mode 100644 web-vue/packages/biz/views/biz/province/formImport.vue create mode 100644 web-vue/packages/biz/views/biz/province/list.vue create mode 100644 web-vue/packages/biz/views/biz/province/select.ts create mode 100644 web-vue/packages/biz/views/biz/resumeEmployee/form.vue create mode 100644 web-vue/packages/biz/views/biz/resumeEmployee/formImport.vue create mode 100644 web-vue/packages/biz/views/biz/resumeEmployee/list.vue create mode 100644 web-vue/packages/biz/views/biz/websiteStorage/form.vue create mode 100644 web-vue/packages/biz/views/biz/websiteStorage/formImport.vue create mode 100644 web-vue/packages/biz/views/biz/websiteStorage/list.vue create mode 100644 web-vue/packages/core/components/ListSelect/src/selectType/bizCompSelect.ts create mode 100644 web-vue/packages/core/components/ListSelect/src/selectType/bizEmpSelect.ts diff --git a/web-api/src/main/java/com/jeesite/modules/biz/dao/BizCitiesDao.java b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizCitiesDao.java new file mode 100644 index 00000000..00787a1d --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizCitiesDao.java @@ -0,0 +1,15 @@ +package com.jeesite.modules.biz.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.biz.entity.BizCities; + +/** + * 市区信息DAO接口 + * @author gaoxq + * @version 2025-11-27 + */ +@MyBatisDao(dataSourceName="work") +public interface BizCitiesDao extends CrudDao { + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/dao/BizCompanyDao.java b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizCompanyDao.java new file mode 100644 index 00000000..71eb0614 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizCompanyDao.java @@ -0,0 +1,15 @@ +package com.jeesite.modules.biz.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.biz.entity.BizCompany; + +/** + * 公司信息DAO接口 + * @author gaoxq + * @version 2025-11-27 + */ +@MyBatisDao(dataSourceName="work") +public interface BizCompanyDao extends CrudDao { + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/dao/BizMunicipalitiesDao.java b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizMunicipalitiesDao.java new file mode 100644 index 00000000..59fd99c8 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizMunicipalitiesDao.java @@ -0,0 +1,15 @@ +package com.jeesite.modules.biz.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.biz.entity.BizMunicipalities; + +/** + * 地市信息DAO接口 + * @author gaoxq + * @version 2025-11-27 + */ +@MyBatisDao(dataSourceName="work") +public interface BizMunicipalitiesDao extends CrudDao { + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProjectReportDao.java b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProjectReportDao.java new file mode 100644 index 00000000..1b85f265 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProjectReportDao.java @@ -0,0 +1,15 @@ +package com.jeesite.modules.biz.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.biz.entity.BizProjectReport; + +/** + * 汇报信息DAO接口 + * @author gaoxq + * @version 2025-11-27 + */ +@MyBatisDao(dataSourceName="work") +public interface BizProjectReportDao extends CrudDao { + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProjectRequirementsDao.java b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProjectRequirementsDao.java new file mode 100644 index 00000000..473ef225 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProjectRequirementsDao.java @@ -0,0 +1,15 @@ +package com.jeesite.modules.biz.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.biz.entity.BizProjectRequirements; + +/** + * 需求信息DAO接口 + * @author gaoxq + * @version 2025-11-27 + */ +@MyBatisDao(dataSourceName="work") +public interface BizProjectRequirementsDao extends CrudDao { + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProvinceDao.java b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProvinceDao.java new file mode 100644 index 00000000..09553776 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizProvinceDao.java @@ -0,0 +1,15 @@ +package com.jeesite.modules.biz.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.biz.entity.BizProvince; + +/** + * 省份信息DAO接口 + * @author gaoxq + * @version 2025-11-27 + */ +@MyBatisDao(dataSourceName="work") +public interface BizProvinceDao extends CrudDao { + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/dao/BizResumeEmployeeDao.java b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizResumeEmployeeDao.java new file mode 100644 index 00000000..11f564ca --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizResumeEmployeeDao.java @@ -0,0 +1,15 @@ +package com.jeesite.modules.biz.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.biz.entity.BizResumeEmployee; + +/** + * 员工信息DAO接口 + * @author gaoxq + * @version 2025-11-27 + */ +@MyBatisDao(dataSourceName="work") +public interface BizResumeEmployeeDao extends CrudDao { + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/dao/BizWebsiteStorageDao.java b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizWebsiteStorageDao.java new file mode 100644 index 00000000..0c65f036 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/dao/BizWebsiteStorageDao.java @@ -0,0 +1,15 @@ +package com.jeesite.modules.biz.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.biz.entity.BizWebsiteStorage; + +/** + * 网站信息DAO接口 + * @author gaoxq + * @version 2025-11-27 + */ +@MyBatisDao(dataSourceName="work") +public interface BizWebsiteStorageDao extends CrudDao { + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizCities.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizCities.java new file mode 100644 index 00000000..2555f57e --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizCities.java @@ -0,0 +1,100 @@ +package com.jeesite.modules.biz.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.common.utils.excel.annotation.ExcelField; +import com.jeesite.common.utils.excel.annotation.ExcelField.Align; +import com.jeesite.common.utils.excel.annotation.ExcelFields; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 市区信息Entity + * + * @author gaoxq + * @version 2025-11-27 + */ +@EqualsAndHashCode(callSuper = true) +@Table(name = "biz_cities", alias = "a", label = "市区信息信息", columns = { + @Column(name = "id", attrName = "id", label = "id", isPK = true), + @Column(name = "create_time", attrName = "createTime", label = "记录时间", isUpdateForce = true), + @Column(name = "province_code", attrName = "provinceCode", label = "省份编码"), + @Column(name = "city_code", attrName = "cityCode", label = "市区编码"), + @Column(name = "city_name", attrName = "cityName", label = "市区名称", queryType = QueryType.LIKE), + @Column(name = "area_code", attrName = "areaCode", label = "市区区号", isQuery = false), + @Column(name = "area_type", attrName = "areaType", label = "市区级别"), + @Column(name = "update_time", attrName = "updateTime", label = "更新时间", isQuery = false, isUpdateForce = true), + @Column(name = "data_status", attrName = "dataStatus", label = "数据状态"), + @Column(name = "f_tenant_id", attrName = "ftenantId", label = "租户id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_id", attrName = "fflowId", label = "流程id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_task_id", attrName = "fflowTaskId", label = "流程任务主键", isUpdate = false, isQuery = false), + @Column(name = "f_flow_state", attrName = "fflowState", label = "流程任务状态", isUpdate = false, isQuery = false, isUpdateForce = true), +}, orderBy = "a.id DESC" +) +@Data +public class BizCities extends DataEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录时间 + private String provinceCode; // 省份编码 + private String cityCode; // 市区编码 + private String cityName; // 市区名称 + private String areaCode; // 市区区号 + private String areaType; // 市区级别 + private Date updateTime; // 更新时间 + private String dataStatus; // 数据状态 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 + + @ExcelFields({ + @ExcelField(title = "id", attrName = "id", align = Align.CENTER, sort = 10), + @ExcelField(title = "记录时间", attrName = "createTime", align = Align.CENTER, sort = 20, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "省份编码", attrName = "provinceCode", align = Align.CENTER, sort = 30), + @ExcelField(title = "市区编码", attrName = "cityCode", align = Align.CENTER, sort = 40), + @ExcelField(title = "市区名称", attrName = "cityName", align = Align.CENTER, sort = 50), + @ExcelField(title = "市区区号", attrName = "areaCode", align = Align.CENTER, sort = 60), + @ExcelField(title = "市区级别", attrName = "areaType", align = Align.CENTER, sort = 70), + @ExcelField(title = "更新时间", attrName = "updateTime", align = Align.CENTER, sort = 80, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "数据状态", attrName = "dataStatus", align = Align.CENTER, sort = 90), + }) + public BizCities() { + this(null); + } + + public BizCities(String id) { + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizCompany.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizCompany.java new file mode 100644 index 00000000..a39e26bf --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizCompany.java @@ -0,0 +1,103 @@ +package com.jeesite.modules.biz.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.common.utils.excel.annotation.ExcelField; +import com.jeesite.common.utils.excel.annotation.ExcelField.Align; +import com.jeesite.common.utils.excel.annotation.ExcelFields; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 公司信息Entity + * + * @author gaoxq + * @version 2025-11-27 + */ +@EqualsAndHashCode(callSuper = true) +@Table(name = "biz_company", alias = "a", label = "公司信息信息", columns = { + @Column(name = "create_time", attrName = "createTime", label = "记录日期", isUpdate = false, isUpdateForce = true), + @Column(name = "company_id", attrName = "companyId", label = "公司标识", isPK = true), + @Column(name = "company_name", attrName = "companyName", label = "公司名称", queryType = QueryType.LIKE), + @Column(name = "address", attrName = "address", label = "公司地址"), + @Column(name = "contact_person", attrName = "contactPerson", label = "公司联系人姓名"), + @Column(name = "phone_number", attrName = "phoneNumber", label = "公司联系电话", isQuery = false), + @Column(name = "email", attrName = "email", label = "公司电子邮箱", isQuery = false), + @Column(name = "website_url", attrName = "websiteUrl", label = "公司官方网站地址", isQuery = false), + @Column(name = "remarks", attrName = "remarks", label = "其他说明或备注", queryType = QueryType.LIKE), + @Column(name = "comp_status", attrName = "compStatus", label = "公司状态"), + @Column(name = "f_tenant_id", attrName = "ftenantId", label = "租户id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_id", attrName = "fflowId", label = "流程id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_task_id", attrName = "fflowTaskId", label = "流程任务主键", isUpdate = false, isQuery = false), + @Column(name = "f_flow_state", attrName = "fflowState", label = "流程任务状态", isUpdate = false, isQuery = false, isUpdateForce = true), +}, orderBy = "a.company_id DESC" +) +@Data +public class BizCompany extends DataEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录日期 + private String companyId; // 公司标识 + private String companyName; // 公司名称 + private String address; // 公司地址 + private String contactPerson; // 公司联系人姓名 + private String phoneNumber; // 公司联系电话 + private String email; // 公司电子邮箱 + private String websiteUrl; // 公司官方网站地址 + private String compStatus; // 公司状态 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 + + @ExcelFields({ + @ExcelField(title = "记录日期", attrName = "createTime", align = Align.CENTER, sort = 10, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "公司标识", attrName = "companyId", align = Align.CENTER, sort = 20), + @ExcelField(title = "公司名称", attrName = "companyName", align = Align.CENTER, sort = 30), + @ExcelField(title = "公司地址", attrName = "address", align = Align.CENTER, sort = 40), + @ExcelField(title = "联系人员", attrName = "contactPerson", align = Align.CENTER, sort = 50), + @ExcelField(title = "联系电话", attrName = "phoneNumber", align = Align.CENTER, sort = 60), + @ExcelField(title = "电子邮箱", attrName = "email", align = Align.CENTER, sort = 70), + @ExcelField(title = "官方网址", attrName = "websiteUrl", align = Align.CENTER, sort = 80), + @ExcelField(title = "备注说明", attrName = "remarks", align = Align.CENTER, sort = 90), + @ExcelField(title = "公司状态", attrName = "compStatus", dictType = "ustatus", align = Align.CENTER, sort = 100), + }) + public BizCompany() { + this(null); + } + + public BizCompany(String id) { + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizMunicipalities.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizMunicipalities.java new file mode 100644 index 00000000..8ff9605b --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizMunicipalities.java @@ -0,0 +1,108 @@ +package com.jeesite.modules.biz.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.common.utils.excel.annotation.ExcelField; +import com.jeesite.common.utils.excel.annotation.ExcelField.Align; +import com.jeesite.common.utils.excel.annotation.ExcelFields; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 地市信息Entity + * + * @author gaoxq + * @version 2025-11-27 + */ +@EqualsAndHashCode(callSuper = true) +@Table(name = "biz_municipalities", alias = "a", label = "地市信息信息", columns = { + @Column(name = "id", attrName = "id", label = "id", isPK = true), + @Column(name = "create_time", attrName = "createTime", label = "记录时间", isUpdate = false, isUpdateForce = true), + @Column(name = "county_name", attrName = "countyName", label = "县区名称", queryType = QueryType.LIKE), + @Column(name = "province_code", attrName = "provinceCode", label = "省份编码"), + @Column(name = "city_code", attrName = "cityCode", label = "市区编码"), + @Column(name = "county_code", attrName = "countyCode", label = "县区编码"), + @Column(name = "town_name", attrName = "townName", label = "街道名称", queryType = QueryType.LIKE), + @Column(name = "town_code", attrName = "townCode", label = "街道编号"), + @Column(name = "village_name", attrName = "villageName", label = "社区名称", queryType = QueryType.LIKE), + @Column(name = "village_code", attrName = "villageCode", label = "社区编号"), + @Column(name = "update_time", attrName = "updateTime", label = "更新时间", isQuery = false, isUpdateForce = true), + @Column(name = "data_status", attrName = "dataStatus", label = "数据状态"), + @Column(name = "f_tenant_id", attrName = "ftenantId", label = "租户id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_id", attrName = "fflowId", label = "流程id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_task_id", attrName = "fflowTaskId", label = "流程任务主键", isUpdate = false, isQuery = false), + @Column(name = "f_flow_state", attrName = "fflowState", label = "流程任务状态", isUpdate = false, isQuery = false, isUpdateForce = true), +}, orderBy = "a.id DESC" +) +@Data +public class BizMunicipalities extends DataEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录时间 + private String countyName; // 县区名称 + private String provinceCode; // 省份编码 + private String cityCode; // 市区编码 + private String countyCode; // 县区编码 + private String townName; // 街道名称 + private String townCode; // 街道编号 + private String villageName; // 社区名称 + private String villageCode; // 社区编号 + private Date updateTime; // 更新时间 + private String dataStatus; // 数据状态 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 + + @ExcelFields({ + @ExcelField(title = "id", attrName = "id", align = Align.CENTER, sort = 10), + @ExcelField(title = "记录时间", attrName = "createTime", align = Align.CENTER, sort = 20, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "县区名称", attrName = "countyName", align = Align.CENTER, sort = 30), + @ExcelField(title = "省份编码", attrName = "provinceCode", align = Align.CENTER, sort = 40), + @ExcelField(title = "市区编码", attrName = "cityCode", align = Align.CENTER, sort = 50), + @ExcelField(title = "县区编码", attrName = "countyCode", align = Align.CENTER, sort = 60), + @ExcelField(title = "街道名称", attrName = "townName", align = Align.CENTER, sort = 70), + @ExcelField(title = "街道编号", attrName = "townCode", align = Align.CENTER, sort = 80), + @ExcelField(title = "社区名称", attrName = "villageName", align = Align.CENTER, sort = 90), + @ExcelField(title = "社区编号", attrName = "villageCode", align = Align.CENTER, sort = 100), + @ExcelField(title = "更新时间", attrName = "updateTime", align = Align.CENTER, sort = 110, dataFormat = "yyyy-MM-dd hh:mm"), + }) + public BizMunicipalities() { + this(null); + } + + public BizMunicipalities(String id) { + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectInfo.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectInfo.java index 9a6b2ea6..47360912 100644 --- a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectInfo.java +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectInfo.java @@ -2,6 +2,7 @@ package com.jeesite.modules.biz.entity; import java.io.Serializable; import java.util.Date; + import com.jeesite.common.mybatis.annotation.JoinTable; import com.jeesite.common.mybatis.annotation.JoinTable.Type; import com.fasterxml.jackson.annotation.JsonFormat; @@ -22,84 +23,95 @@ import java.io.Serial; /** * 项目信息Entity + * * @author gaoxq * @version 2025-11-27 */ @EqualsAndHashCode(callSuper = true) -@Table(name="biz_project_info", alias="a", label="项目信息信息", columns={ - @Column(name="create_time", attrName="createTime", label="记录时间", isUpdate=false, isUpdateForce=true), - @Column(name="project_id", attrName="projectId", label="唯一标识", isPK=true), - @Column(name="project_code", attrName="projectCode", label="项目编码"), - @Column(name="project_name", attrName="projectName", label="项目名称", queryType=QueryType.LIKE), - @Column(name="project_desc", attrName="projectDesc", label="项目描述", isQuery=false), - @Column(name="start_date", attrName="startDate", label="开始日期", isQuery=false, isUpdateForce=true), - @Column(name="end_date", attrName="endDate", label="预计结束日期", isQuery=false, isUpdateForce=true), - @Column(name="actual_end_date", attrName="actualEndDate", label="实际结束日期", isQuery=false, isUpdateForce=true), - @Column(name="employee_id", attrName="employeeId", label="员工列表"), - @Column(name="project_type", attrName="projectType", label="项目类型"), - @Column(name="project_status", attrName="projectStatus", label="项目状态"), - @Column(name="f_tenant_id", attrName="ftenantId", label="租户id", isUpdate=false, isQuery=false), - @Column(name="f_flow_id", attrName="fflowId", label="流程id", isUpdate=false, isQuery=false), - @Column(name="f_flow_task_id", attrName="fflowTaskId", label="流程任务主键", isUpdate=false, isQuery=false), - @Column(name="f_flow_state", attrName="fflowState", label="流程任务状态", isUpdate=false, isQuery=false, isUpdateForce=true), - }, orderBy="a.project_id DESC" +@Table(name = "biz_project_info", alias = "a", label = "项目信息信息", columns = { + @Column(name = "create_time", attrName = "createTime", label = "记录时间", isUpdate = false, isUpdateForce = true), + @Column(name = "project_id", attrName = "projectId", label = "唯一标识", isPK = true), + @Column(name = "project_code", attrName = "projectCode", label = "项目编码"), + @Column(name = "project_name", attrName = "projectName", label = "项目名称", queryType = QueryType.LIKE), + @Column(name = "project_desc", attrName = "projectDesc", label = "项目描述", isQuery = false), + @Column(name = "start_date", attrName = "startDate", label = "开始日期", isQuery = false, isUpdateForce = true), + @Column(name = "end_date", attrName = "endDate", label = "预计结束日期", isQuery = false, isUpdateForce = true), + @Column(name = "actual_end_date", attrName = "actualEndDate", label = "实际结束日期", isQuery = false, isUpdateForce = true), + @Column(name = "employee_id", attrName = "employeeId", label = "员工列表"), + @Column(name = "project_type", attrName = "projectType", label = "项目类型"), + @Column(name = "project_status", attrName = "projectStatus", label = "项目状态"), + @Column(name = "f_tenant_id", attrName = "ftenantId", label = "租户id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_id", attrName = "fflowId", label = "流程id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_task_id", attrName = "fflowTaskId", label = "流程任务主键", isUpdate = false, isQuery = false), + @Column(name = "f_flow_state", attrName = "fflowState", label = "流程任务状态", isUpdate = false, isQuery = false, isUpdateForce = true), +}, joinTable = { + @JoinTable(type = Type.LEFT_JOIN, entity = BizResumeEmployee.class, attrName = "this", alias = "b", + on = "a.employee_id = b.employee_id", + columns = { + @Column(name = "employee_name", attrName = "employeeName", label = "员工姓名"), + @Column(name = "employee_code", attrName = "employeeCode", label = "员工编号"), + }), +}, orderBy = "a.create_time DESC" ) @Data public class BizProjectInfo extends DataEntity implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - private Date createTime; // 记录时间 - private String projectId; // 唯一标识 - private String projectCode; // 项目编码 - private String projectName; // 项目名称 - private String projectDesc; // 项目描述 - private Date startDate; // 开始日期 - private Date endDate; // 预计结束日期 - private Date actualEndDate; // 实际结束日期 - private String employeeId; // 员工列表 - private String projectType; // 项目类型 - private String projectStatus; // 项目状态 - private String ftenantId; // 租户id - private String fflowId; // 流程id - private String fflowTaskId; // 流程任务主键 - private Integer fflowState; // 流程任务状态 - @ExcelFields({ - @ExcelField(title="记录时间", attrName="createTime", align=Align.CENTER, sort=10, dataFormat="yyyy-MM-dd hh:mm"), - @ExcelField(title="唯一标识", attrName="projectId", align=Align.CENTER, sort=20), - @ExcelField(title="项目编码", attrName="projectCode", align=Align.CENTER, sort=30), - @ExcelField(title="项目名称", attrName="projectName", align=Align.CENTER, sort=40), - @ExcelField(title="项目描述", attrName="projectDesc", align=Align.CENTER, sort=50), - @ExcelField(title="开始日期", attrName="startDate", align=Align.CENTER, sort=60, dataFormat="yyyy-MM-dd hh:mm"), - @ExcelField(title="预计结束日期", attrName="endDate", align=Align.CENTER, sort=70, dataFormat="yyyy-MM-dd hh:mm"), - @ExcelField(title="实际结束日期", attrName="actualEndDate", align=Align.CENTER, sort=80, dataFormat="yyyy-MM-dd hh:mm"), - @ExcelField(title="员工列表", attrName="employeeId", align=Align.CENTER, sort=90), - @ExcelField(title="项目类型", attrName="projectType", align=Align.CENTER, sort=100), - @ExcelField(title="项目状态", attrName="projectStatus", align=Align.CENTER, sort=110), - }) - public BizProjectInfo() { - this(null); - } - - public BizProjectInfo(String id){ - super(id); - } - - public Date getCreateTime_gte() { - return sqlMap.getWhere().getValue("create_time", QueryType.GTE); - } + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录时间 + private String projectId; // 唯一标识 + private String projectCode; // 项目编码 + private String projectName; // 项目名称 + private String projectDesc; // 项目描述 + private Date startDate; // 开始日期 + private Date endDate; // 预计结束日期 + private Date actualEndDate; // 实际结束日期 + private String employeeId; // 员工列表 + private String projectType; // 项目类型 + private String projectStatus; // 项目状态 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 - public void setCreateTime_gte(Date createTime) { - sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); - } - - public Date getCreateTime_lte() { - return sqlMap.getWhere().getValue("create_time", QueryType.LTE); - } + private String employeeName; + private String employeeCode; + + @ExcelFields({ + @ExcelField(title = "记录时间", attrName = "createTime", align = Align.CENTER, sort = 10, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "唯一标识", attrName = "projectId", align = Align.CENTER, sort = 20), + @ExcelField(title = "项目编码", attrName = "projectCode", align = Align.CENTER, sort = 30), + @ExcelField(title = "项目名称", attrName = "projectName", align = Align.CENTER, sort = 40), + @ExcelField(title = "项目描述", attrName = "projectDesc", align = Align.CENTER, sort = 50), + @ExcelField(title = "开始日期", attrName = "startDate", align = Align.CENTER, sort = 60, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "预计结束日期", attrName = "endDate", align = Align.CENTER, sort = 70, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "实际结束日期", attrName = "actualEndDate", align = Align.CENTER, sort = 80, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "所属人员", attrName = "employeeName", align = Align.CENTER, sort = 90), + @ExcelField(title = "项目类型", attrName = "projectType", dictType = "project_type", align = Align.CENTER, sort = 100), + @ExcelField(title = "项目状态", attrName = "projectStatus", dictType = "project_status", align = Align.CENTER, sort = 110), + }) + public BizProjectInfo() { + this(null); + } + + public BizProjectInfo(String id) { + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } - public void setCreateTime_lte(Date createTime) { - sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); - } - } \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectReport.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectReport.java new file mode 100644 index 00000000..5fa522e0 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectReport.java @@ -0,0 +1,111 @@ +package com.jeesite.modules.biz.entity; + +import java.io.Serializable; +import java.util.Date; +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.common.utils.excel.annotation.ExcelField; +import com.jeesite.common.utils.excel.annotation.ExcelField.Align; +import com.jeesite.common.utils.excel.annotation.ExcelFields; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 汇报信息Entity + * @author gaoxq + * @version 2025-11-27 + */ +@EqualsAndHashCode(callSuper = true) +@Table(name="biz_project_report", alias="a", label="汇报信息信息", columns={ + @Column(name="create_time", attrName="createTime", label="记录时间", isUpdate=false, isUpdateForce=true), + @Column(name="report_id", attrName="reportId", label="汇报标识", isPK=true), + @Column(name="report_cycle", attrName="reportCycle", label="汇报周期"), + @Column(name="work_title", attrName="workTitle", label="汇报主题", queryType=QueryType.LIKE), + @Column(name="work_content", attrName="workContent", label="本期内容", isQuery=false), + @Column(name="progress_percent", attrName="progressPercent", label="项目进度", isQuery=false), + @Column(name="problem_desc", attrName="problemDesc", label="存在问题", isQuery=false), + @Column(name="solution_plan", attrName="solutionPlan", label="解决方案", isQuery=false), + @Column(name="next_plan", attrName="nextPlan", label="下期计划", isQuery=false), + @Column(name="report_time", attrName="reportTime", label="提交时间", isQuery=false, isUpdateForce=true), + @Column(name="approval_status", attrName="approvalStatus", label="汇报状态"), + @Column(name="project_id", attrName="projectId", label="项目编号"), + @Column(name="employee_id", attrName="employeeId", label="人员编号"), + @Column(name="f_tenant_id", attrName="ftenantId", label="租户id", isUpdate=false, isQuery=false), + @Column(name="f_flow_id", attrName="fflowId", label="流程id", isUpdate=false, isQuery=false), + @Column(name="f_flow_task_id", attrName="fflowTaskId", label="流程任务主键", isUpdate=false, isQuery=false), + @Column(name="f_flow_state", attrName="fflowState", label="流程任务状态", isUpdate=false, isQuery=false, isUpdateForce=true), + }, orderBy="a.report_id DESC" +) +@Data +public class BizProjectReport extends DataEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录时间 + private String reportId; // 汇报标识 + private String reportCycle; // 汇报周期 + private String workTitle; // 汇报主题 + private String workContent; // 本期内容 + private String progressPercent; // 项目进度 + private String problemDesc; // 存在问题 + private String solutionPlan; // 解决方案 + private String nextPlan; // 下期计划 + private Date reportTime; // 提交时间 + private String approvalStatus; // 汇报状态 + private String projectId; // 项目编号 + private String employeeId; // 人员编号 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 + + @ExcelFields({ + @ExcelField(title="记录时间", attrName="createTime", align=Align.CENTER, sort=10, dataFormat="yyyy-MM-dd hh:mm"), + @ExcelField(title="汇报标识", attrName="reportId", align=Align.CENTER, sort=20), + @ExcelField(title="汇报周期", attrName="reportCycle", align=Align.CENTER, sort=30), + @ExcelField(title="汇报主题", attrName="workTitle", align=Align.CENTER, sort=40), + @ExcelField(title="本期内容", attrName="workContent", align=Align.CENTER, sort=50), + @ExcelField(title="项目进度", attrName="progressPercent", align=Align.CENTER, sort=60), + @ExcelField(title="存在问题", attrName="problemDesc", align=Align.CENTER, sort=70), + @ExcelField(title="解决方案", attrName="solutionPlan", align=Align.CENTER, sort=80), + @ExcelField(title="下期计划", attrName="nextPlan", align=Align.CENTER, sort=90), + @ExcelField(title="提交时间", attrName="reportTime", align=Align.CENTER, sort=100, dataFormat="yyyy-MM-dd hh:mm"), + @ExcelField(title="汇报状态", attrName="approvalStatus", align=Align.CENTER, sort=110), + @ExcelField(title="项目编号", attrName="projectId", align=Align.CENTER, sort=120), + @ExcelField(title="人员编号", attrName="employeeId", align=Align.CENTER, sort=130), + }) + public BizProjectReport() { + this(null); + } + + public BizProjectReport(String id){ + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectRequirements.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectRequirements.java new file mode 100644 index 00000000..40c70465 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProjectRequirements.java @@ -0,0 +1,114 @@ +package com.jeesite.modules.biz.entity; + +import java.io.Serializable; +import java.util.Date; +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.common.utils.excel.annotation.ExcelField; +import com.jeesite.common.utils.excel.annotation.ExcelField.Align; +import com.jeesite.common.utils.excel.annotation.ExcelFields; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 需求信息Entity + * @author gaoxq + * @version 2025-11-27 + */ +@EqualsAndHashCode(callSuper = true) +@Table(name="biz_project_requirements", alias="a", label="需求信息信息", columns={ + @Column(name="create_time", attrName="createTime", label="记录日期", isUpdate=false, isUpdateForce=true), + @Column(name="requirement_id", attrName="requirementId", label="需求标识", isPK=true), + @Column(name="requirement_name", attrName="requirementName", label="需求名称", queryType=QueryType.LIKE), + @Column(name="requirement_code", attrName="requirementCode", label="需求编号"), + @Column(name="area_code", attrName="areaCode", label="项目区域"), + @Column(name="requirement_description", attrName="requirementDescription", label="需求描述"), + @Column(name="start_time", attrName="startTime", label="开始时间", isQuery=false, isUpdateForce=true), + @Column(name="end_time", attrName="endTime", label="结束时间", isQuery=false, isUpdateForce=true), + @Column(name="priority", attrName="priority", label="优先级"), + @Column(name="update_time", attrName="updateTime", label="更新时间", isQuery=false, isUpdateForce=true), + @Column(name="project_id", attrName="projectId", label="项目ID"), + @Column(name="employee_id", attrName="employeeId", label="用户ID"), + @Column(name="remark", attrName="remark", label="需求备注"), + @Column(name="requirements_status", attrName="requirementsStatus", label="状态"), + @Column(name="f_tenant_id", attrName="ftenantId", label="租户id", isUpdate=false, isQuery=false), + @Column(name="f_flow_id", attrName="fflowId", label="流程id", isUpdate=false, isQuery=false), + @Column(name="f_flow_task_id", attrName="fflowTaskId", label="流程任务主键", isUpdate=false, isQuery=false), + @Column(name="f_flow_state", attrName="fflowState", label="流程任务状态", isUpdate=false, isQuery=false, isUpdateForce=true), + }, orderBy="a.requirement_id DESC" +) +@Data +public class BizProjectRequirements extends DataEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录日期 + private String requirementId; // 需求标识 + private String requirementName; // 需求名称 + private String requirementCode; // 需求编号 + private String areaCode; // 项目区域 + private String requirementDescription; // 需求描述 + private Date startTime; // 开始时间 + private Date endTime; // 结束时间 + private String priority; // 优先级 + private Date updateTime; // 更新时间 + private String projectId; // 项目ID + private String employeeId; // 用户ID + private String remark; // 需求备注 + private String requirementsStatus; // 状态 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 + + @ExcelFields({ + @ExcelField(title="记录日期", attrName="createTime", align=Align.CENTER, sort=10, dataFormat="yyyy-MM-dd hh:mm"), + @ExcelField(title="需求标识", attrName="requirementId", align=Align.CENTER, sort=20), + @ExcelField(title="需求名称", attrName="requirementName", align=Align.CENTER, sort=30), + @ExcelField(title="需求编号", attrName="requirementCode", align=Align.CENTER, sort=40), + @ExcelField(title="项目区域", attrName="areaCode", align=Align.CENTER, sort=50), + @ExcelField(title="需求描述", attrName="requirementDescription", align=Align.CENTER, sort=60), + @ExcelField(title="开始时间", attrName="startTime", align=Align.CENTER, sort=70, dataFormat="yyyy-MM-dd hh:mm"), + @ExcelField(title="结束时间", attrName="endTime", align=Align.CENTER, sort=80, dataFormat="yyyy-MM-dd hh:mm"), + @ExcelField(title="优先级", attrName="priority", align=Align.CENTER, sort=90), + @ExcelField(title="更新时间", attrName="updateTime", align=Align.CENTER, sort=100, dataFormat="yyyy-MM-dd hh:mm"), + @ExcelField(title="项目ID", attrName="projectId", align=Align.CENTER, sort=110), + @ExcelField(title="用户ID", attrName="employeeId", align=Align.CENTER, sort=120), + @ExcelField(title="需求备注", attrName="remark", align=Align.CENTER, sort=130), + @ExcelField(title="状态", attrName="requirementsStatus", align=Align.CENTER, sort=140), + }) + public BizProjectRequirements() { + this(null); + } + + public BizProjectRequirements(String id){ + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProvince.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProvince.java new file mode 100644 index 00000000..9cba505b --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizProvince.java @@ -0,0 +1,94 @@ +package com.jeesite.modules.biz.entity; + +import java.io.Serializable; +import java.util.Date; +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import jakarta.validation.constraints.NotNull; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.common.utils.excel.annotation.ExcelField; +import com.jeesite.common.utils.excel.annotation.ExcelField.Align; +import com.jeesite.common.utils.excel.annotation.ExcelFields; +import lombok.Data; + +import java.io.Serial; + +/** + * 省份信息Entity + * @author gaoxq + * @version 2025-11-27 + */ +@Table(name="biz_province", alias="a", label="省份信息信息", columns={ + @Column(name="id", attrName="id", label="id", isPK=true), + @Column(name="create_time", attrName="createTime", label="记录时间", isUpdate=false, isUpdateForce=true), + @Column(name="province_name", attrName="provinceName", label="省份名称", queryType=QueryType.LIKE), + @Column(name="province_code", attrName="provinceCode", label="省份编码"), + @Column(name="url_addr", attrName="urlAddr", label="请求地址", queryType=QueryType.LIKE), + @Column(name="sorting", attrName="sorting", label="省份序号", isQuery=false), + @Column(name="req_code", attrName="reqCode", label="请求状态"), + @Column(name="data_status", attrName="dataStatus", label="数据状态"), + @Column(name="f_tenant_id", attrName="ftenantId", label="租户id", isUpdate=false, isQuery=false), + @Column(name="f_flow_id", attrName="fflowId", label="流程id", isUpdate=false, isQuery=false), + @Column(name="f_flow_task_id", attrName="fflowTaskId", label="流程任务主键", isUpdate=false, isQuery=false), + @Column(name="f_flow_state", attrName="fflowState", label="流程任务状态", isUpdate=false, isQuery=false, isUpdateForce=true), + }, orderBy="a.id DESC" +) +@Data +public class BizProvince extends DataEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录时间 + private String provinceName; // 省份名称 + private String provinceCode; // 省份编码 + private String urlAddr; // 请求地址 + private Integer sorting; // 省份序号 + private String reqCode; // 请求状态 + private String dataStatus; // 数据状态 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 + + @ExcelFields({ + @ExcelField(title="id", attrName="id", align=Align.CENTER, sort=10), + @ExcelField(title="记录时间", attrName="createTime", align=Align.CENTER, sort=20, dataFormat="yyyy-MM-dd hh:mm"), + @ExcelField(title="省份名称", attrName="provinceName", align=Align.CENTER, sort=30), + @ExcelField(title="省份编码", attrName="provinceCode", align=Align.CENTER, sort=40), + @ExcelField(title="请求地址", attrName="urlAddr", align=Align.CENTER, sort=50), + @ExcelField(title="省份序号", attrName="sorting", align=Align.CENTER, sort=60), + @ExcelField(title="请求状态", attrName="reqCode", align=Align.CENTER, sort=70), + @ExcelField(title="数据状态", attrName="dataStatus", align=Align.CENTER, sort=80), + }) + public BizProvince() { + this(null); + } + + public BizProvince(String id){ + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizResumeEmployee.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizResumeEmployee.java new file mode 100644 index 00000000..65f6ecfa --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizResumeEmployee.java @@ -0,0 +1,102 @@ +package com.jeesite.modules.biz.entity; + +import java.io.Serializable; +import java.util.Date; +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.Size; +import jakarta.validation.constraints.NotBlank; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.common.utils.excel.annotation.ExcelField; +import com.jeesite.common.utils.excel.annotation.ExcelField.Align; +import com.jeesite.common.utils.excel.annotation.ExcelFields; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 员工信息Entity + * @author gaoxq + * @version 2025-11-27 + */ +@EqualsAndHashCode(callSuper = true) +@Table(name="biz_resume_employee", alias="a", label="员工信息信息", columns={ + @Column(name="create_time", attrName="createTime", label="记录时间", isUpdate=false, isUpdateForce=true), + @Column(name="employee_id", attrName="employeeId", label="唯一标识", isPK=true), + @Column(name="employee_name", attrName="employeeName", label="员工姓名", queryType=QueryType.LIKE), + @Column(name="employee_code", attrName="employeeCode", label="员工编号"), + @Column(name="email", attrName="email", label="电子邮件"), + @Column(name="phone_number", attrName="phoneNumber", label="移动电话", isQuery=false), + @Column(name="sex", attrName="sex", label="性别"), + @Column(name="employee_position", attrName="employeePosition", label="职位", isQuery=false), + @Column(name="hire_date", attrName="hireDate", label="入职日期", isQuery=false), + @Column(name="employee_status", attrName="employeeStatus", label="状态"), + @Column(name="f_tenant_id", attrName="ftenantId", label="租户id", isUpdate=false, isQuery=false), + @Column(name="f_flow_id", attrName="fflowId", label="流程id", isUpdate=false, isQuery=false), + @Column(name="f_flow_task_id", attrName="fflowTaskId", label="流程任务主键", isUpdate=false, isQuery=false), + @Column(name="f_flow_state", attrName="fflowState", label="流程任务状态", isUpdate=false, isQuery=false, isUpdateForce=true), + }, orderBy="a.employee_id DESC" +) +@Data +public class BizResumeEmployee extends DataEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录时间 + private String employeeId; // 唯一标识 + private String employeeName; // 员工姓名 + private String employeeCode; // 员工编号 + private String email; // 电子邮件 + private String phoneNumber; // 移动电话 + private String sex; // 性别 + private String employeePosition; // 职位 + private String hireDate; // 入职日期 + private String employeeStatus; // 状态 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 + + @ExcelFields({ + @ExcelField(title="记录时间", attrName="createTime", align=Align.CENTER, sort=10, dataFormat="yyyy-MM-dd hh:mm"), + @ExcelField(title="唯一标识", attrName="employeeId", align=Align.CENTER, sort=20), + @ExcelField(title="员工姓名", attrName="employeeName", align=Align.CENTER, sort=30), + @ExcelField(title="员工编号", attrName="employeeCode", align=Align.CENTER, sort=40), + @ExcelField(title="电子邮件", attrName="email", align=Align.CENTER, sort=50), + @ExcelField(title="移动电话", attrName="phoneNumber", align=Align.CENTER, sort=60), + @ExcelField(title="性别", attrName="sex", dictType="sys_user_sex", align=Align.CENTER, sort=70), + @ExcelField(title="职位", attrName="employeePosition", align=Align.CENTER, sort=80), + @ExcelField(title="入职日期", attrName="hireDate", align=Align.CENTER, sort=90, dataFormat="yyyy-MM-dd"), + @ExcelField(title="状态", attrName="employeeStatus",dictType="ustatus", align=Align.CENTER, sort=100), + }) + public BizResumeEmployee() { + this(null); + } + + public BizResumeEmployee(String id){ + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/BizWebsiteStorage.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizWebsiteStorage.java new file mode 100644 index 00000000..2d99018a --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/BizWebsiteStorage.java @@ -0,0 +1,123 @@ +package com.jeesite.modules.biz.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import com.jeesite.common.utils.excel.annotation.ExcelField; +import com.jeesite.common.utils.excel.annotation.ExcelField.Align; +import com.jeesite.common.utils.excel.annotation.ExcelFields; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 网站信息Entity + * + * @author gaoxq + * @version 2025-11-27 + */ +@EqualsAndHashCode(callSuper = true) +@Table(name = "biz_website_storage", alias = "a", label = "网站信息信息", columns = { + @Column(name = "create_time", attrName = "createTime", label = "记录日期", isUpdate = false, isUpdateForce = true), + @Column(name = "website_id", attrName = "websiteId", label = "网站标识", isPK = true), + @Column(name = "website_url", attrName = "websiteUrl", label = "网站地址", queryType = QueryType.LIKE), + @Column(name = "website_name", attrName = "websiteName", label = "网站名称", queryType = QueryType.LIKE), + @Column(name = "web_account", attrName = "webAccount", label = "登录账号", isQuery = false), + @Column(name = "web_password", attrName = "webPassword", label = "登录密码", isQuery = false), + @Column(name = "remarks", attrName = "remarks", label = "备注说明", isQuery = false), + @Column(name = "company_id", attrName = "companyId", label = "所属公司"), + @Column(name = "employee_id", attrName = "employeeId", label = "使用人员"), + @Column(name = "login_user", attrName = "loginUser", label = "创建人员", isUpdate = false, isUpdateForce = true), + @Column(name = "storage_status", attrName = "storageStatus", label = "网站状态"), + @Column(name = "f_tenant_id", attrName = "ftenantId", label = "租户id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_id", attrName = "fflowId", label = "流程id", isUpdate = false, isQuery = false), + @Column(name = "f_flow_task_id", attrName = "fflowTaskId", label = "流程任务主键", isUpdate = false, isQuery = false), + @Column(name = "f_flow_state", attrName = "fflowState", label = "流程任务状态", isUpdate = false, isQuery = false, isUpdateForce = true), +}, joinTable = { + @JoinTable(type = Type.LEFT_JOIN, entity = BizCompany.class, attrName = "this", alias = "b", + on = "a.company_id = b.company_id", + columns = { + @Column(name = "company_name", attrName = "companyName", label = "公司名称"), + }), + @JoinTable(type = Type.LEFT_JOIN, entity = BizResumeEmployee.class, attrName = "this", alias = "c", + on = "a.employee_id = c.employee_id", + columns = { + @Column(name = "employee_name", attrName = "employeeName", label = "员工姓名"), + @Column(name = "employee_code", attrName = "employeeCode", label = "员工编号"), + }), +}, orderBy = "a.create_time DESC" +) +@Data +public class BizWebsiteStorage extends DataEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Date createTime; // 记录日期 + private String websiteId; // 网站标识 + private String websiteUrl; // 网站地址 + private String websiteName; // 网站名称 + private String webAccount; // 登录账号 + private String webPassword; // 登录密码 + private String companyId; // 所属公司 + private String employeeId; // 使用人员 + private String loginUser; // 创建人员 + private String storageStatus; // 网站状态 + private String ftenantId; // 租户id + private String fflowId; // 流程id + private String fflowTaskId; // 流程任务主键 + private Integer fflowState; // 流程任务状态 + + private String companyName; + private String employeeName; + private String employeeCode; + + + @ExcelFields({ + @ExcelField(title = "记录日期", attrName = "createTime", align = Align.CENTER, sort = 10, dataFormat = "yyyy-MM-dd hh:mm"), + @ExcelField(title = "网站标识", attrName = "websiteId", align = Align.CENTER, sort = 20), + @ExcelField(title = "网站地址", attrName = "websiteUrl", align = Align.CENTER, sort = 30), + @ExcelField(title = "网站名称", attrName = "websiteName", align = Align.CENTER, sort = 40), + @ExcelField(title = "登录账号", attrName = "webAccount", align = Align.CENTER, sort = 50), + @ExcelField(title = "登录密码", attrName = "webPassword", align = Align.CENTER, sort = 60), + @ExcelField(title = "备注说明", attrName = "remarks", align = Align.CENTER, sort = 70), + @ExcelField(title = "所属公司", attrName = "companyName", align = Align.CENTER, sort = 80), + @ExcelField(title = "所属人员", attrName = "employeeName", align = Align.CENTER, sort = 90), + @ExcelField(title = "创建人员", attrName = "loginUser", align = Align.CENTER, sort = 100), + @ExcelField(title = "网站状态", attrName = "storageStatus", dictType="ustatus", align = Align.CENTER, sort = 110), + }) + public BizWebsiteStorage() { + this(null); + } + + public BizWebsiteStorage(String id) { + super(id); + } + + public Date getCreateTime_gte() { + return sqlMap.getWhere().getValue("create_time", QueryType.GTE); + } + + public void setCreateTime_gte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.GTE, createTime); + } + + public Date getCreateTime_lte() { + return sqlMap.getWhere().getValue("create_time", QueryType.LTE); + } + + public void setCreateTime_lte(Date createTime) { + sqlMap.getWhere().and("create_time", QueryType.LTE, createTime); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/service/BizCitiesService.java b/web-api/src/main/java/com/jeesite/modules/biz/service/BizCitiesService.java new file mode 100644 index 00000000..b8023833 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/service/BizCitiesService.java @@ -0,0 +1,134 @@ +package com.jeesite.modules.biz.service; + +import java.util.List; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.biz.entity.BizCities; +import com.jeesite.modules.biz.dao.BizCitiesDao; +import com.jeesite.common.service.ServiceException; +import com.jeesite.common.config.Global; +import com.jeesite.common.validator.ValidatorUtils; +import com.jeesite.common.utils.excel.ExcelImport; +import org.springframework.web.multipart.MultipartFile; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; + +/** + * 市区信息Service + * @author gaoxq + * @version 2025-11-27 + */ +@Service +public class BizCitiesService extends CrudService { + + /** + * 获取单条数据 + * @param bizCities 主键 + */ + @Override + public BizCities get(BizCities bizCities) { + return super.get(bizCities); + } + + /** + * 查询分页数据 + * @param bizCities 查询条件 + * @param bizCities page 分页对象 + */ + @Override + public Page findPage(BizCities bizCities) { + return super.findPage(bizCities); + } + + /** + * 查询列表数据 + * @param bizCities 查询条件 + */ + @Override + public List findList(BizCities bizCities) { + return super.findList(bizCities); + } + + /** + * 保存数据(插入或更新) + * @param bizCities 数据对象 + */ + @Override + @Transactional + public void save(BizCities bizCities) { + super.save(bizCities); + } + + /** + * 导入数据 + * @param file 导入的数据文件 + */ + @Transactional + public String importData(MultipartFile file) { + if (file == null){ + throw new ServiceException(text("请选择导入的数据文件!")); + } + int successNum = 0; int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + try(ExcelImport ei = new ExcelImport(file, 2, 0)){ + List list = ei.getDataList(BizCities.class); + for (BizCities bizCities : list) { + try{ + ValidatorUtils.validateWithException(bizCities); + this.save(bizCities); + successNum++; + successMsg.append("
" + successNum + "、编号 " + bizCities.getId() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、编号 " + bizCities.getId() + " 导入失败:"; + if (e instanceof ConstraintViolationException){ + ConstraintViolationException cve = (ConstraintViolationException)e; + for (ConstraintViolation violation : cve.getConstraintViolations()) { + msg += Global.getText(violation.getMessage()) + " ("+violation.getPropertyPath()+")"; + } + }else{ + msg += e.getMessage(); + } + failureMsg.append(msg); + logger.error(msg, e); + } + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + failureMsg.append(e.getMessage()); + return failureMsg.toString(); + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + }else{ + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + /** + * 更新状态 + * @param bizCities 数据对象 + */ + @Override + @Transactional + public void updateStatus(BizCities bizCities) { + super.updateStatus(bizCities); + } + + /** + * 删除数据 + * @param bizCities 数据对象 + */ + @Override + @Transactional + public void delete(BizCities bizCities) { + super.delete(bizCities); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/service/BizCompanyService.java b/web-api/src/main/java/com/jeesite/modules/biz/service/BizCompanyService.java new file mode 100644 index 00000000..85d73b17 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/service/BizCompanyService.java @@ -0,0 +1,134 @@ +package com.jeesite.modules.biz.service; + +import java.util.List; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.biz.entity.BizCompany; +import com.jeesite.modules.biz.dao.BizCompanyDao; +import com.jeesite.common.service.ServiceException; +import com.jeesite.common.config.Global; +import com.jeesite.common.validator.ValidatorUtils; +import com.jeesite.common.utils.excel.ExcelImport; +import org.springframework.web.multipart.MultipartFile; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; + +/** + * 公司信息Service + * @author gaoxq + * @version 2025-11-27 + */ +@Service +public class BizCompanyService extends CrudService { + + /** + * 获取单条数据 + * @param bizCompany 主键 + */ + @Override + public BizCompany get(BizCompany bizCompany) { + return super.get(bizCompany); + } + + /** + * 查询分页数据 + * @param bizCompany 查询条件 + * @param bizCompany page 分页对象 + */ + @Override + public Page findPage(BizCompany bizCompany) { + return super.findPage(bizCompany); + } + + /** + * 查询列表数据 + * @param bizCompany 查询条件 + */ + @Override + public List findList(BizCompany bizCompany) { + return super.findList(bizCompany); + } + + /** + * 保存数据(插入或更新) + * @param bizCompany 数据对象 + */ + @Override + @Transactional + public void save(BizCompany bizCompany) { + super.save(bizCompany); + } + + /** + * 导入数据 + * @param file 导入的数据文件 + */ + @Transactional + public String importData(MultipartFile file) { + if (file == null){ + throw new ServiceException(text("请选择导入的数据文件!")); + } + int successNum = 0; int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + try(ExcelImport ei = new ExcelImport(file, 2, 0)){ + List list = ei.getDataList(BizCompany.class); + for (BizCompany bizCompany : list) { + try{ + ValidatorUtils.validateWithException(bizCompany); + this.save(bizCompany); + successNum++; + successMsg.append("
" + successNum + "、编号 " + bizCompany.getId() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、编号 " + bizCompany.getId() + " 导入失败:"; + if (e instanceof ConstraintViolationException){ + ConstraintViolationException cve = (ConstraintViolationException)e; + for (ConstraintViolation violation : cve.getConstraintViolations()) { + msg += Global.getText(violation.getMessage()) + " ("+violation.getPropertyPath()+")"; + } + }else{ + msg += e.getMessage(); + } + failureMsg.append(msg); + logger.error(msg, e); + } + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + failureMsg.append(e.getMessage()); + return failureMsg.toString(); + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + }else{ + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + /** + * 更新状态 + * @param bizCompany 数据对象 + */ + @Override + @Transactional + public void updateStatus(BizCompany bizCompany) { + super.updateStatus(bizCompany); + } + + /** + * 删除数据 + * @param bizCompany 数据对象 + */ + @Override + @Transactional + public void delete(BizCompany bizCompany) { + super.delete(bizCompany); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/service/BizMunicipalitiesService.java b/web-api/src/main/java/com/jeesite/modules/biz/service/BizMunicipalitiesService.java new file mode 100644 index 00000000..94747887 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/service/BizMunicipalitiesService.java @@ -0,0 +1,134 @@ +package com.jeesite.modules.biz.service; + +import java.util.List; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.biz.entity.BizMunicipalities; +import com.jeesite.modules.biz.dao.BizMunicipalitiesDao; +import com.jeesite.common.service.ServiceException; +import com.jeesite.common.config.Global; +import com.jeesite.common.validator.ValidatorUtils; +import com.jeesite.common.utils.excel.ExcelImport; +import org.springframework.web.multipart.MultipartFile; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; + +/** + * 地市信息Service + * @author gaoxq + * @version 2025-11-27 + */ +@Service +public class BizMunicipalitiesService extends CrudService { + + /** + * 获取单条数据 + * @param bizMunicipalities 主键 + */ + @Override + public BizMunicipalities get(BizMunicipalities bizMunicipalities) { + return super.get(bizMunicipalities); + } + + /** + * 查询分页数据 + * @param bizMunicipalities 查询条件 + * @param bizMunicipalities page 分页对象 + */ + @Override + public Page findPage(BizMunicipalities bizMunicipalities) { + return super.findPage(bizMunicipalities); + } + + /** + * 查询列表数据 + * @param bizMunicipalities 查询条件 + */ + @Override + public List findList(BizMunicipalities bizMunicipalities) { + return super.findList(bizMunicipalities); + } + + /** + * 保存数据(插入或更新) + * @param bizMunicipalities 数据对象 + */ + @Override + @Transactional + public void save(BizMunicipalities bizMunicipalities) { + super.save(bizMunicipalities); + } + + /** + * 导入数据 + * @param file 导入的数据文件 + */ + @Transactional + public String importData(MultipartFile file) { + if (file == null){ + throw new ServiceException(text("请选择导入的数据文件!")); + } + int successNum = 0; int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + try(ExcelImport ei = new ExcelImport(file, 2, 0)){ + List list = ei.getDataList(BizMunicipalities.class); + for (BizMunicipalities bizMunicipalities : list) { + try{ + ValidatorUtils.validateWithException(bizMunicipalities); + this.save(bizMunicipalities); + successNum++; + successMsg.append("
" + successNum + "、编号 " + bizMunicipalities.getId() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、编号 " + bizMunicipalities.getId() + " 导入失败:"; + if (e instanceof ConstraintViolationException){ + ConstraintViolationException cve = (ConstraintViolationException)e; + for (ConstraintViolation violation : cve.getConstraintViolations()) { + msg += Global.getText(violation.getMessage()) + " ("+violation.getPropertyPath()+")"; + } + }else{ + msg += e.getMessage(); + } + failureMsg.append(msg); + logger.error(msg, e); + } + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + failureMsg.append(e.getMessage()); + return failureMsg.toString(); + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + }else{ + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + /** + * 更新状态 + * @param bizMunicipalities 数据对象 + */ + @Override + @Transactional + public void updateStatus(BizMunicipalities bizMunicipalities) { + super.updateStatus(bizMunicipalities); + } + + /** + * 删除数据 + * @param bizMunicipalities 数据对象 + */ + @Override + @Transactional + public void delete(BizMunicipalities bizMunicipalities) { + super.delete(bizMunicipalities); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/service/BizProjectReportService.java b/web-api/src/main/java/com/jeesite/modules/biz/service/BizProjectReportService.java new file mode 100644 index 00000000..b186ef4e --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/service/BizProjectReportService.java @@ -0,0 +1,137 @@ +package com.jeesite.modules.biz.service; + +import java.util.List; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.biz.entity.BizProjectReport; +import com.jeesite.modules.biz.dao.BizProjectReportDao; +import com.jeesite.common.service.ServiceException; +import com.jeesite.modules.file.utils.FileUploadUtils; +import com.jeesite.common.config.Global; +import com.jeesite.common.validator.ValidatorUtils; +import com.jeesite.common.utils.excel.ExcelImport; +import org.springframework.web.multipart.MultipartFile; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; + +/** + * 汇报信息Service + * @author gaoxq + * @version 2025-11-27 + */ +@Service +public class BizProjectReportService extends CrudService { + + /** + * 获取单条数据 + * @param bizProjectReport 主键 + */ + @Override + public BizProjectReport get(BizProjectReport bizProjectReport) { + return super.get(bizProjectReport); + } + + /** + * 查询分页数据 + * @param bizProjectReport 查询条件 + * @param bizProjectReport page 分页对象 + */ + @Override + public Page findPage(BizProjectReport bizProjectReport) { + return super.findPage(bizProjectReport); + } + + /** + * 查询列表数据 + * @param bizProjectReport 查询条件 + */ + @Override + public List findList(BizProjectReport bizProjectReport) { + return super.findList(bizProjectReport); + } + + /** + * 保存数据(插入或更新) + * @param bizProjectReport 数据对象 + */ + @Override + @Transactional + public void save(BizProjectReport bizProjectReport) { + super.save(bizProjectReport); + // 保存上传附件 + FileUploadUtils.saveFileUpload(bizProjectReport, bizProjectReport.getId(), "bizProjectReport_file"); + } + + /** + * 导入数据 + * @param file 导入的数据文件 + */ + @Transactional + public String importData(MultipartFile file) { + if (file == null){ + throw new ServiceException(text("请选择导入的数据文件!")); + } + int successNum = 0; int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + try(ExcelImport ei = new ExcelImport(file, 2, 0)){ + List list = ei.getDataList(BizProjectReport.class); + for (BizProjectReport bizProjectReport : list) { + try{ + ValidatorUtils.validateWithException(bizProjectReport); + this.save(bizProjectReport); + successNum++; + successMsg.append("
" + successNum + "、编号 " + bizProjectReport.getId() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、编号 " + bizProjectReport.getId() + " 导入失败:"; + if (e instanceof ConstraintViolationException){ + ConstraintViolationException cve = (ConstraintViolationException)e; + for (ConstraintViolation violation : cve.getConstraintViolations()) { + msg += Global.getText(violation.getMessage()) + " ("+violation.getPropertyPath()+")"; + } + }else{ + msg += e.getMessage(); + } + failureMsg.append(msg); + logger.error(msg, e); + } + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + failureMsg.append(e.getMessage()); + return failureMsg.toString(); + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + }else{ + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + /** + * 更新状态 + * @param bizProjectReport 数据对象 + */ + @Override + @Transactional + public void updateStatus(BizProjectReport bizProjectReport) { + super.updateStatus(bizProjectReport); + } + + /** + * 删除数据 + * @param bizProjectReport 数据对象 + */ + @Override + @Transactional + public void delete(BizProjectReport bizProjectReport) { + super.delete(bizProjectReport); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/service/BizProjectRequirementsService.java b/web-api/src/main/java/com/jeesite/modules/biz/service/BizProjectRequirementsService.java new file mode 100644 index 00000000..dc6f2d93 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/service/BizProjectRequirementsService.java @@ -0,0 +1,134 @@ +package com.jeesite.modules.biz.service; + +import java.util.List; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.biz.entity.BizProjectRequirements; +import com.jeesite.modules.biz.dao.BizProjectRequirementsDao; +import com.jeesite.common.service.ServiceException; +import com.jeesite.common.config.Global; +import com.jeesite.common.validator.ValidatorUtils; +import com.jeesite.common.utils.excel.ExcelImport; +import org.springframework.web.multipart.MultipartFile; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; + +/** + * 需求信息Service + * @author gaoxq + * @version 2025-11-27 + */ +@Service +public class BizProjectRequirementsService extends CrudService { + + /** + * 获取单条数据 + * @param bizProjectRequirements 主键 + */ + @Override + public BizProjectRequirements get(BizProjectRequirements bizProjectRequirements) { + return super.get(bizProjectRequirements); + } + + /** + * 查询分页数据 + * @param bizProjectRequirements 查询条件 + * @param bizProjectRequirements page 分页对象 + */ + @Override + public Page findPage(BizProjectRequirements bizProjectRequirements) { + return super.findPage(bizProjectRequirements); + } + + /** + * 查询列表数据 + * @param bizProjectRequirements 查询条件 + */ + @Override + public List findList(BizProjectRequirements bizProjectRequirements) { + return super.findList(bizProjectRequirements); + } + + /** + * 保存数据(插入或更新) + * @param bizProjectRequirements 数据对象 + */ + @Override + @Transactional + public void save(BizProjectRequirements bizProjectRequirements) { + super.save(bizProjectRequirements); + } + + /** + * 导入数据 + * @param file 导入的数据文件 + */ + @Transactional + public String importData(MultipartFile file) { + if (file == null){ + throw new ServiceException(text("请选择导入的数据文件!")); + } + int successNum = 0; int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + try(ExcelImport ei = new ExcelImport(file, 2, 0)){ + List list = ei.getDataList(BizProjectRequirements.class); + for (BizProjectRequirements bizProjectRequirements : list) { + try{ + ValidatorUtils.validateWithException(bizProjectRequirements); + this.save(bizProjectRequirements); + successNum++; + successMsg.append("
" + successNum + "、编号 " + bizProjectRequirements.getId() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、编号 " + bizProjectRequirements.getId() + " 导入失败:"; + if (e instanceof ConstraintViolationException){ + ConstraintViolationException cve = (ConstraintViolationException)e; + for (ConstraintViolation violation : cve.getConstraintViolations()) { + msg += Global.getText(violation.getMessage()) + " ("+violation.getPropertyPath()+")"; + } + }else{ + msg += e.getMessage(); + } + failureMsg.append(msg); + logger.error(msg, e); + } + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + failureMsg.append(e.getMessage()); + return failureMsg.toString(); + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + }else{ + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + /** + * 更新状态 + * @param bizProjectRequirements 数据对象 + */ + @Override + @Transactional + public void updateStatus(BizProjectRequirements bizProjectRequirements) { + super.updateStatus(bizProjectRequirements); + } + + /** + * 删除数据 + * @param bizProjectRequirements 数据对象 + */ + @Override + @Transactional + public void delete(BizProjectRequirements bizProjectRequirements) { + super.delete(bizProjectRequirements); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/service/BizProvinceService.java b/web-api/src/main/java/com/jeesite/modules/biz/service/BizProvinceService.java new file mode 100644 index 00000000..1833a4e9 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/service/BizProvinceService.java @@ -0,0 +1,134 @@ +package com.jeesite.modules.biz.service; + +import java.util.List; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.biz.entity.BizProvince; +import com.jeesite.modules.biz.dao.BizProvinceDao; +import com.jeesite.common.service.ServiceException; +import com.jeesite.common.config.Global; +import com.jeesite.common.validator.ValidatorUtils; +import com.jeesite.common.utils.excel.ExcelImport; +import org.springframework.web.multipart.MultipartFile; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; + +/** + * 省份信息Service + * @author gaoxq + * @version 2025-11-27 + */ +@Service +public class BizProvinceService extends CrudService { + + /** + * 获取单条数据 + * @param bizProvince 主键 + */ + @Override + public BizProvince get(BizProvince bizProvince) { + return super.get(bizProvince); + } + + /** + * 查询分页数据 + * @param bizProvince 查询条件 + * @param bizProvince page 分页对象 + */ + @Override + public Page findPage(BizProvince bizProvince) { + return super.findPage(bizProvince); + } + + /** + * 查询列表数据 + * @param bizProvince 查询条件 + */ + @Override + public List findList(BizProvince bizProvince) { + return super.findList(bizProvince); + } + + /** + * 保存数据(插入或更新) + * @param bizProvince 数据对象 + */ + @Override + @Transactional + public void save(BizProvince bizProvince) { + super.save(bizProvince); + } + + /** + * 导入数据 + * @param file 导入的数据文件 + */ + @Transactional + public String importData(MultipartFile file) { + if (file == null){ + throw new ServiceException(text("请选择导入的数据文件!")); + } + int successNum = 0; int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + try(ExcelImport ei = new ExcelImport(file, 2, 0)){ + List list = ei.getDataList(BizProvince.class); + for (BizProvince bizProvince : list) { + try{ + ValidatorUtils.validateWithException(bizProvince); + this.save(bizProvince); + successNum++; + successMsg.append("
" + successNum + "、编号 " + bizProvince.getId() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、编号 " + bizProvince.getId() + " 导入失败:"; + if (e instanceof ConstraintViolationException){ + ConstraintViolationException cve = (ConstraintViolationException)e; + for (ConstraintViolation violation : cve.getConstraintViolations()) { + msg += Global.getText(violation.getMessage()) + " ("+violation.getPropertyPath()+")"; + } + }else{ + msg += e.getMessage(); + } + failureMsg.append(msg); + logger.error(msg, e); + } + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + failureMsg.append(e.getMessage()); + return failureMsg.toString(); + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + }else{ + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + /** + * 更新状态 + * @param bizProvince 数据对象 + */ + @Override + @Transactional + public void updateStatus(BizProvince bizProvince) { + super.updateStatus(bizProvince); + } + + /** + * 删除数据 + * @param bizProvince 数据对象 + */ + @Override + @Transactional + public void delete(BizProvince bizProvince) { + super.delete(bizProvince); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/service/BizResumeEmployeeService.java b/web-api/src/main/java/com/jeesite/modules/biz/service/BizResumeEmployeeService.java new file mode 100644 index 00000000..15d805cd --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/service/BizResumeEmployeeService.java @@ -0,0 +1,134 @@ +package com.jeesite.modules.biz.service; + +import java.util.List; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.biz.entity.BizResumeEmployee; +import com.jeesite.modules.biz.dao.BizResumeEmployeeDao; +import com.jeesite.common.service.ServiceException; +import com.jeesite.common.config.Global; +import com.jeesite.common.validator.ValidatorUtils; +import com.jeesite.common.utils.excel.ExcelImport; +import org.springframework.web.multipart.MultipartFile; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; + +/** + * 员工信息Service + * @author gaoxq + * @version 2025-11-27 + */ +@Service +public class BizResumeEmployeeService extends CrudService { + + /** + * 获取单条数据 + * @param bizResumeEmployee 主键 + */ + @Override + public BizResumeEmployee get(BizResumeEmployee bizResumeEmployee) { + return super.get(bizResumeEmployee); + } + + /** + * 查询分页数据 + * @param bizResumeEmployee 查询条件 + * @param bizResumeEmployee page 分页对象 + */ + @Override + public Page findPage(BizResumeEmployee bizResumeEmployee) { + return super.findPage(bizResumeEmployee); + } + + /** + * 查询列表数据 + * @param bizResumeEmployee 查询条件 + */ + @Override + public List findList(BizResumeEmployee bizResumeEmployee) { + return super.findList(bizResumeEmployee); + } + + /** + * 保存数据(插入或更新) + * @param bizResumeEmployee 数据对象 + */ + @Override + @Transactional + public void save(BizResumeEmployee bizResumeEmployee) { + super.save(bizResumeEmployee); + } + + /** + * 导入数据 + * @param file 导入的数据文件 + */ + @Transactional + public String importData(MultipartFile file) { + if (file == null){ + throw new ServiceException(text("请选择导入的数据文件!")); + } + int successNum = 0; int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + try(ExcelImport ei = new ExcelImport(file, 2, 0)){ + List list = ei.getDataList(BizResumeEmployee.class); + for (BizResumeEmployee bizResumeEmployee : list) { + try{ + ValidatorUtils.validateWithException(bizResumeEmployee); + this.save(bizResumeEmployee); + successNum++; + successMsg.append("
" + successNum + "、编号 " + bizResumeEmployee.getId() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、编号 " + bizResumeEmployee.getId() + " 导入失败:"; + if (e instanceof ConstraintViolationException){ + ConstraintViolationException cve = (ConstraintViolationException)e; + for (ConstraintViolation violation : cve.getConstraintViolations()) { + msg += Global.getText(violation.getMessage()) + " ("+violation.getPropertyPath()+")"; + } + }else{ + msg += e.getMessage(); + } + failureMsg.append(msg); + logger.error(msg, e); + } + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + failureMsg.append(e.getMessage()); + return failureMsg.toString(); + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + }else{ + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + /** + * 更新状态 + * @param bizResumeEmployee 数据对象 + */ + @Override + @Transactional + public void updateStatus(BizResumeEmployee bizResumeEmployee) { + super.updateStatus(bizResumeEmployee); + } + + /** + * 删除数据 + * @param bizResumeEmployee 数据对象 + */ + @Override + @Transactional + public void delete(BizResumeEmployee bizResumeEmployee) { + super.delete(bizResumeEmployee); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/service/BizWebsiteStorageService.java b/web-api/src/main/java/com/jeesite/modules/biz/service/BizWebsiteStorageService.java new file mode 100644 index 00000000..e49ff930 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/service/BizWebsiteStorageService.java @@ -0,0 +1,134 @@ +package com.jeesite.modules.biz.service; + +import java.util.List; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.biz.entity.BizWebsiteStorage; +import com.jeesite.modules.biz.dao.BizWebsiteStorageDao; +import com.jeesite.common.service.ServiceException; +import com.jeesite.common.config.Global; +import com.jeesite.common.validator.ValidatorUtils; +import com.jeesite.common.utils.excel.ExcelImport; +import org.springframework.web.multipart.MultipartFile; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.ConstraintViolationException; + +/** + * 网站信息Service + * @author gaoxq + * @version 2025-11-27 + */ +@Service +public class BizWebsiteStorageService extends CrudService { + + /** + * 获取单条数据 + * @param bizWebsiteStorage 主键 + */ + @Override + public BizWebsiteStorage get(BizWebsiteStorage bizWebsiteStorage) { + return super.get(bizWebsiteStorage); + } + + /** + * 查询分页数据 + * @param bizWebsiteStorage 查询条件 + * @param bizWebsiteStorage page 分页对象 + */ + @Override + public Page findPage(BizWebsiteStorage bizWebsiteStorage) { + return super.findPage(bizWebsiteStorage); + } + + /** + * 查询列表数据 + * @param bizWebsiteStorage 查询条件 + */ + @Override + public List findList(BizWebsiteStorage bizWebsiteStorage) { + return super.findList(bizWebsiteStorage); + } + + /** + * 保存数据(插入或更新) + * @param bizWebsiteStorage 数据对象 + */ + @Override + @Transactional + public void save(BizWebsiteStorage bizWebsiteStorage) { + super.save(bizWebsiteStorage); + } + + /** + * 导入数据 + * @param file 导入的数据文件 + */ + @Transactional + public String importData(MultipartFile file) { + if (file == null){ + throw new ServiceException(text("请选择导入的数据文件!")); + } + int successNum = 0; int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + try(ExcelImport ei = new ExcelImport(file, 2, 0)){ + List list = ei.getDataList(BizWebsiteStorage.class); + for (BizWebsiteStorage bizWebsiteStorage : list) { + try{ + ValidatorUtils.validateWithException(bizWebsiteStorage); + this.save(bizWebsiteStorage); + successNum++; + successMsg.append("
" + successNum + "、编号 " + bizWebsiteStorage.getId() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、编号 " + bizWebsiteStorage.getId() + " 导入失败:"; + if (e instanceof ConstraintViolationException){ + ConstraintViolationException cve = (ConstraintViolationException)e; + for (ConstraintViolation violation : cve.getConstraintViolations()) { + msg += Global.getText(violation.getMessage()) + " ("+violation.getPropertyPath()+")"; + } + }else{ + msg += e.getMessage(); + } + failureMsg.append(msg); + logger.error(msg, e); + } + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + failureMsg.append(e.getMessage()); + return failureMsg.toString(); + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + }else{ + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + /** + * 更新状态 + * @param bizWebsiteStorage 数据对象 + */ + @Override + @Transactional + public void updateStatus(BizWebsiteStorage bizWebsiteStorage) { + super.updateStatus(bizWebsiteStorage); + } + + /** + * 删除数据 + * @param bizWebsiteStorage 数据对象 + */ + @Override + @Transactional + public void delete(BizWebsiteStorage bizWebsiteStorage) { + super.delete(bizWebsiteStorage); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizCitiesController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizCitiesController.java new file mode 100644 index 00000000..e2f12d0c --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizCitiesController.java @@ -0,0 +1,146 @@ +package com.jeesite.modules.biz.web; + +import java.util.List; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.entity.Page; +import com.jeesite.common.lang.DateUtils; +import com.jeesite.common.utils.excel.ExcelExport; +import com.jeesite.common.utils.excel.annotation.ExcelField.Type; +import org.springframework.web.multipart.MultipartFile; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.biz.entity.BizCities; +import com.jeesite.modules.biz.service.BizCitiesService; + +/** + * 市区信息Controller + * @author gaoxq + * @version 2025-11-27 + */ +@Controller +@RequestMapping(value = "${adminPath}/biz/cities") +public class BizCitiesController extends BaseController { + + private final BizCitiesService bizCitiesService; + + public BizCitiesController(BizCitiesService bizCitiesService) { + this.bizCitiesService = bizCitiesService; + } + + /** + * 获取数据 + */ + @ModelAttribute + public BizCities get(String id, boolean isNewRecord) { + return bizCitiesService.get(id, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("biz:cities:view") + @RequestMapping(value = {"list", ""}) + public String list(BizCities bizCities, Model model) { + model.addAttribute("bizCities", bizCities); + return "modules/biz/bizCitiesList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("biz:cities:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(BizCities bizCities, HttpServletRequest request, HttpServletResponse response) { + bizCities.setPage(new Page<>(request, response)); + Page page = bizCitiesService.findPage(bizCities); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("biz:cities:view") + @RequestMapping(value = "form") + public String form(BizCities bizCities, Model model) { + model.addAttribute("bizCities", bizCities); + return "modules/biz/bizCitiesForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("biz:cities:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizCities bizCities) { + bizCitiesService.save(bizCities); + return renderResult(Global.TRUE, text("保存市区信息成功!")); + } + + /** + * 导出数据 + */ + @RequiresPermissions("biz:cities:view") + @RequestMapping(value = "exportData") + public void exportData(BizCities bizCities, HttpServletResponse response) { + List list = bizCitiesService.findList(bizCities); + String fileName = "市区信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + try(ExcelExport ee = new ExcelExport("市区信息", BizCities.class)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 下载模板 + */ + @RequiresPermissions("biz:cities:view") + @RequestMapping(value = "importTemplate") + public void importTemplate(HttpServletResponse response) { + BizCities bizCities = new BizCities(); + List list = ListUtils.newArrayList(bizCities); + String fileName = "市区信息模板.xlsx"; + try(ExcelExport ee = new ExcelExport("市区信息", BizCities.class, Type.IMPORT)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 导入数据 + */ + @ResponseBody + @RequiresPermissions("biz:cities:edit") + @PostMapping(value = "importData") + public String importData(MultipartFile file) { + try { + String message = bizCitiesService.importData(file); + return renderResult(Global.TRUE, "posfull:"+message); + } catch (Exception ex) { + return renderResult(Global.FALSE, "posfull:"+ex.getMessage()); + } + } + + /** + * 删除数据 + */ + @RequiresPermissions("biz:cities:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizCities bizCities) { + bizCitiesService.delete(bizCities); + return renderResult(Global.TRUE, text("删除市区信息成功!")); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizCompanyController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizCompanyController.java new file mode 100644 index 00000000..19b3aeaf --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizCompanyController.java @@ -0,0 +1,146 @@ +package com.jeesite.modules.biz.web; + +import java.util.List; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.entity.Page; +import com.jeesite.common.lang.DateUtils; +import com.jeesite.common.utils.excel.ExcelExport; +import com.jeesite.common.utils.excel.annotation.ExcelField.Type; +import org.springframework.web.multipart.MultipartFile; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.biz.entity.BizCompany; +import com.jeesite.modules.biz.service.BizCompanyService; + +/** + * 公司信息Controller + * @author gaoxq + * @version 2025-11-27 + */ +@Controller +@RequestMapping(value = "${adminPath}/biz/company") +public class BizCompanyController extends BaseController { + + private final BizCompanyService bizCompanyService; + + public BizCompanyController(BizCompanyService bizCompanyService) { + this.bizCompanyService = bizCompanyService; + } + + /** + * 获取数据 + */ + @ModelAttribute + public BizCompany get(String companyId, boolean isNewRecord) { + return bizCompanyService.get(companyId, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("biz:company:view") + @RequestMapping(value = {"list", ""}) + public String list(BizCompany bizCompany, Model model) { + model.addAttribute("bizCompany", bizCompany); + return "modules/biz/bizCompanyList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("biz:company:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(BizCompany bizCompany, HttpServletRequest request, HttpServletResponse response) { + bizCompany.setPage(new Page<>(request, response)); + Page page = bizCompanyService.findPage(bizCompany); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("biz:company:view") + @RequestMapping(value = "form") + public String form(BizCompany bizCompany, Model model) { + model.addAttribute("bizCompany", bizCompany); + return "modules/biz/bizCompanyForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("biz:company:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizCompany bizCompany) { + bizCompanyService.save(bizCompany); + return renderResult(Global.TRUE, text("保存公司信息成功!")); + } + + /** + * 导出数据 + */ + @RequiresPermissions("biz:company:view") + @RequestMapping(value = "exportData") + public void exportData(BizCompany bizCompany, HttpServletResponse response) { + List list = bizCompanyService.findList(bizCompany); + String fileName = "公司信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + try(ExcelExport ee = new ExcelExport("公司信息", BizCompany.class)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 下载模板 + */ + @RequiresPermissions("biz:company:view") + @RequestMapping(value = "importTemplate") + public void importTemplate(HttpServletResponse response) { + BizCompany bizCompany = new BizCompany(); + List list = ListUtils.newArrayList(bizCompany); + String fileName = "公司信息模板.xlsx"; + try(ExcelExport ee = new ExcelExport("公司信息", BizCompany.class, Type.IMPORT)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 导入数据 + */ + @ResponseBody + @RequiresPermissions("biz:company:edit") + @PostMapping(value = "importData") + public String importData(MultipartFile file) { + try { + String message = bizCompanyService.importData(file); + return renderResult(Global.TRUE, "posfull:"+message); + } catch (Exception ex) { + return renderResult(Global.FALSE, "posfull:"+ex.getMessage()); + } + } + + /** + * 删除数据 + */ + @RequiresPermissions("biz:company:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizCompany bizCompany) { + bizCompanyService.delete(bizCompany); + return renderResult(Global.TRUE, text("删除公司信息成功!")); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizMunicipalitiesController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizMunicipalitiesController.java new file mode 100644 index 00000000..130271ce --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizMunicipalitiesController.java @@ -0,0 +1,146 @@ +package com.jeesite.modules.biz.web; + +import java.util.List; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.entity.Page; +import com.jeesite.common.lang.DateUtils; +import com.jeesite.common.utils.excel.ExcelExport; +import com.jeesite.common.utils.excel.annotation.ExcelField.Type; +import org.springframework.web.multipart.MultipartFile; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.biz.entity.BizMunicipalities; +import com.jeesite.modules.biz.service.BizMunicipalitiesService; + +/** + * 地市信息Controller + * @author gaoxq + * @version 2025-11-27 + */ +@Controller +@RequestMapping(value = "${adminPath}/biz/municipalities") +public class BizMunicipalitiesController extends BaseController { + + private final BizMunicipalitiesService bizMunicipalitiesService; + + public BizMunicipalitiesController(BizMunicipalitiesService bizMunicipalitiesService) { + this.bizMunicipalitiesService = bizMunicipalitiesService; + } + + /** + * 获取数据 + */ + @ModelAttribute + public BizMunicipalities get(String id, boolean isNewRecord) { + return bizMunicipalitiesService.get(id, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("biz:municipalities:view") + @RequestMapping(value = {"list", ""}) + public String list(BizMunicipalities bizMunicipalities, Model model) { + model.addAttribute("bizMunicipalities", bizMunicipalities); + return "modules/biz/bizMunicipalitiesList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("biz:municipalities:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(BizMunicipalities bizMunicipalities, HttpServletRequest request, HttpServletResponse response) { + bizMunicipalities.setPage(new Page<>(request, response)); + Page page = bizMunicipalitiesService.findPage(bizMunicipalities); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("biz:municipalities:view") + @RequestMapping(value = "form") + public String form(BizMunicipalities bizMunicipalities, Model model) { + model.addAttribute("bizMunicipalities", bizMunicipalities); + return "modules/biz/bizMunicipalitiesForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("biz:municipalities:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizMunicipalities bizMunicipalities) { + bizMunicipalitiesService.save(bizMunicipalities); + return renderResult(Global.TRUE, text("保存地市信息成功!")); + } + + /** + * 导出数据 + */ + @RequiresPermissions("biz:municipalities:view") + @RequestMapping(value = "exportData") + public void exportData(BizMunicipalities bizMunicipalities, HttpServletResponse response) { + List list = bizMunicipalitiesService.findList(bizMunicipalities); + String fileName = "地市信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + try(ExcelExport ee = new ExcelExport("地市信息", BizMunicipalities.class)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 下载模板 + */ + @RequiresPermissions("biz:municipalities:view") + @RequestMapping(value = "importTemplate") + public void importTemplate(HttpServletResponse response) { + BizMunicipalities bizMunicipalities = new BizMunicipalities(); + List list = ListUtils.newArrayList(bizMunicipalities); + String fileName = "地市信息模板.xlsx"; + try(ExcelExport ee = new ExcelExport("地市信息", BizMunicipalities.class, Type.IMPORT)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 导入数据 + */ + @ResponseBody + @RequiresPermissions("biz:municipalities:edit") + @PostMapping(value = "importData") + public String importData(MultipartFile file) { + try { + String message = bizMunicipalitiesService.importData(file); + return renderResult(Global.TRUE, "posfull:"+message); + } catch (Exception ex) { + return renderResult(Global.FALSE, "posfull:"+ex.getMessage()); + } + } + + /** + * 删除数据 + */ + @RequiresPermissions("biz:municipalities:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizMunicipalities bizMunicipalities) { + bizMunicipalitiesService.delete(bizMunicipalities); + return renderResult(Global.TRUE, text("删除地市信息成功!")); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizProjectReportController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizProjectReportController.java new file mode 100644 index 00000000..016a0c7d --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizProjectReportController.java @@ -0,0 +1,146 @@ +package com.jeesite.modules.biz.web; + +import java.util.List; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.entity.Page; +import com.jeesite.common.lang.DateUtils; +import com.jeesite.common.utils.excel.ExcelExport; +import com.jeesite.common.utils.excel.annotation.ExcelField.Type; +import org.springframework.web.multipart.MultipartFile; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.biz.entity.BizProjectReport; +import com.jeesite.modules.biz.service.BizProjectReportService; + +/** + * 汇报信息Controller + * @author gaoxq + * @version 2025-11-27 + */ +@Controller +@RequestMapping(value = "${adminPath}/biz/projectReport") +public class BizProjectReportController extends BaseController { + + private final BizProjectReportService bizProjectReportService; + + public BizProjectReportController(BizProjectReportService bizProjectReportService) { + this.bizProjectReportService = bizProjectReportService; + } + + /** + * 获取数据 + */ + @ModelAttribute + public BizProjectReport get(String reportId, boolean isNewRecord) { + return bizProjectReportService.get(reportId, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("biz:projectReport:view") + @RequestMapping(value = {"list", ""}) + public String list(BizProjectReport bizProjectReport, Model model) { + model.addAttribute("bizProjectReport", bizProjectReport); + return "modules/biz/bizProjectReportList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("biz:projectReport:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(BizProjectReport bizProjectReport, HttpServletRequest request, HttpServletResponse response) { + bizProjectReport.setPage(new Page<>(request, response)); + Page page = bizProjectReportService.findPage(bizProjectReport); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("biz:projectReport:view") + @RequestMapping(value = "form") + public String form(BizProjectReport bizProjectReport, Model model) { + model.addAttribute("bizProjectReport", bizProjectReport); + return "modules/biz/bizProjectReportForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("biz:projectReport:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizProjectReport bizProjectReport) { + bizProjectReportService.save(bizProjectReport); + return renderResult(Global.TRUE, text("保存汇报信息成功!")); + } + + /** + * 导出数据 + */ + @RequiresPermissions("biz:projectReport:view") + @RequestMapping(value = "exportData") + public void exportData(BizProjectReport bizProjectReport, HttpServletResponse response) { + List list = bizProjectReportService.findList(bizProjectReport); + String fileName = "汇报信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + try(ExcelExport ee = new ExcelExport("汇报信息", BizProjectReport.class)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 下载模板 + */ + @RequiresPermissions("biz:projectReport:view") + @RequestMapping(value = "importTemplate") + public void importTemplate(HttpServletResponse response) { + BizProjectReport bizProjectReport = new BizProjectReport(); + List list = ListUtils.newArrayList(bizProjectReport); + String fileName = "汇报信息模板.xlsx"; + try(ExcelExport ee = new ExcelExport("汇报信息", BizProjectReport.class, Type.IMPORT)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 导入数据 + */ + @ResponseBody + @RequiresPermissions("biz:projectReport:edit") + @PostMapping(value = "importData") + public String importData(MultipartFile file) { + try { + String message = bizProjectReportService.importData(file); + return renderResult(Global.TRUE, "posfull:"+message); + } catch (Exception ex) { + return renderResult(Global.FALSE, "posfull:"+ex.getMessage()); + } + } + + /** + * 删除数据 + */ + @RequiresPermissions("biz:projectReport:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizProjectReport bizProjectReport) { + bizProjectReportService.delete(bizProjectReport); + return renderResult(Global.TRUE, text("删除汇报信息成功!")); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizProjectRequirementsController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizProjectRequirementsController.java new file mode 100644 index 00000000..a75dcee9 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizProjectRequirementsController.java @@ -0,0 +1,146 @@ +package com.jeesite.modules.biz.web; + +import java.util.List; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.entity.Page; +import com.jeesite.common.lang.DateUtils; +import com.jeesite.common.utils.excel.ExcelExport; +import com.jeesite.common.utils.excel.annotation.ExcelField.Type; +import org.springframework.web.multipart.MultipartFile; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.biz.entity.BizProjectRequirements; +import com.jeesite.modules.biz.service.BizProjectRequirementsService; + +/** + * 需求信息Controller + * @author gaoxq + * @version 2025-11-27 + */ +@Controller +@RequestMapping(value = "${adminPath}/biz/projectRequirements") +public class BizProjectRequirementsController extends BaseController { + + private final BizProjectRequirementsService bizProjectRequirementsService; + + public BizProjectRequirementsController(BizProjectRequirementsService bizProjectRequirementsService) { + this.bizProjectRequirementsService = bizProjectRequirementsService; + } + + /** + * 获取数据 + */ + @ModelAttribute + public BizProjectRequirements get(String requirementId, boolean isNewRecord) { + return bizProjectRequirementsService.get(requirementId, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("biz:projectRequirements:view") + @RequestMapping(value = {"list", ""}) + public String list(BizProjectRequirements bizProjectRequirements, Model model) { + model.addAttribute("bizProjectRequirements", bizProjectRequirements); + return "modules/biz/bizProjectRequirementsList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("biz:projectRequirements:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(BizProjectRequirements bizProjectRequirements, HttpServletRequest request, HttpServletResponse response) { + bizProjectRequirements.setPage(new Page<>(request, response)); + Page page = bizProjectRequirementsService.findPage(bizProjectRequirements); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("biz:projectRequirements:view") + @RequestMapping(value = "form") + public String form(BizProjectRequirements bizProjectRequirements, Model model) { + model.addAttribute("bizProjectRequirements", bizProjectRequirements); + return "modules/biz/bizProjectRequirementsForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("biz:projectRequirements:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizProjectRequirements bizProjectRequirements) { + bizProjectRequirementsService.save(bizProjectRequirements); + return renderResult(Global.TRUE, text("保存需求信息成功!")); + } + + /** + * 导出数据 + */ + @RequiresPermissions("biz:projectRequirements:view") + @RequestMapping(value = "exportData") + public void exportData(BizProjectRequirements bizProjectRequirements, HttpServletResponse response) { + List list = bizProjectRequirementsService.findList(bizProjectRequirements); + String fileName = "需求信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + try(ExcelExport ee = new ExcelExport("需求信息", BizProjectRequirements.class)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 下载模板 + */ + @RequiresPermissions("biz:projectRequirements:view") + @RequestMapping(value = "importTemplate") + public void importTemplate(HttpServletResponse response) { + BizProjectRequirements bizProjectRequirements = new BizProjectRequirements(); + List list = ListUtils.newArrayList(bizProjectRequirements); + String fileName = "需求信息模板.xlsx"; + try(ExcelExport ee = new ExcelExport("需求信息", BizProjectRequirements.class, Type.IMPORT)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 导入数据 + */ + @ResponseBody + @RequiresPermissions("biz:projectRequirements:edit") + @PostMapping(value = "importData") + public String importData(MultipartFile file) { + try { + String message = bizProjectRequirementsService.importData(file); + return renderResult(Global.TRUE, "posfull:"+message); + } catch (Exception ex) { + return renderResult(Global.FALSE, "posfull:"+ex.getMessage()); + } + } + + /** + * 删除数据 + */ + @RequiresPermissions("biz:projectRequirements:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizProjectRequirements bizProjectRequirements) { + bizProjectRequirementsService.delete(bizProjectRequirements); + return renderResult(Global.TRUE, text("删除需求信息成功!")); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizProvinceController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizProvinceController.java new file mode 100644 index 00000000..21373ce0 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizProvinceController.java @@ -0,0 +1,146 @@ +package com.jeesite.modules.biz.web; + +import java.util.List; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.entity.Page; +import com.jeesite.common.lang.DateUtils; +import com.jeesite.common.utils.excel.ExcelExport; +import com.jeesite.common.utils.excel.annotation.ExcelField.Type; +import org.springframework.web.multipart.MultipartFile; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.biz.entity.BizProvince; +import com.jeesite.modules.biz.service.BizProvinceService; + +/** + * 省份信息Controller + * @author gaoxq + * @version 2025-11-27 + */ +@Controller +@RequestMapping(value = "${adminPath}/biz/province") +public class BizProvinceController extends BaseController { + + private final BizProvinceService bizProvinceService; + + public BizProvinceController(BizProvinceService bizProvinceService) { + this.bizProvinceService = bizProvinceService; + } + + /** + * 获取数据 + */ + @ModelAttribute + public BizProvince get(String id, boolean isNewRecord) { + return bizProvinceService.get(id, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("biz:province:view") + @RequestMapping(value = {"list", ""}) + public String list(BizProvince bizProvince, Model model) { + model.addAttribute("bizProvince", bizProvince); + return "modules/biz/bizProvinceList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("biz:province:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(BizProvince bizProvince, HttpServletRequest request, HttpServletResponse response) { + bizProvince.setPage(new Page<>(request, response)); + Page page = bizProvinceService.findPage(bizProvince); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("biz:province:view") + @RequestMapping(value = "form") + public String form(BizProvince bizProvince, Model model) { + model.addAttribute("bizProvince", bizProvince); + return "modules/biz/bizProvinceForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("biz:province:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizProvince bizProvince) { + bizProvinceService.save(bizProvince); + return renderResult(Global.TRUE, text("保存省份信息成功!")); + } + + /** + * 导出数据 + */ + @RequiresPermissions("biz:province:view") + @RequestMapping(value = "exportData") + public void exportData(BizProvince bizProvince, HttpServletResponse response) { + List list = bizProvinceService.findList(bizProvince); + String fileName = "省份信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + try(ExcelExport ee = new ExcelExport("省份信息", BizProvince.class)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 下载模板 + */ + @RequiresPermissions("biz:province:view") + @RequestMapping(value = "importTemplate") + public void importTemplate(HttpServletResponse response) { + BizProvince bizProvince = new BizProvince(); + List list = ListUtils.newArrayList(bizProvince); + String fileName = "省份信息模板.xlsx"; + try(ExcelExport ee = new ExcelExport("省份信息", BizProvince.class, Type.IMPORT)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 导入数据 + */ + @ResponseBody + @RequiresPermissions("biz:province:edit") + @PostMapping(value = "importData") + public String importData(MultipartFile file) { + try { + String message = bizProvinceService.importData(file); + return renderResult(Global.TRUE, "posfull:"+message); + } catch (Exception ex) { + return renderResult(Global.FALSE, "posfull:"+ex.getMessage()); + } + } + + /** + * 删除数据 + */ + @RequiresPermissions("biz:province:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizProvince bizProvince) { + bizProvinceService.delete(bizProvince); + return renderResult(Global.TRUE, text("删除省份信息成功!")); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizResumeEmployeeController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizResumeEmployeeController.java new file mode 100644 index 00000000..e4dda617 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizResumeEmployeeController.java @@ -0,0 +1,146 @@ +package com.jeesite.modules.biz.web; + +import java.util.List; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.entity.Page; +import com.jeesite.common.lang.DateUtils; +import com.jeesite.common.utils.excel.ExcelExport; +import com.jeesite.common.utils.excel.annotation.ExcelField.Type; +import org.springframework.web.multipart.MultipartFile; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.biz.entity.BizResumeEmployee; +import com.jeesite.modules.biz.service.BizResumeEmployeeService; + +/** + * 员工信息Controller + * @author gaoxq + * @version 2025-11-27 + */ +@Controller +@RequestMapping(value = "${adminPath}/biz/resumeEmployee") +public class BizResumeEmployeeController extends BaseController { + + private final BizResumeEmployeeService bizResumeEmployeeService; + + public BizResumeEmployeeController(BizResumeEmployeeService bizResumeEmployeeService) { + this.bizResumeEmployeeService = bizResumeEmployeeService; + } + + /** + * 获取数据 + */ + @ModelAttribute + public BizResumeEmployee get(String employeeId, boolean isNewRecord) { + return bizResumeEmployeeService.get(employeeId, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("biz:resumeEmployee:view") + @RequestMapping(value = {"list", ""}) + public String list(BizResumeEmployee bizResumeEmployee, Model model) { + model.addAttribute("bizResumeEmployee", bizResumeEmployee); + return "modules/biz/bizResumeEmployeeList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("biz:resumeEmployee:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(BizResumeEmployee bizResumeEmployee, HttpServletRequest request, HttpServletResponse response) { + bizResumeEmployee.setPage(new Page<>(request, response)); + Page page = bizResumeEmployeeService.findPage(bizResumeEmployee); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("biz:resumeEmployee:view") + @RequestMapping(value = "form") + public String form(BizResumeEmployee bizResumeEmployee, Model model) { + model.addAttribute("bizResumeEmployee", bizResumeEmployee); + return "modules/biz/bizResumeEmployeeForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("biz:resumeEmployee:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizResumeEmployee bizResumeEmployee) { + bizResumeEmployeeService.save(bizResumeEmployee); + return renderResult(Global.TRUE, text("保存员工信息成功!")); + } + + /** + * 导出数据 + */ + @RequiresPermissions("biz:resumeEmployee:view") + @RequestMapping(value = "exportData") + public void exportData(BizResumeEmployee bizResumeEmployee, HttpServletResponse response) { + List list = bizResumeEmployeeService.findList(bizResumeEmployee); + String fileName = "员工信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + try(ExcelExport ee = new ExcelExport("员工信息", BizResumeEmployee.class)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 下载模板 + */ + @RequiresPermissions("biz:resumeEmployee:view") + @RequestMapping(value = "importTemplate") + public void importTemplate(HttpServletResponse response) { + BizResumeEmployee bizResumeEmployee = new BizResumeEmployee(); + List list = ListUtils.newArrayList(bizResumeEmployee); + String fileName = "员工信息模板.xlsx"; + try(ExcelExport ee = new ExcelExport("员工信息", BizResumeEmployee.class, Type.IMPORT)){ + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 导入数据 + */ + @ResponseBody + @RequiresPermissions("biz:resumeEmployee:edit") + @PostMapping(value = "importData") + public String importData(MultipartFile file) { + try { + String message = bizResumeEmployeeService.importData(file); + return renderResult(Global.TRUE, "posfull:"+message); + } catch (Exception ex) { + return renderResult(Global.FALSE, "posfull:"+ex.getMessage()); + } + } + + /** + * 删除数据 + */ + @RequiresPermissions("biz:resumeEmployee:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizResumeEmployee bizResumeEmployee) { + bizResumeEmployeeService.delete(bizResumeEmployee); + return renderResult(Global.TRUE, text("删除员工信息成功!")); + } + +} \ No newline at end of file diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/BizWebsiteStorageController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/BizWebsiteStorageController.java new file mode 100644 index 00000000..76401bf0 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/BizWebsiteStorageController.java @@ -0,0 +1,156 @@ +package com.jeesite.modules.biz.web; + +import java.util.List; + +import com.jeesite.modules.sys.entity.User; +import com.jeesite.modules.sys.utils.UserUtils; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.entity.Page; +import com.jeesite.common.lang.DateUtils; +import com.jeesite.common.utils.excel.ExcelExport; +import com.jeesite.common.utils.excel.annotation.ExcelField.Type; +import org.springframework.web.multipart.MultipartFile; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.biz.entity.BizWebsiteStorage; +import com.jeesite.modules.biz.service.BizWebsiteStorageService; + +/** + * 网站信息Controller + * + * @author gaoxq + * @version 2025-11-27 + */ +@Controller +@RequestMapping(value = "${adminPath}/biz/websiteStorage") +public class BizWebsiteStorageController extends BaseController { + + private final BizWebsiteStorageService bizWebsiteStorageService; + + public BizWebsiteStorageController(BizWebsiteStorageService bizWebsiteStorageService) { + this.bizWebsiteStorageService = bizWebsiteStorageService; + } + + /** + * 获取数据 + */ + @ModelAttribute + public BizWebsiteStorage get(String websiteId, boolean isNewRecord) { + return bizWebsiteStorageService.get(websiteId, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("biz:websiteStorage:view") + @RequestMapping(value = {"list", ""}) + public String list(BizWebsiteStorage bizWebsiteStorage, Model model) { + model.addAttribute("bizWebsiteStorage", bizWebsiteStorage); + return "modules/biz/bizWebsiteStorageList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("biz:websiteStorage:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(BizWebsiteStorage bizWebsiteStorage, HttpServletRequest request, HttpServletResponse response) { + User user = UserUtils.getUser(); + bizWebsiteStorage.setLoginUser(user.getLoginCode()); + bizWebsiteStorage.setPage(new Page<>(request, response)); + Page page = bizWebsiteStorageService.findPage(bizWebsiteStorage); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("biz:websiteStorage:view") + @RequestMapping(value = "form") + public String form(BizWebsiteStorage bizWebsiteStorage, Model model) { + model.addAttribute("bizWebsiteStorage", bizWebsiteStorage); + return "modules/biz/bizWebsiteStorageForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("biz:websiteStorage:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizWebsiteStorage bizWebsiteStorage) { + User user = UserUtils.getUser(); + bizWebsiteStorage.setLoginUser(user.getLoginCode()); + bizWebsiteStorageService.save(bizWebsiteStorage); + return renderResult(Global.TRUE, text("保存网站信息成功!")); + } + + /** + * 导出数据 + */ + @RequiresPermissions("biz:websiteStorage:view") + @RequestMapping(value = "exportData") + public void exportData(BizWebsiteStorage bizWebsiteStorage, HttpServletResponse response) { + User user = UserUtils.getUser(); + bizWebsiteStorage.setLoginUser(user.getLoginCode()); + List list = bizWebsiteStorageService.findList(bizWebsiteStorage); + String fileName = "网站信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + try (ExcelExport ee = new ExcelExport("网站信息", BizWebsiteStorage.class)) { + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 下载模板 + */ + @RequiresPermissions("biz:websiteStorage:view") + @RequestMapping(value = "importTemplate") + public void importTemplate(HttpServletResponse response) { + BizWebsiteStorage bizWebsiteStorage = new BizWebsiteStorage(); + List list = ListUtils.newArrayList(bizWebsiteStorage); + String fileName = "网站信息模板.xlsx"; + try (ExcelExport ee = new ExcelExport("网站信息", BizWebsiteStorage.class, Type.IMPORT)) { + ee.setDataList(list).write(response, fileName); + } + } + + /** + * 导入数据 + */ + @ResponseBody + @RequiresPermissions("biz:websiteStorage:edit") + @PostMapping(value = "importData") + public String importData(MultipartFile file) { + try { + String message = bizWebsiteStorageService.importData(file); + return renderResult(Global.TRUE, "posfull:" + message); + } catch (Exception ex) { + return renderResult(Global.FALSE, "posfull:" + ex.getMessage()); + } + } + + /** + * 删除数据 + */ + @RequiresPermissions("biz:websiteStorage:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizWebsiteStorage bizWebsiteStorage) { + bizWebsiteStorageService.delete(bizWebsiteStorage); + return renderResult(Global.TRUE, text("删除网站信息成功!")); + } + +} \ No newline at end of file diff --git a/web-api/src/main/resources/mappings/modules/biz/BizCitiesDao.xml b/web-api/src/main/resources/mappings/modules/biz/BizCitiesDao.xml new file mode 100644 index 00000000..f3f78e1f --- /dev/null +++ b/web-api/src/main/resources/mappings/modules/biz/BizCitiesDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web-api/src/main/resources/mappings/modules/biz/BizCompanyDao.xml b/web-api/src/main/resources/mappings/modules/biz/BizCompanyDao.xml new file mode 100644 index 00000000..bc95cba6 --- /dev/null +++ b/web-api/src/main/resources/mappings/modules/biz/BizCompanyDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web-api/src/main/resources/mappings/modules/biz/BizMunicipalitiesDao.xml b/web-api/src/main/resources/mappings/modules/biz/BizMunicipalitiesDao.xml new file mode 100644 index 00000000..ebaed7cd --- /dev/null +++ b/web-api/src/main/resources/mappings/modules/biz/BizMunicipalitiesDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web-api/src/main/resources/mappings/modules/biz/BizProjectReportDao.xml b/web-api/src/main/resources/mappings/modules/biz/BizProjectReportDao.xml new file mode 100644 index 00000000..0f745bfb --- /dev/null +++ b/web-api/src/main/resources/mappings/modules/biz/BizProjectReportDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web-api/src/main/resources/mappings/modules/biz/BizProjectRequirementsDao.xml b/web-api/src/main/resources/mappings/modules/biz/BizProjectRequirementsDao.xml new file mode 100644 index 00000000..c3c3863d --- /dev/null +++ b/web-api/src/main/resources/mappings/modules/biz/BizProjectRequirementsDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web-api/src/main/resources/mappings/modules/biz/BizProvinceDao.xml b/web-api/src/main/resources/mappings/modules/biz/BizProvinceDao.xml new file mode 100644 index 00000000..795400f8 --- /dev/null +++ b/web-api/src/main/resources/mappings/modules/biz/BizProvinceDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web-api/src/main/resources/mappings/modules/biz/BizResumeEmployeeDao.xml b/web-api/src/main/resources/mappings/modules/biz/BizResumeEmployeeDao.xml new file mode 100644 index 00000000..56a82afe --- /dev/null +++ b/web-api/src/main/resources/mappings/modules/biz/BizResumeEmployeeDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web-api/src/main/resources/mappings/modules/biz/BizWebsiteStorageDao.xml b/web-api/src/main/resources/mappings/modules/biz/BizWebsiteStorageDao.xml new file mode 100644 index 00000000..17be44e3 --- /dev/null +++ b/web-api/src/main/resources/mappings/modules/biz/BizWebsiteStorageDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web-vue/packages/biz/api/biz/cities.ts b/web-vue/packages/biz/api/biz/cities.ts new file mode 100644 index 00000000..77379461 --- /dev/null +++ b/web-vue/packages/biz/api/biz/cities.ts @@ -0,0 +1,55 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { UploadApiResult } from '@jeesite/core/api/sys/upload'; +import { UploadFileParams } from '@jeesite/types/axios'; +import { AxiosProgressEvent } from 'axios'; + +const { ctxPath, adminPath } = useGlobSetting(); + +export interface BizCities extends BasicModel { + createTime?: string; // 记录时间 + provinceCode: string; // 省份编码 + cityCode: string; // 市区编码 + cityName: string; // 市区名称 + areaCode: string; // 市区区号 + areaType: string; // 市区级别 + updateTime?: string; // 更新时间 + dataStatus: string; // 数据状态 + ftenantId?: string; // 租户id + fflowId?: string; // 流程id + fflowTaskId?: string; // 流程任务主键 + fflowState?: number; // 流程任务状态 +} + +export const bizCitiesList = (params?: BizCities | any) => + defHttp.get({ url: adminPath + '/biz/cities/list', params }); + +export const bizCitiesListData = (params?: BizCities | any) => + defHttp.post>({ url: adminPath + '/biz/cities/listData', params }); + +export const bizCitiesForm = (params?: BizCities | any) => + defHttp.get({ url: adminPath + '/biz/cities/form', params }); + +export const bizCitiesSave = (params?: any, data?: BizCities | any) => + defHttp.postJson({ url: adminPath + '/biz/cities/save', params, data }); + +export const bizCitiesImportData = ( + params: UploadFileParams, + onUploadProgress: (progressEvent: AxiosProgressEvent) => void, +) => + defHttp.uploadFile( + { + url: ctxPath + adminPath + '/biz/cities/importData', + onUploadProgress, + }, + params, + ); + +export const bizCitiesDelete = (params?: BizCities | any) => + defHttp.get({ url: adminPath + '/biz/cities/delete', params }); diff --git a/web-vue/packages/biz/api/biz/company.ts b/web-vue/packages/biz/api/biz/company.ts new file mode 100644 index 00000000..615f216e --- /dev/null +++ b/web-vue/packages/biz/api/biz/company.ts @@ -0,0 +1,56 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { UploadApiResult } from '@jeesite/core/api/sys/upload'; +import { UploadFileParams } from '@jeesite/types/axios'; +import { AxiosProgressEvent } from 'axios'; + +const { ctxPath, adminPath } = useGlobSetting(); + +export interface BizCompany extends BasicModel { + createTime?: string; // 记录日期 + companyId?: string; // 公司标识 + companyName: string; // 公司名称 + address?: string; // 公司地址 + contactPerson?: string; // 公司联系人姓名 + phoneNumber?: string; // 公司联系电话 + email?: string; // 公司电子邮箱 + websiteUrl?: string; // 公司官方网站地址 + compStatus: string; // 公司状态 + ftenantId?: string; // 租户id + fflowId?: string; // 流程id + fflowTaskId?: string; // 流程任务主键 + fflowState?: number; // 流程任务状态 +} + +export const bizCompanyList = (params?: BizCompany | any) => + defHttp.get({ url: adminPath + '/biz/company/list', params }); + +export const bizCompanyListData = (params?: BizCompany | any) => + defHttp.post>({ url: adminPath + '/biz/company/listData', params }); + +export const bizCompanyForm = (params?: BizCompany | any) => + defHttp.get({ url: adminPath + '/biz/company/form', params }); + +export const bizCompanySave = (params?: any, data?: BizCompany | any) => + defHttp.postJson({ url: adminPath + '/biz/company/save', params, data }); + +export const bizCompanyImportData = ( + params: UploadFileParams, + onUploadProgress: (progressEvent: AxiosProgressEvent) => void, +) => + defHttp.uploadFile( + { + url: ctxPath + adminPath + '/biz/company/importData', + onUploadProgress, + }, + params, + ); + +export const bizCompanyDelete = (params?: BizCompany | any) => + defHttp.get({ url: adminPath + '/biz/company/delete', params }); diff --git a/web-vue/packages/biz/api/biz/municipalities.ts b/web-vue/packages/biz/api/biz/municipalities.ts new file mode 100644 index 00000000..b8ce0217 --- /dev/null +++ b/web-vue/packages/biz/api/biz/municipalities.ts @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { UploadApiResult } from '@jeesite/core/api/sys/upload'; +import { UploadFileParams } from '@jeesite/types/axios'; +import { AxiosProgressEvent } from 'axios'; + +const { ctxPath, adminPath } = useGlobSetting(); + +export interface BizMunicipalities extends BasicModel { + createTime?: string; // 记录时间 + countyName: string; // 县区名称 + provinceCode: string; // 省份编码 + cityCode: string; // 市区编码 + countyCode: string; // 县区编码 + townName: string; // 街道名称 + townCode: string; // 街道编号 + villageName: string; // 社区名称 + villageCode: string; // 社区编号 + updateTime?: string; // 更新时间 + dataStatus: string; // 数据状态 + ftenantId?: string; // 租户id + fflowId?: string; // 流程id + fflowTaskId?: string; // 流程任务主键 + fflowState?: number; // 流程任务状态 +} + +export const bizMunicipalitiesList = (params?: BizMunicipalities | any) => + defHttp.get({ url: adminPath + '/biz/municipalities/list', params }); + +export const bizMunicipalitiesListData = (params?: BizMunicipalities | any) => + defHttp.post>({ url: adminPath + '/biz/municipalities/listData', params }); + +export const bizMunicipalitiesForm = (params?: BizMunicipalities | any) => + defHttp.get({ url: adminPath + '/biz/municipalities/form', params }); + +export const bizMunicipalitiesSave = (params?: any, data?: BizMunicipalities | any) => + defHttp.postJson({ url: adminPath + '/biz/municipalities/save', params, data }); + +export const bizMunicipalitiesImportData = ( + params: UploadFileParams, + onUploadProgress: (progressEvent: AxiosProgressEvent) => void, +) => + defHttp.uploadFile( + { + url: ctxPath + adminPath + '/biz/municipalities/importData', + onUploadProgress, + }, + params, + ); + +export const bizMunicipalitiesDelete = (params?: BizMunicipalities | any) => + defHttp.get({ url: adminPath + '/biz/municipalities/delete', params }); diff --git a/web-vue/packages/biz/api/biz/projectReport.ts b/web-vue/packages/biz/api/biz/projectReport.ts new file mode 100644 index 00000000..12828d8f --- /dev/null +++ b/web-vue/packages/biz/api/biz/projectReport.ts @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { UploadApiResult } from '@jeesite/core/api/sys/upload'; +import { UploadFileParams } from '@jeesite/types/axios'; +import { AxiosProgressEvent } from 'axios'; + +const { ctxPath, adminPath } = useGlobSetting(); + +export interface BizProjectReport extends BasicModel { + createTime?: string; // 记录时间 + reportId?: string; // 汇报标识 + reportCycle: string; // 汇报周期 + workTitle: string; // 汇报主题 + workContent: string; // 本期内容 + progressPercent: string; // 项目进度 + problemDesc?: string; // 存在问题 + solutionPlan?: string; // 解决方案 + nextPlan?: string; // 下期计划 + reportTime?: string; // 提交时间 + approvalStatus: string; // 汇报状态 + projectId: string; // 项目编号 + employeeId: string; // 人员编号 + ftenantId?: string; // 租户id + fflowId?: string; // 流程id + fflowTaskId?: string; // 流程任务主键 + fflowState?: number; // 流程任务状态 +} + +export const bizProjectReportList = (params?: BizProjectReport | any) => + defHttp.get({ url: adminPath + '/biz/projectReport/list', params }); + +export const bizProjectReportListData = (params?: BizProjectReport | any) => + defHttp.post>({ url: adminPath + '/biz/projectReport/listData', params }); + +export const bizProjectReportForm = (params?: BizProjectReport | any) => + defHttp.get({ url: adminPath + '/biz/projectReport/form', params }); + +export const bizProjectReportSave = (params?: any, data?: BizProjectReport | any) => + defHttp.postJson({ url: adminPath + '/biz/projectReport/save', params, data }); + +export const bizProjectReportImportData = ( + params: UploadFileParams, + onUploadProgress: (progressEvent: AxiosProgressEvent) => void, +) => + defHttp.uploadFile( + { + url: ctxPath + adminPath + '/biz/projectReport/importData', + onUploadProgress, + }, + params, + ); + +export const bizProjectReportDelete = (params?: BizProjectReport | any) => + defHttp.get({ url: adminPath + '/biz/projectReport/delete', params }); diff --git a/web-vue/packages/biz/api/biz/projectRequirements.ts b/web-vue/packages/biz/api/biz/projectRequirements.ts new file mode 100644 index 00000000..d8a6bccf --- /dev/null +++ b/web-vue/packages/biz/api/biz/projectRequirements.ts @@ -0,0 +1,61 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { UploadApiResult } from '@jeesite/core/api/sys/upload'; +import { UploadFileParams } from '@jeesite/types/axios'; +import { AxiosProgressEvent } from 'axios'; + +const { ctxPath, adminPath } = useGlobSetting(); + +export interface BizProjectRequirements extends BasicModel { + createTime?: string; // 记录日期 + requirementId?: string; // 需求标识 + requirementName: string; // 需求名称 + requirementCode?: string; // 需求编号 + areaCode: string; // 项目区域 + requirementDescription?: string; // 需求描述 + startTime?: string; // 开始时间 + endTime?: string; // 结束时间 + priority: string; // 优先级 + updateTime?: string; // 更新时间 + projectId: string; // 项目ID + employeeId: string; // 用户ID + remark?: string; // 需求备注 + requirementsStatus: string; // 状态 + ftenantId?: string; // 租户id + fflowId?: string; // 流程id + fflowTaskId?: string; // 流程任务主键 + fflowState?: number; // 流程任务状态 +} + +export const bizProjectRequirementsList = (params?: BizProjectRequirements | any) => + defHttp.get({ url: adminPath + '/biz/projectRequirements/list', params }); + +export const bizProjectRequirementsListData = (params?: BizProjectRequirements | any) => + defHttp.post>({ url: adminPath + '/biz/projectRequirements/listData', params }); + +export const bizProjectRequirementsForm = (params?: BizProjectRequirements | any) => + defHttp.get({ url: adminPath + '/biz/projectRequirements/form', params }); + +export const bizProjectRequirementsSave = (params?: any, data?: BizProjectRequirements | any) => + defHttp.postJson({ url: adminPath + '/biz/projectRequirements/save', params, data }); + +export const bizProjectRequirementsImportData = ( + params: UploadFileParams, + onUploadProgress: (progressEvent: AxiosProgressEvent) => void, +) => + defHttp.uploadFile( + { + url: ctxPath + adminPath + '/biz/projectRequirements/importData', + onUploadProgress, + }, + params, + ); + +export const bizProjectRequirementsDelete = (params?: BizProjectRequirements | any) => + defHttp.get({ url: adminPath + '/biz/projectRequirements/delete', params }); diff --git a/web-vue/packages/biz/api/biz/province.ts b/web-vue/packages/biz/api/biz/province.ts new file mode 100644 index 00000000..7d7e55d8 --- /dev/null +++ b/web-vue/packages/biz/api/biz/province.ts @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { UploadApiResult } from '@jeesite/core/api/sys/upload'; +import { UploadFileParams } from '@jeesite/types/axios'; +import { AxiosProgressEvent } from 'axios'; + +const { ctxPath, adminPath } = useGlobSetting(); + +export interface BizProvince extends BasicModel { + createTime?: string; // 记录时间 + provinceName: string; // 省份名称 + provinceCode: string; // 省份编码 + urlAddr?: string; // 请求地址 + sorting: number; // 省份序号 + reqCode?: string; // 请求状态 + dataStatus: string; // 数据状态 + ftenantId?: string; // 租户id + fflowId?: string; // 流程id + fflowTaskId?: string; // 流程任务主键 + fflowState?: number; // 流程任务状态 +} + +export const bizProvinceList = (params?: BizProvince | any) => + defHttp.get({ url: adminPath + '/biz/province/list', params }); + +export const bizProvinceListData = (params?: BizProvince | any) => + defHttp.post>({ url: adminPath + '/biz/province/listData', params }); + +export const bizProvinceForm = (params?: BizProvince | any) => + defHttp.get({ url: adminPath + '/biz/province/form', params }); + +export const bizProvinceSave = (params?: any, data?: BizProvince | any) => + defHttp.postJson({ url: adminPath + '/biz/province/save', params, data }); + +export const bizProvinceImportData = ( + params: UploadFileParams, + onUploadProgress: (progressEvent: AxiosProgressEvent) => void, +) => + defHttp.uploadFile( + { + url: ctxPath + adminPath + '/biz/province/importData', + onUploadProgress, + }, + params, + ); + +export const bizProvinceDelete = (params?: BizProvince | any) => + defHttp.get({ url: adminPath + '/biz/province/delete', params }); diff --git a/web-vue/packages/biz/api/biz/resumeEmployee.ts b/web-vue/packages/biz/api/biz/resumeEmployee.ts new file mode 100644 index 00000000..677f6633 --- /dev/null +++ b/web-vue/packages/biz/api/biz/resumeEmployee.ts @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { UploadApiResult } from '@jeesite/core/api/sys/upload'; +import { UploadFileParams } from '@jeesite/types/axios'; +import { AxiosProgressEvent } from 'axios'; + +const { ctxPath, adminPath } = useGlobSetting(); + +export interface BizResumeEmployee extends BasicModel { + createTime?: string; // 记录时间 + employeeId: string; // 唯一标识 + employeeName?: string; // 员工姓名 + employeeCode?: string; // 员工编号 + email?: string; // 电子邮件 + phoneNumber?: string; // 移动电话 + sex?: string; // 性别 + employeePosition?: string; // 职位 + hireDate?: string; // 入职日期 + employeeStatus?: string; // 状态 + ftenantId: string; // 租户id + fflowId?: string; // 流程id + fflowTaskId?: string; // 流程任务主键 + fflowState?: number; // 流程任务状态 +} + +export const bizResumeEmployeeList = (params?: BizResumeEmployee | any) => + defHttp.get({ url: adminPath + '/biz/resumeEmployee/list', params }); + +export const bizResumeEmployeeListData = (params?: BizResumeEmployee | any) => + defHttp.post>({ url: adminPath + '/biz/resumeEmployee/listData', params }); + +export const bizResumeEmployeeForm = (params?: BizResumeEmployee | any) => + defHttp.get({ url: adminPath + '/biz/resumeEmployee/form', params }); + +export const bizResumeEmployeeSave = (params?: any, data?: BizResumeEmployee | any) => + defHttp.postJson({ url: adminPath + '/biz/resumeEmployee/save', params, data }); + +export const bizResumeEmployeeImportData = ( + params: UploadFileParams, + onUploadProgress: (progressEvent: AxiosProgressEvent) => void, +) => + defHttp.uploadFile( + { + url: ctxPath + adminPath + '/biz/resumeEmployee/importData', + onUploadProgress, + }, + params, + ); + +export const bizResumeEmployeeDelete = (params?: BizResumeEmployee | any) => + defHttp.get({ url: adminPath + '/biz/resumeEmployee/delete', params }); diff --git a/web-vue/packages/biz/api/biz/websiteStorage.ts b/web-vue/packages/biz/api/biz/websiteStorage.ts new file mode 100644 index 00000000..21c3b51f --- /dev/null +++ b/web-vue/packages/biz/api/biz/websiteStorage.ts @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel, Page } from '@jeesite/core/api/model/baseModel'; +import { UploadApiResult } from '@jeesite/core/api/sys/upload'; +import { UploadFileParams } from '@jeesite/types/axios'; +import { AxiosProgressEvent } from 'axios'; + +const { ctxPath, adminPath } = useGlobSetting(); + +export interface BizWebsiteStorage extends BasicModel { + createTime?: string; // 记录日期 + websiteId?: string; // 网站标识 + websiteUrl: string; // 网站地址 + websiteName: string; // 网站名称 + webAccount?: string; // 登录账号 + webPassword?: string; // 登录密码 + companyId: string; // 所属公司 + employeeId: string; // 使用人员 + loginUser?: string; // 创建人员 + storageStatus: string; // 网站状态 + ftenantId?: string; // 租户id + fflowId?: string; // 流程id + fflowTaskId?: string; // 流程任务主键 + fflowState?: number; // 流程任务状态 +} + +export const bizWebsiteStorageList = (params?: BizWebsiteStorage | any) => + defHttp.get({ url: adminPath + '/biz/websiteStorage/list', params }); + +export const bizWebsiteStorageListData = (params?: BizWebsiteStorage | any) => + defHttp.post>({ url: adminPath + '/biz/websiteStorage/listData', params }); + +export const bizWebsiteStorageForm = (params?: BizWebsiteStorage | any) => + defHttp.get({ url: adminPath + '/biz/websiteStorage/form', params }); + +export const bizWebsiteStorageSave = (params?: any, data?: BizWebsiteStorage | any) => + defHttp.postJson({ url: adminPath + '/biz/websiteStorage/save', params, data }); + +export const bizWebsiteStorageImportData = ( + params: UploadFileParams, + onUploadProgress: (progressEvent: AxiosProgressEvent) => void, +) => + defHttp.uploadFile( + { + url: ctxPath + adminPath + '/biz/websiteStorage/importData', + onUploadProgress, + }, + params, + ); + +export const bizWebsiteStorageDelete = (params?: BizWebsiteStorage | any) => + defHttp.get({ url: adminPath + '/biz/websiteStorage/delete', params }); diff --git a/web-vue/packages/biz/views/biz/cities/form.vue b/web-vue/packages/biz/views/biz/cities/form.vue new file mode 100644 index 00000000..799627e9 --- /dev/null +++ b/web-vue/packages/biz/views/biz/cities/form.vue @@ -0,0 +1,141 @@ + + + diff --git a/web-vue/packages/biz/views/biz/cities/formImport.vue b/web-vue/packages/biz/views/biz/cities/formImport.vue new file mode 100644 index 00000000..61d4cb19 --- /dev/null +++ b/web-vue/packages/biz/views/biz/cities/formImport.vue @@ -0,0 +1,103 @@ + + + diff --git a/web-vue/packages/biz/views/biz/cities/list.vue b/web-vue/packages/biz/views/biz/cities/list.vue new file mode 100644 index 00000000..56129afa --- /dev/null +++ b/web-vue/packages/biz/views/biz/cities/list.vue @@ -0,0 +1,263 @@ + + + diff --git a/web-vue/packages/biz/views/biz/listItem/select.ts b/web-vue/packages/biz/views/biz/cities/select.ts similarity index 53% rename from web-vue/packages/biz/views/biz/listItem/select.ts rename to web-vue/packages/biz/views/biz/cities/select.ts index d26aff28..1b7708ac 100644 --- a/web-vue/packages/biz/views/biz/listItem/select.ts +++ b/web-vue/packages/biz/views/biz/cities/select.ts @@ -1,19 +1,19 @@ import { useI18n } from '@jeesite/core/hooks/web/useI18n'; import { BasicColumn, BasicTableProps, FormProps } from '@jeesite/core/components/Table'; -import { bizListItemListData } from '@jeesite/biz/api/biz/listItem'; +import { BizCities, bizCitiesListData } from '@jeesite/biz/api/biz/cities'; -const { t } = useI18n('biz.listItem'); +const { t } = useI18n('biz.cities'); const modalProps = { - title: t('通知列表项表选择'), + title: t('市区信息选择'), }; -const searchForm: FormProps = { +const searchForm: FormProps = { baseColProps: { md: 8, lg: 6 }, labelWidth: 90, schemas: [ { - label: t('创建时间起'), + label: t('记录时间起'), field: 'createTime_gte', component: 'DatePicker', componentProps: { @@ -22,7 +22,7 @@ const searchForm: FormProps = { }, }, { - label: t('创建时间止'), + label: t('记录时间止'), field: 'createTime_lte', component: 'DatePicker', componentProps: { @@ -31,13 +31,23 @@ const searchForm: FormProps = { }, }, { - label: t('通知标题'), - field: 'title', + label: t('省份编码'), + field: 'provinceCode', component: 'Input', }, { - label: t('类型标识'), - field: 'type', + label: t('市区编码'), + field: 'cityCode', + component: 'Input', + }, + { + label: t('市区名称'), + field: 'cityName', + component: 'Input', + }, + { + label: t('市区级别'), + field: 'areaType', component: 'Select', componentProps: { dictType: '', @@ -45,30 +55,20 @@ const searchForm: FormProps = { }, }, { - label: t('是否已读'), - field: 'readFlag', + label: t('数据状态'), + field: 'dataStatus', component: 'Select', componentProps: { dictType: '', allowClear: true, }, }, - { - label: t('是否关闭'), - field: 'clickClose', - component: 'Input', - }, - { - label: t('待办状态'), - field: 'extra', - component: 'Input', - }, ], }; -const tableColumns: BasicColumn[] = [ +const tableColumns: BasicColumn[] = [ { - title: t('创建时间'), + title: t('记录时间'), dataIndex: 'createTime', key: 'a.create_time', sorter: true, @@ -77,88 +77,46 @@ const tableColumns: BasicColumn[] = [ slot: 'firstColumn', }, { - title: t('头像图标'), - dataIndex: 'avatar', - key: 'a.avatar', + title: t('省份编码'), + dataIndex: 'provinceCode', + key: 'a.province_code', sorter: true, width: 130, align: 'left', }, { - title: t('通知标题'), - dataIndex: 'title', - key: 'a.title', + title: t('市区编码'), + dataIndex: 'cityCode', + key: 'a.city_code', sorter: true, width: 130, align: 'left', }, { - title: t('是否删除'), - dataIndex: 'titleDelete', - key: 'a.title_delete', + title: t('市区名称'), + dataIndex: 'cityName', + key: 'a.city_name', + sorter: true, + width: 130, + align: 'left', + }, + { + title: t('市区区号'), + dataIndex: 'areaCode', + key: 'a.area_code', + sorter: true, + width: 130, + align: 'left', + }, + { + title: t('市区级别'), + dataIndex: 'areaType', + key: 'a.area_type', sorter: true, width: 130, align: 'left', dictType: '', }, - { - title: t('发送时间'), - dataIndex: 'datetime', - key: 'a.datetime', - sorter: true, - width: 130, - align: 'left', - }, - { - title: t('类型标识'), - dataIndex: 'type', - key: 'a.type', - sorter: true, - width: 130, - align: 'left', - dictType: '', - }, - { - title: t('是否已读'), - dataIndex: 'readFlag', - key: 'a.read_flag', - sorter: true, - width: 130, - align: 'left', - dictType: '', - }, - { - title: t('描述信息'), - dataIndex: 'description', - key: 'a.description', - sorter: true, - width: 130, - align: 'left', - }, - { - title: t('是否关闭'), - dataIndex: 'clickClose', - key: 'a.click_close', - sorter: true, - width: 130, - align: 'left', - }, - { - title: t('待办状态'), - dataIndex: 'extra', - key: 'a.extra', - sorter: true, - width: 130, - align: 'left', - }, - { - title: t('颜色值'), - dataIndex: 'color', - key: 'a.color', - sorter: true, - width: 130, - align: 'left', - }, { title: t('更新时间'), dataIndex: 'updateTime', @@ -167,10 +125,19 @@ const tableColumns: BasicColumn[] = [ width: 130, align: 'center', }, + { + title: t('数据状态'), + dataIndex: 'dataStatus', + key: 'a.data_status', + sorter: true, + width: 130, + align: 'left', + dictType: '', + }, ]; const tableProps: BasicTableProps = { - api: bizListItemListData, + api: bizCitiesListData, beforeFetch: (params) => { params['isAll'] = true; return params; diff --git a/web-vue/packages/biz/views/biz/company/form.vue b/web-vue/packages/biz/views/biz/company/form.vue new file mode 100644 index 00000000..62537477 --- /dev/null +++ b/web-vue/packages/biz/views/biz/company/form.vue @@ -0,0 +1,153 @@ + + + diff --git a/web-vue/packages/biz/views/biz/company/formImport.vue b/web-vue/packages/biz/views/biz/company/formImport.vue new file mode 100644 index 00000000..8631b44c --- /dev/null +++ b/web-vue/packages/biz/views/biz/company/formImport.vue @@ -0,0 +1,103 @@ + + + diff --git a/web-vue/packages/biz/views/biz/company/list.vue b/web-vue/packages/biz/views/biz/company/list.vue new file mode 100644 index 00000000..59da91c8 --- /dev/null +++ b/web-vue/packages/biz/views/biz/company/list.vue @@ -0,0 +1,265 @@ + + + diff --git a/web-vue/packages/biz/views/biz/listItem/form.vue b/web-vue/packages/biz/views/biz/listItem/form.vue index f61d751e..48516032 100644 --- a/web-vue/packages/biz/views/biz/listItem/form.vue +++ b/web-vue/packages/biz/views/biz/listItem/form.vue @@ -38,7 +38,7 @@ const getTitle = computed(() => ({ icon: meta.icon || 'i-ant-design:book-outlined', - value: record.value.isNewRecord ? t('新增通知列表项表') : t('编辑通知列表项表'), + value: record.value.isNewRecord ? t('新增通知信息') : t('编辑通知信息'), })); const inputFormSchemas: FormSchema[] = [ diff --git a/web-vue/packages/biz/views/biz/listItem/list.vue b/web-vue/packages/biz/views/biz/listItem/list.vue index e9173b79..2c0f46e6 100644 --- a/web-vue/packages/biz/views/biz/listItem/list.vue +++ b/web-vue/packages/biz/views/biz/listItem/list.vue @@ -52,7 +52,7 @@ const getTitle = { icon: meta.icon || 'i-ant-design:book-outlined', - value: meta.title || t('通知列表项表管理'), + value: meta.title || t('通知信息管理'), }; const loading = ref(false); diff --git a/web-vue/packages/biz/views/biz/municipalities/form.vue b/web-vue/packages/biz/views/biz/municipalities/form.vue new file mode 100644 index 00000000..634398cb --- /dev/null +++ b/web-vue/packages/biz/views/biz/municipalities/form.vue @@ -0,0 +1,169 @@ + + + diff --git a/web-vue/packages/biz/views/biz/municipalities/formImport.vue b/web-vue/packages/biz/views/biz/municipalities/formImport.vue new file mode 100644 index 00000000..8e285e6e --- /dev/null +++ b/web-vue/packages/biz/views/biz/municipalities/formImport.vue @@ -0,0 +1,103 @@ + + + diff --git a/web-vue/packages/biz/views/biz/municipalities/list.vue b/web-vue/packages/biz/views/biz/municipalities/list.vue new file mode 100644 index 00000000..a3c5c8d2 --- /dev/null +++ b/web-vue/packages/biz/views/biz/municipalities/list.vue @@ -0,0 +1,312 @@ + + + diff --git a/web-vue/packages/biz/views/biz/municipalities/select.ts b/web-vue/packages/biz/views/biz/municipalities/select.ts new file mode 100644 index 00000000..4f5c9991 --- /dev/null +++ b/web-vue/packages/biz/views/biz/municipalities/select.ts @@ -0,0 +1,205 @@ +import { useI18n } from '@jeesite/core/hooks/web/useI18n'; +import { BasicColumn, BasicTableProps, FormProps } from '@jeesite/core/components/Table'; +import { BizMunicipalities, bizMunicipalitiesListData } from '@jeesite/biz/api/biz/municipalities'; + +const { t } = useI18n('biz.municipalities'); + +const modalProps = { + title: t('地市信息选择'), +}; + +const searchForm: FormProps = { + baseColProps: { md: 8, lg: 6 }, + labelWidth: 90, + schemas: [ + { + label: t('记录时间起'), + field: 'createTime_gte', + component: 'DatePicker', + componentProps: { + format: 'YYYY-MM-DD HH:mm', + showTime: { format: 'HH:mm' }, + }, + }, + { + label: t('记录时间止'), + field: 'createTime_lte', + component: 'DatePicker', + componentProps: { + format: 'YYYY-MM-DD HH:mm', + showTime: { format: 'HH:mm' }, + }, + }, + { + label: t('县区名称'), + field: 'countyName', + component: 'Input', + }, + { + label: t('省份编码'), + field: 'provinceCode', + component: 'Select', + componentProps: { + dictType: '', + allowClear: true, + }, + }, + { + label: t('市区编码'), + field: 'cityCode', + component: 'Select', + componentProps: { + dictType: '', + allowClear: true, + }, + }, + { + label: t('县区编码'), + field: 'countyCode', + component: 'Input', + }, + { + label: t('街道名称'), + field: 'townName', + component: 'Input', + }, + { + label: t('街道编号'), + field: 'townCode', + component: 'Input', + }, + { + label: t('社区名称'), + field: 'villageName', + component: 'Input', + }, + { + label: t('社区编号'), + field: 'villageCode', + component: 'Input', + }, + { + label: t('数据状态'), + field: 'dataStatus', + component: 'Select', + componentProps: { + dictType: '', + allowClear: true, + }, + }, + ], +}; + +const tableColumns: BasicColumn[] = [ + { + title: t('记录时间'), + dataIndex: 'createTime', + key: 'a.create_time', + sorter: true, + width: 230, + align: 'left', + slot: 'firstColumn', + }, + { + title: t('县区名称'), + dataIndex: 'countyName', + key: 'a.county_name', + sorter: true, + width: 130, + align: 'left', + }, + { + title: t('省份编码'), + dataIndex: 'provinceCode', + key: 'a.province_code', + sorter: true, + width: 130, + align: 'left', + dictType: '', + }, + { + title: t('市区编码'), + dataIndex: 'cityCode', + key: 'a.city_code', + sorter: true, + width: 130, + align: 'left', + dictType: '', + }, + { + title: t('县区编码'), + dataIndex: 'countyCode', + key: 'a.county_code', + sorter: true, + width: 130, + align: 'left', + }, + { + title: t('街道名称'), + dataIndex: 'townName', + key: 'a.town_name', + sorter: true, + width: 130, + align: 'left', + }, + { + title: t('街道编号'), + dataIndex: 'townCode', + key: 'a.town_code', + sorter: true, + width: 130, + align: 'left', + }, + { + title: t('社区名称'), + dataIndex: 'villageName', + key: 'a.village_name', + sorter: true, + width: 130, + align: 'left', + }, + { + title: t('社区编号'), + dataIndex: 'villageCode', + key: 'a.village_code', + sorter: true, + width: 130, + align: 'left', + }, + { + title: t('更新时间'), + dataIndex: 'updateTime', + key: 'a.update_time', + sorter: true, + width: 130, + align: 'center', + }, + { + title: t('数据状态'), + dataIndex: 'dataStatus', + key: 'a.data_status', + sorter: true, + width: 130, + align: 'left', + dictType: '', + }, +]; + +const tableProps: BasicTableProps = { + api: bizMunicipalitiesListData, + beforeFetch: (params) => { + params['isAll'] = true; + return params; + }, + columns: tableColumns, + formConfig: searchForm, + rowKey: 'id', +}; + +export default { + modalProps, + tableProps, + itemCode: 'id', + itemName: 'id', + isShowCode: false, +}; diff --git a/web-vue/packages/biz/views/biz/projectInfo/form.vue b/web-vue/packages/biz/views/biz/projectInfo/form.vue index 06f6bf01..331065a9 100644 --- a/web-vue/packages/biz/views/biz/projectInfo/form.vue +++ b/web-vue/packages/biz/views/biz/projectInfo/form.vue @@ -42,6 +42,16 @@ })); const inputFormSchemas: FormSchema[] = [ + { + label: t('项目名称'), + field: 'projectName', + component: 'Input', + componentProps: { + maxlength: 100, + }, + required: true, + colProps: { md: 24, lg: 24 }, + }, { label: t('项目编码'), field: 'projectCode', @@ -50,24 +60,9 @@ maxlength: 52, }, required: true, + colProps: { md: 24, lg: 24 }, }, - { - label: t('项目名称'), - field: 'projectName', - component: 'Input', - componentProps: { - maxlength: 100, - }, - required: true, - }, - { - label: t('项目描述'), - field: 'projectDesc', - component: 'Input', - required: true, - colProps: { md: 24, lg: 24 }, - }, - { + { label: t('开始日期'), field: 'startDate', component: 'DatePicker', @@ -76,54 +71,60 @@ showTime: { format: 'HH:mm' }, }, }, + { + label: t('项目状态'), + field: 'projectStatus', + component: 'Select', + componentProps: { + dictType: 'project_status', + allowClear: true, + }, + required: true, + }, { - label: t('预计结束日期'), - field: 'endDate', - component: 'DatePicker', - componentProps: { - format: 'YYYY-MM-DD HH:mm', - showTime: { format: 'HH:mm' }, - }, - }, - { - label: t('实际结束日期'), - field: 'actualEndDate', - component: 'DatePicker', - componentProps: { - format: 'YYYY-MM-DD HH:mm', - showTime: { format: 'HH:mm' }, - }, - }, - { - label: t('员工列表'), - field: 'employeeId', - component: 'Select', - componentProps: { - dictType: '', - allowClear: true, - }, - required: true, + label: t('所属人员'), + field: 'employeeId', + fieldLabel: 'employeeName', + component: 'ListSelect', + componentProps: { + selectType: 'bizEmpSelect', + }, + required: true, }, { label: t('项目类型'), field: 'projectType', component: 'Select', componentProps: { - dictType: '', - allowClear: true, - }, - required: true, - }, - { - label: t('项目状态'), - field: 'projectStatus', - component: 'Select', - componentProps: { - dictType: '', + dictType: 'project_type', allowClear: true, }, required: true, }, + { + label: t('预计结束日期'), + field: 'endDate', + component: 'DatePicker', + componentProps: { + format: 'YYYY-MM-DD HH:mm', + showTime: { format: 'HH:mm' }, + }, + }, + { + label: t('实际结束日期'), + field: 'actualEndDate', + component: 'DatePicker', + componentProps: { + format: 'YYYY-MM-DD HH:mm', + showTime: { format: 'HH:mm' }, + }, + }, + { + label: t('项目描述'), + field: 'projectDesc', + component: 'InputTextArea', + colProps: { md: 24, lg: 24 }, + }, ]; const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({ diff --git a/web-vue/packages/biz/views/biz/projectInfo/list.vue b/web-vue/packages/biz/views/biz/projectInfo/list.vue index 9252d5c7..26debe81 100644 --- a/web-vue/packages/biz/views/biz/projectInfo/list.vue +++ b/web-vue/packages/biz/views/biz/projectInfo/list.vue @@ -14,16 +14,13 @@ {{ t('导出') }} - - {{ t('导入') }} - {{ t('新增') }} -