Browse Source

Merge remote-tracking branch 'origin/dev_ic_v2' into dev_ic_v2

master
jianjun 4 years ago
parent
commit
9dedf13608
  1. 8
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcSocietyOrgDTO.java
  3. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/AddSocietyOrgFormDTO.java
  4. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/EditSocietyOrgFormDTO.java
  5. 1
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyUnitFormDTO.java
  6. 9
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandAddFromDTO.java
  7. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/GetListSocietyOrgResultDTO.java
  8. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/SocietyOrgListResultDTO.java
  9. 83
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandRecResultDTO.java
  10. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/UserDemandConstant.java
  11. 21
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java
  12. 27
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java
  13. 18
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java
  14. 3
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcResiDemandDictDao.java
  15. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcSocietyOrgEntity.java
  16. 58
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyActivityExcel.java
  17. 53
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyUnitExcel.java
  18. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcSocietyOrgExcel.java
  19. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyActivityService.java
  20. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyUnitService.java
  21. 23
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcResiDemandDictService.java
  22. 4
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java
  23. 23
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java
  24. 45
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java
  25. 27
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java
  26. 151
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
  27. 20
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcResiDemandDictDao.xml
  28. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcSocietyOrgDao.xml
  29. 47
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
  30. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddPlacePatrolTeamFormDTO.java
  31. 30
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentRecordFormDTO.java
  32. 7
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditPartyServiceCenterFormDTO.java
  33. 7
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditPlacePatrolTeamFormDTO.java
  34. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetListPlacePatrolReviewRecordFormDTO.java
  35. 28
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentExistRecordResultDTO.java
  36. 59
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentRecordResultDTO.java
  37. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java
  38. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlacePatrolTeamController.java
  39. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcMatterAppointmentRecordDao.java
  40. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPlacePatrolTeamStaffDao.java
  41. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java
  42. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPlacePatrolTeamService.java
  43. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPlacePatrolTeamStaffService.java
  44. 89
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java
  45. 21
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlacePatrolRecordServiceImpl.java
  46. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlacePatrolReviewRecordServiceImpl.java
  47. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlacePatrolTeamServiceImpl.java
  48. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlacePatrolTeamStaffServiceImpl.java
  49. 31
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcMatterAppointmentRecordDao.xml
  50. 6
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlaceOrgDao.xml
  51. 10
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlacePatrolRecordDao.xml
  52. 6
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlacePatrolTeamDao.xml
  53. 11
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlacePatrolTeamStaffDao.xml
  54. 107
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiDemandDictDTO.java

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

@ -87,6 +87,9 @@ public enum EpmetErrorCode {
DEMAND_CAN_NOT_ASSIGN(8220, "当前状态,不可指派"),
DEMAND_CAN_NOT_FINISH(8221, "当前状态,不能评价"),
DEMAND_FINISHED(8222,"需求已完成"),
DEMAND_CAN_NOT_UPDATE(8223,"当前状态,不可更新需求"),
DEMAND_NOT_EXITS(8224,"需求不存在"),
DEMAND_SERVICE_NOT_EXITS(8225,"服务记录不存在"),
REQUIRE_PERMISSION(8301, "您没有足够的操作权限"),
THIRD_PLAT_REQUEST_ERROR(8302, "请求第三方平台错误"),
@ -147,6 +150,11 @@ public enum EpmetErrorCode {
// 删除可预约事项存在预约记录时提示
MATTER_EXISTS_APPOINTMENT_ERROR(8526, "尚有未履行的预约存在,请确认后操作"),
// 预约某事项在某时间段存在记录时
APPOINTMENT_TIME_ERROR(8527, "该时间段已被预约,请选择其他时间段"),
APPOINTMENT_ERROR(8528, "%s尚有未履行的预约存在,请确认后操作"),
// 该错误不会提示给前端,只是后端传输错误信息用。
ACCESS_SQL_FILTER_MISSION_ARGS(8701, "缺少生成权限过滤SQL所需参数"),
OPER_ADD_CUSTOMER_ROOT_AGENCY_ERROR(8702, "添加客户根级组织失败"),

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcSocietyOrgDTO.java

@ -101,7 +101,7 @@ public class IcSocietyOrgDTO implements Serializable {
/**
* 维度
*/
private String dimension;
private String latitude;
/**
* 备注

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/AddSocietyOrgFormDTO.java

@ -96,7 +96,7 @@ public class AddSocietyOrgFormDTO implements Serializable {
/**
* 维度
*/
private String dimension;
private String latitude;
//token中userId
private String staffId;

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/EditSocietyOrgFormDTO.java

@ -85,7 +85,7 @@ public class EditSocietyOrgFormDTO implements Serializable {
/**
* 维度
*/
private String dimension;
private String latitude;
//token中userId
private String staffId;

1
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyUnitFormDTO.java

@ -15,6 +15,7 @@ import java.io.Serializable;
public class PartyUnitFormDTO implements Serializable {
private static final long serialVersionUID = 1256798619648265622L;
private String customerId;
private String agencyId;
private String unitName;
private String serviceMatter;

9
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandAddFromDTO.java

@ -20,6 +20,11 @@ public class DemandAddFromDTO implements Serializable {
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
public interface UpdateInternalGroup {
}
@NotBlank(message = "需求id不能为空",groups = UpdateInternalGroup.class)
private String demandRecId;
private String customerId;
private String currentUserId;
@ -47,13 +52,13 @@ public class DemandAddFromDTO implements Serializable {
/**
* 二级需求分类编码
*/
@NotBlank(message = "需求类不能为空",groups = AddUserShowGroup.class)
@NotBlank(message = "需求类不能为空",groups = AddUserShowGroup.class)
private String categoryCode;
/**
* 父级需求分类编码
*/
@NotBlank(message = "需求类不能为空",groups = AddUserShowGroup.class)
@NotBlank(message = "需求类不能为空",groups = AddUserShowGroup.class)
private String parentCode;
/**

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/GetListSocietyOrgResultDTO.java

@ -67,7 +67,7 @@ public class GetListSocietyOrgResultDTO implements Serializable {
//经度
private String longitude;
//维度
private String dimension;
private String latitude;
}
}

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/SocietyOrgListResultDTO.java

@ -56,6 +56,6 @@ public class SocietyOrgListResultDTO implements Serializable {
//经度
private String longitude;
//维度
private String dimension;
private String latitude;
}

83
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandRecResultDTO.java

@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -22,27 +23,91 @@ public class DemandRecResultDTO implements Serializable {
private String categoryName;
private String content;
//社区帮办:community;楼长帮办:building_caption;党员帮办:party;自身上报:self_help
private String reportType;
private String reportTypeName;
private String content;
private String reportUserName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date reportTime;
private String demandUserId;
private String demandUser;
private String demandUserName;
private String demandUserMobile;
@JsonIgnore
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private String wantServiceTime;
/**
* 待处理pending已取消canceled已派单assigned已接单have_order已完成finished
*/
private String status;
private String statusName;
/**
* 完成结果已解决 resolved未解决 unresolved
*/
private String finishResult;
/**
* 取消时间
*/
private Date cancelTime;
/**
* 1已评价0未评价;评价后ic_user_satisfaction表有记录
*/
private Boolean evaluateFlag;
/**
* 得分可为半星
*/
private BigDecimal score;
/** 服务情况********************************************************************/
/** 服务情况********************************************************************/
/** 服务情况********************************************************************/
private String serviceId;
/**
* 志愿者的姓名
* 社会组织名
* 社区自组织的名字
* 区域党建单位名称
*/
private String serviceName;
/**
* 尹作梅(志愿者)
* XXX(社会组织)
* XXX(社区自组织)
* XXX(区域化党建单位)
*/
private String serviceShowName;
/**
* 服务方类型志愿者volunteer社会组织social_org社区自组织community_org区域党建单位party_unit
*/
private String serviceType;
@JsonIgnore
/**
* 志愿者居民端爱心互助的志愿者userId
*/
private String serverId;
private String serviceName;
/**
* 实际服务开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date serviceStartTime;
/**
* 实际服务结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private String wantServiceTime;
private String status;
private String statusName;
private Date serviceEndTime;
/**
* 完成情况
*/
private String finishDesc;
}

9
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/constant/UserDemandConstant.java

@ -9,6 +9,13 @@ public interface UserDemandConstant {
String MINI_RESI = "mini_resi";
String IC_RESI_USER = "ic_resi_user";
/**
* 上报类型社区帮办community楼长帮办building_caption;党员帮办party;自身上报self_help
*/
String COMMUNITY_REPORT="community";
String BUILDING_CAPTION_REPORT="building_caption";
String PARTY_REPORT="party";
String SELF_HELP_REPORT="self_help";
/**
* 待处理pending已取消canceled已派单assigned已接单have_order已完成finished
*/
@ -29,8 +36,10 @@ public interface UserDemandConstant {
/**
* 创建需求create;撤销需求cancel;指派assign;接单take_order;完成finish;
* 更新需求update
*/
String CREATE="create";
String UPDATE="update";
String CANCEL="cancel";
String ASSIGN="assign";
String TAKE_ORDER="take_order";

21
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java

@ -32,7 +32,8 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@ -75,9 +76,19 @@ public class IcPartyActivityController {
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcPartyActivityDTO> list = icPartyActivityService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IcPartyActivityExcel.class);
public void export(@RequestBody PartyActivityFormDTO formDTO, HttpServletResponse response) throws Exception {
List<IcPartyActivityDTO> list = icPartyActivityService.list(formDTO);
AtomicInteger i = new AtomicInteger(0);
List<IcPartyActivityExcel> excelList = list.stream().map(item -> {
IcPartyActivityExcel excel = new IcPartyActivityExcel();
excel.setIndex(i.getAndIncrement());
excel.setUnitName(item.getUnitName());
excel.setTitle(item.getTitle());
excel.setAddress(item.getAddress());
excel.setPeopleCount(item.getPeopleCount());
excel.setActivityTime(item.getActivityTime());
return excel;
}).collect(Collectors.toList());
ExcelUtils.exportExcelToTarget(response, null, excelList, IcPartyActivityExcel.class);
}
}

27
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java

@ -37,7 +37,8 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@ -54,7 +55,8 @@ public class IcPartyUnitController {
private IcPartyUnitService icPartyUnitService;
@PostMapping("list")
public Result<PageData<IcPartyUnitDTO>> search(@RequestBody PartyUnitFormDTO formDTO){
public Result<PageData<IcPartyUnitDTO>> search(@LoginUser TokenDto tokenDto, @RequestBody PartyUnitFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
PageData<IcPartyUnitDTO> page = icPartyUnitService.search(formDTO);
return new Result<PageData<IcPartyUnitDTO>>().ok(page);
}
@ -83,9 +85,24 @@ public class IcPartyUnitController {
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcPartyUnitDTO> list = icPartyUnitService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IcPartyUnitExcel.class);
public void export(@RequestBody PartyUnitFormDTO formDTO, HttpServletResponse response) throws Exception {
List<IcPartyUnitDTO> list = icPartyUnitService.list(formDTO);
AtomicInteger i = new AtomicInteger(0);
List<IcPartyUnitExcel> excelList = list.stream().map(item -> {
IcPartyUnitExcel excel = new IcPartyUnitExcel();
excel.setIndex(i.getAndIncrement());
excel.setUnitName(item.getUnitName());
excel.setContact(item.getContact());
excel.setContactMobile(item.getContactMobile());
excel.setType(item.getType());
excel.setMemberCount(item.getMemberCount());
excel.setRemark(item.getRemark());
excel.setSatisfaction(item.getSatisfaction());
excel.setServiceMatter(String.join(String.valueOf((char)10), item.getServiceMatterList()));
return excel;
}).collect(Collectors.toList());
ExcelUtils.exportExcelToTarget(response, null, excelList, IcPartyUnitExcel.class);
}
/**

18
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java

@ -27,6 +27,7 @@ import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.demand.DemandRecResultDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -42,6 +43,7 @@ import java.util.List;
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-11-19
*/
@Slf4j
@RestController
@RequestMapping("userdemand")
public class IcUserDemandRecController {
@ -94,10 +96,26 @@ public class IcUserDemandRecController {
@PostMapping("add")
public Result<DemandRecId> add(@LoginUser TokenDto tokenDto, @RequestBody DemandAddFromDTO fromDTO){
fromDTO.setCustomerId(tokenDto.getCustomerId());
fromDTO.setCurrentUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(fromDTO,DemandAddFromDTO.AddUserShowGroup.class);
return new Result<DemandRecId>().ok(icUserDemandRecService.add(fromDTO));
}
/**
* 更新需求
* 只有待处理的才可以编辑
*
* @param tokenDto
* @param fromDTO
* @return
*/
@PostMapping("update")
public Result<DemandRecId> update(@LoginUser TokenDto tokenDto, @RequestBody DemandAddFromDTO fromDTO){
fromDTO.setCustomerId(tokenDto.getCustomerId());
fromDTO.setCurrentUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(fromDTO,DemandAddFromDTO.UpdateInternalGroup.class,DemandAddFromDTO.AddUserShowGroup.class);
return new Result<DemandRecId>().ok(icUserDemandRecService.update(fromDTO));
}
/**
* 列表查询 分页

3
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcResiDemandDictDao.java

@ -62,4 +62,7 @@ public interface IcResiDemandDictDao extends BaseDao<IcResiDemandDictEntity> {
Integer selectMaxSort(@Param("customerId") String customerId,
@Param("level") int level,
@Param("parentCode") String parentCode);
List<IcResiDemandDictEntity> selectSecondCodes(@Param("customerId") String customerId, @Param("cateogryCodes") List<String> categoryCodes);
}

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcSocietyOrgEntity.java

@ -101,7 +101,7 @@ public class IcSocietyOrgEntity extends BaseEpmetEntity {
/**
* 维度
*/
private String dimension;
private String latitude;
/**
* 备注

58
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyActivityExcel.java

@ -31,32 +31,17 @@ import java.util.Date;
@Data
public class IcPartyActivityExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "序号")
private Integer index;
@Excel(name = "客户id")
private String customerId;
@Excel(name = "组织ID")
private String agencyId;
@Excel(name = "组织的所有上级")
private String pids;
@Excel(name = "单位ID")
private String unitId;
@Excel(name = "服务事项")
private String serviceMatter;
@Excel(name = "单位名称")
private String unitName;
@Excel(name = "活动标题")
private String title;
@Excel(name = "活动目标")
private String target;
@Excel(name = "活动内容")
private String content;
@Excel(name = "活动地址")
private String address;
@Excel(name = "服务人数")
private Integer peopleCount;
@ -64,35 +49,4 @@ public class IcPartyActivityExcel {
@Excel(name = "活动时间")
private Date activityTime;
@Excel(name = "活动地址")
private String address;
@Excel(name = "活动地址经度")
private String longitude;
@Excel(name = "活动地址纬度")
private String latitude;
@Excel(name = "活动结果")
private String result;
@Excel(name = "删除标识 0未删除、1已删除")
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;
}

53
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyUnitExcel.java

@ -20,8 +20,6 @@ package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 联建单位
*
@ -31,28 +29,16 @@ import java.util.Date;
@Data
public class IcPartyUnitExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "客户id")
private String customerId;
@Excel(name = "组织ID")
private String agencyId;
@Excel(name = "网格ID")
private String gridId;
@Excel(name = "")
private String pids;
@Excel(name = "序号")
private Integer index;
@Excel(name = "单位名称")
private String unitName;
@Excel(name = "分类 楼宇党建 两新组织 区域单位党建 机关直属部门 其他")
@Excel(name = "分类")
private String type;
@Excel(name = "服务事项 多选逗号隔开")
@Excel(name = "服务事项")
private String serviceMatter;
@Excel(name = "联系人")
@ -61,41 +47,12 @@ public class IcPartyUnitExcel {
@Excel(name = "联系电话")
private String contactMobile;
@Excel(name = "在职党员")
@Excel(name = "在职党员")
private Integer memberCount;
@Excel(name = "地址")
private String address;
@Excel(name = "中心位置经度")
private String longitude;
@Excel(name = "中心位置纬度")
private String latitude;
@Excel(name = "群众满意度")
private String satisfaction;
@Excel(name = "备注")
private String remark;
@Excel(name = "删除标识 0未删除、1已删除")
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;
}

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcSocietyOrgExcel.java

@ -71,7 +71,7 @@ public class IcSocietyOrgExcel {
private String longitude;
@Excel(name = "维度")
private String dimension;
private String latitude;
@Excel(name = "备注")
private String remarks;

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

@ -24,7 +24,6 @@ import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.entity.IcPartyActivityEntity;
import java.util.List;
import java.util.Map;
/**
* 联建活动
@ -47,12 +46,12 @@ public interface IcPartyActivityService extends BaseService<IcPartyActivityEntit
/**
* 默认查询
*
* @param params
* @param formDTO
* @return java.util.List<IcPartyActivityDTO>
* @author generator
* @date 2021-11-19
*/
List<IcPartyActivityDTO> list(Map<String, Object> params);
List<IcPartyActivityDTO> list(PartyActivityFormDTO formDTO);
/**
* 单条查询

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

@ -26,7 +26,6 @@ import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcPartyUnitEntity;
import java.util.List;
import java.util.Map;
/**
* 联建单位
@ -49,12 +48,12 @@ public interface IcPartyUnitService extends BaseService<IcPartyUnitEntity> {
/**
* 默认查询
*
* @param params
* @param formDTO
* @return java.util.List<IcPartyUnitDTO>
* @author generator
* @date 2021-11-19
*/
List<IcPartyUnitDTO> list(Map<String, Object> params);
List<IcPartyUnitDTO> list(PartyUnitFormDTO formDTO);
/**
* 单条查询

23
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcResiDemandDictService.java

@ -21,14 +21,12 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcResiDemandDictDTO;
import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.demand.DemandPageResDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcResiDemandDictEntity;
import java.util.List;
import java.util.Map;
/**
* 居民需求字典表
@ -42,7 +40,6 @@ public interface IcResiDemandDictService extends BaseService<IcResiDemandDictEnt
* 默认分页
*
* @param formDTO
* @return PageData<IcResiDemandDictDTO>
* @author generator
* @date 2021-10-27
*/
@ -60,18 +57,6 @@ public interface IcResiDemandDictService extends BaseService<IcResiDemandDictEnt
*/
void addChild(AddCategoryFormDTO formDTO);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcResiDemandDictDTO>
* @author generator
* @date 2021-10-27
*/
List<IcResiDemandDictDTO> list(Map<String, Object> params);
/**
* 默认更新
*
@ -116,4 +101,12 @@ public interface IcResiDemandDictService extends BaseService<IcResiDemandDictEnt
* @param formDTO
*/
void updateStatus(StatusFormDTO formDTO);
/**
* 供服务措施管理列表查询显示需求类型名称用
* @param customerId
* @param categoryCodes
* @return
*/
List<IcResiDemandDictEntity> listByCodes(String customerId, List<String> categoryCodes);
}

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

@ -76,14 +76,14 @@ public interface IcUserDemandRecService extends BaseService<IcUserDemandRecEntit
void save(IcUserDemandRecDTO dto);
/**
* 默认更新
* 更新需求
*
* @param dto
* @return void
* @author generator
* @date 2021-11-19
*/
void update(IcUserDemandRecDTO dto);
DemandRecId update(DemandAddFromDTO dto);
/**
* 批量删除

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

@ -83,10 +83,27 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
}
@Override
public List<IcPartyActivityDTO> list(Map<String, Object> params) {
List<IcPartyActivityEntity> entityList = baseDao.selectList(getWrapper(params));
public List<IcPartyActivityDTO> list(PartyActivityFormDTO formDTO) {
LambdaQueryWrapper<IcPartyActivityEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcPartyActivityEntity::getAgencyId, formDTO.getAgencyId());
wrapper.eq(StringUtils.isNotBlank(formDTO.getUnitId()), IcPartyActivityEntity::getUnitId, formDTO.getUnitId());
wrapper.eq(StringUtils.isNotBlank(formDTO.getServiceMatter()), IcPartyActivityEntity::getServiceMatter, formDTO.getServiceMatter());
wrapper.like(StringUtils.isNotBlank(formDTO.getTitle()), IcPartyActivityEntity::getTitle, formDTO.getTitle());
wrapper.between(IcPartyActivityEntity::getActivityTime, formDTO.getStartTime(), formDTO.getEndTime());
wrapper.orderByDesc(IcPartyActivityEntity::getUpdatedTime);
List<IcPartyActivityEntity> list = baseDao.selectList(wrapper);
List<IcPartyActivityDTO> dtoList = ConvertUtils.sourceToTarget(list, IcPartyActivityDTO.class);
IcPartyUnitDTO unitDTO = new IcPartyUnitDTO();
unitDTO.setAgencyId(formDTO.getAgencyId());
if (CollectionUtils.isNotEmpty(dtoList)) {
Map<String, String> option = icPartyUnitService.option(unitDTO).stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
dtoList.forEach(dto -> {
dto.setUnitName(option.get(dto.getUnitId()));
});
}
return ConvertUtils.sourceToTarget(entityList, IcPartyActivityDTO.class);
return dtoList;
}
private QueryWrapper<IcPartyActivityEntity> getWrapper(Map<String, Object> params){

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

@ -33,16 +33,17 @@ import com.epmet.dto.IcPartyUnitDTO;
import com.epmet.dto.IcUserDemandRecDTO;
import com.epmet.dto.form.PartyUnitFormDTO;
import com.epmet.dto.form.demand.ServiceQueryFormDTO;
import com.epmet.dto.form.demand.SubCodeFormDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcPartyUnitEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.service.IcPartyUnitService;
import com.epmet.service.IcResiDemandDictService;
import com.epmet.service.IcUserDemandRecService;
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;
@ -61,8 +62,10 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
@Resource
private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient;
@Autowired
@Resource
private IcUserDemandRecService icUserDemandRecService;
@Resource
private IcResiDemandDictService icResiDemandDictService;
@Override
@ -79,11 +82,17 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
List<IcPartyUnitEntity> list = baseDao.selectList(wrapper);
List<IcPartyUnitDTO> dtoList = ConvertUtils.sourceToTarget(list, IcPartyUnitDTO.class);
Result<Map<String, String>> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
SubCodeFormDTO codeFormDTO = new SubCodeFormDTO();
codeFormDTO.setCustomerId(formDTO.getCustomerId());
codeFormDTO.setParentCategoryCode("1010");
Map<String, String> categoryMap = icResiDemandDictService.querySubCodeList(codeFormDTO).stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
dtoList.forEach(item -> {
item.setType(unitTypeMap.getData().get(item.getType()));
//TODO 服务事项
if (StringUtils.isNotBlank(item.getServiceMatter())) {
List<String> matters = Arrays.asList(item.getServiceMatter().split(StrConstant.COMMA));
item.setServiceMatterList(matters.stream().map(categoryMap::get).collect(Collectors.toList()));
} else {
item.setServiceMatterList(new ArrayList<>());
}
});
PageInfo<IcPartyUnitDTO> pageInfo = new PageInfo<>(dtoList);
@ -91,10 +100,32 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
}
@Override
public List<IcPartyUnitDTO> list(Map<String, Object> params) {
List<IcPartyUnitEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcPartyUnitDTO.class);
public List<IcPartyUnitDTO> list(PartyUnitFormDTO formDTO) {
LambdaQueryWrapper<IcPartyUnitEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcPartyUnitEntity::getAgencyId, formDTO.getAgencyId());
wrapper.like(StringUtils.isNotBlank(formDTO.getUnitName()), IcPartyUnitEntity::getUnitName, formDTO.getUnitName());
wrapper.eq(StringUtils.isNotBlank(formDTO.getServiceMatter()), IcPartyUnitEntity::getServiceMatter, formDTO.getServiceMatter());
wrapper.eq(StringUtils.isNotBlank(formDTO.getType()), IcPartyUnitEntity::getType, formDTO.getType());
wrapper.like(StringUtils.isNotBlank(formDTO.getContact()), IcPartyUnitEntity::getContact, formDTO.getContact());
wrapper.like(StringUtils.isNotBlank(formDTO.getContactMobile()), IcPartyUnitEntity::getContactMobile, formDTO.getContactMobile());
wrapper.orderByDesc(IcPartyUnitEntity::getUpdatedTime);
List<IcPartyUnitEntity> list = baseDao.selectList(wrapper);
List<IcPartyUnitDTO> dtoList = ConvertUtils.sourceToTarget(list, IcPartyUnitDTO.class);
Result<Map<String, String>> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
SubCodeFormDTO codeFormDTO = new SubCodeFormDTO();
codeFormDTO.setCustomerId(formDTO.getCustomerId());
codeFormDTO.setParentCategoryCode("1010");
Map<String, String> categoryMap = icResiDemandDictService.querySubCodeList(codeFormDTO).stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
dtoList.forEach(item -> {
item.setType(unitTypeMap.getData().get(item.getType()));
if (StringUtils.isNotBlank(item.getServiceMatter())) {
List<String> matters = Arrays.asList(item.getServiceMatter().split(StrConstant.COMMA));
item.setServiceMatterList(matters.stream().map(categoryMap::get).collect(Collectors.toList()));
} else {
item.setServiceMatterList(new ArrayList<>());
}
});
return dtoList;
}
private QueryWrapper<IcPartyUnitEntity> getWrapper(Map<String, Object> params){

27
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java

@ -25,10 +25,8 @@ import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcResiDemandDictDao;
import com.epmet.dto.IcResiDemandDictDTO;
import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.demand.DemandPageResDTO;
import com.epmet.dto.result.demand.OptionDTO;
@ -99,6 +97,9 @@ public class IcResiDemandDictServiceImpl extends BaseServiceImpl<IcResiDemandDic
@Transactional(rollbackFor = Exception.class)
@Override
public void addChild(AddCategoryFormDTO formDTO) {
if(NumConstant.ZERO_STR.equals(formDTO.getParentCategoryCode())){
throw new RenException("添加一级分类,调用接口/heart/icresidemanddict/addfirst");
}
if (checkCategoryName(formDTO.getCustomerId(), formDTO.getCategoryName(), NumConstant.TWO, formDTO.getParentCategoryCode(),null) > NumConstant.ZERO) {
// 名称唯一
throw new RenException(EpmetErrorCode.DEMAND_NAME_EXITED.getCode(), EpmetErrorCode.DEMAND_NAME_EXITED.getMsg());
@ -132,16 +133,6 @@ public class IcResiDemandDictServiceImpl extends BaseServiceImpl<IcResiDemandDic
return baseDao.selectCountName(customerId,categoryName,level,parentCategoryCode,id);
}
@Override
public List<IcResiDemandDictDTO> list(Map<String, Object> params) {
List<IcResiDemandDictEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcResiDemandDictDTO.class);
}
private QueryWrapper<IcResiDemandDictEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
@ -224,5 +215,17 @@ public class IcResiDemandDictServiceImpl extends BaseServiceImpl<IcResiDemandDic
}
}
/**
* 供服务措施管理列表查询显示需求类型名称用
*
* @param customerId
* @param categoryCodes
* @return
*/
@Override
public List<IcResiDemandDictEntity> listByCodes(String customerId, List<String> categoryCodes) {
return baseDao.selectSecondCodes(customerId,categoryCodes);
}
}

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

@ -38,12 +38,13 @@ import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.IcUserDemandRecDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.demand.DemandRecResultDTO;
import com.epmet.entity.IcUserDemandOperateLogEntity;
import com.epmet.entity.IcUserDemandRecEntity;
import com.epmet.entity.IcUserDemandSatisfactionEntity;
import com.epmet.entity.IcUserDemandServiceEntity;
import com.epmet.entity.*;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.IcResiDemandDictService;
import com.epmet.service.IcUserDemandRecService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@ -53,10 +54,9 @@ 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.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 居民需求记录表
@ -74,6 +74,10 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
private IcUserDemandSatisfactionDao demandSatisfactionDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private IcResiDemandDictService demandDictService;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
@ -116,9 +120,41 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcUserDemandRecDTO dto) {
IcUserDemandRecEntity entity = ConvertUtils.sourceToTarget(dto, IcUserDemandRecEntity.class);
updateById(entity);
public DemandRecId update(DemandAddFromDTO dto) {
IcUserDemandRecEntity origin = baseDao.selectById(dto.getDemandRecId());
if (null == origin) {
throw new RenException(EpmetErrorCode.DEMAND_NOT_EXITS.getCode(), EpmetErrorCode.DEMAND_NOT_EXITS.getMsg());
}
if(!UserDemandConstant.PENDING.equals(origin.getStatus())){
//待处理的才可以修改需求
throw new RenException(EpmetErrorCode.DEMAND_CAN_NOT_UPDATE.getCode(),EpmetErrorCode.DEMAND_CAN_NOT_UPDATE.getMsg());
}
CustomerGridFormDTO customerGridFormDTO=new CustomerGridFormDTO();
customerGridFormDTO.setGridId(dto.getGridId());
Result<CustomerGridDTO> gridInfoRes=govOrgOpenFeignClient.getGridBaseInfoByGridId(customerGridFormDTO);
if(!gridInfoRes.success()||null==gridInfoRes.getData()){
throw new RenException("查询网格信息失败");
}
IcUserDemandRecEntity updateEntity=ConvertUtils.sourceToTarget(dto,IcUserDemandRecEntity.class);
updateEntity.setAgencyId(gridInfoRes.getData().getPid());
updateEntity.setGridPids(gridInfoRes.getData().getPids());
updateEntity.setDemandUserType(UserDemandConstant.IC_RESI_USER);
updateEntity.setStatus(UserDemandConstant.PENDING);
updateEntity.setEvaluateFlag(false);
updateEntity.setId(dto.getDemandRecId());
baseDao.updateById(updateEntity);
IcUserDemandOperateLogEntity logEntity=new IcUserDemandOperateLogEntity();
logEntity.setCustomerId(dto.getCustomerId());
logEntity.setDemandRecId(dto.getDemandRecId());
logEntity.setUserType(UserDemandConstant.STAFF);
logEntity.setUserId(dto.getCurrentUserId());
logEntity.setActionCode(UserDemandConstant.UPDATE);
logEntity.setOperateTime(new Date());
operateLogDao.insert(logEntity);
DemandRecId resultDto=new DemandRecId();
resultDto.setDemandRecId(updateEntity.getId());
return resultDto;
}
@Override
@ -180,9 +216,89 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.pageSelect(formDTO));
List<DemandRecResultDTO> list=pageInfo.getList();
if(CollectionUtils.isNotEmpty(list)){
/*for(){
//1、查询网格信息
List<String> gridIds=list.stream().map(DemandRecResultDTO::getGridId).collect(Collectors.toList());
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds);
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>();
Map<String, AllGridsByUserIdResultDTO> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity()));
//2、查询分类名称
List<String> categoryCodes=list.stream().map(DemandRecResultDTO::getCategoryCode).collect(Collectors.toList());
List<IcResiDemandDictEntity> dictList=demandDictService.listByCodes(formDTO.getCustomerId(),categoryCodes);
Map<String, String> dictMap = dictList.stream().collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName));
//3、查询志愿者
// 服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
Map<String,String> userInfoMap=new HashMap<>();
List<String> userIdList=list.stream().filter(item->item.getServiceType().equals(UserDemandConstant.VOLUNTEER)).map(DemandRecResultDTO::getServerId).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(userIdList)){
Result<List<UserBaseInfoResultDTO>> userInfoRes = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList);
if(!userInfoRes.success()||CollectionUtils.isEmpty(userInfoRes.getData())){
throw new RenException("查询志愿者信息异常");
}
userInfoMap=userInfoRes.getData().stream().collect(Collectors.toMap(UserBaseInfoResultDTO::getUserId, UserBaseInfoResultDTO::getRealName));
}
for(DemandRecResultDTO res:list){
if (null != gridInfoMap && gridInfoMap.containsKey(res.getGridId())) {
res.setGridName(gridInfoMap.get(res.getGridId()).getGridName());
}
}*/
if (null != dictMap && dictMap.containsKey(res.getCategoryCode())) {
res.setCategoryName(dictMap.get(res.getCategoryCode()));
}
if (null != userInfoMap && userInfoMap.containsKey(res.getServerId())) {
res.setServiceName(userInfoMap.get(res.getServerId()));
}
//社区帮办:community;楼长帮办:building_caption;党员帮办:party;自身上报:self_help
switch(res.getReportType()){
case UserDemandConstant.COMMUNITY_REPORT :
res.setReportTypeName("社区帮办");
break;
case UserDemandConstant.BUILDING_CAPTION_REPORT :
res.setReportTypeName("楼长帮办");
break;
case UserDemandConstant.PARTY_REPORT :
res.setReportTypeName("党员帮办");
break;
case UserDemandConstant.SELF_HELP_REPORT :
res.setReportTypeName("自身上报");
break;
}
//待处理:pending;已取消canceled;已派单:assigned;已接单:have_order;已完成:finished
switch(res.getStatus()){
case UserDemandConstant.PENDING :
res.setStatusName("待处理");
break;
case UserDemandConstant.CANCELED :
res.setStatusName("已取消");
break;
case UserDemandConstant.ASSIGNED :
res.setStatusName("已指派");
break;
case UserDemandConstant.HAVE_ORDER :
res.setStatusName("已接单");
break;
case UserDemandConstant.FINISHED :
res.setStatusName("已完成");
break;
}
//服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
switch(res.getServiceType()){
case UserDemandConstant.VOLUNTEER :
res.setServiceShowName(res.getServiceName().concat("(志愿者)"));
break;
case UserDemandConstant.SOCIAL_ORG :
res.setServiceShowName(res.getServiceName().concat("(社会组织)"));
break;
case UserDemandConstant.COMMUNITY_ORG :
res.setServiceShowName(res.getServiceName().concat("(社区自组织"));
break;
case UserDemandConstant.PARTY_UNIT :
res.setServiceShowName(res.getServiceName().concat("(区域化党建单位)"));
break;
}
}
}
return new PageData<>(list, pageInfo.getTotal());
}
@ -197,7 +313,7 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
public void cancel(StaffCancelFormDTO formDTO) {
IcUserDemandRecEntity entity = baseDao.selectById(formDTO.getDemandRecId());
if (null == entity) {
throw new RenException("需求不存在");
throw new RenException(EpmetErrorCode.DEMAND_NOT_EXITS.getCode(), EpmetErrorCode.DEMAND_NOT_EXITS.getMsg());
}
if (UserDemandConstant.FINISH.equals(entity.getStatus())) {
//需求已完成,不可取消
@ -232,7 +348,7 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
public void assign(AssignFormDTO formDTO) {
IcUserDemandRecEntity entity = baseDao.selectById(formDTO.getDemandRecId());
if (null == entity) {
throw new RenException("需求不存在");
throw new RenException(EpmetErrorCode.DEMAND_NOT_EXITS.getCode(), EpmetErrorCode.DEMAND_NOT_EXITS.getMsg());
}
if (!UserDemandConstant.PENDING.equals(entity.getStatus()) && !UserDemandConstant.ASSIGNED.equals(entity.getStatus())) {
//待处理+已派单才可以指派
@ -274,7 +390,7 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
public void finish(FinishStaffFromDTO formDTO) {
IcUserDemandRecEntity entity = baseDao.selectById(formDTO.getDemandRecId());
if (null == entity) {
throw new RenException("需求不存在");
throw new RenException(EpmetErrorCode.DEMAND_NOT_EXITS.getCode(), EpmetErrorCode.DEMAND_NOT_EXITS.getMsg());
}
if (UserDemandConstant.PENDING.equals(entity.getStatus()) ||UserDemandConstant.CANCELED.equals(entity.getStatus())) {
//待处理或者已取消的不能评价
@ -302,6 +418,9 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
//3、更新服务记录
IcUserDemandServiceEntity serviceEntity=demandServiceDao.selectById(formDTO.getServerId());
if(null==serviceEntity){
throw new RenException(EpmetErrorCode.DEMAND_SERVICE_NOT_EXITS.getCode(), EpmetErrorCode.DEMAND_SERVICE_NOT_EXITS.getMsg());
}
serviceEntity.setServiceStartTime(formDTO.getServiceStartTime());
serviceEntity.setServiceEndTime(formDTO.getServiceEndTime());
serviceEntity.setFinishDesc(formDTO.getFinishDesc());

20
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcResiDemandDictDao.xml

@ -197,4 +197,24 @@
and m.parent_code=#{parentCode}
</if>
</select>
<select id="selectSecondCodes" parameterType="map" resultType="com.epmet.entity.IcResiDemandDictEntity">
SELECT
d.CATEGORY_CODE,
d.PARENT_CODE,
concat( p.CATEGORY_NAME, '-', d.CATEGORY_NAME ) AS CATEGORY_NAME
FROM
ic_resi_demand_dict d
LEFT JOIN ic_resi_demand_dict p ON ( d.PARENT_CODE = p.CATEGORY_CODE AND p.CUSTOMER_ID = #{customerId} )
WHERE
d.DEL_FLAG = '0'
AND d.`LEVEL` = '2'
AND d.CUSTOMER_ID = #{customerId}
<if test="null!=cateogryCodes and cateogryCodes.size()>0">
and d.category_code in
<foreach item="code" collection="cateogryCodes" open="(" separator="," close=")">
#{code}
</foreach>
</if>
</select>
</mapper>

2
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcSocietyOrgDao.xml

@ -16,7 +16,7 @@
admin_staff_id adminStaffId,
address address,
longitude longitude,
dimension dimension
latitude latitude
FROM
ic_society_org
WHERE

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

@ -37,23 +37,41 @@
<!-- 列表查询 -->
<select id="pageSelect" parameterType="com.epmet.dto.form.demand.UserDemandPageFormDTO" resultType="com.epmet.dto.result.demand.DemandRecResultDTO">
SELECT
r.id as demandRecId,
r.GRID_ID ,
r.CATEGORY_CODE,
r.ID as demandRecId,
r.GRID_ID as gridId,
r.CATEGORY_CODE as categoryCode,
r.CONTENT,
r.REPORT_TYPE,
r.REPORT_TIME,
r.REPORT_USER_NAME,
r.`STATUS`,
r.DEMAND_USER_ID,
r.DEMAND_USER_NAME,
r.DEMAND_USER_MOBILE,
IFNULL( s.SERVICE_TYPE, '' ) AS SERVICE_TYPE,
IFNULL( s.SERVER_ID, '' ) AS SERVER_ID,
r.WANT_SERVICE_TIME
r.REPORT_TYPE as reportType,
r.REPORT_TIME as reportTime,
r.REPORT_USER_NAME as reportUserName,
r.`STATUS` as status,
r.DEMAND_USER_ID as demandUserId,
r.DEMAND_USER_NAME as demandUserName,
r.DEMAND_USER_MOBILE as demandUserMobile,
concat(r.DEMAND_USER_NAME,'(',r.DEMAND_USER_MOBILE,')') as demandUser,
r.WANT_SERVICE_TIME as wantServiceTime,
IFNULL(r.FINISH_RESULT,'') as finishResult,
r.CANCEL_TIME as cancelTime,
r.EVALUATE_FLAG as evaluateFlag,
IFNULL(sa.SCORE,0) as score,
IFNULL( s.SERVICE_TYPE, '' ) AS serviceType,
IFNULL( s.SERVER_ID, '' ) AS serverId,
(
CASE WHEN s.SERVICE_TYPE='social_org' then (select m1.SOCIETY_NAME as socialOrgName from ic_society_org m1 where m1.id=s.SERVER_ID)
WHEN s.SERVICE_TYPE='community_org' then (select m2.ORGANIZATION_NAME as communityName from ic_community_self_organization m2 where m2.id=s.SERVER_ID)
WHEN s.SERVICE_TYPE='party_unit' then (select m3.UNIT_NAME as partyUnitName from ic_party_unit m3 where m3.id=s.SERVER_ID)
else ''
end
) as serviceName,
s.SERVICE_START_TIME as serviceStartTime,
s.SERVICE_END_TIME as serviceEndTime,
IFNULL(s.FINISH_DESC,'') as finishDesc,
'' AS serviceShowName,
s.id as serviceId
FROM
ic_user_demand_rec r
INNER JOIN ic_user_demand_service s ON ( r.id = s.DEMAND_REC_ID AND s.DEL_FLAG = '0' )
left JOIN ic_user_demand_service s ON ( r.id = s.DEMAND_REC_ID AND s.DEL_FLAG = '0' )
left join ic_user_demand_satisfaction sa on(r.id=sa.DEMAND_REC_ID AND sa.DEL_FLAG = '0')
WHERE
r.DEL_FLAG = '0'
AND r.CUSTOMER_ID = #{customerId}
@ -93,5 +111,6 @@
<if test="null != wantServiceEndDate and wantServiceEndDate != '' ">
AND DATE_FORMAT(r.WANT_SERVICE_TIME,'%Y-%m-%d') <![CDATA[ <= ]]> #{wantServiceEndDate}
</if>
order by r.WANT_SERVICE_TIME desc,r.CREATED_TIME asc
</select>
</mapper>

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddPlacePatrolTeamFormDTO.java

@ -106,7 +106,7 @@ public class AddPlacePatrolTeamFormDTO implements Serializable {
* 分队成员信息
*/
@Valid
@NotEmpty(message = "成员列表不能为空")
@NotEmpty(message = "成员列表不能为空", groups = {Add.class})
private List<Member> memberList;
//token中userId
@ -115,7 +115,7 @@ public class AddPlacePatrolTeamFormDTO implements Serializable {
public interface Add { }
@Data
public class Member {
public static class Member {
//姓名
private String name;
//联系电话

30
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentRecordFormDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDate;
/**
* @Author zxc
* @DateTime 2021/11/23 10:42 上午
* @DESC
*/
@Data
public class AppointmentRecordFormDTO implements Serializable {
private static final long serialVersionUID = 2021698309505676292L;
public interface AppointmentRecordForm{}
@NotBlank(message = "matterId不能为空",groups = AppointmentRecordForm.class)
private String matterId;
@NotBlank(message = "date不能为空",groups = AppointmentRecordForm.class)
private String date;
public AppointmentRecordFormDTO() {
this.date = LocalDate.now().toString();
}
}

7
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditPartyServiceCenterFormDTO.java

@ -80,7 +80,12 @@ public class EditPartyServiceCenterFormDTO implements Serializable {
private String partyServiceCenterId;
/**
* 可预约事项
* 新增的可预约事项
*/
private List<IcPartyServiceCenterMatterDTO> matterList;
/**
* 要删除的事项
*/
private List<String> delMatterList;
}

7
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditPlacePatrolTeamFormDTO.java

@ -35,6 +35,11 @@ import java.util.List;
public class EditPlacePatrolTeamFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 分队Id
*/
@ -99,7 +104,7 @@ public class EditPlacePatrolTeamFormDTO implements Serializable {
}
@Data
public class Member {
public static class Member {
//姓名
private String name;
//联系电话

2
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetListPlacePatrolReviewRecordFormDTO.java

@ -32,9 +32,9 @@ import java.io.Serializable;
public class GetListPlacePatrolReviewRecordFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
//巡查记录Id
@NotBlank(message = "巡查记录Id不能为空", groups = {GetData.class})
private String placePatrolRecordId;
//复查记录Id
@NotBlank(message = "复查记录Id不能为空", groups = {GetData.class})
private String placePatrolReviewRecordId;
//页码
@Min(1)

28
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentExistRecordResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2021/11/23 10:45 上午
* @DESC
*/
@Data
public class AppointmentExistRecordResultDTO implements Serializable {
private static final long serialVersionUID = 6651436509788141940L;
/**
* 事项名
*/
private String matterName;
private String matterId;
}

59
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentRecordResultDTO.java

@ -0,0 +1,59 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2021/11/23 10:45 上午
* @DESC
*/
@Data
public class AppointmentRecordResultDTO implements Serializable {
private static final long serialVersionUID = 6066514365788141940L;
private Integer sort;
/**
* 事项名
*/
private String matterName;
/**
* 预约人
*/
private String appointmentName;
/**
* 预约电话
*/
private String appointmentPhone;
/**
* 备注
*/
private String remark;
/**
* 预约时间
*/
private List<String> appointmentTime;
@JsonIgnore
private String timeId;
public AppointmentRecordResultDTO() {
this.sort = NumConstant.ZERO;
this.matterName = "";
this.appointmentName = "";
this.appointmentPhone = "";
this.remark = "";
this.appointmentTime = new ArrayList<>();
}
}

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java

@ -29,6 +29,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AppointmentRecordResultDTO;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.excel.IcPartyServiceCenterExcel;
@ -174,4 +175,16 @@ public class IcPartyServiceCenterController {
return new Result<AppointmentTimeResultDTO>().ok(icPartyServiceCenterService.appointmentTime(formDTO));
}
/**
* @Description 党群服务中心预约记录
* @param formDTO
* @author zxc
* @date 2021/11/23 10:50 上午
*/
@PostMapping("appointmentrecord")
public Result<List<AppointmentRecordResultDTO>> appointmentRecord(@RequestBody AppointmentRecordFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, AppointmentRecordFormDTO.AppointmentRecordForm.class);
return new Result<List<AppointmentRecordResultDTO>>().ok(icPartyServiceCenterService.appointmentRecord(formDTO));
}
}

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPlacePatrolTeamController.java

@ -68,6 +68,7 @@ public class IcPlacePatrolTeamController {
@PostMapping("edit")
public Result edit(@LoginUser TokenDto tokenDto, @RequestBody EditPlacePatrolTeamFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, EditPlacePatrolTeamFormDTO.Edit.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
placePatrolTeamService.edit(formDTO);
return new Result();
}
@ -79,7 +80,7 @@ public class IcPlacePatrolTeamController {
@PostMapping("del")
public Result del(@LoginUser TokenDto tokenDto, @RequestBody EditPlacePatrolTeamFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, EditPlacePatrolTeamFormDTO.Del.class);
placePatrolTeamService.del(formDTO.getTeamId());
placePatrolTeamService.del(tokenDto.getUserId(), formDTO.getTeamId());
return new Result();
}

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcMatterAppointmentRecordDao.java

@ -18,8 +18,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.AppointmentExistRecordResultDTO;
import com.epmet.dto.result.AppointmentRecordResultDTO;
import com.epmet.entity.IcMatterAppointmentRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 事项预约记录
@ -30,4 +35,21 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IcMatterAppointmentRecordDao extends BaseDao<IcMatterAppointmentRecordEntity> {
/**
* @Description 查询预约列表
* @param matterId
* @param date
* @author zxc
* @date 2021/11/23 1:55 下午
*/
List<AppointmentRecordResultDTO> appointmentRecord(@Param("matterId")String matterId,@Param("date")String date);
/**
* @Description 查询事项是不是存在预约记录
* @param matterIds
* @author zxc
* @date 2021/11/23 3:48 下午
*/
List<AppointmentExistRecordResultDTO> appointmentExistRecord(@Param("matterIds")List<String> matterIds);
}

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPlacePatrolTeamStaffDao.java

@ -51,4 +51,10 @@ public interface IcPlacePatrolTeamStaffDao extends BaseDao<IcPlacePatrolTeamStaf
* @Description 批量查询分队下人员信息
**/
List<IcPlacePatrolTeamStaffDTO> selectByTeamIds(@Param("teamIds") List<String> teamIds);
/**
* @Author sun
* @Description 逻辑删除分队成员子表数据
**/
int upByTeamId(@Param("staffId") String staffId, @Param("teamId") String teamId);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AppointmentRecordResultDTO;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcPartyServiceCenterEntity;
@ -149,4 +150,12 @@ public interface IcPartyServiceCenterService extends BaseService<IcPartyServiceC
*/
AppointmentTimeResultDTO appointmentTime(AppointmentTimeFormDTO formDTO);
/**
* @Description 党群服务中心预约记录
* @param formDTO
* @author zxc
* @date 2021/11/23 10:50 上午
*/
List<AppointmentRecordResultDTO> appointmentRecord(AppointmentRecordFormDTO formDTO);
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPlacePatrolTeamService.java

@ -49,7 +49,7 @@ public interface IcPlacePatrolTeamService extends BaseService<IcPlacePatrolTeamE
* @Author sun
* @Description 删除九小场所巡查分队人员管理
**/
void del(String teamId);
void del(String staffId, String teamId);
/**
* @Author sun

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPlacePatrolTeamStaffService.java

@ -43,4 +43,10 @@ public interface IcPlacePatrolTeamStaffService extends BaseService<IcPlacePatrol
* @Description 查询分队下人员列表数据
**/
List<IcPlacePatrolTeamStaffDTO> getList(String teamId);
/**
* @Author sun
* @Description 逻辑删除分队成员子表数据
**/
void upByTeamId(String staffId, String teamId);
}

89
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java

@ -33,13 +33,14 @@ import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.PartyServiceCenterConstant;
import com.epmet.dao.IcMatterAppointmentRecordDao;
import com.epmet.dao.IcPartyServiceCenterDao;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.TimeDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AppointmentExistRecordResultDTO;
import com.epmet.dto.result.AppointmentRecordResultDTO;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcMatterAppointmentRecordEntity;
@ -56,9 +57,10 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import static com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN;
import java.util.concurrent.atomic.AtomicReference;
/**
* 党群服务中心
@ -199,6 +201,22 @@ public class IcPartyServiceCenterServiceImpl extends BaseServiceImpl<IcPartyServ
});
matterService.insertBatch(matters);
}
// del matter
if (CollectionUtils.isNotEmpty(formDTO.getDelMatterList())){
List<String> delMatterList = formDTO.getDelMatterList();
List<AppointmentExistRecordResultDTO> existRecord = matterAppointmentRecordDao.appointmentExistRecord(delMatterList);
if (CollectionUtils.isNotEmpty(existRecord)){
StringBuffer sb = new StringBuffer();
existRecord.forEach(e -> {
sb.append(e.getMatterName()).append(",");
});
String copywriter = sb.toString().substring(NumConstant.ZERO, sb.length() - NumConstant.ONE);
EpmetErrorCode.APPOINTMENT_ERROR.setMsg(String.format(EpmetErrorCode.APPOINTMENT_ERROR.getMsg(),copywriter));
throw new RenException(EpmetErrorCode.APPOINTMENT_ERROR.getCode());
}else {
matterService.deleteBatchIds(delMatterList);
}
}
}
/**
@ -230,8 +248,21 @@ public class IcPartyServiceCenterServiceImpl extends BaseServiceImpl<IcPartyServ
@Override
public void appointment(AppointmentFormDTO formDTO, TokenDto tokenDto) {
String customerId = tokenDto.getCustomerId();
// TODO 后台认证是不是可以预约
LambdaQueryWrapper<IcMatterAppointmentRecordEntity> l = new LambdaQueryWrapper<>();
l.eq(IcMatterAppointmentRecordEntity::getMatterId,formDTO.getMatterId())
.eq(IcMatterAppointmentRecordEntity::getAppointmentDate,formDTO.getAppointmentDate())
.eq(IcMatterAppointmentRecordEntity::getStatus,PartyServiceCenterConstant.APPOINTMENT_STATUS_APPOINTING)
.eq(BaseEpmetEntity::getDelFlag,NumConstant.ZERO);
List<IcMatterAppointmentRecordEntity> records = matterAppointmentRecordDao.selectList(l);
if (CollectionUtils.isNotEmpty(records)){
List<String> timeIds = new ArrayList<>();
records.forEach(r -> {
timeIds.addAll(Arrays.asList(r.getTimeId().split(",")));
});
if (timeIds.containsAll(Arrays.asList(formDTO.getTimeId().split(",")))){
throw new RenException(EpmetErrorCode.APPOINTMENT_TIME_ERROR.getCode());
}
}
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId());
if (null == staffInfo){
throw new RenException(String.format("查询人员{%s}信息失败",tokenDto.getUserId()));
@ -297,28 +328,72 @@ public class IcPartyServiceCenterServiceImpl extends BaseServiceImpl<IcPartyServ
LambdaQueryWrapper<IcMatterAppointmentRecordEntity> l = new LambdaQueryWrapper<>();
l.eq(IcMatterAppointmentRecordEntity::getMatterId,formDTO.getMatterId())
.eq(IcMatterAppointmentRecordEntity::getAppointmentDate,formDTO.getDate())
.eq(IcMatterAppointmentRecordEntity::getStatus,PartyServiceCenterConstant.APPOINTMENT_STATUS_APPOINTING)
.eq(BaseEpmetEntity::getDelFlag,NumConstant.ZERO);
List<IcMatterAppointmentRecordEntity> records = matterAppointmentRecordDao.selectList(l);
List<TimeDTO> timeList = getTimeList(matter.getStartTime(), matter.getEndTime(), NumConstant.THIRTY);
if (CollectionUtils.isEmpty(records)){
if (formDTO.getDate().equals(LocalDate.now().toString())){
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
for (TimeDTO t : timeList) {
List<String> list = Arrays.asList(t.getTime().split("-"));
String concat = formDTO.getDate().concat(" ").concat(list.get(NumConstant.ONE)).concat(":00");
LocalDateTime parse = LocalDateTime.parse(concat, df);
t.setIsAppointment(parse.isAfter(now));
}
}
if (LocalDate.now().isAfter(LocalDate.parse(formDTO.getDate()))){
timeList.forEach(t -> {
t.setIsAppointment(false);
});
result.setTimeDetail(timeList);
return result;
}
if (CollectionUtils.isNotEmpty(records)){
records.forEach(r -> {
String[] split = r.getTimeId().split(",");
for (String s : split) {
for (TimeDTO t : timeList) {
if (s.equals(t.getTimeId())){
t.setIsAppointment(false);
continue;
break;
}
}
}
});
}
result.setTimeDetail(timeList);
return result;
}
/**
* @Description 党群服务中心预约记录
* @param formDTO
* @author zxc
* @date 2021/11/23 10:50 上午
*/
@Override
public List<AppointmentRecordResultDTO> appointmentRecord(AppointmentRecordFormDTO formDTO) {
List<AppointmentRecordResultDTO> result = matterAppointmentRecordDao.appointmentRecord(formDTO.getMatterId(), formDTO.getDate());
if (CollectionUtils.isEmpty(result)){
return new ArrayList<>();
}
IcPartyServiceCenterMatterEntity matter = matterService.selectById(formDTO.getMatterId());
if (null == matter){
throw new RenException("事项不存在...");
}
List<TimeDTO> timeList = getTimeList(matter.getStartTime(), matter.getEndTime(), NumConstant.THIRTY);
AtomicReference<Integer> sort = new AtomicReference<>(NumConstant.ONE);
result.forEach(r -> {
r.setSort(sort.getAndSet(sort.get() + NumConstant.ONE));
List<String> time = new ArrayList<>();
List<String> list = Arrays.asList(r.getTimeId().split(","));
list.forEach(l -> timeList.stream().filter( t -> l.equals(t.getTimeId())).forEach(t -> time.add(t.getTime())));
r.setAppointmentTime(time);
});
return result;
}
public List<TimeDTO> getTimeList(String start,String end,Integer interval){
List<TimeDTO> result = new ArrayList<>();
List<String> intervalTimeList = getIntervalTimeList(start, end, interval);

21
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlacePatrolRecordServiceImpl.java

@ -112,7 +112,7 @@ public class IcPlacePatrolRecordServiceImpl extends BaseServiceImpl<IcPlacePatro
@Override
public PlacePatrolRecordDetailResultDTO detail(String placePatrolRecordId) {
PlacePatrolRecordDetailResultDTO resultDTO = new PlacePatrolRecordDetailResultDTO();
//1.查询场所基础信息
//1.查询巡查记录信息
GetListPlacePatrolRecordFormDTO dto = new GetListPlacePatrolRecordFormDTO();
dto.setPlacePatrolRecordId(placePatrolRecordId);
List<PlacePatrolRecordDetailResultDTO> result = baseDao.getList(dto);
@ -127,12 +127,27 @@ public class IcPlacePatrolRecordServiceImpl extends BaseServiceImpl<IcPlacePatro
throw new RenException("获取九小场所基本信息失败......");
}
//3.封装九小场所数据
//3.查询所有分队下人员名单
List<String> teamIds = new ArrayList<>();
teamIds.add(resultDTO.getPlacePatrolTeamId());
List<IcPlacePatrolTeamStaffDTO> teamDTOList = icPlacePatrolTeamStaffDao.selectByTeamIds(teamIds);
//4.封装九小场所、分队成员数据
for (OptionResultDTO n : nineList.getData()){
if(resultDTO.getNinePlaceVal().equals(n.getValue())){
resultDTO.setNinePlaceName(n.getLabel());
}
}
//分队成员
StringBuffer inspectorsNames = new StringBuffer("");
for (String str : resultDTO.getInspectors().split(",")) {
teamDTOList.forEach(r -> {
if (str.equals(r.getId())) {
inspectorsNames.append("".equals(inspectorsNames.toString().trim()) ? r.getName() : "," + r.getName());
}
});
}
resultDTO.setInspectorsNames(inspectorsNames.toString());
return resultDTO;
}
@ -175,7 +190,7 @@ public class IcPlacePatrolRecordServiceImpl extends BaseServiceImpl<IcPlacePatro
for (String str : dto.getInspectors().split(",")) {
teamDTOList.forEach(r -> {
if (str.equals(r.getId())) {
inspectorsNames.append("".equals(inspectorsNames) ? r.getName() : "," + r.getName());
inspectorsNames.append("".equals(inspectorsNames.toString().trim()) ? r.getName() : "," + r.getName());
}
});
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlacePatrolReviewRecordServiceImpl.java

@ -153,7 +153,7 @@ public class IcPlacePatrolReviewRecordServiceImpl extends BaseServiceImpl<IcPlac
for (String str : resultDTO.getInspectors().split(",")) {
teamDTOList.forEach(r -> {
if (str.equals(r.getId())) {
inspectorsNames.append("".equals(inspectorsNames) ? r.getName() : "," + r.getName());
inspectorsNames.append("".equals(inspectorsNames.toString().trim()) ? r.getName() : "," + r.getName());
}
});
}
@ -189,7 +189,7 @@ public class IcPlacePatrolReviewRecordServiceImpl extends BaseServiceImpl<IcPlac
for (String str : dto.getInspectors().split(",")) {
teamDTOList.forEach(r -> {
if (str.equals(r.getId())) {
inspectorsNames.append("".equals(inspectorsNames) ? r.getName() : "," + r.getName());
inspectorsNames.append("".equals(inspectorsNames.toString().trim()) ? r.getName() : "," + r.getName());
}
});
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlacePatrolTeamServiceImpl.java

@ -119,6 +119,7 @@ public class IcPlacePatrolTeamServiceImpl extends BaseServiceImpl<IcPlacePatrolT
entity1.setMobile(m.getMobile());
entityList.add(entity1);
}
//物理删除
placePatrolTeamStaffService.delByTeamId(formDTO.getTeamId());
placePatrolTeamStaffService.insertBatch(entityList);
@ -130,13 +131,13 @@ public class IcPlacePatrolTeamServiceImpl extends BaseServiceImpl<IcPlacePatrolT
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void del(String teamId) {
public void del(String staffId, String teamId) {
//1.删除分队主表数据
if (baseDao.deleteById(teamId) < NumConstant.ONE) {
throw new RenException(String.format("删除九小场所下分队信息失败,分队Id->%s", teamId));
}
//2.删除分队成员字表数据
placePatrolTeamStaffService.delByTeamId(teamId);
//2.逻辑删除分队成员字表数据
placePatrolTeamStaffService.upByTeamId(staffId, teamId);
}
/**
@ -174,7 +175,7 @@ public class IcPlacePatrolTeamServiceImpl extends BaseServiceImpl<IcPlacePatrolT
StringBuffer gridNames = new StringBuffer("");
for (String str : resultDTO.getGridIds().split(",")) {
gridList.forEach(r -> {
if (str.equals(r.getGridName())) {
if (str.equals(r.getId())) {
gridNames.append("".equals(gridNames) ? r.getGridName() : "," + r.getGridName());
}
});
@ -230,7 +231,7 @@ public class IcPlacePatrolTeamServiceImpl extends BaseServiceImpl<IcPlacePatrolT
StringBuffer gridNames = new StringBuffer("");
for (String str : dto.getGridIds().split(",")) {
gridList.forEach(r -> {
if (str.equals(r.getGridName())) {
if (str.equals(r.getId())) {
gridNames.append("".equals(gridNames) ? r.getGridName() : "," + r.getGridName());
}
});

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlacePatrolTeamStaffServiceImpl.java

@ -48,9 +48,22 @@ public class IcPlacePatrolTeamStaffServiceImpl extends BaseServiceImpl<IcPlacePa
return baseDao.delByTeamId(teamId);
}
/**
* @Author sun
* @Description 查询分队下人员列表数据
**/
@Override
public List<IcPlacePatrolTeamStaffDTO> getList(String teamId) {
return baseDao.getByTeamId(teamId);
}
/**
* @Author sun
* @Description 逻辑删除分队成员子表数据
**/
@Override
public void upByTeamId(String staffId, String teamId) {
baseDao.upByTeamId(staffId, teamId);
}
}

31
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcMatterAppointmentRecordDao.xml

@ -3,4 +3,35 @@
<mapper namespace="com.epmet.dao.IcMatterAppointmentRecordDao">
<!-- 查询预约列表 -->
<select id="appointmentRecord" resultType="com.epmet.dto.result.AppointmentRecordResultDTO">
SELECT
ar.APPOINTMENT_NAME,
ar.APPOINTMENT_PHONE,
ar.REMARK,
ar.TIME_ID,
cm.MATTER_NAME
FROM ic_matter_appointment_record ar
LEFT JOIN ic_party_service_center_matter cm ON (cm.ID = ar.MATTER_ID AND cm.DEL_FLAG = 0)
WHERE ar.DEL_FLAG = 0
AND ar.MATTER_ID = #{matterId}
AND ar.APPOINTMENT_DATE = #{date}
AND ar.`STATUS` = 'appointing'
</select>
<!-- 查询事项是不是存在预约记录 -->
<select id="appointmentExistRecord" resultType="com.epmet.dto.result.AppointmentExistRecordResultDTO">
SELECT
cm.MATTER_NAME,
cm.id AS matterId
FROM ic_matter_appointment_record ar
LEFT JOIN ic_party_service_center_matter cm ON (cm.ID = ar.MATTER_ID AND cm.DEL_FLAG = 0)
WHERE ar.DEL_FLAG = 0
AND ar.`STATUS` = 'appointing'
AND ar.MATTER_ID IN
<foreach collection="matterIds" item="m" separator="," open="(" close=")">
#{m}
</foreach>
GROUP BY matterId
</select>
</mapper>

6
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlaceOrgDao.xml

@ -8,7 +8,7 @@
a.id placeOrgId,
a.grid_id gridId,
b.grid_name gridName,
a.nine_place_val ninePlaceVale,
a.nine_place_val ninePlaceVal,
a.place_org_name placeOrgName,
a.address address,
a.scale scale,
@ -28,8 +28,8 @@
<if test="gridId != null and gridId.trim() != ''">
AND a.grid_id = #{gridId}
</if>
<if test="ninePlacsVal != null and ninePlacsVal.trim() != ''">
AND a.nine_place_val = #{ninePlacsVal}
<if test="ninePlaceVal != null and ninePlaceVal.trim() != ''">
AND a.nine_place_val = #{ninePlaceVal}
</if>
<if test="placeOrgName != null and placeOrgName.trim() != ''">
AND a.place_org_name LIKE CONCAT('%', #{placeOrgName}, '%')

10
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlacePatrolRecordDao.xml

@ -13,7 +13,7 @@
c.place_org_name placeOrgName,
a.place_patrol_team_id placePatrolTeamId,
d.team_name placePatrolTeamName,
a.nine_placs_val ninePlaceVal,
a.nine_place_val ninePlaceVal,
a.inspectors inspectors,
a.first_time firstTime,
a.first_result firstResult,
@ -28,15 +28,17 @@
LEFT JOIN ic_place_patrol_team d ON a.place_patrol_team_id = d.id
WHERE
a.del_flag = '0'
AND a.customer_id = ''
<if test="placePatrolRecordId != null and placePatrolRecordId.trim() != ''">
AND a.id = #{placePatrolRecordId}
</if>
<if test="customerId != null and customerId.trim() != ''">
AND a.customer_id = #{customerId}
</if>
<if test="gridId != null and gridId.trim() != ''">
AND a.grid_id = #{gridId}
</if>
<if test="ninePlacsVal != null and ninePlacsVal.trim() != ''">
AND a.nine_place_val = #{ninePlacsVal}
<if test="ninePlaceVal != null and ninePlaceVal.trim() != ''">
AND a.nine_place_val = #{ninePlaceVal}
</if>
<if test="placeOrgName != null and placeOrgName.trim() != ''">
AND a.place_org_id IN (select id from ic_place_org where place_org_name like concat('%', #{placeOrgName}, '%'))

6
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlacePatrolTeamDao.xml

@ -6,7 +6,7 @@
<resultMap id="teamList" type="com.epmet.dto.result.PlacePatrolTeamDetailResultDTO">
<result property="teamId" column="id"/>
<result property="gridIds" column="grid_ids"/>
<result property="ninePlaceVals" column="nine_placs_vals"/>
<result property="ninePlaceVals" column="nine_place_vals"/>
<result property="teamName" column="team_name"/>
<result property="plan" column="plan"/>
<result property="time" column="time"/>
@ -30,8 +30,8 @@
<if test="gridId != null and gridId.trim() != ''">
AND grid_ids LIKE CONCAT('%', #{gridId}, '%')
</if>
<if test="ninePlacsVal != null and ninePlacsVal.trim() != ''">
AND nine_placs_vals LIKE CONCAT('%', #{ninePlacsVal}, '%')
<if test="ninePlaceVal != null and ninePlaceVal.trim() != ''">
AND nine_place_vals LIKE CONCAT('%', #{ninePlaceVal}, '%')
</if>
<if test="personInCharge != null and personInCharge.trim() != ''">
AND person_in_charge LIKE CONCAT('%', #{personInCharge}, '%')

11
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPlacePatrolTeamStaffDao.xml

@ -36,4 +36,15 @@
place_patrol_team_id ASC
</select>
<update id="upByTeamId">
UPDATE
ic_place_patrol_team_staff
SET
del_flag = '1',
updated_by = #{staffId},
updated_time = NOW()
WHERE
place_patrol_team_id = #{teamId}
</update>
</mapper>

107
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiDemandDictDTO.java

@ -1,107 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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 2021-10-27
*/
@Data
public class IcResiDemandDictDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id customer.id
*/
private String customerId;
/**
* 父级
*/
private String parentCode;
/**
* 字典值
*/
private String categoryCode;
/**
* 字典描述
*/
private String categoryName;
/**
* 级别
*/
private String level;
/**
* 备注
*/
private String remark;
/**
* 排序
*/
private Integer sort;
/**
* 删除标识0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}
Loading…
Cancel
Save