From b40c300928c6900fdef06deaf19cd25a2baf0b61 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期四, 10 十一月 2022 14:23:47 +0800
Subject: [PATCH] Merge branch 'huacheng_test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into huacheng_test
---
flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java | 141 ++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 120 insertions(+), 21 deletions(-)
diff --git a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
index ce3ba60..a6d6d78 100644
--- a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
+++ b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -4,8 +4,10 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dg.core.ResultData;
import com.dg.core.db.gen.entity.*;
import com.dg.core.db.gen.mapper.*;
+import com.dg.core.db.manual.mapper.util.ConstantPropertiesUtil;
import com.dg.core.service.IGuideRepairOrderService;
import com.dg.core.service.ISysSettingsService;
import com.dg.core.util.SmsUtil;
@@ -13,8 +15,10 @@
import com.dg.core.util.TestDate;
import com.dg.core.util.WxUtil;
import com.iceyyy.workday.WorkUtils;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
+import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -45,8 +49,15 @@
@Resource
private AutomessageSysSettingsMapper iSysSettingsMapper;
+
@Resource
SmsUtil smsUtil;
+
+ @Resource(name = "stringRedisTemplate")
+ private StringRedisTemplate stringRedisTemplate;
+
+ private static WxUtil wxUtil;
+
@Override
public int addOrder(GuideRepairOrder guideRepairOrder) {
@@ -74,12 +85,12 @@
}
if (isAdd) {
//自动分配业务代码开始
- List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByCode(transactionEvent.getDepartmentId(),guideRepairOrder.getAreaCode());
+ List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByCode(transactionEvent.getDepartmentId(), guideRepairOrder.getAreaCode());
if (organizationChartEntities.size() > 0) {
for (OrganizationChartEntity organizationChart : organizationChartEntities) {
departmentIds.add(organizationChart.getId().toString());
}
- List<SysUser> sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getClassifyId(), transactionEvent.getClassifyId() + ",");//获取导半人员
+ List<SysUser> sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getId(), transactionEvent.getId() + ",");//获取导半人员
if (sysUsers.size() == 0) {//如果此所属地区部门没有导半人员则看其下级地区有没有相关分类导办人员
for (OrganizationChartEntity organizationChart : organizationChartEntities) {
//获取下级部门
@@ -88,12 +99,28 @@
if (organizationChartEntitiesUser != null)
departmentIds = this.getDepartmentIds(organizationChartEntitiesUser, departmentIds);
}
- sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getClassifyId(), transactionEvent.getClassifyId() + ",");//获取导半人员
- if (sysUsers.size() == 0) {//如果其下级部门仍没有该分类的导半人员则查询所以该所属地区的导办人员
- sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, null, null);//获取导半人员
- if (sysUsers.size() == 0)//如果该所属地区没有导办人员则为特殊单据需要手动分配
- guideRepairOrder.setState("1");
+ sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getId(), transactionEvent.getId() + ",");//获取导半人员
+ if (sysUsers.size() == 0) {//如果该所属地区没有导办人员则为获取其上級地区有没有相关分类导办人员
+ List<String> departmentIdsParent = new ArrayList<>();
+ departmentIdsParent.addAll(departmentIds);
+ for (String departmentId : departmentIdsParent) {
+ OrganizationChartEntity organizationChart = organizationChartMapper.selectOne(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getId, departmentId));
+ OrganizationChartEntity organizationChartParent = organizationChartMapper.selectOne(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getId, organizationChart.getParentId()));
+ if (organizationChartParent!=null)
+ {
+ departmentIds.add(organizationChartParent.getId().toString());
+ }
+ }
+ sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getId(), transactionEvent.getId() + ",");//获取导半人员
+ if (sysUsers.size() == 0) {
+ sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, null, null);//获取导半人员
+ if (sysUsers.size() == 0) {
+ //如果该所属地区没有导办人员则为特殊单据需要手动分配
+ guideRepairOrder.setState("1");
+ }
+ }
}
+
}
if (sysUsers.size() > 0) {//系统分配导办人员
SysUser sysUser = sysUsers.get(0);//因为sql用了升序排序所以第一条就是待办结最少的人员之一
@@ -110,8 +137,8 @@
entity.setState("8");
entity.setDepartmentalId(sysUser.getDepartmentId());
entity.setToUserId(guideRepairOrder.getGuideUserId() + "");
- entity.setFromUserId(guideRepairOrder.getSubmitUserId());
- entity.setFromDepartmentalId(guideRepairOrder.getGuideDepartmentId());
+// entity.setFromUserId(guideRepairOrder.getSubmitUserId());
+// entity.setFromDepartmentalId(guideRepairOrder.getGuideDepartmentId());
entity.setGuidOrderNum(guideRepairOrder.getOrderNum());
//超时时间设置业务开始
guideRepairOrder = this.setTimeoutTim(guideRepairOrder);
@@ -200,13 +227,22 @@
}
@Override
- public List<GuideRepairOrder> selectConfigList(IPage<GuideRepairOrder> page, Integer state, String matterName, List<String> ids) {
- return baseMapper.selectConfigList(page, state, matterName, ids);
+ public List<GuideRepairOrder> selectConfigList(IPage<GuideRepairOrder> page, Integer state,
+ String matterName, List<String> ids, String status,
+ String guideUserId, String createTimeStartTime,
+ String createTimeTimeEndTime,String classifyId) {
+ return baseMapper.selectConfigList(page, state, matterName, ids, status, guideUserId,createTimeStartTime,createTimeTimeEndTime,classifyId);
}
@Override
- public int countConfigList(String matterName, List<String> ids) {
- return baseMapper.countConfigList(matterName, ids);
+ public List<GuideRepairOrder> selectConfigList(String matterName, List<String> ids, String status,
+ String guideUserId, String createTimeStartTime,String createTimeTimeEndTime,String classifyId) {
+ return baseMapper.selectConfigList(matterName, ids, status, guideUserId,createTimeStartTime,createTimeTimeEndTime,classifyId);
+ }
+
+ @Override
+ public int countConfigList(String matterName, List<String> ids, String status, String guideUserId) {
+ return baseMapper.countConfigList(matterName, ids, status, guideUserId);
}
@Override
@@ -232,8 +268,10 @@
SysUser sysUserTo = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
SysUser sysUserFrom = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getFromUserId()));
sysUserTo.setTransactionNum(sysUserTo.getTransactionNum() + 1);
- sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum() - 1);
- sysUserMapper.updateById(sysUserFrom);
+ if (sysUserFrom.getUserType().equals(2)) {
+ sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum() - 1);
+ sysUserMapper.updateById(sysUserFrom);
+ }
GuideRepairOrder guideRepairOrder = baseMapper.selectOne(new QueryWrapper<GuideRepairOrder>().lambda()
.eq(GuideRepairOrder::getId, order.getGuideId()));
//短信发送
@@ -247,7 +285,7 @@
sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum() - 1);
return sysUserMapper.updateById(sysUserFrom);
}
- }
+ }
return 0;
}
@@ -260,8 +298,10 @@
*/
@Override
public int countStatisticsNum(String state, List<String> ids, String time,
- String isTimeout, String evaluateState, List<String> classifyIds) {
- return baseMapper.countStatisticsNum(state, ids, time, isTimeout, evaluateState, classifyIds);
+ String isTimeout, String evaluateState,
+ List<String> classifyIds, String serviceState,
+ String guideUserId) {
+ return baseMapper.countStatisticsNum(state, ids, time, isTimeout, evaluateState, classifyIds, serviceState, guideUserId);
}
@Override
@@ -304,7 +344,7 @@
DateTime dateTime = td.nextWeekDay(dateTimeUser);
Calendar calendar = dateTime.toCalendar();
LocalDateTime localDateTime = LocalDateTime.of(calendar.get(Calendar.YEAR),
- calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE),
+ calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DATE),
9 + automessageSysSettings.getTimeoutNotificationNum(), 0);//设置时间为下一个工作日时间的9点+设置超时时间
guideRepairOrder.setTimeoutTime(localDateTime);
}
@@ -313,7 +353,7 @@
DateTime dateTime = td.nextWeekDay(dateTimeUser);
Calendar calendar = dateTime.toCalendar();
LocalDateTime localDateTime = LocalDateTime.of(calendar.get(Calendar.YEAR),
- calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE),
+ calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DATE),
9 + automessageSysSettings.getTimeoutNotificationNum(), 0);//设置时间为下一个工作日时间的9点+设置超时时间
guideRepairOrder.setTimeoutTime(localDateTime);
}
@@ -325,7 +365,7 @@
WxUtil wxUtil = new WxUtil();
String accessToken = "0";
try {
- accessToken = wxUtil.getBatteryCarAccessToken();
+ accessToken = stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get();
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -335,8 +375,67 @@
@Override
public int deleteConfigById(String Id) {
+ GuideRepairOrder guideRepairOrderDelete = baseMapper.selectOne(new QueryWrapper<GuideRepairOrder>().lambda().eq(GuideRepairOrder::getId, Id));
+ //删除进展记录
+ guideEvolveMapper.delete(new QueryWrapper<GuideEvolveEntity>().lambda().eq(GuideEvolveEntity::getGuideId, Id));
+ TransactionEvent transactionEvent = transactionEventMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda().eq(TransactionEvent::getId, guideRepairOrderDelete.getMatterId()));
+ transactionEvent.setTransactionNum(transactionEvent.getTransactionNum() - 1);
+ //对应办事指南减一
+ transactionEventMapper.updateById(transactionEvent);
+ SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, guideRepairOrderDelete.getGuideUserId()));
+ if (sysUser != null) {
+ //对应导半人员待导半数量建议
+ sysUser.setTransactionNum(sysUser.getTransactionNum() - 1);
+ sysUserMapper.updateById(sysUser);
+ }
return baseMapper.deleteConfigById(Id);
}
+ @Override
+ public ResultData pushOvertimeGuideRepairOrder() {
+ List<GuideRepairOrder> guideRepairOrders = baseMapper.selectOvertime();
+ WxUtil wxUtil = new WxUtil();
+ String accessToken = "0";
+ try {
+ accessToken = stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get().toString();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ for (GuideRepairOrder guideRepairOrder : guideRepairOrders) {
+ SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, guideRepairOrder.getGuideUserId()));
+ if (sysUser != null) {
+ smsUtil.sendSmsOvertime(sysUser.getPhonenumber(), sysUser.getUserName());
+ wxUtil.sendGuideRepairOrderOvertime(sysUser.getOpenid(), accessToken, "86JgWHhR8b1XxD72WYqMnndyfkiMtSSoCk9NFMwLEZ8", sysUser);
+ guideRepairOrder.setIsPush(1);
+ guideRepairOrder.setIsTimeout("2");
+ baseMapper.updateById(guideRepairOrder);
+ }
+ }
+ return ResultData.success();
+ }
+
+ @Override
+ public int updateEvaluate() {
+ //查找一天没有评价的单据
+ List<GuideRepairOrder> guideRepairOrders = baseMapper.selectEvaluate();
+ for (GuideRepairOrder guideRepairOrder : guideRepairOrders) {
+ guideRepairOrder.setEvaluateState("1");
+ guideRepairOrder.setEvaluateContent("好评");
+ guideRepairOrder.setServiceState(1);
+ guideRepairOrder.setState("3");
+ baseMapper.updateById(guideRepairOrder);
+ //新增默认好评进展
+ GuideEvolveEntity entity = new GuideEvolveEntity();
+ entity.setCreateTime(LocalDateTime.now());
+ entity.setUpdateTime(LocalDateTime.now());
+ entity.setState("12");
+ entity.setFromUserId(guideRepairOrder.getSubmitUserId() + "");
+ entity.setGuideId(guideRepairOrder.getId().toString());
+ guideEvolveMapper.insertConfig(entity);
+
+ }
+ return 0;
+ }
+
}
--
Gitblit v1.7.1