Browse Source

Merge branch 'master' into shibei_hlpt_master

feature/teamB_zz_wgh
YUJT 3 years ago
parent
commit
c8f69eaf7f
  1. 11
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.19__add_dict.sql
  2. 2
      epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
  3. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  4. 8
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java
  5. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  6. 99
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/ResiUserInfoCache.java
  7. 22
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelPoiUtils.java
  8. 132
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IDCardUtil.java
  9. 1
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml
  10. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java
  11. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/IcHouseDao.xml
  12. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/IcResiUserDao.xml
  13. 115
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcServiceOrgDTO.java
  14. 116
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcServiceProjectAttachmentDTO.java
  15. 104
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcServiceProjectDTO.java
  16. 49
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/IcServiceEditFormDTO.java
  17. 71
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/IcServiceOrgAddEditFormDTO.java
  18. 46
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/IcServiceOrgListFormDTO.java
  19. 57
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectFeedbackFormDTO.java
  20. 53
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectFormDTO.java
  21. 32
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectListFormDTO.java
  22. 66
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectRecordFormDTO.java
  23. 64
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceFeedbackResDTO.java
  24. 81
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceOrgListResultDTO.java
  25. 24
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceOrgSelectListResultDTO.java
  26. 90
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceRecDetailRes.java
  27. 15
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceScopeDTO.java
  28. 63
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/ServiceProjectListResultDTO.java
  29. 18
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/ServiceProjectRecordResultDTO.java
  30. 8
      epmet-module/epmet-heart/epmet-heart-server/pom.xml
  31. 91
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceOrgController.java
  32. 72
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceProjectAttachmentController.java
  33. 244
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceProjectController.java
  34. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcCommunitySelfOrganizationDao.java
  35. 4
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcPartyUnitDao.java
  36. 33
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceFeedbackDao.java
  37. 34
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceOrgDao.java
  38. 27
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceProjectAttachmentDao.java
  39. 37
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceProjectDao.java
  40. 29
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceRecordDao.java
  41. 23
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceScopeDao.java
  42. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcUserDemandRecDao.java
  43. 83
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceFeedbackEntity.java
  44. 81
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceOrgEntity.java
  45. 88
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceProjectAttachmentEntity.java
  46. 74
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceProjectEntity.java
  47. 89
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceRecordEntity.java
  48. 75
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceScopeEntity.java
  49. 75
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcServiceOrgExcel.java
  50. 68
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceOrgService.java
  51. 78
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceProjectAttachmentService.java
  52. 122
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceProjectService.java
  53. 56
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceRecordService.java
  54. 14
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceScopeService.java
  55. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java
  56. 80
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcCommunitySelfOrganizationServiceImpl.java
  57. 34
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java
  58. 17
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java
  59. 202
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceOrgServiceImpl.java
  60. 83
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceProjectAttachmentServiceImpl.java
  61. 259
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceProjectServiceImpl.java
  62. 324
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceRecordServiceImpl.java
  63. 19
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceScopeServiceImpl.java
  64. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
  65. 14
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java
  66. 137
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.17__ic_service_project.sql
  67. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.18__alter_service_org.sql
  68. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.19__service_move_people_to_record.sql
  69. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcCommunitySelfOrganizationDao.xml
  70. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcPartyUnitDao.xml
  71. 76
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceFeedbackDao.xml
  72. 78
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceOrgDao.xml
  73. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceProjectAttachmentDao.xml
  74. 72
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceProjectDao.xml
  75. 69
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceRecordDao.xml
  76. 42
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceScopeDao.xml
  77. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
  78. BIN
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/templates/self_org_import_template.xlsx
  79. 79
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointAditiveCalcDTO.java
  80. 95
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointAditiveRecordDTO.java
  81. 80
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointAnnexDTO.java
  82. 174
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointApplyDTO.java
  83. 32
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointApplyFormDTO.java
  84. 37
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyTotalPointResultDTO.java
  85. 48
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/common/CommonConstant.java
  86. 49
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/common/enu/ApplyStatusEnum.java
  87. 84
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointApplyController.java
  88. 5
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java
  89. 16
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAditiveCalcDao.java
  90. 16
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAditiveRecordDao.java
  91. 16
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAnnexDao.java
  92. 16
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointApplyDao.java
  93. 46
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointAditiveCalcEntity.java
  94. 61
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointAditiveRecordEntity.java
  95. 45
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointAnnexEntity.java
  96. 144
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointApplyEntity.java
  97. 78
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAditiveCalcService.java
  98. 78
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAditiveRecordService.java
  99. 78
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAnnexService.java
  100. 88
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointApplyService.java

11
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.19__add_dict.sql

@ -0,0 +1,11 @@
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1000000000000000014', 'ic_service_type', '服务类别', '', '20', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000000', '1000000000000000014', '社区养老', '00', '0', '', '0', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000001', '1000000000000000014', '社会保障', '01', '0', '', '1', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000002', '1000000000000000014', '社区救助', '02', '0', '', '2', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000003', '1000000000000000014', '健康医疗', '03', '0', '', '3', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000004', '1000000000000000014', '社区安全', '04', '0', '', '4', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000005', '1000000000000000014', '社区卫生', '05', '0', '', '5', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000006', '1000000000000000014', '社区环境', '06', '0', '', '6', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000007', '1000000000000000014', '社区治安', '07', '0', '', '7', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000008', '1000000000000000014', '社区文化', '08', '0', '', '8', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27');

2
epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java

@ -288,7 +288,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error("登录:查询部门列表异常:{}", errorStackTrace);
}
return null;
return new HashSet<>();
}
/**

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java

@ -25,6 +25,7 @@ public enum DictTypeEnum {
ITEM_TYPE_QUERY("item_type_query","居民信息组件查询方式",14),
SELF_ORG_CATEGORY("self_org_category","社区自组织分类",15),
IC_EVENT_SOURCE_TYPE("ic_event_source_type","事件管理",19),
IC_SERVICE_TYPE("ic_service_type","服务类别",20),
;
private final String code;

8
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java

@ -194,7 +194,13 @@ public enum RequirePermissionEnum {
/**
* 基层治理-群众直报 功能入口
*/
RESI_EVENT_MANAGE("resi_event_manage","基层治理:群众直报","基层治理-群众直报");
RESI_EVENT_MANAGE("resi_event_manage","基层治理:群众直报","基层治理-群众直报"),
/**
* 事件管理-工作端小程序列表详情接口权限
*/
IC_EVENT_LIST("ic_event_list","基层治理:事件管理:列表","基层治理-事件管理-列表"),
IC_EVENT_DETAIL("ic_event_detail","基层治理:事件管理:详情","基层治理-事件管理-详情");
private String key;
private String name;

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -258,6 +258,7 @@ public enum EpmetErrorCode {
NOT_REGEIST_RESI(8927,"未注册居民"),
UNIT_EXIST_HOUSES_ERROR(8928,"单元下存在房屋,不可修改单元数"),
MISMATCH(10086,"人员与房屋信息不匹配,请与工作人员联系。"),
//通用错误码 start
//通用的 错误消息自己定义返回

99
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/ResiUserInfoCache.java

@ -0,0 +1,99 @@
package com.epmet.commons.tools.redis.common.bean;
import lombok.Data;
import java.io.Serializable;
/**
* 房屋信息缓存
* @author Administrator
*/
@Data
public class ResiUserInfoCache implements Serializable {
private String id;
/**
* 客户Id
* */
private String customerId;
/**
* 用户id
*/
private String userId;
/**
* 手机号(注册手机号)
*/
private String mobile;
/**
* 姓氏
*/
private String surname;
/**
*
*/
private String name;
/**
* 姓名
*/
private String realName;
/**
* 身份证号
*/
private String idNum;
/**
* 性别1男2女0未知
*/
private String gender;
/**
* 街道
*/
private String street;
/**
* 小区名称
*/
private String district;
/**
* 楼栋单元
*/
private String buildingAddress;
/**
* 昵称(目前来源于微信昵称后续系统可支持用户有昵称)
*/
private String nickname;
/**
* 头像目前来源于微信后续系统顾客支持上传头像
*/
private String headImgUrl;
/**
* 网格Id
* */
private String registeredGridId;
/**
* xx机关-yy网格
* */
private String registeredGridName;
/**
* 显示昵称 xx网格-y先生/女士
* */
private String showName;
/**
* xxx街道-尹女士
*/
private String userShowName;
}

22
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelPoiUtils.java

@ -7,6 +7,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.afterturn.easypoi.excel.imports.ExcelImportService;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.multipart.MultipartFile;
@ -228,6 +229,27 @@ public class ExcelPoiUtils {
throw new IOException(e.getMessage());
}
}
public static <T> ExcelImportResult<T> importExcel1(InputStream inputStream, Integer titleRows, Integer headerRows, Class<T> pojoClass) throws IOException {
if (inputStream == null) {
return null;
}
ImportParams params = new ImportParams();
params.setTitleRows(titleRows);
params.setHeadRows(headerRows);
params.setSaveUrl("/tmp/excel/");
params.setNeedSave(true);
try {
// return ExcelImportUtil.importExcel(inputStream, pojoClass, params);
return (new ExcelImportService()).importExcelByIs(inputStream, pojoClass, params, false);
} catch (NoSuchElementException e) {
throw new IOException("excel文件不能为空");
} catch (Exception e) {
throw new IOException(e.getMessage());
}
}
/**
* excel 导入有错误信息
*

132
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IDCardUtil.java

@ -0,0 +1,132 @@
package com.epmet.commons.tools.utils;
import com.epmet.commons.tools.enums.GenderEnum;
import org.apache.commons.lang3.StringUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/6/13 17:53
*/
public class IDCardUtil {
/**
* 15位身份证号
*/
private static final Integer FIFTEEN_ID_CARD=15;
/**
* 18位身份证号
*/
private static final Integer EIGHTEEN_ID_CARD=18;
private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
/**
* 根据身份证号获取性别
* @param idCard
* @return
*/
public static String getSex(String idCard){
String sex ="";
if (StringUtils.isNotBlank(idCard)){
//15位身份证号
if (idCard.length() == FIFTEEN_ID_CARD){
if (Integer.parseInt(idCard.substring(14, 15)) % 2 == 0) {
sex = GenderEnum.WOMAN.getCode();
} else {
sex = GenderEnum.MAN.getCode();
}
//18位身份证号
}else if(idCard.length() == EIGHTEEN_ID_CARD){
// 判断性别
if (Integer.parseInt(idCard.substring(16).substring(0, 1)) % 2 == 0) {
sex = GenderEnum.WOMAN.getCode();
} else {
sex = GenderEnum.MAN.getCode();
}
}
}
return sex;
}
/**
* 根据身份证号获取年龄
* @param idCard
* @return
*/
public static Integer getAge(String idCard){
int age = 0;
Date date = new Date();
if (StringUtils.isNotBlank(idCard)){
//15位身份证号
if (idCard.length() == FIFTEEN_ID_CARD){
// 身份证上的年份(15位身份证为1980年前的)
String uyear = "19" + idCard.substring(6, 8);
// 身份证上的月份
String uyue = idCard.substring(8, 10);
// 当前年份
String fyear = format.format(date).substring(0, 4);
// 当前月份
String fyue = format.format(date).substring(5, 7);
if (Integer.parseInt(uyue) <= Integer.parseInt(fyue)) {
age = Integer.parseInt(fyear) - Integer.parseInt(uyear) + 1;
// 当前用户还没过生
} else {
age = Integer.parseInt(fyear) - Integer.parseInt(uyear);
}
//18位身份证号
}else if(idCard.length() == EIGHTEEN_ID_CARD){
// 身份证上的年份
String year = idCard.substring(6).substring(0, 4);
// 身份证上的月份
String yue = idCard.substring(10).substring(0, 2);
// 当前年份
String fyear = format.format(date).substring(0, 4);
// 当前月份
String fyue = format.format(date).substring(5, 7);
// 当前月份大于用户出身的月份表示已过生日
if (Integer.parseInt(yue) <= Integer.parseInt(fyue)) {
age = Integer.parseInt(fyear) - Integer.parseInt(year) + 1;
// 当前用户还没过生日
} else {
age = Integer.parseInt(fyear) - Integer.parseInt(year);
}
}
}
return age;
}
/**
* 获取出生日期 yyyy年MM月dd日
* @param idCard
* @return
*/
public static String getBirthday(String idCard){
String birthday="";
String year="";
String month="";
String day="";
if (StringUtils.isNotBlank(idCard)){
//15位身份证号
if (idCard.length() == FIFTEEN_ID_CARD){
// 身份证上的年份(15位身份证为1980年前的)
year = "19" + idCard.substring(6, 8);
//身份证上的月份
month = idCard.substring(8, 10);
//身份证上的日期
day= idCard.substring(10, 12);
//18位身份证号
}else if(idCard.length() == EIGHTEEN_ID_CARD){
// 身份证上的年份
year = idCard.substring(6).substring(0, 4);
// 身份证上的月份
month = idCard.substring(10).substring(0, 2);
//身份证上的日期
day=idCard.substring(12).substring(0,2);
}
birthday=year+"-"+month+"-"+day;
}
return birthday;
}
}

1
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml

@ -203,6 +203,7 @@
<when test="orgType == 'department'">
INNER JOIN screen_customer_dept org ON org.CUSTOMER_ID = u.CUSTOMER_ID AND org.DEPT_ID = u.ORG_ID AND org.DEL_FLAG = '0'
</when>
</choose>
</if>
WHERE

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java

@ -238,6 +238,8 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity {
this.eventUnResolvedCount=NumConstant.ZERO;
this.workEventResolvedCount=NumConstant.ZERO;
this.workEventUnResolvedCount=NumConstant.ZERO;
this.icEventResolvedCount = NumConstant.ZERO;
this.icEventUnResolvedCount = NumConstant.ZERO;
this.inGroupTopicResolvedCount=NumConstant.ZERO;
this.inGroupTopicUnResolvedCount=NumConstant.ZERO;
this.fromIssueResolvedInGridCount=NumConstant.ZERO;
@ -248,5 +250,6 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity {
this.communityClosedCount=NumConstant.ZERO;
this.streetClosedCount=NumConstant.ZERO;
this.districtDeptClosedCount=NumConstant.ZERO;
}
}

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/IcHouseDao.xml

@ -75,7 +75,7 @@
AND g.CUSTOMER_ID = #{customerId}
</if>
GROUP BY
g.CUSTOMER_ID
g.CUSTOMER_ID,t.NEIGHBOR_HOOD_ID
</select>
<select id="neighborhoodStatStat" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/IcResiUserDao.xml

@ -20,7 +20,7 @@
AND CREATED_TIME &lt;= DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY )
GROUP BY
CUSTOMER_ID,
AGENCY_ID
GRID_ID
</select>
<select id="userStatNew" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">

115
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcServiceOrgDTO.java

@ -0,0 +1,115 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 服务组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class IcServiceOrgDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 所属组织机构Id
*/
private String agencyId;
/**
* agencyId的所有上级包含自己
*/
private String agencyIdPath;
/**
* 服务类别字典表 ic_service_type多个值逗号分隔
*/
private String serviceType;
/**
* 服务组织名称
*/
private String orgName;
/**
* 组织描述
*/
private String orgDescribe;
/**
* 负责人姓名
*/
private String principalName;
/**
* 负责人电话
*/
private String principalMobile;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 地址
*/
private String address;
/**
* 备注
*/
private String remark;
/**
* 删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

116
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcServiceProjectAttachmentDTO.java

@ -0,0 +1,116 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 事件附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class IcServiceProjectAttachmentDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 事件Id
*/
private String icServiceId;
private String attachTo;
/**
* 附件名
*/
private String attachmentName;
private String name;
/**
* 文件格式JPGPNGPDFJPEGBMPMP4WMAM4AMP3DOCDOCXXLS
*/
private String attachmentFormat;
private String format;
/**
* 附件类型图片 - image 视频 - video 语音 - voice 文档 - doc
*/
private String attachmentType;
private String type;
/**
* 附件地址
*/
private String attachmentUrl;
private String url;
/**
* 排序字段
*/
private Integer sort;
/**
* 附件状态审核中auditing
auto_passed: 自动通过
review结果不确定需要人工审核
block: 结果违规
rejected人工审核驳回;
approved人工审核通过
现在图片是同步审核的所以图片只有auto_passed一种状态
*/
private String status;
/**
* 失败原因
*/
private String reason;
/**
* 语音或视频时长,
*/
private Integer duration;
/**
* 删除标记 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

104
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcServiceProjectDTO.java

@ -0,0 +1,104 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 服务项目管理表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class IcServiceProjectDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织ID的上级
*/
private String pid;
/**
* 组织ID的所有上级[包括自己]
*/
private String agencyIdPath;
/**
* 服务类别值
*/
private String serviceCategoryKey;
/**
* 服务名称
*/
private String serviceName;
/**
* 服务内容
*/
private String serviceContent;
/**
* 政策级别0市级1区级2街道级
*/
private String policyLevel;
/**
* 政策依据
*/
private String policyGround;
/**
* 启用状态,0启用1禁用
*/
private Integer enabled;
/**
*
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

49
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/IcServiceEditFormDTO.java

@ -0,0 +1,49 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* 服务项目记录修改
*/
@Data
public class IcServiceEditFormDTO implements Serializable {
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "", groups = AddUserInternalGroup.class)
private String serviceRecordId;
private String principalName;
private String principalContact;
/**
* 服务时间
*/
@NotNull(message = "起始服务时间不能为空", groups = AddUserShowGroup.class)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date serviceTimeStart;
/**
* 服务截止时间
*/
@NotNull(message = "截止服务时间不能为空", groups = AddUserShowGroup.class)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date serviceTimeEnd;
/**
* 备注
*/
private String remark;
}

71
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/IcServiceOrgAddEditFormDTO.java

@ -0,0 +1,71 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 服务组织新增/修改
* @Author sun
*/
@Data
public class IcServiceOrgAddEditFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
public interface Del extends CustomerClientShowGroup {
}
/**
* 服务组织Id
*/
@NotBlank(message = "服务组织Id不能为空", groups = {UpdateGroup.class, Del.class})
private String icServiceOrgId;
/**
* 服务类型多个值逗号分隔字典值,字典keyic_service_type
*/
@NotBlank(message = "服务类型不能为空", groups = {AddGroup.class})
private String serviceType;
/**
* 服务组织名称
*/
@NotBlank(message = "服务组织名称不能为空", groups = {AddGroup.class})
private String orgName;
/**
* 组织描述
*/
private String orgDescribe;
/**
* 负责人姓名
*/
@NotBlank(message = "负责人姓名不能为空", groups = {AddGroup.class})
private String principalName;
/**
* 联系方式
*/
@NotBlank(message = "联系方式不能为空", groups = {AddGroup.class})
private String principalMobile;
/**
* 经度
*/
private String longitude;
/**
* 维度
*/
private String latitude;
/**
* 服务地址
*/
private String address;
/**
* 备注信息
*/
private String remark;
private String customerId;
private String userId;
}

46
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/IcServiceOrgListFormDTO.java

@ -0,0 +1,46 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 组织服务组织列表--接口入参
* @Author sun
*/
@Data
public class IcServiceOrgListFormDTO implements Serializable {
private static final long serialVersionUID = 9156247659994638103L;
/**
* 服务类型字典值
*/
private String serviceType;
/**
* 服务组织名称
*/
private String orgName;
/**
* 服务地址
*/
private String address;
/**
* 备注信息
*/
private String remark;
/**
* 页码
*/
private Integer pageNo = 1;
/**
* 每页显示数量
*/
private Integer pageSize = 20;
private Boolean isPage = true;
private String icServiceOrgId;
private String customerId;
private String staffId;
private String agencyId;
}

57
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectFeedbackFormDTO.java

@ -0,0 +1,57 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
public class ServiceProjectFeedbackFormDTO {
/**
* 反馈接口分组
*/
public interface FeedbackGroup {}
/**
* 发起服务接口分组
*/
public interface InitiateGroup {}
@NotBlank(message = "服务记录id不能为空", groups = { FeedbackGroup.class })
private String serviceRecordId;
private String serviceProjectId;
private String serviceGoal;
private String serviceEffect;
private Integer servicePeopleNumber;
/**
* 服务状态in_service服务中completed:已完成
*/
@NotBlank(message = "服务状态不能为空", groups = { FeedbackGroup.class, InitiateGroup.class })
private String serviceStatus;
/**
* 满意度不满意:bad基本满意:good非常满意:perfect
* 按理说服务完成的时候才可以选不完成应该不能选可是谁知道呢原型也没写
*/
private String satisfaction;
private String longitude;
private String latitude;
private String address;
@Valid
private List<Attachment> attachmentList;
@Data
public static class Attachment {
@NotBlank(message = "附件名称不能为空", groups = { FeedbackGroup.class, InitiateGroup.class })
private String attachmentName;
@NotBlank(message = "附件格式不能为空", groups = { FeedbackGroup.class, InitiateGroup.class })
private String attachmentFormat;
@NotBlank(message = "附件类型不能为空", groups = { FeedbackGroup.class, InitiateGroup.class })
private String attachmentType;
@NotBlank(message = "附件url不能为空", groups = { FeedbackGroup.class, InitiateGroup.class })
private String attachmentUrl;
}
}

53
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectFormDTO.java

@ -0,0 +1,53 @@
package com.epmet.dto.form;
import com.epmet.dto.IcServiceProjectAttachmentDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/5/27 15:53
* @DESC
*/
@Data
public class ServiceProjectFormDTO implements Serializable {
private static final long serialVersionUID = -4573264697450644498L;
public interface ServiceProjectAddForm{}
public interface ServiceProjectUpdateForm{}
@NotBlank(message = "服务类别不能为空",groups = {ServiceProjectAddForm.class})
private String serviceCategoryKey;
@NotBlank(message = "服务名称不能为空",groups = {ServiceProjectAddForm.class,ServiceProjectUpdateForm.class})
private String serviceName;
@NotBlank(message = "服务内容不能为空",groups = {ServiceProjectAddForm.class,ServiceProjectUpdateForm.class})
private String serviceContent;
/**
* 政策依据
*/
private String policyGround;
/**
* 政策级别0市级1区级2街道级
*/
private String policyLevel;
private String customerId;
private String userId;
@NotBlank(message = "serviceProjectId不能为空",groups = {ServiceProjectUpdateForm.class})
private String serviceProjectId;
/**
* 附件集合
*/
private List<IcServiceProjectAttachmentDTO> attachmentList;
}

32
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectListFormDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/5/27 16:42
* @DESC
*/
@Data
public class ServiceProjectListFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -6508966695564469253L;
public interface ServiceProjectDetail{}
private String serviceCategoryKey;
private String serviceName;
private String serviceContent;
private String policyGround;
private String customerId;
private String userId;
private String agencyId;
@NotBlank(message = "serviceProjectId不能为空",groups = ServiceProjectDetail.class)
private String serviceProjectId;
}

66
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectRecordFormDTO.java

@ -0,0 +1,66 @@
package com.epmet.dto.form;
import com.epmet.dto.result.IcServiceScopeDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
@Data
public class ServiceProjectRecordFormDTO {
/**
* 发起服务
*/
public interface Initiate {}
@NotBlank(message = "服务类别key不能为空", groups = { Initiate.class })
private String serviceCategoryKey;
@NotBlank(message = "服务项目Id不能为空", groups = { Initiate.class })
private String serviceProjectId;
private String serviceProjectName;
@NotBlank(message = "服务组织Id不能为空", groups = { Initiate.class })
private String serviceOrgId;
private String serviceOrgName;
@NotEmpty(message = "发布范围不能为空", groups = { Initiate.class })
private List<IcServiceScopeDTO> serviceScope;
@NotNull(message = "服务起始时间不能为空", groups = { Initiate.class })
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date serviceTimeStart;
@NotNull(message = "服务结束时间不能为空", groups = { Initiate.class })
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date serviceTimeEnd;
private String serviceStatus;
private String satisfaction;
private String principalName;
private String principalContact;
/**
* 备注
*/
private String remark;
@Valid
private ServiceProjectFeedbackFormDTO feedback;
private Integer pageNo = 1;
private Integer pageSize = 20;
}

64
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceFeedbackResDTO.java

@ -0,0 +1,64 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 服务记录反馈
*/
@Data
public class IcServiceFeedbackResDTO implements Serializable {
/**
* 反馈记录id
*/
private String feedBackId;
/**
* 服务目标
*/
private String serviceGoal;
/**
* 服务效果
*/
private String serviceEffect;
/**
* 服务人数
*/
// private Integer servicePeopleNumber;
/**
* 满意度满意度 - 不满意:bad基本满意:good非常满意:perfect
*/
private String satisfaction;
/**
* 地址经度
*/
private String longitude;
/**
* 地址纬度
*/
private String latitude;
/**
* 地址
*/
private String address;
private List<IcServiceFeedbackResDTO.Attachment> attachmentList;
@Data
public static class Attachment {
private String attachmentName;
private String attachmentFormat;
private String attachmentType;
private String attachmentUrl;
}
}

81
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceOrgListResultDTO.java

@ -0,0 +1,81 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 组织服务组织列表--接口返参
* @Author sun
*/
@Data
public class IcServiceOrgListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 服务组织Id
*/
private String icServiceOrgId;
/**
* 组织Id
*/
private String agencyId;
/**
* 服务类别
*/
private List<ServiceType> serviceTypeList;
/**
* 服务类别,多个值逗号分隔
*/
private String serviceType;
/**
* 服务类别,多个值顿号分隔
*/
private String serviceTypeName;
/**
* 服务组织名称
*/
private String orgName;
/**
* 组织描述
*/
private String orgDescribe;
/**
* 负责人名称
*/
private String principalName;
/**
* 负责人电话
*/
private String principalMobile;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 地址
*/
private String address;
/**
* 备注
*/
private String remark;
@Data
public static class ServiceType {
/**
* 服务类别值
*/
private String value;
/**
* 服务类别名
*/
private String name;
}
}

24
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceOrgSelectListResultDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 组织服务组织列表_下拉框使用--接口返参
* @Author sun
*/
@Data
public class IcServiceOrgSelectListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 服务组织Id
*/
private String icServiceOrgId;
/**
* 服务组织名称
*/
private String orgName;
}

90
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceRecDetailRes.java

@ -0,0 +1,90 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class IcServiceRecDetailRes implements Serializable {
/**
* 联系方式
*/
private String principalContact;
/**
* 经办人姓名
*/
private String principalName;
/**
* 备注
*/
private String remark;
/**
* 服务类别ID
*/
private String serviceCategoryKey;
/**
* 服务类别ID
*/
private String serviceCategoryName;
/**
* 服务组织ID
*/
private String serviceOrgId;
/**
* 服务组织名称
*/
private String serviceOrgName;
/**
* 服务项目ID
*/
private String serviceProjectId;
/**
* 服务项目名称
*/
private String serviceProjectName;
/**
* 服务时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date serviceTimeStart;
/**
* 服务截止时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date serviceTimeEnd;
/**
* in_service服务中completed:已完成
*/
private String serviceStatus;
/**
* 发布范围
*/
private List<IcServiceScopeDTO> serviceScope;
/**
* 服务人数
*/
private Integer servicePeopleNumber;
/**
* 反馈详情
*/
private IcServiceFeedbackResDTO feedBack;
}

15
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/IcServiceScopeDTO.java

@ -0,0 +1,15 @@
package com.epmet.dto.result;
import lombok.Data;
@Data
public class IcServiceScopeDTO {
private String objectId;
private String objectName;
private String objectType;
/**
* 发布范围的组织ID PATH
*/
private String objectIdPath;
}

63
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/ServiceProjectListResultDTO.java

@ -0,0 +1,63 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.dto.IcServiceProjectAttachmentDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/5/27 16:42
* @DESC
*/
@Data
public class ServiceProjectListResultDTO implements Serializable {
private static final long serialVersionUID = -6508966695564469113L;
/**
* 服务类别
*/
private String serviceCategory;
private String serviceCategoryKey;
/**
* 服务项目ID
*/
private String serviceProjectId;
/**
* 服务名称
*/
private String serviceName;
/**
* 服务内容
*/
private String serviceContent;
/**
* 政策依据
*/
private String policyGround;
/**
* 政策级别
*/
private String policyLevel;
private String policyLevelName;
private List<IcServiceProjectAttachmentDTO> attachmentList;
public ServiceProjectListResultDTO() {
this.serviceCategory = "";
this.serviceProjectId = "";
this.serviceName = "";
this.serviceContent = "";
this.policyGround = "";
this.policyLevel = "";
this.policyLevelName = "";
}
}

18
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/ServiceProjectRecordResultDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.result;
import lombok.Data;
@Data
public class ServiceProjectRecordResultDTO {
private String serviceRecordId;
private String serviceCategoryKey;
private String serviceCategoryName;
private String serviceProjectId;
private String serviceProjectName;
private String serviceOrgId;
private String serviceOrgName;
private String serviceTimeStart;
private String serviceTimeEnd;
private String serviceStatus;
private String servicePeopleNumber;
}

8
epmet-module/epmet-heart/epmet-heart-server/pom.xml

@ -132,6 +132,14 @@
</nonFilteredFileExtensions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<resources>

91
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceOrgController.java

@ -0,0 +1,91 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IcServiceOrgDTO;
import com.epmet.dto.form.IcServiceOrgAddEditFormDTO;
import com.epmet.dto.form.IcServiceOrgListFormDTO;
import com.epmet.dto.result.IcServiceOrgListResultDTO;
import com.epmet.dto.result.IcServiceOrgSelectListResultDTO;
import com.epmet.service.IcServiceOrgService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 服务组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@RestController
@RequestMapping("icServiceOrg")
public class IcServiceOrgController {
@Autowired
private IcServiceOrgService icServiceOrgService;
@RequestMapping("list")
public Result<PageData<IcServiceOrgListResultDTO>> list(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgListFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
return new Result<PageData<IcServiceOrgListResultDTO>>().ok(icServiceOrgService.list(formDTO));
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcServiceOrgDTO> get(@PathVariable("id") String id){
IcServiceOrgDTO data = icServiceOrgService.get(id);
return new Result<IcServiceOrgDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("add")
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgAddEditFormDTO dto) {
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
dto.setCustomerId(tokenDto.getCustomerId());
dto.setUserId(tokenDto.getUserId());
icServiceOrgService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("edit")
public Result edit(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgAddEditFormDTO dto){
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
dto.setCustomerId(tokenDto.getCustomerId());
dto.setUserId(tokenDto.getUserId());
icServiceOrgService.update(dto);
return new Result();
}
@PostMapping("del")
public Result delete(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgAddEditFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, IcServiceOrgAddEditFormDTO.Del.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
icServiceOrgService.delete(formDTO);
return new Result();
}
@RequestMapping("detail")
public Result<IcServiceOrgListResultDTO> detail(@RequestBody IcServiceOrgListFormDTO formDTO) {
return new Result<IcServiceOrgListResultDTO>().ok(icServiceOrgService.detail(formDTO));
}
@RequestMapping("selectlist")
public Result<List<IcServiceOrgSelectListResultDTO>> selectList(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgListFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
return new Result<List<IcServiceOrgSelectListResultDTO>>().ok(icServiceOrgService.selectList(formDTO));
}
}

72
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceProjectAttachmentController.java

@ -0,0 +1,72 @@
package com.epmet.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcServiceProjectAttachmentDTO;
import com.epmet.service.IcServiceProjectAttachmentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 事件附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@RestController
@RequestMapping("icServiceProjectAttachment")
public class IcServiceProjectAttachmentController {
@Autowired
private IcServiceProjectAttachmentService icServiceProjectAttachmentService;
@RequestMapping("page")
public Result<PageData<IcServiceProjectAttachmentDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcServiceProjectAttachmentDTO> page = icServiceProjectAttachmentService.page(params);
return new Result<PageData<IcServiceProjectAttachmentDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcServiceProjectAttachmentDTO> get(@PathVariable("id") String id){
IcServiceProjectAttachmentDTO data = icServiceProjectAttachmentService.get(id);
return new Result<IcServiceProjectAttachmentDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcServiceProjectAttachmentDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icServiceProjectAttachmentService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcServiceProjectAttachmentDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icServiceProjectAttachmentService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icServiceProjectAttachmentService.delete(ids);
return new Result();
}
}

244
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceProjectController.java

@ -0,0 +1,244 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IcServiceProjectDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.IcServiceRecDetailRes;
import com.epmet.dto.result.ServiceProjectListResultDTO;
import com.epmet.dto.result.ServiceProjectRecordResultDTO;
import com.epmet.entity.IcServiceRecordEntity;
import com.epmet.service.IcServiceProjectService;
import com.epmet.service.IcServiceRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 服务项目管理表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@RestController
@RequestMapping("icServiceProject")
public class IcServiceProjectController {
@Autowired
private IcServiceProjectService icServiceProjectService;
@Autowired
private IcServiceRecordService icServiceRecordService;
@RequestMapping("page")
public Result<PageData<IcServiceProjectDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcServiceProjectDTO> page = icServiceProjectService.page(params);
return new Result<PageData<IcServiceProjectDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcServiceProjectDTO> get(@PathVariable("id") String id){
IcServiceProjectDTO data = icServiceProjectService.get(id);
return new Result<IcServiceProjectDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcServiceProjectDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icServiceProjectService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcServiceProjectDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icServiceProjectService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icServiceProjectService.delete(ids);
return new Result();
}
/**
* Desc: 服务项目新增
* @param tokenDto
* @param formDTO
* @author zxc
* @date 2022/5/27 16:04
*/
@PostMapping("serviceProjectAdd")
public Result serviceProjectAdd(@LoginUser TokenDto tokenDto,@RequestBody ServiceProjectFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, ServiceProjectFormDTO.ServiceProjectAddForm.class);
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
icServiceProjectService.serviceProjectAdd(formDTO);
return new Result();
}
/**
* Desc: 服务项目列表
* @param formDTO
* @author zxc
* @date 2022/5/27 16:46
*/
@PostMapping("serviceProjectList")
public Result<PageData> serviceProjectList(@LoginUser TokenDto tokenDto,@RequestBody ServiceProjectListFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
return new Result<PageData>().ok(icServiceProjectService.serviceProjectList(formDTO));
}
/**
* Desc: 服务项目详情
* @param formDTO
* @author zxc
* @date 2022/5/30 15:46
*/
@PostMapping("serviceProjectDetail")
public Result<ServiceProjectListResultDTO> serviceProjectDetail(@RequestBody ServiceProjectListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, ServiceProjectListFormDTO.ServiceProjectDetail.class);
return new Result<ServiceProjectListResultDTO>().ok(icServiceProjectService.serviceProjectDetail(formDTO));
}
/**
* Desc: 修改服务项目
* @param formDTO
* @author zxc
* @date 2022/5/30 09:36
*/
@PostMapping("serviceProjectEdit")
public Result serviceProjectEdit(@RequestBody ServiceProjectFormDTO formDTO,@LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, ServiceProjectFormDTO.ServiceProjectUpdateForm.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
icServiceProjectService.serviceProjectEdit(formDTO);
return new Result();
}
/**
* Desc: 上下架服务项目
* @param ids
* @author zxc
* @date 2022/5/30 10:17
*/
@PostMapping("serviceProjectEnabled")
public Result serviceProjectEnabled(@RequestBody List<String> ids){
icServiceProjectService.serviceProjectEnabled(ids);
return new Result();
}
/**
* http://yapi.elinkservice.cn/project/245/interface/api/7820
*
* @param serviceId
* @return 服务项目记录取消进行中的项目可以取消删除该记录
*/
@PostMapping("service/cancel/{service-id}")
public Result cancelService(@PathVariable("service-id") String serviceId) {
icServiceRecordService.cancelService(serviceId, "yzm");
return new Result();
}
/**
* http://yapi.elinkservice.cn/project/245/interface/api/7821
* @param serviceId
* @return 服务项目记录详情
*/
@PostMapping("service/detail/{service-id}")
public Result<IcServiceRecDetailRes> queryServiceDetail(@PathVariable("service-id") String serviceId) {
return new Result<IcServiceRecDetailRes>().ok(icServiceRecordService.queryServiceDetail(serviceId));
}
/**
* 服务项目记录修改
*
* @param formDTO
* @return
*/
@PostMapping("service/update")
public Result updateServiceRecord(@RequestBody IcServiceEditFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, IcServiceEditFormDTO.AddUserShowGroup.class, IcServiceEditFormDTO.AddUserInternalGroup.class);
icServiceRecordService.updateServiceRecord(formDTO);
return new Result();
}
/**
* 服务列表
* @param input
* @return
*/
@PostMapping("/service/recordList")
public Result listServiceRecords(@RequestBody ServiceProjectRecordFormDTO input) {
PageData<ServiceProjectRecordResultDTO> page = icServiceRecordService.listServiceRecords(
input.getServiceCategoryKey(), input.getServiceProjectName(), input.getServiceOrgName(), input.getServiceTimeStart(),
input.getServiceTimeEnd(), input.getServiceStatus(), input.getSatisfaction(), input.getPageNo(), input.getPageSize());
return new Result().ok(page);
}
/**
* 发起服务
* @param input
* @return
*/
@PostMapping("/service/initiate")
public Result initiateService(@RequestBody ServiceProjectRecordFormDTO input) {
ValidatorUtils.validateEntity(input, ServiceProjectRecordFormDTO.Initiate.class, ServiceProjectFeedbackFormDTO.InitiateGroup.class);
icServiceRecordService.initiateService(input);
return new Result();
}
/**
* 反馈
* @param input
* @return
*/
@PostMapping("/service/feedback")
public Result serviceFeedback(@RequestBody ServiceProjectFeedbackFormDTO input) {
ValidatorUtils.validateEntity(input, ServiceProjectFeedbackFormDTO.FeedbackGroup.class);
String serviceRecordId = input.getServiceRecordId();
// 做状态检查,未反馈的,服务状态为服务中的才可以反馈
IcServiceRecordEntity serviceRecord = icServiceRecordService.selectById(serviceRecordId);
if (serviceRecord == null) {
String msg = "未找到服务记录";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg);
}
if ("completed".equals(serviceRecord.getServiceStatus())) {
String msg = "服务已完成,不能再次反馈";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg);
}
icServiceRecordService.serviceFeedback(serviceRecord.getServiceCategoryKey(),
serviceRecord.getServiceOrgId(),
serviceRecord.getServiceProjectId(),
serviceRecord.getId(),
input);
return new Result();
}
}

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcCommunitySelfOrganizationDao.java

@ -73,4 +73,6 @@ public interface IcCommunitySelfOrganizationDao extends BaseDao<IcCommunitySelfO
List<CommunitySelfOrganizationListDTO> queryCategoryList(CategorySelfOrgFormDTO formDTO);
List<CommunitySelfOrganizationListDTO> queryCoordinateList(CategorySelfOrgFormDTO formDTO);
List<IcCommunitySelfOrganizationEntity> selectByIds(@Param("communityOrgIds") List<String> communityOrgIds);
}

4
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcPartyUnitDao.java

@ -19,7 +19,6 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
import com.epmet.dto.form.PartyTypepercentFormDTO;
import com.epmet.dto.form.PartyUnitListbriefFormDTO;
import com.epmet.dto.result.PartyTypepercentResultDTO;
import com.epmet.dto.result.PartyUnitDistributionResultDTO;
@ -32,7 +31,6 @@ import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* 联建单位
@ -116,4 +114,6 @@ public interface IcPartyUnitDao extends BaseDao<IcPartyUnitEntity> {
*/
List<PartyTypepercentResultDTO> getTypepercent(@Param("agencyId") String agencyId,
@Param("customerId") String customerId);
List<IcPartyUnitEntity> selectByIds(@Param("partyUnitIds") List<String> partyUnitIds);
}

33
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceFeedbackDao.java

@ -0,0 +1,33 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.IcServiceFeedbackResDTO;
import com.epmet.entity.IcServiceFeedbackEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
@Mapper
public interface IcServiceFeedbackDao extends BaseDao<IcServiceFeedbackEntity> {
/**
* 根据服务记录id,查询反馈记录
* @param serviceRecordId
* @return
*/
IcServiceFeedbackResDTO selectByRecId(@Param("serviceRecordId") String serviceRecordId);
/**
* 根据服务反馈id,查询附件列表
* @param feedBackId
* @return
*/
List<IcServiceFeedbackResDTO.Attachment> getAttachmentList(String feedBackId);
}

34
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceOrgDao.java

@ -0,0 +1,34 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.IcServiceOrgListFormDTO;
import com.epmet.dto.result.IcServiceOrgListResultDTO;
import com.epmet.dto.result.IcServiceOrgSelectListResultDTO;
import com.epmet.entity.IcServiceOrgEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 服务组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Mapper
public interface IcServiceOrgDao extends BaseDao<IcServiceOrgEntity> {
/**
* @Author sun
* @Description 服务组织-列表查询
**/
List<IcServiceOrgListResultDTO> selectServiceOrgList(IcServiceOrgListFormDTO formDTO);
/**
* @Author sun
* @Description 服务组织列表_下拉框
**/
List<IcServiceOrgSelectListResultDTO> selectServiceOrgSelectList(IcServiceOrgListFormDTO formDTO);
void del(IcServiceOrgEntity entity);
}

27
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceProjectAttachmentDao.java

@ -0,0 +1,27 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcServiceProjectAttachmentEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 事件附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Mapper
public interface IcServiceProjectAttachmentDao extends BaseDao<IcServiceProjectAttachmentEntity> {
/**
* Desc: 根据服务项目ID删除附件
* @param id
* @author zxc
* @date 2022/5/30 09:50
*/
void delAttachmentByServiceProjectId(@Param("id")String id);
}

37
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceProjectDao.java

@ -0,0 +1,37 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.ServiceProjectListFormDTO;
import com.epmet.dto.result.ServiceProjectListResultDTO;
import com.epmet.entity.IcServiceProjectEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 服务项目管理表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Mapper
public interface IcServiceProjectDao extends BaseDao<IcServiceProjectEntity> {
/**
* Desc: 查询服务项目列表
* @param formDTO
* @author zxc
* @date 2022/5/27 17:13
*/
List<ServiceProjectListResultDTO> getServiceProjectList(ServiceProjectListFormDTO formDTO);
/**
* Desc: 上下架服务项目
* @param ids
* @author zxc
* @date 2022/5/30 10:17
*/
void serviceProjectEnabled(@Param("ids") List<String> ids);
}

29
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceRecordDao.java

@ -0,0 +1,29 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ServiceProjectRecordResultDTO;
import com.epmet.entity.IcServiceRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
@Mapper
public interface IcServiceRecordDao extends BaseDao<IcServiceRecordEntity> {
List<ServiceProjectRecordResultDTO> listServiceRecords(
@Param("serviceCategoryKey") String serviceCategoryKey,
@Param("serviceProjectName") String serviceProjectName,
@Param("serviceOrgName") String serviceOrgName,
@Param("serviceTimeStart") Date serviceTimeStart,
@Param("serviceTimeEnd") Date serviceTimeEnd,
@Param("serviceStatus") String serviceStatus,
@Param("satisfaction") String satisfaction);
}

23
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceScopeDao.java

@ -0,0 +1,23 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.IcServiceScopeDTO;
import com.epmet.entity.IcServiceScopeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
@Mapper
public interface IcServiceScopeDao extends BaseDao<IcServiceScopeEntity> {
int update(@Param("serviceId") String serviceId, @Param("userId") String userId);
List<IcServiceScopeDTO> selectList(String serviceRecordId);
}

7
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcUserDemandRecDao.java

@ -140,4 +140,11 @@ public interface IcUserDemandRecDao extends BaseDao<IcUserDemandRecEntity> {
List<ServicePointDTO> getServicePoint(@Param("customerId")String customerId, @Param("serviceType")String serviceType);
List<DemandRecResultDTO> queryServiceList(ServiceListFormDTO formDTO);
/**
* 根据服务方id查询已派单的服务记录数
* @param serverId
* @return
*/
Integer selectCountByServerId(String serverId);
}

83
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceFeedbackEntity.java

@ -0,0 +1,83 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_service_feedback")
public class IcServiceFeedbackEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
@TableField(fill = FieldFill.INSERT)
private String customerId;
/**
* 服务类别ID
*/
private String serviceCategoryKey;
/**
* 服务项目ID
*/
private String serviceProjectId;
/**
* 服务组织ID
*/
private String serviceOrgId;
/**
* 服务目标
*/
private String serviceGoal;
/**
* 服务效果
*/
private String serviceEffect;
/**
* 服务人数
*/
//private Integer servicePeopleNumber;
/**
* 满意度满意度 - 不满意:bad基本满意:good非常满意:perfect
*/
private String satisfaction;
/**
* 地址经度
*/
private String longitude;
/**
* 地址纬度
*/
private String latitude;
/**
* 地址
*/
private String address;
/**
*
*/
private String serviceRecordId;
}

81
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceOrgEntity.java

@ -0,0 +1,81 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 服务组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_service_org")
public class IcServiceOrgEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 所属组织机构Id
*/
private String agencyId;
/**
* agencyId的所有上级包含自己
*/
private String agencyIdPath;
/**
* 服务类别字典表 ic_service_type多个值逗号分隔
*/
private String serviceType;
/**
* 服务组织名称
*/
private String orgName;
/**
* 组织描述
*/
private String orgDescribe;
/**
* 负责人姓名
*/
private String principalName;
/**
* 负责人电话
*/
private String principalMobile;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 地址
*/
private String address;
/**
* 备注
*/
private String remark;
}

88
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceProjectAttachmentEntity.java

@ -0,0 +1,88 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 事件附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_service_project_attachment")
public class IcServiceProjectAttachmentEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
@TableField(fill = FieldFill.INSERT)
private String customerId;
/**
* 事件Id
*/
private String icServiceId;
/**
* 隶属于feedback:反馈service服务本身
*/
private String attachTo;
/**
* 附件名
*/
private String attachmentName;
/**
* 文件格式JPGPNGPDFJPEGBMPMP4WMAM4AMP3DOCDOCXXLS
*/
private String attachmentFormat;
/**
* 附件类型图片 - image 视频 - video 语音 - voice 文档 - doc
*/
private String attachmentType;
/**
* 附件地址
*/
private String attachmentUrl;
/**
* 排序字段
*/
private Integer sort;
/**
* 附件状态审核中auditing
auto_passed: 自动通过
review结果不确定需要人工审核
block: 结果违规
rejected人工审核驳回;
approved人工审核通过
现在图片是同步审核的所以图片只有auto_passed一种状态
*/
private String status;
/**
* 失败原因
*/
private String reason;
/**
* 语音或视频时长,
*/
private Integer duration;
}

74
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceProjectEntity.java

@ -0,0 +1,74 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 服务项目管理表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_service_project")
public class IcServiceProjectEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织ID的上级
*/
private String pid;
/**
* 组织ID的所有上级[包括自己]
*/
private String agencyIdPath;
/**
* 服务类别值
*/
private String serviceCategoryKey;
/**
* 服务名称
*/
private String serviceName;
/**
* 服务内容
*/
private String serviceContent;
/**
* 政策级别0市级1区级2街道级
*/
private String policyLevel;
/**
* 政策依据
*/
private String policyGround;
/**
* 启用状态,0启用1禁用
*/
private Integer enabled;
}

89
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceRecordEntity.java

@ -0,0 +1,89 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_service_record")
public class IcServiceRecordEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
@TableField(fill = FieldFill.INSERT)
private String customerId;
/**
* 服务类别ID
*/
private String serviceCategoryKey;
/**
* 服务项目ID
*/
private String serviceProjectId;
/**
* 服务项目名称
*/
private String serviceProjectName;
/**
* 服务组织ID
*/
private String serviceOrgId;
/**
* 服务组织名称
*/
private String serviceOrgName;
/**
* 经办人姓名
*/
private String principalName;
/**
* 联系方式
*/
private String principalContact;
/**
* 服务时间
*/
private Date serviceTimeStart;
/**
* 服务截止时间
*/
private Date serviceTimeEnd;
/**
* in_service服务中completed:已完成
*/
private String serviceStatus;
/**
* 备注
*/
private String remark;
/**
* 服务人数
*/
private Integer servicePeopleNumber;
}

75
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceScopeEntity.java

@ -0,0 +1,75 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_service_scope")
public class IcServiceScopeEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
@TableField(fill = FieldFill.INSERT)
private String customerId;
/**
* 服务类别ID
*/
private String serviceCategoryKey;
/**
* 服务项目ID
*/
private String serviceProjectId;
/**
* 服务组织ID
*/
private String serviceOrgId;
/**
* 服务记录的ID
*/
private String serviceRecordId;
/**
* agency单位grid网格neighborhood小区
*/
private String objectType;
/**
* 选中的组织的ID
*/
private String objectId;
/**
* 发布范围的组织ID PATH
*/
private String objectIdPath;
/**
*
*/
private String objectName;
/**
* 备注
*/
private String remark;
}

75
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcServiceOrgExcel.java

@ -0,0 +1,75 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 服务组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class IcServiceOrgExcel {
@Excel(name = "ID")
private String id;
@Excel(name = "客户Id")
private String customerId;
@Excel(name = "所属组织机构Id")
private String agencyId;
@Excel(name = "agencyId的所有上级,包含自己")
private String agencyIdPath;
@Excel(name = "服务类别【字典表 ic_service_type】多个值逗号分隔")
private String serviceType;
@Excel(name = "服务组织名称")
private String orgName;
@Excel(name = "组织描述")
private String orgDescribe;
@Excel(name = "负责人姓名")
private String principalName;
@Excel(name = "负责人电话")
private String principalMobile;
@Excel(name = "经度")
private String longitude;
@Excel(name = "纬度")
private String latitude;
@Excel(name = "地址")
private String address;
@Excel(name = "备注")
private String remarks;
@Excel(name = "删除标识")
private String delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
}

68
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceOrgService.java

@ -0,0 +1,68 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcServiceOrgDTO;
import com.epmet.dto.form.IcServiceOrgAddEditFormDTO;
import com.epmet.dto.form.IcServiceOrgListFormDTO;
import com.epmet.dto.result.IcServiceOrgListResultDTO;
import com.epmet.dto.result.IcServiceOrgSelectListResultDTO;
import com.epmet.entity.IcServiceOrgEntity;
import java.util.List;
/**
* 服务组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
public interface IcServiceOrgService extends BaseService<IcServiceOrgEntity> {
/**
* 默认查询
*
* @param formDTO
* @return java.util.List<IcServiceOrgDTO>
* @author generator
* @date 2022-05-27
*/
PageData<IcServiceOrgListResultDTO> list(IcServiceOrgListFormDTO formDTO);
/**
* 单条查询
*
* @param id
* @return IcServiceOrgDTO
* @author generator
* @date 2022-05-27
*/
IcServiceOrgDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void save(IcServiceOrgAddEditFormDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void update(IcServiceOrgAddEditFormDTO dto);
void delete(IcServiceOrgAddEditFormDTO formDTO);
IcServiceOrgListResultDTO detail(IcServiceOrgListFormDTO formDTO);
List<IcServiceOrgSelectListResultDTO> selectList(IcServiceOrgListFormDTO formDTO);
}

78
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceProjectAttachmentService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcServiceProjectAttachmentDTO;
import com.epmet.entity.IcServiceProjectAttachmentEntity;
import java.util.List;
import java.util.Map;
/**
* 事件附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
public interface IcServiceProjectAttachmentService extends BaseService<IcServiceProjectAttachmentEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcServiceProjectAttachmentDTO>
* @author generator
* @date 2022-05-27
*/
PageData<IcServiceProjectAttachmentDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcServiceProjectAttachmentDTO>
* @author generator
* @date 2022-05-27
*/
List<IcServiceProjectAttachmentDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcServiceProjectAttachmentDTO
* @author generator
* @date 2022-05-27
*/
IcServiceProjectAttachmentDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void save(IcServiceProjectAttachmentDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void update(IcServiceProjectAttachmentDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-27
*/
void delete(String[] ids);
}

122
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceProjectService.java

@ -0,0 +1,122 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcServiceProjectDTO;
import com.epmet.dto.form.ServiceProjectFormDTO;
import com.epmet.dto.form.ServiceProjectListFormDTO;
import com.epmet.dto.result.ServiceProjectListResultDTO;
import com.epmet.entity.IcServiceProjectEntity;
import java.util.List;
import java.util.Map;
/**
* 服务项目管理表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
public interface IcServiceProjectService extends BaseService<IcServiceProjectEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcServiceProjectDTO>
* @author generator
* @date 2022-05-27
*/
PageData<IcServiceProjectDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcServiceProjectDTO>
* @author generator
* @date 2022-05-27
*/
List<IcServiceProjectDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcServiceProjectDTO
* @author generator
* @date 2022-05-27
*/
IcServiceProjectDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void save(IcServiceProjectDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void update(IcServiceProjectDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-27
*/
void delete(String[] ids);
/**
* Desc: 服务项目新增
* @param formDTO
* @author zxc
* @date 2022/5/27 16:04
*/
void serviceProjectAdd(ServiceProjectFormDTO formDTO);
/**
* Desc: 服务项目列表
* @param formDTO
* @author zxc
* @date 2022/5/27 16:46
*/
PageData serviceProjectList(ServiceProjectListFormDTO formDTO);
/**
* Desc: 服务项目详情
* @param formDTO
* @author zxc
* @date 2022/5/30 15:46
*/
ServiceProjectListResultDTO serviceProjectDetail(ServiceProjectListFormDTO formDTO);
/**
* Desc: 修改服务项目
* @param formDTO
* @author zxc
* @date 2022/5/30 09:36
*/
void serviceProjectEdit(ServiceProjectFormDTO formDTO);
/**
* Desc: 上下架服务项目
* @param ids
* @author zxc
* @date 2022/5/30 10:17
*/
void serviceProjectEnabled(List<String> ids);
}

56
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceRecordService.java

@ -0,0 +1,56 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.form.IcServiceEditFormDTO;
import com.epmet.dto.form.ServiceProjectFeedbackFormDTO;
import com.epmet.dto.form.ServiceProjectRecordFormDTO;
import com.epmet.dto.result.IcServiceRecDetailRes;
import com.epmet.dto.result.ServiceProjectRecordResultDTO;
import com.epmet.entity.IcServiceRecordEntity;
import java.util.Date;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
public interface IcServiceRecordService extends BaseService<IcServiceRecordEntity> {
/**
* http://yapi.elinkservice.cn/project/245/interface/api/7820
* @param serviceId
* 服务项目记录取消进行中的项目可以取消删除该记录
*/
void cancelService(String serviceId,String userId);
/**
* 服务项目记录详情
* @param serviceId
* @return
*/
IcServiceRecDetailRes queryServiceDetail(String serviceId);
/**
* 服务项目记录修改
* @param formDTO
*/
void updateServiceRecord(IcServiceEditFormDTO formDTO);
PageData<ServiceProjectRecordResultDTO> listServiceRecords(String serviceCategoryKey, String serviceProjectName, String serviceOrgName,
Date serviceTimeStart, Date serviceTimeEnd, String serviceStatus,
String satisfaction, Integer pageNo, Integer pageSize);
/**
* 发起服务
* @param input
*/
void initiateService(ServiceProjectRecordFormDTO input);
/**
* 服务反馈
*/
void serviceFeedback(String serviceCategoryKey, String serviceOrgId, String serviceProjectId, String serviceRecordId, ServiceProjectFeedbackFormDTO feedbackDto);
}

14
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceScopeService.java

@ -0,0 +1,14 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.entity.IcServiceScopeEntity;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
public interface IcServiceScopeService extends BaseService<IcServiceScopeEntity> {
}

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java

@ -260,4 +260,6 @@ public interface IcUserDemandRecService extends BaseService<IcUserDemandRecEntit
* @Description 事件评价时同步=评价结果到需求
**/
void icEventComment(IcEventCommentToDemandFromDTO formDTO);
Integer selectCountByServerId(String serverId);
}

80
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcCommunitySelfOrganizationServiceImpl.java

@ -161,11 +161,11 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
@Override
public void addCommunitySelfOrganization(TokenDto tokenDto, AddCommunitySelfOrganizationFormDTO formDTO) {
String customerId = tokenDto.getCustomerId();
boolean mobile = PhoneValidatorUtils.isMobile(formDTO.getPrincipalPhone());
/*boolean mobile = PhoneValidatorUtils.isMobile(formDTO.getPrincipalPhone());
boolean tel = PhoneValidatorUtils.isTel(formDTO.getPrincipalPhone());
if (!mobile && !tel){
throw new EpmetException(EpmetErrorCode.CHECK_PHONE_ERROR.getCode());
}
}*/
LambdaQueryWrapper<IcCommunitySelfOrganizationEntity> l = new LambdaQueryWrapper<>();
l.eq(IcCommunitySelfOrganizationEntity::getOrganizationName,formDTO.getOrganizationName())
.eq(IcCommunitySelfOrganizationEntity::getCustomerId,customerId)
@ -182,7 +182,6 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
orgEntity.setCustomerId(customerId);
orgEntity.setOrgId(staffInfo.getAgencyId());
orgEntity.setOrgType(IcCommunitySelfOrganizationConstant.ORG_TYPE_AGENCY);
orgEntity.setOrganizationCreatedTime(DateUtils.parse(formDTO.getOrganizationCreatedTime(), DATE_PATTERN));
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId());
if (null == agencyInfo){
throw new RenException(String.format("查询组织信息失败%s",staffInfo.getAgencyId()));
@ -190,22 +189,27 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
orgEntity.setPid(agencyInfo.getPid());
orgEntity.setPids(agencyInfo.getPids());
// 保持时间统一
if (null == formDTO.getOrganizationCreatedTime()){
if (StringUtils.isBlank(formDTO.getOrganizationCreatedTime())){
Date date = new Date();
orgEntity.setOrganizationCreatedTime(date);
orgEntity.setCreatedTime(date);
orgEntity.setUpdatedTime(date);
}else{
orgEntity.setOrganizationCreatedTime(DateUtils.parse(formDTO.getOrganizationCreatedTime(), DATE_PATTERN));
}
baseDao.insert(orgEntity);
if(CollectionUtils.isNotEmpty(formDTO.getOrganizationPersonnel())){
// 号码校验
formDTO.getOrganizationPersonnel().forEach(p -> {
/**
* 2022-06-14 需求变动 去掉号码校验
*/
/*formDTO.getOrganizationPersonnel().forEach(p -> {
boolean m = PhoneValidatorUtils.isMobile(p.getPersonPhone());
boolean t = PhoneValidatorUtils.isTel(p.getPersonPhone());
if (!m && !t){
throw new EpmetException(EpmetErrorCode.CHECK_PHONE_ERROR.getCode());
}
});
});*/
List<IcCommunitySelfOrganizationPersonnelEntity> persons = ConvertUtils.sourceToTarget(formDTO.getOrganizationPersonnel(), IcCommunitySelfOrganizationPersonnelEntity.class);
Map<String, List<IcCommunitySelfOrganizationPersonnelEntity>> groupPhone = persons.stream().collect(Collectors.groupingBy(IcCommunitySelfOrganizationPersonnelEntity::getPersonPhone));
List<String> phones = new ArrayList<>();
@ -242,11 +246,11 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
@Transactional(rollbackFor = Exception.class)
@Override
public void editCommunitySelfOrganization(TokenDto tokenDto, EditCommunitySelfOrganizationFormDTO formDTO) {
boolean m = PhoneValidatorUtils.isMobile(formDTO.getPrincipalPhone());
/*boolean m = PhoneValidatorUtils.isMobile(formDTO.getPrincipalPhone());
boolean t = PhoneValidatorUtils.isTel(formDTO.getPrincipalPhone());
if (!m && !t){
throw new EpmetException(EpmetErrorCode.CHECK_PHONE_ERROR.getCode());
}
}*/
LambdaQueryWrapper<IcCommunitySelfOrganizationEntity> l = new LambdaQueryWrapper<>();
l.eq(IcCommunitySelfOrganizationEntity::getOrganizationName,formDTO.getOrganizationName())
.eq(IcCommunitySelfOrganizationEntity::getCustomerId,tokenDto.getCustomerId())
@ -262,13 +266,16 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
baseDao.updateCommunitySelfOrganization(e);
personnelService.deleteByOrgId(formDTO.getOrgId());
if (CollectionUtils.isNotEmpty(formDTO.getOrganizationPersonnel())){
formDTO.getOrganizationPersonnel().forEach(p -> {
/**
* 2022-06-14 需求变动 去掉号码校验
*/
/*formDTO.getOrganizationPersonnel().forEach(p -> {
boolean mobile = PhoneValidatorUtils.isMobile(p.getPersonPhone());
boolean tel = PhoneValidatorUtils.isTel(p.getPersonPhone());
if (!mobile && !tel){
throw new EpmetException(EpmetErrorCode.CHECK_PHONE_ERROR.getCode());
}
});
});*/
List<IcCommunitySelfOrganizationPersonnelEntity> persons = ConvertUtils.sourceToTarget(formDTO.getOrganizationPersonnel(), IcCommunitySelfOrganizationPersonnelEntity.class);
Map<String, List<IcCommunitySelfOrganizationPersonnelEntity>> groupPhone = persons.stream().collect(Collectors.groupingBy(IcCommunitySelfOrganizationPersonnelEntity::getPersonPhone));
List<String> phones = new ArrayList<>();
@ -362,6 +369,10 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
@Transactional(rollbackFor = Exception.class)
@Override
public void delCommunitySelfOrganization(DelCommunitySelfOrganizationFormDTO formDTO) {
//存在未完成的需求,不能删除
if (icUserDemandRecDao.selectCountByServerId(formDTO.getOrgId()) > NumConstant.ZERO) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未完成的服务", "存在未完成的服务,不能删除");
}
baseDao.deleteById(formDTO.getOrgId());
personnelService.deleteByOrgId(formDTO.getOrgId());
}
@ -499,16 +510,18 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
List<CommunitySelfOrgImportExcel> fileList = new ArrayList<>();
CommunitySelfOrgImportExcel excel = null;
//1.读取Excel数据
ExcelImportResult<ImportCommunitySelfOrganization> testExcelImportResult = ExcelPoiUtils.importExcelMore(inputStream,0,2,ImportCommunitySelfOrganization.class);
ExcelImportResult<ImportCommunitySelfOrganization> testExcelImportResult = ExcelPoiUtils.importExcel1(inputStream,0,2,ImportCommunitySelfOrganization.class);
//2.存在错误行数据时存入错误数据集合中
for (ImportCommunitySelfOrganization entity : testExcelImportResult.getFailList()) {
//打印失败的行 和失败的信息
log.warn("第{}行,{}", entity.getRowNum(), entity.getErrorMsg());
excel = new CommunitySelfOrgImportExcel();
//excel.setAgencyName(entity.getOrganizationName());
excel.setSocietyName(entity.getOrganizationName());
excel.setErrorInfo(entity.getErrorMsg());
fileList.add(excel);
if(CollectionUtils.isNotEmpty(testExcelImportResult.getFailList())){
for (ImportCommunitySelfOrganization entity : testExcelImportResult.getFailList()) {
//打印失败的行 和失败的信息
log.warn("第{}行,{}", entity.getRowNum(), entity.getErrorMsg());
excel = new CommunitySelfOrgImportExcel();
//excel.setAgencyName(entity.getOrganizationName());
excel.setSocietyName(entity.getOrganizationName());
excel.setErrorInfo(entity.getErrorMsg());
fileList.add(excel);
}
}
//正确行数据集合
List<ImportCommunitySelfOrganization> list = testExcelImportResult.getList();
@ -529,19 +542,22 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
//社会自组织名称重复
communitySeltOrgList.forEach(org -> {
if (obj.getOrganizationName().equals(org.getOrganizationName())) {
log.warn(String.format("当前客户下的社自组织名称已存在,社会自组织名称->%s,行号->%s", obj.getOrganizationName(), obj.getRowNum()));
errMsg.append("客户下社自组织名称已存在;");
log.warn(String.format("当前客户下的社自组织名称已存在,社会自组织名称->%s,行号->%s", obj.getOrganizationName(), obj.getRowNum()));
errMsg.append("客户下社自组织名称已存在;");
bl.set(true);
}
});
//手机号不合规
boolean m = PhoneValidatorUtils.isMobile(obj.getPrincipalPhone());
/**
* 2022-06-14 需求变动 去掉号码校验
*/
/*boolean m = PhoneValidatorUtils.isMobile(obj.getPrincipalPhone());
boolean t = PhoneValidatorUtils.isTel(obj.getPrincipalPhone());
if (!m && !t){
errMsg.append("手机号码不合法;");
bl.set(true);
log.warn("手机号码不合法,自组织名称{}", obj.getOrganizationName());
}
}*/
if(bl.get()){
excel = new CommunitySelfOrgImportExcel();
//excel.setAgencyName(obj.getOrganizationName());
@ -560,19 +576,23 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
e.setOrgType(IcCommunitySelfOrganizationConstant.ORG_TYPE_AGENCY);
e.setPid(agencyInfo.getPid());
e.setPids(agencyInfo.getPids());
e.setOrganizationCreatedTime(DateUtils.parse(l.getOrganizationCreatedTime(), DATE_PATTERN));
e.setOrganizationCreatedTime(StringUtils.isNotBlank(l.getOrganizationCreatedTime()) ? DateUtils.stringToDate(l.getOrganizationCreatedTime(), DATE_PATTERN) : new Date());
//赋值分类编码,excel输入的是分类名称,需要找到admin字典库中的key
String categoryName=l.getCategoryCode();
for (String key : categoryMap.keySet()) {
if (StringUtils.isNotBlank(categoryMap.get(key)) && categoryMap.get(key).equals(e.getCategoryCode())) {
e.setCategoryCode(categoryMap.get(key));
break;
if (StringUtils.isNotBlank(categoryMap.get(key)) && categoryMap.get(key).equals(categoryName)) {
e.setCategoryCode(key);
}
}
//未匹配到分类默认是其他
if(categoryName.equals(e.getCategoryCode())){
e.setCategoryCode(SelfOrgCategoryEnum.OTHER.getCode());
}
List<IcCommunitySelfOrganizationPersonnelEntity> persons = new ArrayList<>();
AtomicReference<Boolean> bl = new AtomicReference<>(false);
StringBuffer msg = new StringBuffer("");
if (CollectionUtils.isNotEmpty(l.getPersons())){
l.getPersons().forEach(p -> {
/*l.getPersons().forEach(p -> {
boolean m = PhoneValidatorUtils.isMobile(p.getPersonPhone());
boolean t = PhoneValidatorUtils.isTel(p.getPersonPhone());
if (!m && !t){
@ -582,7 +602,7 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
return;
//throw new EpmetException(EpmetErrorCode.CHECK_PHONE_ERROR.getCode());
}
});
});*/
persons = ConvertUtils.sourceToTarget(l.getPersons(), IcCommunitySelfOrganizationPersonnelEntity.class);
Map<String, List<IcCommunitySelfOrganizationPersonnelEntity>> groupByPhone = persons.stream().collect(Collectors.groupingBy(IcCommunitySelfOrganizationPersonnelEntity::getPersonPhone));
List<String> phones = new ArrayList<>();
@ -703,7 +723,7 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
@Override
public List<IcCommunitySelfOrganizationEntity> queryListById(List<String> communityOrgIds) {
if(CollectionUtils.isNotEmpty(communityOrgIds)){
return baseDao.selectBatchIds(communityOrgIds);
return baseDao.selectByIds(communityOrgIds);
}
return Collections.EMPTY_LIST;
}

34
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java

@ -179,8 +179,8 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
IcPartyActivityDTO dto = ConvertUtils.sourceToTarget(entity, IcPartyActivityDTO.class);
//获取服务事项
List<OptionDTO> serviceItemList=icServiceItemDictService.queryDictList(entity.getCustomerId());
Map<String, String> categoryMap=serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
List<OptionDTO> serviceItemList = icServiceItemDictService.queryDictList(entity.getCustomerId());
Map<String, String> categoryMap = serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
List<String> services = icActivityServiceRelationService.getServiceList(id);
List<String> serviceNames = services.stream().map(categoryMap::get).collect(Collectors.toList());
dto.setServiceMatterList(services);
@ -213,7 +213,7 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
entity.setCustomerId(tokenDto.getCustomerId());
entity.setAgencyId(staff.getAgencyId());
entity.setPids(staff.getAgencyPIds());
if(StringUtils.isBlank(entity.getId())) {
if (StringUtils.isBlank(entity.getId())) {
insert(entity);
} else {
updateById(entity);
@ -290,8 +290,8 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
//获取服务事项
List<OptionDTO> serviceItemList=icServiceItemDictService.queryDictList(tokenDto.getCustomerId());
Map<String, String> categoryMap=serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
List<OptionDTO> serviceItemList = icServiceItemDictService.queryDictList(tokenDto.getCustomerId());
Map<String, String> categoryMap = serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
//获取联建单位
IcPartyUnitDTO unitDTO = new IcPartyUnitDTO();
unitDTO.setAgencyId(staffInfoCache.getAgencyId());
@ -341,43 +341,43 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
}
//活动标题 活动目标 活动内容 活动时间 活动地址 活动地址经度 活动地址纬度 活动结果
if(StringUtils.isBlank(obj.getTitle())) {
if (StringUtils.isBlank(obj.getTitle())) {
IcPartyActivityImportFailedExcel failed = ConvertUtils.sourceToTarget(obj, IcPartyActivityImportFailedExcel.class);
failed.setErrorInfo("活动标题为空");
fileList.add(failed);
log.warn(String.format("活动标题为空,行号->%s", obj.getRowNum()));
iterator.remove();
} else if(StringUtils.isBlank(obj.getTarget())) {
} else if (StringUtils.isBlank(obj.getTarget())) {
IcPartyActivityImportFailedExcel failed = ConvertUtils.sourceToTarget(obj, IcPartyActivityImportFailedExcel.class);
failed.setErrorInfo("活动目标为空");
fileList.add(failed);
log.warn(String.format("活动目标为空,行号->%s", obj.getRowNum()));
} else if(StringUtils.isBlank(obj.getContent())) {
} else if (StringUtils.isBlank(obj.getContent())) {
IcPartyActivityImportFailedExcel failed = ConvertUtils.sourceToTarget(obj, IcPartyActivityImportFailedExcel.class);
failed.setErrorInfo("活动内容为空");
fileList.add(failed);
log.warn(String.format("活动内容为空,行号->%s", obj.getRowNum()));
} else if(StringUtils.isBlank(obj.getActivityTime())) {
} else if (StringUtils.isBlank(obj.getActivityTime())) {
IcPartyActivityImportFailedExcel failed = ConvertUtils.sourceToTarget(obj, IcPartyActivityImportFailedExcel.class);
failed.setErrorInfo("活动时间为空");
fileList.add(failed);
log.warn(String.format("活动时间为空,行号->%s", obj.getRowNum()));
} else if(StringUtils.isBlank(obj.getAddress())) {
} else if (StringUtils.isBlank(obj.getAddress())) {
IcPartyActivityImportFailedExcel failed = ConvertUtils.sourceToTarget(obj, IcPartyActivityImportFailedExcel.class);
failed.setErrorInfo("活动地址为空");
fileList.add(failed);
log.warn(String.format("活动地址为空,行号->%s", obj.getRowNum()));
} else if(StringUtils.isBlank(obj.getLatitude())) {
} else if (StringUtils.isBlank(obj.getLatitude())) {
IcPartyActivityImportFailedExcel failed = ConvertUtils.sourceToTarget(obj, IcPartyActivityImportFailedExcel.class);
failed.setErrorInfo("活动地址纬度为空");
fileList.add(failed);
log.warn(String.format("活动地址纬度为空,行号->%s", obj.getRowNum()));
} else if(StringUtils.isBlank(obj.getLongitude())) {
} else if (StringUtils.isBlank(obj.getLongitude())) {
IcPartyActivityImportFailedExcel failed = ConvertUtils.sourceToTarget(obj, IcPartyActivityImportFailedExcel.class);
failed.setErrorInfo("活动地址经度为空");
fileList.add(failed);
log.warn(String.format("活动地址经度为空,行号->%s", obj.getRowNum()));
} else if(StringUtils.isBlank(obj.getResult())) {
} else if (StringUtils.isBlank(obj.getResult())) {
IcPartyActivityImportFailedExcel failed = ConvertUtils.sourceToTarget(obj, IcPartyActivityImportFailedExcel.class);
failed.setErrorInfo("活动结果为空");
fileList.add(failed);
@ -540,7 +540,8 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
*/
@Override
public PageData<IcPartyActivityDTO> getActivityList(TokenDto tokenDto, PartyActivityFormDTO formDTO) {
if (null == formDTO.getStartTime() && null == formDTO.getEndTime()) {
// unitId 不为空(按单位查询)时,不需要限制活动创建时间
if (null == formDTO.getStartTime() && null == formDTO.getEndTime() && StringUtils.isBlank(formDTO.getUnitId())) {
setDate(formDTO);
}
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
@ -554,8 +555,8 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
//获取联建单位
Map<String, String> option = icPartyUnitService.options(unitDTO).stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
//获取服务事项字典
List<OptionDTO> serviceItemList=icServiceItemDictService.queryDictList(tokenDto.getCustomerId());
Map<String, String> categoryMap=serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
List<OptionDTO> serviceItemList = icServiceItemDictService.queryDictList(tokenDto.getCustomerId());
Map<String, String> categoryMap = serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
//数据组装
dtoList.forEach(dto -> {
//联建单位ID与单位名匹配
@ -617,6 +618,7 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
/**
* 近30天开始时间和结束时间 精确到秒
*
* @Param formDTO
* @Return
* @Author zhaoqifeng

17
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java

@ -41,7 +41,6 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
@ -51,17 +50,9 @@ import com.epmet.constant.UserDemandConstant;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcPartyUnitDao;
import com.epmet.dto.IcPartyUnitDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.dto.form.PartyUnitFormDTO;
import com.epmet.dto.form.PartyUnitListFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.form.demand.ServiceQueryFormDTO;
import com.epmet.dto.result.PartyTypepercentResultDTO;
import com.epmet.dto.result.PartyUnitDistributionResultDTO;
import com.epmet.dto.result.PartyUnitListResultDTO;
import com.epmet.dto.result.PartyUnitListbrieResultDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.dto.result.demand.ServiceStatDTO;
import com.epmet.entity.IcPartyUnitEntity;
@ -242,6 +233,10 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String id) {
//存在未完成的需求,不能删除
if (icUserDemandRecService.selectCountByServerId(id) > NumConstant.ZERO) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未完成的服务", "存在未完成的服务,不能删除");
}
// 逻辑删除(@TableLogic 注解)
baseDao.deleteById(id);
}
@ -599,7 +594,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
@Override
public List<IcPartyUnitEntity> queryListById(List<String> partyUnitIds) {
if (CollectionUtils.isNotEmpty(partyUnitIds)) {
return baseDao.selectBatchIds(partyUnitIds);
return baseDao.selectByIds(partyUnitIds);
}
return Collections.EMPTY_LIST;
}

202
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceOrgServiceImpl.java

@ -0,0 +1,202 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcServiceOrgDao;
import com.epmet.dto.IcServiceOrgDTO;
import com.epmet.dto.form.IcServiceOrgAddEditFormDTO;
import com.epmet.dto.form.IcServiceOrgListFormDTO;
import com.epmet.dto.result.IcServiceOrgListResultDTO;
import com.epmet.dto.result.IcServiceOrgSelectListResultDTO;
import com.epmet.entity.IcServiceOrgEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.service.IcServiceOrgService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 服务组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Service
public class IcServiceOrgServiceImpl extends BaseServiceImpl<IcServiceOrgDao, IcServiceOrgEntity> implements IcServiceOrgService {
@Autowired
private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient;
@Override
public PageData<IcServiceOrgListResultDTO> list(IcServiceOrgListFormDTO formDTO) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
if (null == staffInfo) {
throw new EpmetException("获取工作人员信息失败");
}
//查询当前组织及下级数据
formDTO.setAgencyId(staffInfo.getAgencyId());
//列表/导出查询
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage());
List<IcServiceOrgListResultDTO> list = baseDao.selectServiceOrgList(formDTO);
PageInfo<IcServiceOrgListResultDTO> pageInfo = new PageInfo<>(list);
//封装服务类别数据
if (!CollectionUtils.isEmpty(list)) {
//服务类别字典表数据
Result<Map<String, String>> statusRes = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.IC_SERVICE_TYPE.getCode());
Map<String, String> statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>();
List<IcServiceOrgListResultDTO.ServiceType> stList = null;
IcServiceOrgListResultDTO.ServiceType st = null;
StringBuffer buffer = null;
for (IcServiceOrgListResultDTO dto : list) {
stList = new ArrayList<>();
buffer = new StringBuffer("");
for (String str : dto.getServiceType().split(",")) {
st = new IcServiceOrgListResultDTO.ServiceType();
st.setValue(str);
st.setName(null != statusMap.get(str) ? statusMap.get(str) : "");
stList.add(st);
buffer.append(buffer.length() > NumConstant.ZERO ? "、" : "").append(st.getName());
}
dto.setServiceTypeList(stList);
dto.setServiceTypeName(buffer.toString());
}
}
return new PageData<>(list, pageInfo.getTotal());
}
private QueryWrapper<IcServiceOrgEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcServiceOrgEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcServiceOrgDTO get(String id) {
IcServiceOrgEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcServiceOrgDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcServiceOrgAddEditFormDTO formDTO) {
//1.获取当前工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId()));
}
//2.校验同组织下服务组织名称不能重复
LambdaQueryWrapper<IcServiceOrgEntity> tWrapper = new LambdaQueryWrapper<>();
tWrapper.eq(IcServiceOrgEntity::getAgencyId, staffInfo.getAgencyId());
tWrapper.eq(IcServiceOrgEntity::getOrgName, formDTO.getOrgName());
List<IcServiceOrgEntity> entityList = baseDao.selectList(tWrapper);
if (!CollectionUtils.isEmpty(entityList)) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的服务组织");
}
//3.新增服务组织数据
IcServiceOrgEntity entity = ConvertUtils.sourceToTarget(formDTO, IcServiceOrgEntity.class);
entity.setAgencyId(staffInfo.getAgencyId());
entity.setAgencyIdPath(StringUtils.isEmpty(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyId() : staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId());
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcServiceOrgAddEditFormDTO formDTO) {
//1.获取当前工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId()));
}
//2.校验同组织下服务组织名称不能重复
LambdaQueryWrapper<IcServiceOrgEntity> tWrapper = new LambdaQueryWrapper<>();
tWrapper.eq(IcServiceOrgEntity::getAgencyId, staffInfo.getAgencyId());
tWrapper.ne(IcServiceOrgEntity::getId, formDTO.getIcServiceOrgId());
tWrapper.eq(IcServiceOrgEntity::getOrgName, formDTO.getOrgName());
List<IcServiceOrgEntity> entityList = baseDao.selectList(tWrapper);
if (!CollectionUtils.isEmpty(entityList)) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下已存在相同名称的服务组织");
}
//3.更新服务组织数据
IcServiceOrgEntity entity = ConvertUtils.sourceToTarget(formDTO, IcServiceOrgEntity.class);
entity.setId(formDTO.getIcServiceOrgId());
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(IcServiceOrgAddEditFormDTO formDTO) {
IcServiceOrgEntity entity = new IcServiceOrgEntity();
entity.setId(formDTO.getIcServiceOrgId());
entity.setUpdatedBy(formDTO.getUserId());
baseDao.del(entity);
}
@Override
public IcServiceOrgListResultDTO detail(IcServiceOrgListFormDTO formDTO) {
IcServiceOrgListResultDTO resultDTO = new IcServiceOrgListResultDTO();
//1.查询服务组织信息
List<IcServiceOrgListResultDTO> list = baseDao.selectServiceOrgList(formDTO);
//封装服务类别数据
if (!CollectionUtils.isEmpty(list)) {
resultDTO = list.get(NumConstant.ZERO);
//服务类别字典表数据
Result<Map<String, String>> statusRes = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.IC_SERVICE_TYPE.getCode());
Map<String, String> statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>();
List<IcServiceOrgListResultDTO.ServiceType> stList = new ArrayList<>();
IcServiceOrgListResultDTO.ServiceType st = null;
StringBuffer buffer = new StringBuffer("");
for (String str : resultDTO.getServiceType().split(",")) {
st = new IcServiceOrgListResultDTO.ServiceType();
st.setValue(str);
st.setName(null != statusMap.get(str) ? statusMap.get(str) : "");
stList.add(st);
buffer.append(buffer.length() > NumConstant.ZERO ? "、" : "").append(st.getName());
}
resultDTO.setServiceTypeList(stList);
resultDTO.setServiceTypeName(buffer.toString());
}
return resultDTO;
}
@Override
public List<IcServiceOrgSelectListResultDTO> selectList(IcServiceOrgListFormDTO formDTO) {
//1.获取当前工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getStaffId()));
}
//2.按条件查询当前组织及下级服务组织数据
List<IcServiceOrgSelectListResultDTO> resultList = baseDao.selectServiceOrgSelectList(formDTO);
return resultList;
}
}

83
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceProjectAttachmentServiceImpl.java

@ -0,0 +1,83 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcServiceProjectAttachmentDao;
import com.epmet.dto.IcServiceProjectAttachmentDTO;
import com.epmet.entity.IcServiceProjectAttachmentEntity;
import com.epmet.service.IcServiceProjectAttachmentService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 事件附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Service
public class IcServiceProjectAttachmentServiceImpl extends BaseServiceImpl<IcServiceProjectAttachmentDao, IcServiceProjectAttachmentEntity> implements IcServiceProjectAttachmentService {
@Override
public PageData<IcServiceProjectAttachmentDTO> page(Map<String, Object> params) {
IPage<IcServiceProjectAttachmentEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcServiceProjectAttachmentDTO.class);
}
@Override
public List<IcServiceProjectAttachmentDTO> list(Map<String, Object> params) {
List<IcServiceProjectAttachmentEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcServiceProjectAttachmentDTO.class);
}
private QueryWrapper<IcServiceProjectAttachmentEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcServiceProjectAttachmentEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcServiceProjectAttachmentDTO get(String id) {
IcServiceProjectAttachmentEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcServiceProjectAttachmentDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcServiceProjectAttachmentDTO dto) {
IcServiceProjectAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, IcServiceProjectAttachmentEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcServiceProjectAttachmentDTO dto) {
IcServiceProjectAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, IcServiceProjectAttachmentEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

259
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceProjectServiceImpl.java

@ -0,0 +1,259 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.form.DictListFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcServiceProjectAttachmentDao;
import com.epmet.dao.IcServiceProjectDao;
import com.epmet.dto.IcServiceProjectAttachmentDTO;
import com.epmet.dto.IcServiceProjectDTO;
import com.epmet.dto.form.ServiceProjectFormDTO;
import com.epmet.dto.form.ServiceProjectListFormDTO;
import com.epmet.dto.result.ServiceProjectListResultDTO;
import com.epmet.entity.IcServiceProjectAttachmentEntity;
import com.epmet.entity.IcServiceProjectEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.service.IcServiceProjectAttachmentService;
import com.epmet.service.IcServiceProjectService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 服务项目管理表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Service
public class IcServiceProjectServiceImpl extends BaseServiceImpl<IcServiceProjectDao, IcServiceProjectEntity> implements IcServiceProjectService {
@Autowired
private IcServiceProjectAttachmentService attachmentService;
@Autowired
private IcServiceProjectAttachmentDao attachmentDao;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Override
public PageData<IcServiceProjectDTO> page(Map<String, Object> params) {
IPage<IcServiceProjectEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcServiceProjectDTO.class);
}
@Override
public List<IcServiceProjectDTO> list(Map<String, Object> params) {
List<IcServiceProjectEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcServiceProjectDTO.class);
}
private QueryWrapper<IcServiceProjectEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcServiceProjectEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcServiceProjectDTO get(String id) {
IcServiceProjectEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcServiceProjectDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcServiceProjectDTO dto) {
IcServiceProjectEntity entity = ConvertUtils.sourceToTarget(dto, IcServiceProjectEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcServiceProjectDTO dto) {
IcServiceProjectEntity entity = ConvertUtils.sourceToTarget(dto, IcServiceProjectEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* Desc: 服务项目新增
* @param formDTO
* @author zxc
* @date 2022/5/27 16:04
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void serviceProjectAdd(ServiceProjectFormDTO formDTO) {
IcServiceProjectEntity entity = ConvertUtils.sourceToTarget(formDTO, IcServiceProjectEntity.class);
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo){
throw new EpmetException("未查询到此工作人员"+formDTO.getUserId());
}
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId());
if (null == agencyInfo){
throw new EpmetException("未查询到此组织信息"+staffInfo.getStaffId());
}
entity.setEnabled(NumConstant.ZERO);
entity.setAgencyId(staffInfo.getAgencyId());
entity.setPid(agencyInfo.getPid());
entity.setAgencyIdPath((StringUtils.isBlank(agencyInfo.getPids()) || agencyInfo.getPids().equals(NumConstant.ZERO_STR)) ? staffInfo.getAgencyId() : agencyInfo.getPids().concat(":").concat(staffInfo.getAgencyId()));
baseDao.insert(entity);
if (CollectionUtils.isNotEmpty(formDTO.getAttachmentList())){
disposeAttachment(formDTO.getAttachmentList(), formDTO.getCustomerId(), entity.getId());
}
}
/**
* Desc: 服务项目列表
* @param formDTO
* @author zxc
* @date 2022/5/27 16:46
*/
@Override
public PageData<List<ServiceProjectListResultDTO>> serviceProjectList(ServiceProjectListFormDTO formDTO) {
PageData result = new PageData(new ArrayList(),NumConstant.ZERO);
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo){
throw new EpmetException("未查询到此工作人员"+formDTO.getUserId());
}
formDTO.setAgencyId(staffInfo.getAgencyId());
PageInfo<ServiceProjectListResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()).doSelectPageInfo(() -> baseDao.getServiceProjectList(formDTO));
if (CollectionUtils.isNotEmpty(pageInfo.getList())){
DictListFormDTO dictListFormDTO = new DictListFormDTO();
dictListFormDTO.setDictType("ic_service_type");
Result<List<DictListResultDTO>> listResult = adminOpenFeignClient.dictList(dictListFormDTO);
if (!listResult.success()){
throw new EpmetException("获取字典表数据失败,类型为:ic_service_type");
}
if (CollectionUtils.isNotEmpty(listResult.getData())){
pageInfo.getList().forEach(p -> listResult.getData().stream().filter(l -> l.getValue().equals(p.getServiceCategoryKey())).forEach(l -> p.setServiceCategory(l.getLabel())));
}
result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
result.setList(pageInfo.getList());
}
return result;
}
/**
* Desc: 服务项目详情
* @param formDTO
* @author zxc
* @date 2022/5/30 15:46
*/
@Override
public ServiceProjectListResultDTO serviceProjectDetail(ServiceProjectListFormDTO formDTO) {
List<ServiceProjectListResultDTO> serviceProjectList = baseDao.getServiceProjectList(formDTO);
if (CollectionUtils.isNotEmpty(serviceProjectList)){
DictListFormDTO dictListFormDTO = new DictListFormDTO();
dictListFormDTO.setDictType("ic_service_type");
Result<List<DictListResultDTO>> listResult = adminOpenFeignClient.dictList(dictListFormDTO);
if (!listResult.success()){
throw new EpmetException("获取字典表数据失败,类型为:ic_service_type");
}
if (CollectionUtils.isNotEmpty(listResult.getData())){
serviceProjectList.forEach(p -> listResult.getData().stream().filter(l -> l.getValue().equals(p.getServiceCategoryKey())).forEach(l -> p.setServiceCategory(l.getLabel())));
}
return serviceProjectList.get(NumConstant.ZERO);
}
return new ServiceProjectListResultDTO();
}
/**
* Desc: 修改服务项目
* @param formDTO
* @author zxc
* @date 2022/5/30 09:36
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void serviceProjectEdit(ServiceProjectFormDTO formDTO) {
LambdaQueryWrapper<IcServiceProjectEntity> qw = new LambdaQueryWrapper<>();
qw.eq(IcServiceProjectEntity::getId,formDTO.getServiceProjectId());
IcServiceProjectEntity entity = ConvertUtils.sourceToTarget(formDTO, IcServiceProjectEntity.class);
baseDao.update(entity,qw);
if (CollectionUtils.isNotEmpty(formDTO.getAttachmentList())){
// 先删后增
attachmentDao.delAttachmentByServiceProjectId(formDTO.getServiceProjectId());
disposeAttachment(formDTO.getAttachmentList(), formDTO.getCustomerId(), formDTO.getServiceProjectId());
}else {
attachmentDao.delAttachmentByServiceProjectId(formDTO.getServiceProjectId());
}
}
/**
* Desc: 上下架服务项目
* @param ids
* @author zxc
* @date 2022/5/30 10:17
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void serviceProjectEnabled(List<String> ids) {
if (CollectionUtils.isNotEmpty(ids)){
baseDao.serviceProjectEnabled(ids);
}
}
/**
* Desc: 附件处理
* @param attachmentList
* @param customerId
* @param serviceId
* @author zxc
* @date 2022/5/30 10:17
*/
public void disposeAttachment(List<IcServiceProjectAttachmentDTO> attachmentList,String customerId,String serviceId){
attachmentList.forEach(a -> {
a.setAttachmentName(a.getName());
a.setAttachmentFormat(a.getFormat());
a.setAttachmentType(a.getType());
a.setAttachmentUrl(a.getUrl());
});
List<IcServiceProjectAttachmentEntity> entities = ConvertUtils.sourceToTarget(attachmentList, IcServiceProjectAttachmentEntity.class);
Integer sort = NumConstant.ZERO;
for (IcServiceProjectAttachmentEntity e : entities) {
e.setCustomerId(customerId);
e.setStatus("auto_passed");
e.setSort(sort);
e.setIcServiceId(serviceId);
e.setAttachTo("service");
sort++;
}
attachmentService.insertBatch(entities);
}
}

324
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceRecordServiceImpl.java

@ -0,0 +1,324 @@
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.*;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.form.IcServiceEditFormDTO;
import com.epmet.dto.form.ServiceProjectFeedbackFormDTO;
import com.epmet.dto.form.ServiceProjectRecordFormDTO;
import com.epmet.dto.result.IcServiceRecDetailRes;
import com.epmet.dto.result.IcServiceScopeDTO;
import com.epmet.dto.result.ServiceProjectRecordResultDTO;
import com.epmet.entity.*;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.IcServiceRecordService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
@Service
public class IcServiceRecordServiceImpl extends BaseServiceImpl<IcServiceRecordDao, IcServiceRecordEntity> implements IcServiceRecordService, ResultDataResolver {
@Autowired
private IcServiceScopeDao icServiceScopeDao;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private IcServiceProjectDao serviceProjectDao;
@Autowired
private IcServiceOrgDao serviceOrgDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private IcServiceFeedbackDao serviceFeedbackDao;
@Autowired
private IcServiceProjectAttachmentDao serviceProjectAttachmentDao;
@Autowired
private IcServiceRecordDao serviceRecordDao;
/**
* http://yapi.elinkservice.cn/project/245/interface/api/7820
*
* @param serviceId 服务项目记录取消进行中的项目可以取消删除该记录
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void cancelService(String serviceId,String userId) {
IcServiceRecordEntity icServiceRecordEntity = baseDao.selectById(serviceId);
if (null == icServiceRecordEntity) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),String.format("服务记录不存在,serviceId:%s",serviceId),"服务记录不存在");
}
if (!"in_service".equals(icServiceRecordEntity.getServiceStatus())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), String.format("服务状态:%s", icServiceRecordEntity.getServiceStatus()), "只有服务中的项目可以取消");
}
baseDao.deleteById(serviceId);
icServiceScopeDao.update(serviceId,userId);
}
/**
* 服务项目记录详情
*
* @param serviceId
* @return
*/
@Override
public IcServiceRecDetailRes queryServiceDetail(String serviceId) {
IcServiceRecordEntity icServiceRecordEntity = baseDao.selectById(serviceId);
IcServiceRecDetailRes res = ConvertUtils.sourceToTarget(icServiceRecordEntity, IcServiceRecDetailRes.class);
if (null != res) {
res.setServiceScope(icServiceScopeDao.selectList(serviceId));
//服务分类名称
Result<Map<String, String>> icServiceTypeMapRes = adminOpenFeignClient.dictMap(DictTypeEnum.IC_SERVICE_TYPE.getCode());
if (!icServiceTypeMapRes.success() || MapUtils.isEmpty(icServiceTypeMapRes.getData())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "服务分类字典查询异常");
}
res.setServiceCategoryName(icServiceTypeMapRes.getData().get(res.getServiceCategoryKey()));
res.setFeedBack(serviceFeedbackDao.selectByRecId(icServiceRecordEntity.getId()));
}
return res;
}
/**
* 服务项目记录修改
*
* @param formDTO
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void updateServiceRecord(IcServiceEditFormDTO formDTO) {
IcServiceRecordEntity icServiceRecordEntity = baseDao.selectById(formDTO.getServiceRecordId());
if (null == icServiceRecordEntity) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),String.format("服务记录不存在,serviceRecordId:%s",formDTO.getServiceRecordId()),"服务记录不存在");
}
icServiceRecordEntity.setServiceTimeStart(formDTO.getServiceTimeStart());
icServiceRecordEntity.setServiceTimeEnd(formDTO.getServiceTimeEnd());
if(StringUtils.isNotBlank(formDTO.getPrincipalContact())){
icServiceRecordEntity.setPrincipalContact(formDTO.getPrincipalContact());
}
if(StringUtils.isNotBlank(formDTO.getPrincipalName())){
icServiceRecordEntity.setPrincipalName(formDTO.getPrincipalName());
}
if(StringUtils.isNotBlank(formDTO.getRemark())){
icServiceRecordEntity.setRemark(formDTO.getRemark());
}
baseDao.updateById(icServiceRecordEntity);
}
@Override
public PageData<ServiceProjectRecordResultDTO> listServiceRecords(String serviceCategoryKey, String serviceProjectName,
String serviceOrgName, Date serviceTimeStart,
Date serviceTimeEnd, String serviceStatus,
String satisfaction, Integer pageNo,
Integer pageSize) {
String msg = "【服务列表】查询服务类别失败";
Map<String, String> categories = getResultDataOrThrowsException(adminOpenFeignClient.dictMap(DictTypeEnum.IC_SERVICE_TYPE.getCode()),
ServiceConstant.EPMET_ADMIN_SERVER,
EpmetErrorCode.SERVER_ERROR.getCode(), msg, msg);
if (categories == null || categories.size() == 0) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), msg, msg);
}
PageHelper.startPage(pageNo, pageSize);
List<ServiceProjectRecordResultDTO> records = baseDao.listServiceRecords(serviceCategoryKey, serviceProjectName, serviceOrgName, serviceTimeStart, serviceTimeEnd, serviceStatus, satisfaction);
PageInfo<ServiceProjectRecordResultDTO> pi = new PageInfo<>(records);
// 补充信息
records.forEach(r->{
String categoryKey = r.getServiceCategoryKey();
r.setServiceCategoryName(categories.get(categoryKey));
});
return new PageData<>(records, pi.getTotal());
}
@Transactional(rollbackFor = Throwable.class)
public void initiateService(ServiceProjectRecordFormDTO input) {
// 同一个项目暂时不做服务次数限制
//LambdaQueryWrapper<IcServiceRecordEntity> query = new LambdaQueryWrapper<>();
//query.eq(IcServiceRecordEntity::getServiceProjectId, input.getServiceProjectId());
//
//if (serviceRecordDao.selectCount(query) > 0) {
// String msg = "该项目已经发起服务,不能重复发起";
// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg);
//}
IcServiceProjectEntity serviceProject = serviceProjectDao.selectById(input.getServiceProjectId());
IcServiceOrgEntity serviceOrg = serviceOrgDao.selectById(input.getServiceOrgId());
ServiceProjectFeedbackFormDTO feedbackDto = input.getFeedback();
// 1.服务记录
IcServiceRecordEntity serviceRecord = new IcServiceRecordEntity();
serviceRecord.setServiceCategoryKey(input.getServiceCategoryKey());
serviceRecord.setServiceProjectId(input.getServiceProjectId());
serviceRecord.setServiceProjectName(serviceProject.getServiceName());
serviceRecord.setServiceOrgId(input.getServiceOrgId());
serviceRecord.setServiceOrgName(serviceOrg.getOrgName());
serviceRecord.setPrincipalName(input.getPrincipalName());
serviceRecord.setPrincipalContact(input.getPrincipalContact());
serviceRecord.setServiceTimeStart(input.getServiceTimeStart());
serviceRecord.setServiceTimeEnd(input.getServiceTimeEnd());
if (feedbackDto == null) {
// 没写反馈,给一个服务中
serviceRecord.setServiceStatus("in_service");
} else {
// 写了反馈,按照反馈的来
serviceRecord.setServiceStatus(feedbackDto.getServiceStatus());
serviceRecord.setServicePeopleNumber(feedbackDto.getServicePeopleNumber());
}
serviceRecord.setRemark(input.getRemark());
baseDao.insert(serviceRecord);
// 2.服务范围列表
List<IcServiceScopeDTO> serviceScope = input.getServiceScope();
serviceScope.stream().forEach(s -> {
String[] scopeObjectIdPathAndName = getScopeObjectIdPath(s.getObjectType(), s.getObjectId());
IcServiceScopeEntity scope = new IcServiceScopeEntity();
scope.setServiceCategoryKey(input.getServiceCategoryKey());
scope.setServiceProjectId(input.getServiceProjectId());
scope.setServiceOrgId(input.getServiceOrgId());
scope.setServiceRecordId(serviceRecord.getId());
scope.setObjectType(s.getObjectType());
scope.setObjectId(s.getObjectId());
scope.setObjectIdPath(scopeObjectIdPathAndName[0]);
scope.setObjectName(scopeObjectIdPathAndName[1]);
icServiceScopeDao.insert(scope);
//scope.setRemark(); 为什么会有这个字段??
});
// 3.反馈
if (feedbackDto == null) {
return;
}
serviceFeedback(input.getServiceCategoryKey(), input.getServiceOrgId(), input.getServiceProjectId(), serviceRecord.getId(), feedbackDto);
}
/**
* 查询服务范围的对象的Id path
* @param scopeObjectType
* @param scopeObjectId
* @return
*/
private String[] getScopeObjectIdPath(String scopeObjectType, String scopeObjectId) {
if ("neighborhood".equals(scopeObjectType)) {
String msg = String.format("【服务项目】-发起服务-根据范围id查询小区信息失败。scopeObjectType:%s, scopeObjectId:%s",
scopeObjectType, scopeObjectId);
IcNeighborHoodDTO neighborHoodDTO = getResultDataOrThrowsException(govOrgOpenFeignClient.getIcNeighbordhoodById(scopeObjectId),
ServiceConstant.GOV_ORG_SERVER,
EpmetErrorCode.SERVER_ERROR.getCode(),
msg, msg);
GridInfoCache gridOfNeighborhood = CustomerOrgRedis.getGridInfo(neighborHoodDTO.getGridId());
String agencyPids = neighborHoodDTO.getAgencyPids();
String agencyId = neighborHoodDTO.getAgencyId();
String gridId = gridOfNeighborhood.getId();
return new String[]{ agencyPids.concat(":")
.concat(agencyId).concat(":")
.concat(gridId).concat(":")
.concat(neighborHoodDTO.getId()),
neighborHoodDTO.getNeighborHoodName() };
} else if ("agency".equals(scopeObjectType)) {
// 组织的pids是到父级组织
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(scopeObjectId);
if ("0".equals(agencyInfo.getPid())) {
return new String[]{ agencyInfo.getId(), agencyInfo.getOrganizationName() };
}
return new String[]{ agencyInfo.getPids().concat(":").concat(agencyInfo.getPid()), agencyInfo.getOrganizationName() };
} else if ("grid".equals(scopeObjectType)) {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(scopeObjectId);
// 网格的pids是到社区的
return new String[]{ gridInfo.getPids().concat(":").concat(gridInfo.getId()), gridInfo.getGridName() };
} else {
String msg = String.format("【服务项目】-发起服务-范围type未知:scopeObjectType:%s,scopeObjectId:%s", scopeObjectType, scopeObjectId);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg);
}
}
@Transactional(rollbackFor = Throwable.class)
@Override
public void serviceFeedback(String serviceCategoryKey, String serviceOrgId, String serviceProjectId, String serviceRecordId, ServiceProjectFeedbackFormDTO feedbackDto) {
// 如果还在服务中,那么需要改为已结束
IcServiceRecordEntity serviceRecord = serviceRecordDao.selectById(serviceRecordId);
if ("in_service".equals(serviceRecord.getServiceStatus())) {
serviceRecord.setServiceStatus("completed");
serviceRecord.setServicePeopleNumber(feedbackDto.getServicePeopleNumber());
serviceRecordDao.updateById(serviceRecord);
}
// 反馈信息
IcServiceFeedbackEntity feedbackEntity = new IcServiceFeedbackEntity();
feedbackEntity.setServiceCategoryKey(serviceCategoryKey);
feedbackEntity.setServiceProjectId(serviceProjectId);
feedbackEntity.setServiceOrgId(serviceOrgId);
feedbackEntity.setServiceGoal(feedbackDto.getServiceGoal());
feedbackEntity.setServiceEffect(feedbackDto.getServiceEffect());
//feedbackEntity.setServicePeopleNumber(feedbackDto.getServicePeopleNumber());
feedbackEntity.setSatisfaction(feedbackDto.getSatisfaction());
feedbackEntity.setLongitude(feedbackDto.getLongitude());
feedbackEntity.setLatitude(feedbackDto.getLatitude());
feedbackEntity.setAddress(feedbackDto.getAddress());
feedbackEntity.setServiceRecordId(serviceRecordId);
serviceFeedbackDao.insert(feedbackEntity);
// 反馈附件列表
List<ServiceProjectFeedbackFormDTO.Attachment> attachmentList = feedbackDto.getAttachmentList();
if (CollectionUtils.isNotEmpty(attachmentList)) {
for (int i = 0; i < attachmentList.size(); i++) {
ServiceProjectFeedbackFormDTO.Attachment a = attachmentList.get(i);
IcServiceProjectAttachmentEntity at = new IcServiceProjectAttachmentEntity();
at.setAttachmentFormat(a.getAttachmentFormat());
at.setAttachmentName(a.getAttachmentName());
at.setAttachmentType(a.getAttachmentType());
at.setAttachmentUrl(a.getAttachmentUrl());
// feedback:反馈,service:服务本身
at.setAttachTo("feedback");
at.setDuration(0);
at.setIcServiceId(feedbackEntity.getId());
// 根本不需要审核,逗你玩
at.setReason(null);
at.setStatus("auto_passed");
at.setSort(i);
serviceProjectAttachmentDao.insert(at);
}
}
}
}

19
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceScopeServiceImpl.java

@ -0,0 +1,19 @@
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.dao.IcServiceScopeDao;
import com.epmet.entity.IcServiceScopeEntity;
import com.epmet.service.IcServiceScopeService;
import org.springframework.stereotype.Service;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-30
*/
@Service
public class IcServiceScopeServiceImpl extends BaseServiceImpl<IcServiceScopeDao, IcServiceScopeEntity> implements IcServiceScopeService {
}

5
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java

@ -1810,6 +1810,11 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
baseDao.updateById(entity);
}
@Override
public Integer selectCountByServerId(String serverId) {
return baseDao.selectCountByServerId(serverId);
}
}

14
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java

@ -162,9 +162,9 @@ public class WorkActServiceImpl implements WorkActService {
//校验参数
//校验 活动报名截止时间应该大于当前时间
if (actInfoEntity.getSignUpEndTime().before(DateUtils.minStrToSecondDate(DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)))){
throw new RenException(EpmetErrorCode.ACT_SIGN_UP_END_TIME_EARLIER_NOW_EERROR.getCode(),EpmetErrorCode.ACT_SIGN_UP_END_TIME_EARLIER_NOW_EERROR.getMsg());
}
// if (actInfoEntity.getSignUpEndTime().before(DateUtils.minStrToSecondDate(DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)))){
// throw new RenException(EpmetErrorCode.ACT_SIGN_UP_END_TIME_EARLIER_NOW_EERROR.getCode(),EpmetErrorCode.ACT_SIGN_UP_END_TIME_EARLIER_NOW_EERROR.getMsg());
// }
this.checkPublishFormDTO(actInfoEntity);
PublishActResultDTO publishActResultDTO=new PublishActResultDTO();
//内容审核(活动标题、招募要求、活动内容图文)
@ -202,10 +202,10 @@ public class WorkActServiceImpl implements WorkActService {
ActInfoEntity actInfoEntity=this.constructActInfo(formDTO);
//校验参数
//校验 活动报名截止时间应该大于当前时间
if (actInfoEntity.getSignUpEndTime().before(DateUtils.minStrToSecondDate(DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)))){
throw new RenException(EpmetErrorCode.ACT_SIGN_UP_END_TIME_EARLIER_NOW_EERROR.getCode(),EpmetErrorCode.ACT_SIGN_UP_END_TIME_EARLIER_NOW_EERROR.getMsg());
}
// //校验 活动报名截止时间应该大于当前时间
// if (actInfoEntity.getSignUpEndTime().before(DateUtils.minStrToSecondDate(DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)))){
// throw new RenException(EpmetErrorCode.ACT_SIGN_UP_END_TIME_EARLIER_NOW_EERROR.getCode(),EpmetErrorCode.ACT_SIGN_UP_END_TIME_EARLIER_NOW_EERROR.getMsg());
// }
this.checkPublishFormDTO(actInfoEntity);
PublishActResultDTO publishActResultDTO=new PublishActResultDTO();
//内容审核(活动标题、招募要求、活动内容图文)

137
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.17__ic_service_project.sql

@ -0,0 +1,137 @@
CREATE TABLE `ic_service_project` (
`ID` varchar(64) NOT NULL COMMENT 'ID',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`AGENCY_ID` varchar(64) NOT NULL COMMENT '组织ID',
`PID` varchar(64) NOT NULL COMMENT '组织ID的上级',
`AGENCY_ID_PATH` varchar(255) NOT NULL COMMENT '组织ID的所有上级[包括自己]',
`SERVICE_CATEGORY_KEY` varchar(10) NOT NULL COMMENT '服务类别值',
`SERVICE_NAME` varchar(2000) NOT NULL COMMENT '服务名称',
`SERVICE_CONTENT` varchar(2000) NOT NULL COMMENT '服务内容',
`POLICY_LEVEL` varchar(1) DEFAULT '' COMMENT '政策级别,0市级;1区级;2街道级',
`POLICY_GROUND` varchar(2000) DEFAULT NULL COMMENT '政策依据',
`ENABLED` int(1) NOT NULL COMMENT '启用状态,0启用,1禁用',
`DEL_FLAG` int(1) NOT NULL,
`REVISION` int(1) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='服务项目管理表';
CREATE TABLE `ic_service_project_attachment` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`IC_SERVICE_ID` varchar(64) NOT NULL COMMENT '服务记录id,服务项目id',
`ATTACH_TO` varchar(32) DEFAULT NULL COMMENT '隶属于。feedback:反馈;service:服务本身',
`ATTACHMENT_NAME` varchar(64) DEFAULT NULL COMMENT '附件名',
`ATTACHMENT_FORMAT` varchar(64) DEFAULT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)',
`ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))',
`ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址',
`SORT` int(1) NOT NULL COMMENT '排序字段',
`STATUS` varchar(32) NOT NULL DEFAULT 'auto_passed' COMMENT '附件状态(审核中:auditing; \r\nauto_passed: 自动通过;\r\nreview:结果不确定,需要人工审核;\r\nblock: 结果违规;\r\nrejected:人工审核驳回;\r\napproved:人工审核通过)\r\n现在图片是同步审核的,所以图片只有auto_passed一种状态',
`REASON` varchar(255) DEFAULT NULL COMMENT '失败原因',
`DURATION` int(11) DEFAULT NULL COMMENT '语音或视频时长,秒',
`DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='事件附件表';
CREATE TABLE `ic_service_org` (
`ID` varchar(64) NOT NULL COMMENT 'ID',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
`AGENCY_ID` varchar(64) NOT NULL COMMENT '所属组织机构Id',
`AGENCY_ID_PATH` varchar(256) NOT NULL COMMENT 'agencyId的所有上级,包含自己',
`SERVICE_TYPE` varchar(64) NOT NULL COMMENT '服务类别【字典表 ic_service_type】多个值逗号分隔',
`ORG_NAME` varchar(64) NOT NULL COMMENT '服务组织名称',
`ORG_DESCRIBE` varchar(512) DEFAULT NULL COMMENT '组织描述',
`PRINCIPAL_NAME` varchar(64) NOT NULL COMMENT '负责人姓名',
`PRINCIPAL_MOBILE` varchar(11) NOT NULL COMMENT '负责人电话',
`LONGITUDE` varchar(64) DEFAULT NULL COMMENT '经度',
`LATITUDE` varchar(64) DEFAULT NULL COMMENT '纬度',
`ADDRESS` varchar(256) DEFAULT NULL COMMENT '地址',
`REMARK` varchar(512) DEFAULT NULL COMMENT '备注',
`DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识',
`REVISION` int(10) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE,
KEY `idx_pid` (`AGENCY_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='服务组织表';
CREATE TABLE `ic_service_record` (
`ID` varchar(64) NOT NULL,
`CUSTOMER_ID` varchar(64) NOT NULL,
`SERVICE_PROJECT_ID` varchar(64) NOT NULL COMMENT '服务项目ID',
`SERVICE_PROJECT_NAME` varchar(255) NOT NULL COMMENT '服务项目名称',
`SERVICE_ORG_ID` varchar(64) NOT NULL COMMENT '服务组织ID',
`SERVICE_ORG_NAME` varchar(255) NOT NULL COMMENT '服务组织名称',
`PRINCIPAL_NAME` varchar(32) DEFAULT NULL COMMENT '经办人姓名',
`PRINCIPAL_CONTACT` varchar(64) DEFAULT NULL COMMENT '联系方式',
`SERVICE_TIME_START` datetime NOT NULL COMMENT '服务时间',
`SERVICE_TIME_END` datetime NOT NULL COMMENT '服务截止时间',
`SERVICE_STATUS` varchar(32) NOT NULL COMMENT 'in_service服务中;completed:已完成',
`REMARK` varchar(255) DEFAULT NULL COMMENT '备注',
`REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
`DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识',
`SERVICE_CATEGORY_KEY` varchar(64) NOT NULL COMMENT '服务类别ID',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '服务项目记录表';
CREATE TABLE `ic_service_feedback` (
`ID` varchar(64) NOT NULL,
`CUSTOMER_ID` varchar(64) NOT NULL,
`SERVICE_PROJECT_ID` varchar(64) NOT NULL COMMENT '服务项目ID',
`SERVICE_ORG_ID` varchar(64) NOT NULL COMMENT '服务组织ID',
`SERVICE_GOAL` varchar(255) DEFAULT NULL COMMENT '服务目标',
`SERVICE_EFFECT` varchar(255) DEFAULT NULL COMMENT '服务效果',
`SERVICE_PEOPLE_NUMBER` int(10) DEFAULT NULL COMMENT '服务人数',
`SATISFACTION` varchar(30) DEFAULT NULL COMMENT '满意度。满意度 - 不满意:bad、基本满意:good、非常满意:perfect',
`LONGITUDE` varchar(255) DEFAULT NULL COMMENT '地址经度',
`LATITUDE` varchar(255) DEFAULT NULL COMMENT '地址纬度',
`address` varchar(64) DEFAULT NULL COMMENT '地址',
`REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
`DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识',
`SERVICE_RECORD_ID` varchar(64) NOT NULL,
`SERVICE_CATEGORY_KEY` varchar(64) NOT NULL COMMENT '服务类别ID',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '服务项目反馈信息';
CREATE TABLE `ic_service_scope` (
`ID` varchar(64) NOT NULL,
`CUSTOMER_ID` varchar(64) NOT NULL,
`SERVICE_PROJECT_ID` varchar(64) NOT NULL COMMENT '服务项目ID',
`SERVICE_ORG_ID` varchar(64) NOT NULL COMMENT '服务组织ID',
`SERVICE_RECORD_ID` varchar(64) NOT NULL COMMENT '服务记录的ID',
`OBJECT_TYPE` varchar(32) NOT NULL COMMENT 'agency单位;grid网格;neighborhood小区',
`OBJECT_ID` varchar(64) NOT NULL COMMENT '选中的组织的ID',
`OBJECT_ID_PATH` varchar(255) NOT NULL COMMENT '发布范围的组织ID PATH',
`OBJECT_NAME` varchar(32) DEFAULT NULL,
`REMARK` varchar(255) DEFAULT NULL COMMENT '备注',
`REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
`DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识',
`SERVICE_CATEGORY_KEY` varchar(64) NOT NULL COMMENT '服务类别ID',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '服务范围表'

6
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.18__alter_service_org.sql

@ -0,0 +1,6 @@
ALTER TABLE `ic_service_org`
MODIFY COLUMN `ORG_NAME` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '服务组织名称' AFTER `SERVICE_TYPE`,
MODIFY COLUMN `ORG_DESCRIBE` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组织描述' AFTER `ORG_NAME`,
MODIFY COLUMN `PRINCIPAL_NAME` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人姓名' AFTER `ORG_DESCRIBE`,
MODIFY COLUMN `PRINCIPAL_MOBILE` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人电话' AFTER `PRINCIPAL_NAME`;

2
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.19__service_move_people_to_record.sql

@ -0,0 +1,2 @@
alter table ic_service_record
add SERVICE_PEOPLE_NUMBER int(10) comment '服务人数' after SERVICE_STATUS;

9
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcCommunitySelfOrganizationDao.xml

@ -178,4 +178,13 @@
</if>
ORDER BY so.ORG_ID ASC,so.ORGANIZATION_CREATED_TIME DESC
</select>
<select id="selectByIds" parameterType="map" resultType="com.epmet.entity.IcCommunitySelfOrganizationEntity">
select c.* from ic_community_self_organization c
where c.ID IN (
<foreach collection="communityOrgIds" item="communityOrgId" separator=",">
#{communityOrgId}
</foreach>
)
</select>
</mapper>

10
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcPartyUnitDao.xml

@ -183,4 +183,14 @@
where del_flag='0'
and id=#{partyUnitId}
</update>
<select id="selectByIds" parameterType="map" resultType="com.epmet.entity.IcPartyUnitEntity">
select u.*
from ic_party_unit u
where u.ID IN (
<foreach collection="partyUnitIds" item="partyUnitId" separator=",">
#{partyUnitId}
</foreach>
)
</select>
</mapper>

76
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceFeedbackDao.xml

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcServiceFeedbackDao">
<resultMap type="com.epmet.entity.IcServiceFeedbackEntity" id="icServiceFeedbackMap">
<result property="id" column="ID"/>
<result property="serviceCategoryKey" column="SERVICE_CATEGORY_KEY"/>
<result property="serviceProjectId" column="SERVICE_PROJECT_ID"/>
<result property="serviceOrgId" column="SERVICE_ORG_ID"/>
<result property="serviceGoal" column="SERVICE_GOAL"/>
<result property="serviceEffect" column="SERVICE_EFFECT"/>
<!--<result property="servicePeopleNumber" column="SERVICE_PEOPLE_NUMBER"/>-->
<result property="satisfaction" column="SATISFACTION"/>
<result property="longitude" column="LONGITUDE"/>
<result property="latitude" column="LATITUDE"/>
<result property="address" column="address"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="serviceRecordId" column="SERVICE_RECORD_ID"/>
</resultMap>
<resultMap id="IcServiceFeedbackResDTOMap" type="com.epmet.dto.result.IcServiceFeedbackResDTO">
<result property="serviceGoal" column="SERVICE_GOAL"/>
<result property="serviceEffect" column="SERVICE_EFFECT"/>
<result property="satisfaction" column="SATISFACTION"/>
<result property="longitude" column="LONGITUDE"/>
<result property="latitude" column="LATITUDE"/>
<result property="address" column="address"/>
<result property="feedBackId" column="feedBackId"/>
<collection property="attachmentList" column="feedBackId"
ofType="com.epmet.dto.result.IcServiceFeedbackResDTO$Attachment"
select="com.epmet.dao.IcServiceFeedbackDao.getAttachmentList">
<result property="attachmentName" column="ATTACHMENT_NAME"/>
<result property="attachmentFormat" column="ATTACHMENT_FORMAT"/>
<result property="attachmentType" column="ATTACHMENT_TYPE"/>
<result property="attachmentUrl" column="ATTACHMENT_URL"/>
</collection>
</resultMap>
<select id="selectByRecId" parameterType="map" resultMap="IcServiceFeedbackResDTOMap">
SELECT
f.SERVICE_GOAL,
f.SERVICE_EFFECT,
f.SERVICE_PEOPLE_NUMBER,
f.SATISFACTION,
f.LATITUDE,
f.LONGITUDE,
f.address,
f.id as feedBackId
FROM
ic_service_feedback f
WHERE
f.DEL_FLAG = '0'
and f.SERVICE_RECORD_ID = #{serviceRecordId}
</select>
<select id="getAttachmentList" parameterType="java.lang.String" resultType="com.epmet.dto.result.IcServiceFeedbackResDTO$Attachment">
SELECT
t.ATTACHMENT_NAME,
t.ATTACHMENT_TYPE,
t.ATTACHMENT_FORMAT,
t.ATTACHMENT_URL
FROM
ic_service_project_attachment t
WHERE
t.DEL_FLAG = '0'
AND t.IC_SERVICE_ID = #{feedBackId}
ORDER BY
t.SORT ASC
</select>
</mapper>

78
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceOrgDao.xml

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcServiceOrgDao">
<select id="selectServiceOrgList" resultType="com.epmet.dto.result.IcServiceOrgListResultDTO">
SELECT
id icServiceOrgId,
agency_id agencyId,
service_type serviceType,
org_name orgName,
org_describe orgDescribe,
principal_name principalName,
principal_mobile principalMobile,
longitude longitude,
latitude latitude,
address address,
remark remark
FROM
ic_service_org
WHERE
del_flag = '0'
<if test="icServiceOrgId != null and icServiceOrgId != '' ">
AND id = #{icServiceOrgId}
</if>
<if test="customerId != null and customerId != '' ">
AND customer_id = #{customerId}
</if>
<if test="agencyId != null and agencyId != '' ">
AND agency_id_path LIKE CONCAT('%',#{agencyId},'%')
</if>
<if test="serviceType != null and serviceType != '' ">
AND service_type LIKE CONCAT('%', #{serviceType}, '%')
</if>
<if test="orgName != null and orgName != '' ">
AND org_name LIKE CONCAT('%', #{orgName}, '%')
</if>
<if test="address != null and address != '' ">
AND address LIKE CONCAT('%', #{address}, '%')
</if>
<if test="remark != null and remark != '' ">
AND remark LIKE CONCAT('%', #{remark}, '%')
</if>
ORDER BY created_time DESC
</select>
<select id="selectServiceOrgSelectList" resultType="com.epmet.dto.result.IcServiceOrgSelectListResultDTO">
SELECT
id icServiceOrgId,
org_name orgName
FROM
ic_service_org
WHERE
del_flag = '0'
<if test="customerId != null and customerId != '' ">
AND customer_id = #{customerId}
</if>
<if test="agencyId != null and agencyId != '' ">
AND agency_id_path LIKE CONCAT('%',#{agencyId},'%')
</if>
<if test="serviceType != null and serviceType != '' ">
AND service_type LIKE CONCAT('%', #{serviceType}, '%')
</if>
ORDER BY created_time DESC
</select>
<delete id="del">
UPDATE ic_service_org
SET del_flag = '1',
updated_by = #{updatedBy},
updated_time = NOW()
WHERE
id = #{id}
AND del_flag = '0'
</delete>
</mapper>

11
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceProjectAttachmentDao.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcServiceProjectAttachmentDao">
<!--根据服务项目IDs删除附件-->
<delete id="delAttachmentByServiceProjectId">
DELETE FROM ic_service_project_attachment
WHERE IC_SERVICE_ID = #{id}
</delete>
</mapper>

72
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceProjectDao.xml

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcServiceProjectDao">
<!-- 上下架【服务项目】 -->
<update id="serviceProjectEnabled">
UPDATE ic_service_project
SET ENABLED = 1,
UPDATED_TIME = NOW()
WHERE ID IN (
<foreach collection="ids" item="id" separator=",">#{id}</foreach>
)
</update>
<!-- 查询服务项目列表 -->
<resultMap id="getServiceProjectListMap" type="com.epmet.dto.result.ServiceProjectListResultDTO">
<result column="serviceProjectId" property="serviceProjectId"/>
<result column="serviceName" property="serviceName"/>
<result column="serviceContent" property="serviceContent"/>
<result column="serviceCategoryKey" property="serviceCategoryKey"/>
<result column="policyGround" property="policyGround"/>
<result column="policyLevel" property="policyLevel"/>
<result column="policyLevelName" property="policyLevelName"/>
<collection property="attachmentList" column="serviceProjectId" ofType="com.epmet.dto.IcServiceProjectAttachmentDTO" select="getAttachmentList"/>
</resultMap>
<select id="getServiceProjectList" resultMap="getServiceProjectListMap">
SELECT
SERVICE_NAME AS serviceName,
SERVICE_CONTENT AS serviceContent,
SERVICE_CATEGORY_KEY AS serviceCategoryKey,
ID AS serviceProjectId,
POLICY_GROUND AS policyGround,
POLICY_LEVEL AS policyLevel,
(CASE WHEN POLICY_LEVEL = '0' THEN '市级'
WHEN POLICY_LEVEL = '1' THEN '区级'
WHEN POLICY_LEVEL = '2' THEN '街道级'
ELSE '' end) AS policyLevelName
FROM ic_service_project
WHERE DEL_FLAG = 0
AND ENABLED = 0
<if test='null != serviceProjectId and serviceProjectId != "" '>
AND ID = #{serviceProjectId}
</if>
<if test='null != agencyId and agencyId != "" '>
AND AGENCY_ID = #{agencyId}
</if>
<if test='null != serviceCategoryKey and serviceCategoryKey != "" '>
AND SERVICE_CATEGORY_KEY = #{serviceCategoryKey}
</if>
<if test='null != serviceName and serviceName != "" '>
AND SERVICE_NAME LIKE CONCAT('%',#{serviceName},'%')
</if>
<if test='null != serviceContent and serviceContent != "" '>
AND SERVICE_CONTENT LIKE CONCAT('%',#{serviceContent},'%')
</if>
<if test='null != policyGround and policyGround != "" '>
AND POLICY_GROUND LIKE CONCAT('%',#{policyGround},'%')
</if>
ORDER BY CREATED_TIME desc
</select>
<select id="getAttachmentList" resultType="com.epmet.dto.IcServiceProjectAttachmentDTO">
SELECT
ATTACHMENT_NAME as name,
ATTACHMENT_TYPE as type,
ATTACHMENT_FORMAT as format,
ATTACHMENT_URL as url
FROM ic_service_project_attachment
WHERE DEL_FLAG = '0'
AND IC_SERVICE_ID = #{serviceProjectId}
</select>
</mapper>

69
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceRecordDao.xml

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcServiceRecordDao">
<resultMap type="com.epmet.entity.IcServiceRecordEntity" id="icServiceRecordMap">
<result property="id" column="ID"/>
<result property="serviceCategoryKey" column="SERVICE_CATEGORY_KEY"/>
<result property="serviceProjectId" column="SERVICE_PROJECT_ID"/>
<result property="serviceProjectName" column="SERVICE_PROJECT_NAME"/>
<result property="serviceOrgId" column="SERVICE_ORG_ID"/>
<result property="serviceOrgName" column="SERVICE_ORG_NAME"/>
<result property="principalName" column="PRINCIPAL_NAME"/>
<result property="principalContact" column="PRINCIPAL_CONTACT"/>
<result property="serviceTimeStart" column="SERVICE_TIME_START"/>
<result property="serviceTimeEnd" column="SERVICE_TIME_END"/>
<result property="serviceStatus" column="SERVICE_STATUS"/>
<result property="remark" column="REMARK"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="servicePeopleNumber" column="SERVICE_PEOPLE_NUMBER"/>
</resultMap>
<select id="listServiceRecords" resultType="com.epmet.dto.result.ServiceProjectRecordResultDTO">
select record.ID as serviceRecordId,
record.SERVICE_CATEGORY_KEY,
record.SERVICE_PROJECT_ID,
record.SERVICE_PROJECT_NAME,
record.SERVICE_ORG_ID,
record.SERVICE_ORG_NAME,
record.SERVICE_TIME_START,
record.SERVICE_TIME_END,
record.SERVICE_STATUS,
record.SERVICE_PEOPLE_NUMBER
from ic_service_record record
left join ic_service_feedback feedback on (record.ID = feedback.SERVICE_RECORD_ID)
<where>
record.DEL_FLAG = '0'
and (feedback.DEL_FLAG is null or feedback.DEL_FLAG = '0')
<if test="serviceCategoryKey != null and serviceCategoryKey != ''">
and record.SERVICE_CATEGORY_KEY = #{serviceCategoryKey}
</if>
<if test="serviceProjectName != null and serviceProjectName != ''">
and record.SERVICE_PROJECT_NAME like CONCAT('%',#{serviceProjectName},'%')
</if>
<if test="serviceOrgName != null and serviceOrgName != ''">
and record.SERVICE_ORG_NAME like CONCAT('%',#{serviceOrgName},'%')
</if>
<if test="serviceTimeStart != null and serviceTimeEnd != null">
and (
(record.SERVICE_TIME_START between #{serviceTimeStart} and #{serviceTimeEnd})
or (record.SERVICE_TIME_END between #{serviceTimeStart} and #{serviceTimeEnd})
)
</if>
<if test="serviceStatus != null and serviceStatus != ''">
and record.SERVICE_STATUS = #{serviceStatus}
</if>
<if test="satisfaction != null and satisfaction != ''">
and feedback.SATISFACTION = #{satisfaction}
</if>
</where>
order by record.CREATED_TIME desc
</select>
</mapper>

42
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceScopeDao.xml

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcServiceScopeDao">
<resultMap type="com.epmet.entity.IcServiceScopeEntity" id="icServiceScopeMap">
<result property="id" column="ID"/>
<result property="serviceCategoryId" column="SERVICE_CATEGORY_ID"/>
<result property="serviceProjectId" column="SERVICE_PROJECT_ID"/>
<result property="serviceOrgId" column="SERVICE_ORG_ID"/>
<result property="serviceRecordId" column="SERVICE_RECORD_ID"/>
<result property="objectType" column="OBJECT_TYPE"/>
<result property="objectId" column="OBJECT_ID"/>
<result property="objectIdPath" column="OBJECT_ID_PATH"/>
<result property="objectName" column="OBJECT_NAME"/>
<result property="remark" column="REMARK"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
</resultMap>
<update id="update" parameterType="map">
update ic_service_scope set del_flag='1',UPDATED_TIME=now(),UPDATED_BY=#{userId}
where SERVICE_RECORD_ID=#{serviceId}
</update>
<select id="selectList" parameterType="java.lang.String" resultType="com.epmet.dto.result.IcServiceScopeDTO">
SELECT
s.OBJECT_ID,
s.OBJECT_TYPE,
s.OBJECT_NAME,
s.OBJECT_ID_PATH
FROM
ic_service_scope s
WHERE
s.DEL_FLAG = '0'
AND s.SERVICE_RECORD_ID = #{serviceRecordId}
</select>
</mapper>

13
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml

@ -665,4 +665,17 @@
</foreach>
order by r.REPORT_TIME desc
</select>
<select id="selectCountByServerId" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
count( s.ID ) as total
FROM
ic_user_demand_service s
INNER JOIN ic_user_demand_rec r ON ( s.DEMAND_REC_ID = r.ID )
WHERE
s.DEL_FLAG = '0'
AND r.DEL_FLAG = '0'
AND s.SERVER_ID = #{serverId}
AND r.`STATUS` = 'assigned'
</select>
</mapper>

BIN
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/templates/self_org_import_template.xlsx

Binary file not shown.

79
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointAditiveCalcDTO.java

@ -0,0 +1,79 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 附加积分计算
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Data
public class PointAditiveCalcDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 积分类别;德育积分moral_education党建积分party_building
*/
private String categoryCode;
/**
* 积分主体ID;居民端用户ID或房屋ID
*/
private String subjectId;
/**
* 已用积分;累计已花费
*/
private Integer spend;
/**
* 总分;累计积分
*/
private Integer total;
/**
* 删除标识;0.未删除 1.已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

95
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointAditiveRecordDTO.java

@ -0,0 +1,95 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 附加积分记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Data
public class PointAditiveRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 标题;积分变动标题或业务场景标题
*/
private String title;
/**
* 说明;积分变动的说明
*/
private String statement;
/**
* 分值
*/
private Integer pointValue;
/**
* 积分类别;德育积分moral_education党建积分party_building
*/
private String categoryCode;
/**
* 积分主体ID;居民端用户ID或房屋ID
*/
private String subjectId;
/**
* 业务主键
*/
private String businessId;
/**
* 业务编码;积分申请point_apply积分奖励point_reward积分扣罚point_fine积分花费point_cost驳回积分申请point_reject
*/
private String businessCode;
/**
* 删除标识;0.未删除 1.已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

80
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointAnnexDTO.java

@ -0,0 +1,80 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 积分相关附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Data
public class PointAnnexDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 业务ID;业务主键包括积分申请奖扣等业务
*/
private String businessId;
/**
* 业务编码;积分申请point_apply积分奖励point_reward积分扣罚point_fine积分花费point_cost
*/
private String businessCode;
/**
* 附件访问地址
*/
private String url;
/**
* 排序
*/
private Integer sort;
/**
* 删除标识;0.未删除 1.已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

174
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointApplyDTO.java

@ -0,0 +1,174 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 积分申请
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Data
public class PointApplyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 类别ID
*/
private String categoryId;
/**
* 类别名称
*/
private String categoryName;
/**
* 类别编码;德育积分moral_education党建积分party_building
*/
private String categoryCode;
/**
* 积分规则ID
*/
private String ruleId;
/**
* 积分规则名称
*/
private String ruleName;
/**
* 申请标题;30字内
*/
private String title;
/**
* 申请内容说明;1000字内
*/
private String statement;
/**
* 申请状态;0已提交1已驳回2已通过
*/
private String status;
/**
* 申请人所属网格名称
*/
private String gridName;
/**
* 申请人所属网格ID
*/
private String gridId;
/**
* 申请人所属组织ID
*/
private String agencyId;
/**
* 上级组织ID路径
*/
private String agencyPids;
/**
* 用户ID;申请人ID居民端用户ID
*/
private String userId;
/**
* 居民ID;申请人居民IDIC_RESI_USER表主键
*/
private String icResiUser;
/**
* 房屋ID;房屋或家庭ID
*/
private String houseId;
/**
* 房屋名称;完整拼接的名称
*/
private String houseAllName;
/**
* 头像
*/
private String headImgUrl;
/**
* 昵称
*/
private String nickname;
/**
* 性别;未知0男1女2
*/
private String gender;
/**
* 姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 审核备注
*/
private String remark;
/**
* 删除标识;0.未删除 1.已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

32
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointApplyFormDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.AddGroup;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/6/14 14:08
*/
@NoArgsConstructor
@Data
public class PointApplyFormDTO implements Serializable {
private static final long serialVersionUID = 4850146857511834988L;
private String customerId;
private String userId;
@NotBlank(message = "申请类别不能为空", groups = {AddGroup.class})
private String ruleId;
@NotBlank(message = "标题不能为空", groups = {AddGroup.class})
private String title;
@NotBlank(message = "申请内容不能为空", groups = {AddGroup.class})
private String statement;
@NotBlank(message = "分类不能为空", groups = {AddGroup.class})
private String categoryCode;
private List<String> annexList;
private String gridId;
}

37
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyTotalPointResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/6/14 15:39
*/
@Data
public class MyTotalPointResultDTO implements Serializable {
private static final long serialVersionUID = 15299506166024546L;
/**
* 德育积分moral_education党建积分party_building活跃积分active
*/
private String categoryCode;
/**
* 总积分
*/
private Integer total;
/**
* 已花费积分
*/
private Integer spend;
/**
* 可用积分
*/
private Integer usable;
public MyTotalPointResultDTO() {
this.total = 0;
this.spend = 0;
this.usable = 0;
}
}

48
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/common/CommonConstant.java

@ -0,0 +1,48 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.common;
import com.epmet.commons.tools.constant.Constant;
/**
* 身边党员-积分排行 入参常量
*
* @author Mark sunlightcs@gmail.com
* @since 1.1.0
*/
public interface CommonConstant extends Constant {
/**
* 德育积分
*/
String MORAL_EDUCATION = "moral_education";
/**
* 党建积分
*/
String PARTY_BUILDING = "party_building";
/**
* 活跃积分
*/
String ACTIVE = "active";
/**
* 积分申请
*/
String POINT_APPLY = "point_apply";
/**
* 积分奖励
*/
String POINT_REWARD = "point_reward";
/**
* 积分扣罚
*/
String POINT_FINE = "point_fine";
/**
* 积分花费
*/
String POINT_COST = "point_cost";
}

49
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/common/enu/ApplyStatusEnum.java

@ -0,0 +1,49 @@
package com.epmet.common.enu;
import java.util.Objects;
/**
* @author Administrator
*/
public enum ApplyStatusEnum {
//审核状态
AUDITING("0", "未审核"),
REJECT("1", "未通过"),
PASSED("2", "已通过");
private String code;
private String name;
ApplyStatusEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static String getName(String code) {
ApplyStatusEnum[] applyStatusEnums = values();
for (ApplyStatusEnum applyStatusEnum : applyStatusEnums) {
if (Objects.equals(applyStatusEnum.getCode(), code)) {
return applyStatusEnum.getName();
}
}
return null;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

84
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointApplyController.java

@ -0,0 +1,84 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.PointApplyDTO;
import com.epmet.dto.form.PointApplyFormDTO;
import com.epmet.service.PointApplyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 积分申请
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@RestController
@RequestMapping("apply")
public class PointApplyController {
@Autowired
private PointApplyService pointApplyService;
@RequestMapping("page")
public Result<PageData<PointApplyDTO>> page(@RequestParam Map<String, Object> params){
PageData<PointApplyDTO> page = pointApplyService.page(params);
return new Result<PageData<PointApplyDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<PointApplyDTO> get(@PathVariable("id") String id){
PointApplyDTO data = pointApplyService.get(id);
return new Result<PointApplyDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody PointApplyDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
pointApplyService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody PointApplyDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
pointApplyService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
pointApplyService.delete(ids);
return new Result();
}
@NoRepeatSubmit
@PostMapping("submit")
public Result submit(@LoginUser TokenDto tokenDto, @RequestBody PointApplyFormDTO formDTO){
//效验数据
ValidatorUtils.validateEntity(formDTO, AddGroup.class, DefaultGroup.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
pointApplyService.submit(formDTO);
return new Result();
}
}

5
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java

@ -232,5 +232,10 @@ public class ResiPointController {
return new Result<GridPointRankResultDTO>().ok(userPointStatisticalDailyService.gridPointRank(tokenDto, formDTO));
}
@PostMapping("total")
public Result<List<MyTotalPointResultDTO>> totalPoint(@LoginUser TokenDto tokenDto) {
return new Result<List<MyTotalPointResultDTO>>().ok(userPointTotalService.totalPoint(tokenDto));
}
}

16
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAditiveCalcDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.PointAditiveCalcEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 附加积分计算
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Mapper
public interface PointAditiveCalcDao extends BaseDao<PointAditiveCalcEntity> {
}

16
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAditiveRecordDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.PointAditiveRecordEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 附加积分记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Mapper
public interface PointAditiveRecordDao extends BaseDao<PointAditiveRecordEntity> {
}

16
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAnnexDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.PointAnnexEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 积分相关附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Mapper
public interface PointAnnexDao extends BaseDao<PointAnnexEntity> {
}

16
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointApplyDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.PointApplyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 积分申请
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Mapper
public interface PointApplyDao extends BaseDao<PointApplyEntity> {
}

46
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointAditiveCalcEntity.java

@ -0,0 +1,46 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 附加积分计算
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("point_aditive_calc")
public class PointAditiveCalcEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 积分类别;德育积分moral_education党建积分party_building
*/
private String categoryCode;
/**
* 积分主体ID;居民端用户ID或房屋ID
*/
private String subjectId;
/**
* 已用积分;累计已花费
*/
private Integer spend;
/**
* 总分;累计积分
*/
private Integer total;
}

61
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointAditiveRecordEntity.java

@ -0,0 +1,61 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 附加积分记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("point_aditive_record")
public class PointAditiveRecordEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 标题;积分变动标题或业务场景标题
*/
private String title;
/**
* 说明;积分变动的说明
*/
private String statement;
/**
* 分值
*/
private Integer pointValue;
/**
* 积分类别;德育积分moral_education党建积分party_building
*/
private String categoryCode;
/**
* 积分主体ID;居民端用户ID或房屋ID
*/
private String subjectId;
/**
* 业务主键
*/
private String businessId;
/**
* 业务编码;积分申请point_apply积分奖励point_reward积分扣罚point_fine积分花费point_cost驳回积分申请point_reject
*/
private String businessCode;
}

45
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointAnnexEntity.java

@ -0,0 +1,45 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 积分相关附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("point_annex")
public class PointAnnexEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 业务ID;业务主键包括积分申请奖扣等业务
*/
private String businessId;
/**
* 业务编码;积分申请point_apply积分奖励point_reward积分扣罚point_fine积分花费point_cost
*/
private String businessCode;
/**
* 附件访问地址
*/
private String url;
/**
* 排序
*/
private Integer sort;
}

144
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/PointApplyEntity.java

@ -0,0 +1,144 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 积分申请
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("point_apply")
public class PointApplyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 类别ID
*/
private String categoryId;
/**
* 类别名称
*/
private String categoryName;
/**
* 类别编码;德育积分moral_education党建积分party_building
*/
private String categoryCode;
/**
* 积分规则ID
*/
private String ruleId;
/**
* 积分规则名称
*/
private String ruleName;
/**
* 申请标题;30字内
*/
private String title;
/**
* 申请内容说明;1000字内
*/
private String statement;
/**
* 申请状态;0已提交1已驳回2已通过
*/
private String status;
/**
* 申请人所属网格名称
*/
private String gridName;
/**
* 申请人所属网格ID
*/
private String gridId;
/**
* 申请人所属组织ID
*/
private String agencyId;
/**
* 上级组织ID路径
*/
private String agencyPids;
/**
* 用户ID;申请人ID居民端用户ID
*/
private String userId;
/**
* 居民ID;申请人居民IDIC_RESI_USER表主键
*/
private String icResiUser;
/**
* 房屋ID;房屋或家庭ID
*/
private String houseId;
/**
* 房屋名称;完整拼接的名称
*/
private String houseAllName;
/**
* 头像
*/
private String headImgUrl;
/**
* 昵称
*/
private String nickname;
/**
* 性别;未知0男1女2
*/
private String gender;
/**
* 姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 审核备注
*/
private String remark;
}

78
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAditiveCalcService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.PointAditiveCalcDTO;
import com.epmet.entity.PointAditiveCalcEntity;
import java.util.List;
import java.util.Map;
/**
* 附加积分计算
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
public interface PointAditiveCalcService extends BaseService<PointAditiveCalcEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<PointAditiveCalcDTO>
* @author generator
* @date 2022-06-14
*/
PageData<PointAditiveCalcDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<PointAditiveCalcDTO>
* @author generator
* @date 2022-06-14
*/
List<PointAditiveCalcDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return PointAditiveCalcDTO
* @author generator
* @date 2022-06-14
*/
PointAditiveCalcDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-06-14
*/
void save(PointAditiveCalcDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-06-14
*/
void update(PointAditiveCalcDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-06-14
*/
void delete(String[] ids);
}

78
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAditiveRecordService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.PointAditiveRecordDTO;
import com.epmet.entity.PointAditiveRecordEntity;
import java.util.List;
import java.util.Map;
/**
* 附加积分记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
public interface PointAditiveRecordService extends BaseService<PointAditiveRecordEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<PointAditiveRecordDTO>
* @author generator
* @date 2022-06-14
*/
PageData<PointAditiveRecordDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<PointAditiveRecordDTO>
* @author generator
* @date 2022-06-14
*/
List<PointAditiveRecordDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return PointAditiveRecordDTO
* @author generator
* @date 2022-06-14
*/
PointAditiveRecordDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-06-14
*/
void save(PointAditiveRecordDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-06-14
*/
void update(PointAditiveRecordDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-06-14
*/
void delete(String[] ids);
}

78
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAnnexService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.PointAnnexDTO;
import com.epmet.entity.PointAnnexEntity;
import java.util.List;
import java.util.Map;
/**
* 积分相关附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
public interface PointAnnexService extends BaseService<PointAnnexEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<PointAnnexDTO>
* @author generator
* @date 2022-06-14
*/
PageData<PointAnnexDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<PointAnnexDTO>
* @author generator
* @date 2022-06-14
*/
List<PointAnnexDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return PointAnnexDTO
* @author generator
* @date 2022-06-14
*/
PointAnnexDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-06-14
*/
void save(PointAnnexDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-06-14
*/
void update(PointAnnexDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-06-14
*/
void delete(String[] ids);
}

88
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointApplyService.java

@ -0,0 +1,88 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.PointApplyDTO;
import com.epmet.dto.form.PointApplyFormDTO;
import com.epmet.entity.PointApplyEntity;
import java.util.List;
import java.util.Map;
/**
* 积分申请
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-14
*/
public interface PointApplyService extends BaseService<PointApplyEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<PointApplyDTO>
* @author generator
* @date 2022-06-14
*/
PageData<PointApplyDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<PointApplyDTO>
* @author generator
* @date 2022-06-14
*/
List<PointApplyDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return PointApplyDTO
* @author generator
* @date 2022-06-14
*/
PointApplyDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-06-14
*/
void save(PointApplyDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-06-14
*/
void update(PointApplyDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-06-14
*/
void delete(String[] ids);
/**
* 申请德育积分/党建积分
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2022/6/14 14:14
*/
void submit(PointApplyFormDTO formDTO);
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save