|
|
@@ -34,8 +34,10 @@ import org.springframework.web.socket.TextMessage;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
@Service
|
|
|
public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper> implements PublicReleaseService {
|
|
|
@@ -1065,7 +1067,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
|
|
|
* @param id
|
|
|
* @param status 状态 0驳回 1发起 2同意 3 撤销 4技术驳回
|
|
|
* @param remarks
|
|
|
- * @param examineType 0上级审核 1营销员审核 2技术审核
|
|
|
+ * @param examineType 0上级审核 1营销员审核 2技术审核 3二级审核
|
|
|
* @param evaluateType 0不存指导意见 1存指导意见
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -1114,14 +1116,58 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
|
|
|
}else if(status==2){
|
|
|
str=str.append("同意,");
|
|
|
addpublicLog(id, status, remarks);
|
|
|
- //如果是协单公出主公出,在审核通过
|
|
|
- if (use.getAssist()==1){
|
|
|
- pushPublicReleaseAssist(use, p, date, a);
|
|
|
-
|
|
|
- }else if (use.getAssist()==0){
|
|
|
- publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
|
|
|
- }
|
|
|
content=content.append("已通过审核!");
|
|
|
+ //新增二级审核
|
|
|
+ List<AdminPublicReviewerBo> adminPublicReviewerBos = adminPublicReviewerMapper.selectByAid(use.getAid());
|
|
|
+ adminPublicReviewerBos=adminPublicReviewerBos.stream().filter(e -> e.getType() == 4).collect(Collectors.toList());
|
|
|
+ if (adminPublicReviewerBos.isEmpty()){
|
|
|
+ p.setStatus(2);
|
|
|
+ //如果是协单公出主公出,在审核通过
|
|
|
+ if (use.getAssist()==1){
|
|
|
+ pushPublicReleaseAssist(use, p, date, a);
|
|
|
+ }else if (use.getAssist()==0){
|
|
|
+ publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
|
|
|
+ }
|
|
|
+ addpublicLog(id, status, "无需二级审核直接通过");
|
|
|
+ }else {
|
|
|
+ //需要审核的情况下,看是否有审核通过
|
|
|
+ List<outPublicReleaseLog> outPublicReleaseLogs = publicReleaseLogMapper.listPublicReleaseLog(use.getId(), null);
|
|
|
+ //先看有没有驳回
|
|
|
+ int reject = 0;
|
|
|
+ //标记审核
|
|
|
+ AtomicInteger flag = new AtomicInteger();
|
|
|
+ List<outPublicReleaseLog> collect = outPublicReleaseLogs.stream().filter(e -> e.getStatus() == 0 || e.getStatus() == 4).collect(Collectors.toList());
|
|
|
+ //没有的的情况下看有没有审核 通过
|
|
|
+ long time;
|
|
|
+ if (collect.isEmpty()) {
|
|
|
+ time = 0;
|
|
|
+ adminPublicReviewerBos.stream().forEach(e -> {
|
|
|
+ outPublicReleaseLogs.stream().forEach(e1 -> {
|
|
|
+ if (e1.getAid().equals(e.getAid())) {
|
|
|
+ flag.set(1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ time = collect.stream()
|
|
|
+ .mapToLong(e -> e.getCreateTime().getTime())
|
|
|
+ .max().orElse(0L);
|
|
|
+ }
|
|
|
+ //获取驳回或者撤销后的列表
|
|
|
+ Stream<outPublicReleaseLog> outPublicReleaseLogStream = outPublicReleaseLogs.stream().filter(e -> e.getCreateTime().getTime() > time);
|
|
|
+ //有审核的情况下可以直接跳过
|
|
|
+ if (flag.get() == 1) {
|
|
|
+ p.setStatus(2);
|
|
|
+ //如果是协单公出主公出,在审核通过
|
|
|
+ if (use.getAssist()==1){
|
|
|
+ pushPublicReleaseAssist(use, p, date, a);
|
|
|
+ }else if (use.getAssist()==0){
|
|
|
+ publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
|
|
|
+ }
|
|
|
+ addpublicLog(use.getId(), status, "审核人已审核,跳过二级审核");
|
|
|
+ }
|
|
|
+ p.setStatus(1);
|
|
|
+ }
|
|
|
}
|
|
|
str=str.append(remarks);
|
|
|
p.setAuditInfo(str.toString());
|
|
|
@@ -1181,6 +1227,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
|
|
|
sendNoticeAndSoucket(a.getId(),status,content.toString());
|
|
|
}
|
|
|
}else if (examineType==2){
|
|
|
+ //技术审核
|
|
|
if (status==2){//审核通过
|
|
|
str=str.append("同意公出我的企业,").append(remarks);
|
|
|
content=content.append("已通过审核,请尽快审核。");
|
|
|
@@ -1222,6 +1269,84 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
|
|
|
addpublicLog(id, 0, str.toString());
|
|
|
sendNoticeAndSoucket(a.getId(),status,content.toString());
|
|
|
}
|
|
|
+ }else if (examineType==3){
|
|
|
+ p.setStatus(status);
|
|
|
+ if (status==0){
|
|
|
+ addpublicLog(id, status, remarks);
|
|
|
+ str=str.append("驳回,");
|
|
|
+ if (use.getAssist()==2){
|
|
|
+ content=content.append("技术协单被[").append(ad.getName()).append("]拒绝!");
|
|
|
+ }else {
|
|
|
+ content=content.append("未通过公出审核!");
|
|
|
+ }
|
|
|
+ if(use.getPublicType()>1){
|
|
|
+ p.setPublicType(1);
|
|
|
+ PublicExamine inpe=new PublicExamine();
|
|
|
+ inpe.setStatus(0);
|
|
|
+ inpe.setPrid(use.getId());
|
|
|
+ publicExamineMapper.updateStatusByPrid(inpe);
|
|
|
+ }
|
|
|
+ }else if(status==2){
|
|
|
+ str=str.append("同意,");
|
|
|
+ addpublicLog(id, status, remarks);
|
|
|
+ content=content.append("已通过审核!");
|
|
|
+ //新增二级审核
|
|
|
+ List<AdminPublicReviewerBo> adminPublicReviewerBos = adminPublicReviewerMapper.selectByAid(use.getAid());
|
|
|
+ adminPublicReviewerBos=adminPublicReviewerBos.stream().filter(e -> e.getType() == 4).collect(Collectors.toList());
|
|
|
+ if (adminPublicReviewerBos.isEmpty()){
|
|
|
+ p.setStatus(2);
|
|
|
+ //如果是协单公出主公出,在审核通过
|
|
|
+ if (use.getAssist()==1){
|
|
|
+ pushPublicReleaseAssist(use, p, date, a);
|
|
|
+ }else if (use.getAssist()==0){
|
|
|
+ publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //需要审核的情况下,看是否有审核通过
|
|
|
+ List<outPublicReleaseLog> outPublicReleaseLogs = publicReleaseLogMapper.listPublicReleaseLog(use.getId(), null);
|
|
|
+ //先看有没有驳回
|
|
|
+ int reject = 0;
|
|
|
+ //标记审核
|
|
|
+ AtomicInteger flag = new AtomicInteger();
|
|
|
+ List<outPublicReleaseLog> collect = outPublicReleaseLogs.stream().filter(e -> e.getStatus() == 0 || e.getStatus() == 4).collect(Collectors.toList());
|
|
|
+ //没有的的情况下看有没有审核 通过
|
|
|
+ long time;
|
|
|
+ if (collect.isEmpty()) {
|
|
|
+ time = 0;
|
|
|
+ adminPublicReviewerBos.stream().forEach(e -> {
|
|
|
+ outPublicReleaseLogs.stream().forEach(e1 -> {
|
|
|
+ if (e1.getAid().equals(e.getAid())) {
|
|
|
+ flag.set(1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ time = collect.stream()
|
|
|
+ .mapToLong(e -> e.getCreateTime().getTime())
|
|
|
+ .max().orElse(0L);
|
|
|
+ }
|
|
|
+ //获取驳回或者撤销后的列表
|
|
|
+ Stream<outPublicReleaseLog> outPublicReleaseLogStream = outPublicReleaseLogs.stream().filter(e -> e.getCreateTime().getTime() > time);
|
|
|
+ //有审核的情况下可以直接跳过
|
|
|
+ if (flag.get() == 1) {
|
|
|
+ p.setStatus(2);
|
|
|
+ //如果是协单公出主公出,在审核通过
|
|
|
+ if (use.getAssist()==1){
|
|
|
+ pushPublicReleaseAssist(use, p, date, a);
|
|
|
+ }else if (use.getAssist()==0){
|
|
|
+ publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
|
|
|
+ }
|
|
|
+ addpublicLog(use.getId(), status, "审核人已审核,跳过二级审核");
|
|
|
+ }
|
|
|
+ p.setStatus(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ str=str.append(remarks);
|
|
|
+ p.setAuditInfo(str.toString());
|
|
|
+ p.setAuditTime(date);
|
|
|
+ p.setRejectName(ad.getName());
|
|
|
+ sendNoticeAndSoucket(a.getId(),status,content.toString());
|
|
|
+
|
|
|
}
|
|
|
AdminListBo my = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
|
|
|
if (p.getStatus()!=null||p.getPublicType()!=null||p.getTechStartProcess()!=null){
|