|
|
@@ -8,10 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.dromara.business.domain.BjLonmMiddle;
|
|
|
-import org.dromara.business.domain.BjLonmMiddleLog;
|
|
|
-import org.dromara.business.domain.BjReleased;
|
|
|
-import org.dromara.business.domain.BjReleasedMiddle;
|
|
|
+import org.dromara.business.domain.*;
|
|
|
import org.dromara.business.domain.bo.BjLonmMiddleLogBo;
|
|
|
import org.dromara.business.domain.bo.BjReleasedBo;
|
|
|
import org.dromara.business.domain.bo.BjReleasedMiddleBo;
|
|
|
@@ -19,10 +16,7 @@ import org.dromara.business.domain.vo.BjLonmMiddleVo;
|
|
|
import org.dromara.business.domain.vo.BjMyAADVo;
|
|
|
import org.dromara.business.domain.vo.BjReleasedMiddleVo;
|
|
|
import org.dromara.business.domain.vo.BjReleasedVo;
|
|
|
-import org.dromara.business.mapper.BjLonmMiddleLogMapper;
|
|
|
-import org.dromara.business.mapper.BjLonmMiddleMapper;
|
|
|
-import org.dromara.business.mapper.BjReleasedMapper;
|
|
|
-import org.dromara.business.mapper.BjReleasedMiddleMapper;
|
|
|
+import org.dromara.business.mapper.*;
|
|
|
import org.dromara.business.service.IBjReleasedService;
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
@@ -56,6 +50,8 @@ public class BjReleasedServiceImpl implements IBjReleasedService {
|
|
|
|
|
|
private final BjLonmMiddleLogMapper logMapper;
|
|
|
|
|
|
+ private final BjNtloMapper ntloMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 查询我要发布
|
|
|
*
|
|
|
@@ -225,9 +221,9 @@ public class BjReleasedServiceImpl implements IBjReleasedService {
|
|
|
*/
|
|
|
private void validEntityBeforeSave(BjReleased entity, BjReleasedBo bo) {
|
|
|
//TODO 做一些数据校验,如唯一约束
|
|
|
- if (StringUtils.isNotEmpty(bo.getReleasedId())){
|
|
|
+ if (StringUtils.isNotEmpty(bo.getReleasedId())) {
|
|
|
BjReleased released = baseMapper.selectById(bo.getReleasedId());
|
|
|
- if (released != null && "2".equals(released.getReleasedStatus())){
|
|
|
+ if (released != null && "2".equals(released.getReleasedStatus())) {
|
|
|
throw new RuntimeException("通报已发布,不可编辑!");
|
|
|
}
|
|
|
}
|
|
|
@@ -276,8 +272,8 @@ public class BjReleasedServiceImpl implements IBjReleasedService {
|
|
|
BjLonmMiddleLog bjLonmMiddleLog = BeanUtil.copyProperties(bo, BjLonmMiddleLog.class);
|
|
|
String notifiedMattersId = bjLonmMiddleLog.getNotifiedMattersId();
|
|
|
LambdaQueryWrapper<BjLonmMiddleLog> bjLogWpr = new LambdaQueryWrapper<>();
|
|
|
- bjLogWpr.eq(BjLonmMiddleLog::getNotifiedMattersId,notifiedMattersId);
|
|
|
- bjLogWpr.eq(BjLonmMiddleLog::getReceivingUnit,LoginHelper.getDeptIdStr());
|
|
|
+ bjLogWpr.eq(BjLonmMiddleLog::getNotifiedMattersId, notifiedMattersId);
|
|
|
+ bjLogWpr.eq(BjLonmMiddleLog::getReceivingUnit, LoginHelper.getDeptIdStr());
|
|
|
List<BjLonmMiddleLog> bjLonmMiddleLogs = logMapper.selectList(bjLogWpr);
|
|
|
BjLonmMiddleLog log1 = bjLonmMiddleLogs.get(0);
|
|
|
bjLonmMiddleLog.setReceivingUnit(log1.getReceivingUnit());
|
|
|
@@ -285,112 +281,176 @@ public class BjReleasedServiceImpl implements IBjReleasedService {
|
|
|
|
|
|
BjReleasedMiddleVo bjReleasedMiddleVo = middleMapper.selectVoById(notifiedMattersId);
|
|
|
String releasedId = bjReleasedMiddleVo.getReleasedId();
|
|
|
- switch (bjReleasedMiddleVo.getWfir()) {
|
|
|
- case "1":
|
|
|
- if ("2".equals(bjLonmMiddleLog.getOperationRecord())){
|
|
|
- bjLonmMiddleLog.setOperationTime(DateUtil.date());
|
|
|
- bjLonmMiddleLog.setNotificationLink("2");
|
|
|
- bjLonmMiddleLog.setPar(log1.getPar());
|
|
|
- bjLonmMiddleLog.setNotificationStatus("2");
|
|
|
- bjLonmMiddleLog.setTodm("1");
|
|
|
- bjLonmMiddleLog.setRarp(LoginHelper.getNickName());
|
|
|
- }
|
|
|
+ BjReleased bjReleased = baseMapper.selectById(releasedId);
|
|
|
+ BjLonmMiddle lonmMiddle = new BjLonmMiddle();
|
|
|
+ lonmMiddle.setAcceptanceDate(new Date());
|
|
|
+ if ("6".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
|
|
|
- if ("3".equals(bjLonmMiddleLog.getOperationRecord())){
|
|
|
- bjLonmMiddleLog.setOperationTime(DateUtil.date());
|
|
|
- bjLonmMiddleLog.setNotificationLink("3");
|
|
|
- bjLonmMiddleLog.setPar(log1.getPar());
|
|
|
- bjLonmMiddleLog.setNotificationStatus("5");
|
|
|
- bjLonmMiddleLog.setTodm("2");
|
|
|
- bjLonmMiddleLog.setRarp(LoginHelper.getNickName());
|
|
|
- }
|
|
|
- if ("5".equals(bjLonmMiddleLog.getOperationRecord())){
|
|
|
- bjLonmMiddleLog.setOperationTime(DateUtil.date());
|
|
|
- bjLonmMiddleLog.setNotificationLink("4");
|
|
|
- bjLonmMiddleLog.setPar(log1.getPar());
|
|
|
- bjLonmMiddleLog.setNotificationStatus("8");
|
|
|
- bjLonmMiddleLog.setRarp(LoginHelper.getNickName());
|
|
|
- }
|
|
|
+ bjLonmMiddleLog.setNotificationLink("2");
|
|
|
+ bjLonmMiddleLog.setPar(bjReleased.getReleasedUnit());
|
|
|
+ bjLonmMiddleLog.setNotificationStatus("3");
|
|
|
+ bjLonmMiddleLog.setTodm("4");
|
|
|
+ bjLonmMiddleLog.setRarp(bjReleased.getCreateBy());
|
|
|
|
|
|
- logMapper.insert(bjLonmMiddleLog);
|
|
|
+ lonmMiddle.setNotificationStatus("3");
|
|
|
+ lonmMiddle.setTakeMeasures(bjLonmMiddleLog.getTakeMeasures());
|
|
|
+ lonmMiddle.setAcceptanceDate(new Date());
|
|
|
|
|
|
- break;
|
|
|
- case "2":
|
|
|
+ } else if ("7".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
|
|
|
- if ("6".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
+ bjLonmMiddleLog.setNotificationLink("2");
|
|
|
+ bjLonmMiddleLog.setPar(bjReleased.getReleasedUnit());
|
|
|
+ bjLonmMiddleLog.setNotificationStatus("5");
|
|
|
+ bjLonmMiddleLog.setRarp(bjReleased.getCreateBy());
|
|
|
|
|
|
- }
|
|
|
+ lonmMiddle.setNotificationStatus("5");
|
|
|
+ lonmMiddle.setTakeMeasures(bjLonmMiddleLog.getTakeMeasures());
|
|
|
+ lonmMiddle.setAcceptanceDate(new Date());
|
|
|
|
|
|
- if ("4".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
- bjLonmMiddleLog.setNotificationLink("2");
|
|
|
- bjLonmMiddleLog.setPar(log1.getPar());
|
|
|
- bjLonmMiddleLog.setNotificationStatus("7");
|
|
|
- bjLonmMiddleLog.setTodm("3");
|
|
|
- bjLonmMiddleLog.setRarp(LoginHelper.getNickName());
|
|
|
+ } else if ("8".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
|
|
|
- logMapper.insert(bjLonmMiddleLog);
|
|
|
+ BjLonmMiddle lonmMiddle1 = lonmMiddleMapper.selectOne(new LambdaQueryWrapper<BjLonmMiddle>()
|
|
|
+ .eq(BjLonmMiddle::getNotifiedMattersId, notifiedMattersId));
|
|
|
|
|
|
- BjLonmMiddleLog log2 = BeanUtil
|
|
|
- .copyProperties(bjLonmMiddleLog, BjLonmMiddleLog.class);
|
|
|
+ BjNtlo bjNtlo = ntloMapper.selectList(new LambdaQueryWrapper<BjNtlo>()
|
|
|
+ .eq(BjNtlo::getUnitName, lonmMiddle1.getReceivingUnit())).get(0);
|
|
|
|
|
|
- log2.setOperationTime(DateUtil.date());
|
|
|
- log2.setNotificationLink("4");
|
|
|
- log2.setOperationRecord("5");
|
|
|
- log2.setNotificationStatus("8");
|
|
|
- log2.setRarp("系统处置完成");
|
|
|
- log2.setOpinions("系统自动结案");
|
|
|
- log2.setTodm(null);
|
|
|
- log2.setTakeMeasures(null);
|
|
|
- log2.setDoom(null);
|
|
|
+ bjLonmMiddleLog.setNotificationLink("2");
|
|
|
+ bjLonmMiddleLog.setPar(lonmMiddle1.getReceivingUnit());
|
|
|
+ bjLonmMiddleLog.setNotificationStatus("1");
|
|
|
+ bjLonmMiddleLog.setRarp(bjNtlo.getLiaisonId());
|
|
|
|
|
|
- logMapper.insert(log2);
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new RuntimeException("数据异常,请联系管理员!");
|
|
|
- }
|
|
|
+ lonmMiddle.setNotificationStatus("1");
|
|
|
+ lonmMiddle.setTakeMeasures(bjLonmMiddleLog.getTakeMeasures());
|
|
|
+ lonmMiddle.setAcceptanceDate(new Date());
|
|
|
|
|
|
- List<BjReleasedMiddle> releasedMiddles = middleMapper.selectList(new LambdaQueryWrapper<BjReleasedMiddle>()
|
|
|
- .eq(BjReleasedMiddle::getReleasedId, releasedId));
|
|
|
+ } else {
|
|
|
+ switch (bjReleasedMiddleVo.getWfir()) {
|
|
|
+ case "1":
|
|
|
+ if ("2".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
+ bjLonmMiddleLog.setNotificationLink("2");
|
|
|
+ bjLonmMiddleLog.setPar(log1.getPar());
|
|
|
+ bjLonmMiddleLog.setNotificationStatus("2");
|
|
|
+ bjLonmMiddleLog.setTodm("1");
|
|
|
+ bjLonmMiddleLog.setRarp(LoginHelper.getNickName());
|
|
|
+
|
|
|
+ lonmMiddle.setNotificationStatus("2");
|
|
|
+ lonmMiddle.setTakeMeasures(bjLonmMiddleLog.getTakeMeasures());
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("3".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
+ bjLonmMiddleLog.setNotificationLink("3");
|
|
|
+ bjLonmMiddleLog.setPar(log1.getPar());
|
|
|
+ bjLonmMiddleLog.setNotificationStatus("5");
|
|
|
+ bjLonmMiddleLog.setTodm("2");
|
|
|
+ bjLonmMiddleLog.setRarp(LoginHelper.getNickName());
|
|
|
+
|
|
|
+ lonmMiddle.setNotificationStatus("5");
|
|
|
+ lonmMiddle.setTakeMeasures(bjLonmMiddleLog.getTakeMeasures());
|
|
|
+
|
|
|
+ }
|
|
|
+ if ("5".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
+ bjLonmMiddleLog.setNotificationLink("4");
|
|
|
+ bjLonmMiddleLog.setPar(log1.getPar());
|
|
|
+ bjLonmMiddleLog.setNotificationStatus("8");
|
|
|
+ bjLonmMiddleLog.setRarp(LoginHelper.getNickName());
|
|
|
+
|
|
|
+ lonmMiddle.setNotificationStatus("8");
|
|
|
+ lonmMiddle.setTakeMeasures(bjLonmMiddleLog.getTakeMeasures());
|
|
|
+ }
|
|
|
|
|
|
- //判断我要发布下是否只有一个通报事项
|
|
|
- if (releasedMiddles.size() == 1) {
|
|
|
|
|
|
- if (logMapper.selectList(new LambdaQueryWrapper<BjLonmMiddleLog>()
|
|
|
- .eq(BjLonmMiddleLog::getNotifiedMattersId, notifiedMattersId))
|
|
|
- .stream().filter(item ->
|
|
|
- "8".equals(item.getNotificationStatus())).count() == 1) {
|
|
|
+ logMapper.insert(bjLonmMiddleLog);
|
|
|
+
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ if ("4".equals(bjLonmMiddleLog.getOperationRecord())) {
|
|
|
+ bjLonmMiddleLog.setNotificationLink("2");
|
|
|
+ bjLonmMiddleLog.setPar(log1.getPar());
|
|
|
+ bjLonmMiddleLog.setNotificationStatus("7");
|
|
|
+ bjLonmMiddleLog.setTodm("3");
|
|
|
+ bjLonmMiddleLog.setRarp(LoginHelper.getNickName());
|
|
|
+
|
|
|
+ logMapper.insert(bjLonmMiddleLog);
|
|
|
+
|
|
|
+ BjLonmMiddleLog log2 = BeanUtil
|
|
|
+ .copyProperties(bjLonmMiddleLog, BjLonmMiddleLog.class);
|
|
|
+
|
|
|
+ log2.setOperationTime(DateUtil.date());
|
|
|
+ log2.setNotificationLink("4");
|
|
|
+ log2.setOperationRecord("5");
|
|
|
+ log2.setNotificationStatus("8");
|
|
|
+ log2.setRarp("系统处置完成");
|
|
|
+ log2.setOpinions("系统自动结案");
|
|
|
+ log2.setTodm(null);
|
|
|
+ log2.setTakeMeasures(null);
|
|
|
+ log2.setDoom(null);
|
|
|
+
|
|
|
+ logMapper.insert(log2);
|
|
|
+
|
|
|
+ lonmMiddle.setNotificationStatus("8");
|
|
|
+ lonmMiddle.setTakeMeasures(log2.getTakeMeasures());
|
|
|
+ lonmMiddle.setNotifyOverallStatus("3");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ List<BjReleasedMiddle> releasedMiddles = middleMapper.selectList(new LambdaQueryWrapper<BjReleasedMiddle>()
|
|
|
+ .eq(BjReleasedMiddle::getReleasedId, releasedId));
|
|
|
+
|
|
|
+ //判断我要发布下是否只有一个通报事项
|
|
|
+ if (releasedMiddles.size() == 1) {
|
|
|
+
|
|
|
+ if (logMapper.selectList(new LambdaQueryWrapper<BjLonmMiddleLog>()
|
|
|
+ .eq(BjLonmMiddleLog::getNotifiedMattersId, notifiedMattersId))
|
|
|
+ .stream().filter(item ->
|
|
|
+ "8".equals(item.getNotificationStatus())).count() == 1) {
|
|
|
+
|
|
|
+ //我要发布下的通报事项只有一条并且只有一个接收单位且状态为已处置完成 ‘8’ 直接更改我要发布状态为 已结案 ‘3’
|
|
|
+ getBjReleasedStatus(releasedId);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //通报事项id
|
|
|
+ List<String> notificationMatterIds = releasedMiddles.stream()
|
|
|
+ .map(BjReleasedMiddle::getNotifiedMattersId).toList();
|
|
|
+
|
|
|
+ Map<String, List<BjLonmMiddleLog>> collect = logMapper.selectList(new LambdaQueryWrapper<BjLonmMiddleLog>()
|
|
|
+ .in(BjLonmMiddleLog::getNotifiedMattersId, notificationMatterIds)).stream()
|
|
|
+ .collect(Collectors.groupingBy(BjLonmMiddleLog::getReceivingUnit));
|
|
|
+
|
|
|
+ int i = 0;
|
|
|
+ int n = 0;
|
|
|
+ for (String receivingUnit : collect.keySet()) {
|
|
|
+ if (collect.get(receivingUnit).stream().anyMatch(item ->
|
|
|
+ "8".equals(item.getNotificationStatus()))) {
|
|
|
+ i = i + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (i == collect.size()) {
|
|
|
+ //接收单位为多个时判断是否全部都是 已处置完成 ‘8’ ,如是的情况更改我要发布 发布状态 已结案 ‘3’,如否不做操作
|
|
|
+ getBjReleasedStatus(releasedId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return lonmMiddleMapper.update(lonmMiddle, new LambdaQueryWrapper<BjLonmMiddle>()
|
|
|
+ .eq(BjLonmMiddle::getNotifiedMattersId, notifiedMattersId)
|
|
|
+ .eq(BjLonmMiddle::getReceivingUnit, LoginHelper.getDeptId()));
|
|
|
+ default:
|
|
|
+ throw new RuntimeException("数据异常,请联系管理员!");
|
|
|
|
|
|
- //我要发布下的通报事项只有一条并且只有一个接收单位且状态为已处置完成 ‘8’ 直接更改我要发布状态为 已结案 ‘3’
|
|
|
- return getBjReleasedStatus(releasedId);
|
|
|
- }
|
|
|
- }else{
|
|
|
- //通报事项id
|
|
|
- List<String> notificationMatterIds = releasedMiddles.stream()
|
|
|
- .map(BjReleasedMiddle::getNotifiedMattersId).toList();
|
|
|
-
|
|
|
- Map<String, List<BjLonmMiddleLog>> collect = logMapper.selectList(new LambdaQueryWrapper<BjLonmMiddleLog>()
|
|
|
- .in(BjLonmMiddleLog::getNotifiedMattersId, notificationMatterIds)).stream()
|
|
|
- .collect(Collectors.groupingBy(BjLonmMiddleLog::getReceivingUnit));
|
|
|
-
|
|
|
- int i = 0;
|
|
|
- for (String receivingUnit : collect.keySet()) {
|
|
|
- if (collect.get(receivingUnit).stream().anyMatch(item ->
|
|
|
- "8".equals(item.getNotificationStatus()))) {
|
|
|
- i = i + 1;
|
|
|
- }
|
|
|
- }
|
|
|
- if (i == collect.size()) {
|
|
|
- //接收单位为多个时判断是否全部都是 已处置完成 ‘8’ ,如是的情况更改我要发布 发布状态 已结案 ‘3’,如否不做操作
|
|
|
- return getBjReleasedStatus(releasedId);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
+ logMapper.insert(bjLonmMiddleLog);
|
|
|
|
|
|
- return 0;
|
|
|
+ return lonmMiddleMapper.update(lonmMiddle, new LambdaQueryWrapper<BjLonmMiddle>()
|
|
|
+ .eq(BjLonmMiddle::getNotifiedMattersId, notifiedMattersId)
|
|
|
+ .eq(BjLonmMiddle::getReceivingUnit, LoginHelper.getDeptId()));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 更改我要发布整体状态为3
|
|
|
+ *
|
|
|
* @param releasedId
|
|
|
* @return
|
|
|
*/
|