|
|
@@ -18,15 +18,19 @@ package org.springblade.salesPart.maintenance.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springblade.client.entity.CorpsAttn;
|
|
|
import org.springblade.client.entity.FeesDesc;
|
|
|
import org.springblade.client.entity.Message;
|
|
|
import org.springblade.client.feign.*;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
+import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.finance.dto.ApplyDTO;
|
|
|
import org.springblade.finance.feign.IFinanceClient;
|
|
|
@@ -46,6 +50,7 @@ import org.springblade.salesPart.maintenance.service.IMaintenanceFilesService;
|
|
|
import org.springblade.salesPart.maintenance.service.IMaintenanceLogService;
|
|
|
import org.springblade.salesPart.maintenance.service.IMaintenanceService;
|
|
|
import org.springblade.salesPart.maintenance.vo.MaintenanceVO;
|
|
|
+import org.springblade.system.feign.ISysClient;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -105,6 +110,10 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
|
|
|
private final IWechatClient wechatClient;
|
|
|
|
|
|
+ private final ISysClient sysClient;
|
|
|
+
|
|
|
+ private final ICorpsAttnClient corpsAttnClient;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<MaintenanceVO> selectMaintenancePage(IPage<MaintenanceVO> page, MaintenanceVO maintenance) {
|
|
|
return page.setRecords(baseMapper.selectMaintenancePage(page, maintenance));
|
|
|
@@ -149,6 +158,30 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
maintenance.setStatus(1);
|
|
|
maintenance.setDispatchingWorkers("1");
|
|
|
baseMapper.insert(maintenance);
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
+ String date = "";
|
|
|
+ if (ObjectUtils.isNotNull(maintenance.getRepairReportDate())) {
|
|
|
+ date = format.format(maintenance.getRepairReportDate());
|
|
|
+ }
|
|
|
+ R<String> clientDeptIds = sysClient.getRoleIds(SecureUtil.getTenantId(), "管理员");
|
|
|
+ if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|
|
|
+ R<List<User>> userList = userClient.listUserByRoleId(Long.valueOf(clientDeptIds.getData()), null, null);
|
|
|
+ if (userList.isSuccess() && CollectionUtils.isNotEmpty(userList.getData())) {
|
|
|
+ StringBuilder openIds = new StringBuilder();
|
|
|
+ for (User datum : userList.getData()) {
|
|
|
+ if (ObjectUtils.isNotNull(datum.getOaOpenId())) {
|
|
|
+ openIds.append(datum.getOaOpenId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (",".equals(openIds.toString())) {
|
|
|
+
|
|
|
+ } else {
|
|
|
+ wechatClient.sendMessage(openIds.substring(0, openIds.length() - 1), "报修通知", "设备报修", date, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
+ maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
maintenance.setUpdateTime(new Date());
|
|
|
maintenance.setUpdateUserName(AuthUtil.getUserName());
|
|
|
@@ -195,13 +228,6 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
maintenanceLog.setCreateUserName(AuthUtil.getUserName());
|
|
|
maintenanceLog.setType("设备报修");
|
|
|
maintenanceLogService.save(maintenanceLog);
|
|
|
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- String date = "";
|
|
|
- if (ObjectUtils.isNotNull(maintenance.getRepairReportDate())) {
|
|
|
- date = format.format(maintenance.getRepairReportDate());
|
|
|
- }
|
|
|
- wechatClient.sendMessage("o9USS6462dtxKR9dCrqxZTrAsm5o", "报修通知", "设备报修", date, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
- maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
return R.data(maintenance);
|
|
|
}
|
|
|
|
|
|
@@ -249,8 +275,32 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
maintenanceLog.setCreateUserName(AuthUtil.getUserName());
|
|
|
maintenanceLog.setType("已派工");
|
|
|
maintenanceLogService.save(maintenanceLog);
|
|
|
- // wechatClient.sendMessage("o9USS6462dtxKR9dCrqxZTrAsm5o", "派工通知", "设备报修", date, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
-// maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
+ String date = format.format(new Date());
|
|
|
+ StringBuilder openIds = new StringBuilder();
|
|
|
+ R<User> res = userClient.userInfoById(maintenance.getMaintenanceWorkerId());
|
|
|
+ List<CorpsAttn> corpsAttnList = corpsAttnClient.getAttn(maintenance.getCorpId());
|
|
|
+ StringBuilder userIds = new StringBuilder();
|
|
|
+ for (CorpsAttn item : corpsAttnList) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getUserId())) {
|
|
|
+ userIds.append(item.getUserId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<User> res1 = userClient.selectUserIds(userIds.toString());
|
|
|
+ for (User item : res1) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getOaOpenId())) {
|
|
|
+ openIds.append(item.getOaOpenId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
|
|
|
+ if (",".equals(openIds.toString())) {
|
|
|
+ openIds = new StringBuilder(res.getData().getOaOpenId());
|
|
|
+ } else {
|
|
|
+ openIds.append(res.getData().getOaOpenId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wechatClient.sendMessage(openIds.toString(), "派工通知", "设备报修-派工", date, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
+ maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
return R.data(maintenance);
|
|
|
}
|
|
|
|
|
|
@@ -261,6 +311,7 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
if (maintenance.getId() == null) {
|
|
|
throw new RuntimeException("缺少必要参数");
|
|
|
}
|
|
|
+ Long maintenanceWorkerId = maintenance.getMaintenanceWorkerId();
|
|
|
if (maintenance.getStatus() <= 3) {
|
|
|
maintenance.setDispatchingWorkers("1");
|
|
|
maintenance.setStatus(1);
|
|
|
@@ -301,8 +352,32 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
maintenanceLog.setCreateUserName(AuthUtil.getUserName());
|
|
|
maintenanceLog.setType("已撤销");
|
|
|
maintenanceLogService.save(maintenanceLog);
|
|
|
- // wechatClient.sendMessage("o9USS6462dtxKR9dCrqxZTrAsm5o", "撤销派工通知", "设备报修", date, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
-// maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
+ String date = format.format(new Date());
|
|
|
+ StringBuilder openIds = new StringBuilder();
|
|
|
+ R<User> res = userClient.userInfoById(maintenanceWorkerId);
|
|
|
+ List<CorpsAttn> corpsAttnList = corpsAttnClient.getAttn(maintenance.getCorpId());
|
|
|
+ StringBuilder userIds = new StringBuilder();
|
|
|
+ for (CorpsAttn item : corpsAttnList) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getUserId())) {
|
|
|
+ userIds.append(item.getUserId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<User> res1 = userClient.selectUserIds(userIds.toString());
|
|
|
+ for (User item : res1) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getOaOpenId())) {
|
|
|
+ openIds.append(item.getOaOpenId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
|
|
|
+ if (",".equals(openIds.toString())) {
|
|
|
+ openIds = new StringBuilder(res.getData().getOaOpenId());
|
|
|
+ } else {
|
|
|
+ openIds.append(res.getData().getOaOpenId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wechatClient.sendMessage(openIds.toString(), "派工通知", "设备维修-撤销派工", date, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
+ maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
|
|
|
return R.data(maintenance);
|
|
|
}
|
|
|
@@ -347,9 +422,6 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
maintenanceLog.setCreateUserName(AuthUtil.getUserName());
|
|
|
maintenanceLog.setType("确认接单");
|
|
|
maintenanceLogService.save(maintenanceLog);
|
|
|
- // wechatClient.sendMessage("o9USS6462dtxKR9dCrqxZTrAsm5o", "接单通知", "设备报修", date, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
-// maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
-
|
|
|
return R.data(maintenance);
|
|
|
}
|
|
|
|
|
|
@@ -545,10 +617,7 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
maintenance.setUpdateUserName(AuthUtil.getUserName());
|
|
|
baseMapper.updateById(maintenance);
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- String date = "";
|
|
|
- if (ObjectUtils.isNotNull(maintenance.getRepairReportDate())) {
|
|
|
- date = format.format(maintenance.getRepairReportDate());
|
|
|
- }
|
|
|
+ String date = format.format(new Date());
|
|
|
corpsArchivesClient.updateArchives(maintenance.getArchivesId() + "", date, maintenance.getDeviceId() + "");
|
|
|
MaintenanceLog maintenanceLog = new MaintenanceLog();
|
|
|
maintenanceLog.setSysNo(maintenance.getSysNo());
|
|
|
@@ -558,9 +627,38 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
maintenanceLog.setCreateUserName(AuthUtil.getUserName());
|
|
|
maintenanceLog.setType("费用确认");
|
|
|
maintenanceLogService.save(maintenanceLog);
|
|
|
- // wechatClient.sendMessage("o9USS6462dtxKR9dCrqxZTrAsm5o", "待支付通知", "设备报修", date, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
-// maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
-
|
|
|
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
+ String date1 = format1.format(new Date());
|
|
|
+ StringBuilder openIds = new StringBuilder();
|
|
|
+ R<String> clientDeptIds = sysClient.getRoleIds(SecureUtil.getTenantId(), "管理员");
|
|
|
+ if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|
|
|
+ R<List<User>> userList = userClient.listUserByRoleId(Long.valueOf(clientDeptIds.getData()), null, null);
|
|
|
+ if (userList.isSuccess() && CollectionUtils.isNotEmpty(userList.getData())) {
|
|
|
+ for (User datum : userList.getData()) {
|
|
|
+ if (ObjectUtils.isNotNull(datum.getOaOpenId())) {
|
|
|
+ openIds.append(datum.getOaOpenId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<CorpsAttn> corpsAttnList = corpsAttnClient.getAttn(maintenance.getCorpId());
|
|
|
+ StringBuilder userIds = new StringBuilder();
|
|
|
+ for (CorpsAttn item : corpsAttnList) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getUserId())) {
|
|
|
+ userIds.append(item.getUserId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<User> res1 = userClient.selectUserIds(userIds.toString());
|
|
|
+ for (User item : res1) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getOaOpenId())) {
|
|
|
+ openIds.append(item.getOaOpenId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (",".equals(openIds.toString())) {
|
|
|
+ } else {
|
|
|
+ wechatClient.sendMessage(openIds.substring(0, openIds.length() - 1), "结算通知", "设备报修-待付款", date1, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
+ maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
+ }
|
|
|
return R.data(maintenance);
|
|
|
}
|
|
|
|
|
|
@@ -680,6 +778,38 @@ public class MaintenanceServiceImpl extends ServiceImpl<MaintenanceMapper, Maint
|
|
|
maintenanceLog.setCreateUserName(AuthUtil.getUserName());
|
|
|
maintenanceLog.setType("撤销确认费用");
|
|
|
maintenanceLogService.save(maintenanceLog);
|
|
|
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
+ String date1 = format1.format(new Date());
|
|
|
+ StringBuilder openIds = new StringBuilder();
|
|
|
+ R<String> clientDeptIds = sysClient.getRoleIds(SecureUtil.getTenantId(), "管理员");
|
|
|
+ if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|
|
|
+ R<List<User>> userList = userClient.listUserByRoleId(Long.valueOf(clientDeptIds.getData()), null, null);
|
|
|
+ if (userList.isSuccess() && CollectionUtils.isNotEmpty(userList.getData())) {
|
|
|
+ for (User datum : userList.getData()) {
|
|
|
+ if (ObjectUtils.isNotNull(datum.getOaOpenId())) {
|
|
|
+ openIds.append(datum.getOaOpenId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<CorpsAttn> corpsAttnList = corpsAttnClient.getAttn(maintenance.getCorpId());
|
|
|
+ StringBuilder userIds = new StringBuilder();
|
|
|
+ for (CorpsAttn item : corpsAttnList) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getUserId())) {
|
|
|
+ userIds.append(item.getUserId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<User> res1 = userClient.selectUserIds(userIds.toString());
|
|
|
+ for (User item : res1) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getOaOpenId())) {
|
|
|
+ openIds.append(item.getOaOpenId()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (",".equals(openIds.toString())) {
|
|
|
+ } else {
|
|
|
+ wechatClient.sendMessage(openIds.substring(0, openIds.length() - 1), "结算通知", "设备报修-费用撤销", date1, maintenance.getCorpName(), maintenance.getDeviceName(),
|
|
|
+ maintenance.getCorpTel(), maintenance.getMaintenanceWorkerTel(), maintenance.getDeviceDescribe(), maintenance.getMaintenanceAmount(), "1");
|
|
|
+ }
|
|
|
return R.data(maintenance);
|
|
|
}
|
|
|
|