|
|
|
@ -16,15 +16,18 @@ import lombok.Data; |
|
|
|
import lombok.EqualsAndHashCode; |
|
|
|
import lombok.EqualsAndHashCode; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springblade.common.exception.BusinessException; |
|
|
|
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
import org.springblade.core.tool.utils.DateUtil; |
|
|
|
import org.springblade.core.tool.utils.DateUtil; |
|
|
|
import org.springblade.desk.basic.pojo.entity.WorkCenter; |
|
|
|
import org.springblade.desk.basic.pojo.entity.WorkCenter; |
|
|
|
import org.springblade.desk.basic.service.IWorkCenterService; |
|
|
|
import org.springblade.desk.basic.service.IWorkCenterService; |
|
|
|
import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl; |
|
|
|
import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl; |
|
|
|
|
|
|
|
import org.springblade.desk.basic.util.IdUtil; |
|
|
|
|
|
|
|
import org.springblade.desk.basic.util.RoleUtil; |
|
|
|
|
|
|
|
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum; |
|
|
|
import org.springblade.desk.common.feign.IMesNotifyMessageClient; |
|
|
|
import org.springblade.desk.common.feign.IMesNotifyMessageClient; |
|
|
|
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; |
|
|
|
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; |
|
|
|
|
|
|
|
import org.springblade.desk.common.service.IMesApprovalRecordService; |
|
|
|
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; |
|
|
|
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; |
|
|
|
import org.springblade.desk.dashboard.service.IBsProcessSetService; |
|
|
|
import org.springblade.desk.dashboard.service.IBsProcessSetService; |
|
|
|
import org.springblade.desk.quality.constant.ProReTemplateConst; |
|
|
|
import org.springblade.desk.quality.constant.ProReTemplateConst; |
|
|
|
@ -33,7 +36,6 @@ import org.springblade.desk.quality.excel.ProReTemplateExcel; |
|
|
|
import org.springblade.desk.quality.mapper.ProReTemplateMapper; |
|
|
|
import org.springblade.desk.quality.mapper.ProReTemplateMapper; |
|
|
|
import org.springblade.desk.quality.pojo.entity.ProReTemplate; |
|
|
|
import org.springblade.desk.quality.pojo.entity.ProReTemplate; |
|
|
|
import org.springblade.desk.quality.pojo.request.ProReTemplateAuditRequest; |
|
|
|
import org.springblade.desk.quality.pojo.request.ProReTemplateAuditRequest; |
|
|
|
import org.springblade.desk.quality.pojo.vo.ProReTemplateAuditHistoryVO; |
|
|
|
|
|
|
|
import org.springblade.desk.quality.pojo.vo.ProReTemplateDetailVO; |
|
|
|
import org.springblade.desk.quality.pojo.vo.ProReTemplateDetailVO; |
|
|
|
import org.springblade.desk.quality.pojo.vo.ProReTemplateTankVO; |
|
|
|
import org.springblade.desk.quality.pojo.vo.ProReTemplateTankVO; |
|
|
|
import org.springblade.desk.quality.pojo.vo.ProReTemplateTimelineVO; |
|
|
|
import org.springblade.desk.quality.pojo.vo.ProReTemplateTimelineVO; |
|
|
|
@ -41,8 +43,6 @@ import org.springblade.desk.quality.pojo.vo.ProReTemplateVO; |
|
|
|
import org.springblade.desk.quality.service.IProReTemplateDetailService; |
|
|
|
import org.springblade.desk.quality.service.IProReTemplateDetailService; |
|
|
|
import org.springblade.desk.quality.service.IProReTemplateService; |
|
|
|
import org.springblade.desk.quality.service.IProReTemplateService; |
|
|
|
import org.springblade.desk.quality.service.IProReTemplateTankService; |
|
|
|
import org.springblade.desk.quality.service.IProReTemplateTankService; |
|
|
|
import org.springblade.desk.basic.util.IdUtil; |
|
|
|
|
|
|
|
import org.springblade.desk.basic.util.RoleUtil; |
|
|
|
|
|
|
|
import org.springblade.system.feign.IDictClient; |
|
|
|
import org.springblade.system.feign.IDictClient; |
|
|
|
import org.springblade.system.feign.ISysClient; |
|
|
|
import org.springblade.system.feign.ISysClient; |
|
|
|
import org.springblade.system.feign.IUserClient; |
|
|
|
import org.springblade.system.feign.IUserClient; |
|
|
|
@ -50,9 +50,7 @@ import org.springblade.system.pojo.entity.User; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
|
|
|
import java.util.*; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Stream; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* [过程记录模板] 服务实现类 |
|
|
|
* [过程记录模板] 服务实现类 |
|
|
|
@ -79,11 +77,13 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
@Resource |
|
|
|
@Resource |
|
|
|
private IProReTemplateDetailService detailService; |
|
|
|
private IProReTemplateDetailService detailService; |
|
|
|
@Resource |
|
|
|
@Resource |
|
|
|
private IWorkCenterService workCenterService; |
|
|
|
private IWorkCenterService workCenterService; |
|
|
|
@Resource |
|
|
|
@Resource |
|
|
|
private IBsProcessSetService bsProcessSetService; |
|
|
|
private IBsProcessSetService bsProcessSetService; |
|
|
|
@Resource |
|
|
|
@Resource |
|
|
|
private IMesNotifyMessageClient mesNotifyMessageClient; |
|
|
|
private IMesNotifyMessageClient mesNotifyMessageClient; |
|
|
|
|
|
|
|
@Resource |
|
|
|
|
|
|
|
private IMesApprovalRecordService mesApprovalRecordService; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public IPage<ProReTemplateVO> selectProReTemplatePage(IPage<ProReTemplateVO> page, ProReTemplateVO proReTemplate) { |
|
|
|
public IPage<ProReTemplateVO> selectProReTemplatePage(IPage<ProReTemplateVO> page, ProReTemplateVO proReTemplate) { |
|
|
|
@ -103,12 +103,12 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
public void setVOValue(ProReTemplateVO vo) { |
|
|
|
public void setVOValue(ProReTemplateVO vo) { |
|
|
|
|
|
|
|
|
|
|
|
WorkCenter center = workCenterService.getById(vo.getWcId()); |
|
|
|
WorkCenter center = workCenterService.getById(vo.getWcId()); |
|
|
|
if(center != null){ |
|
|
|
if (center != null) { |
|
|
|
vo.setWcName(center.getWcName()); |
|
|
|
vo.setWcName(center.getWcName()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
BsProcessSetEntity bsProcessSet = bsProcessSetService.getById(vo.getPpsId()); |
|
|
|
BsProcessSetEntity bsProcessSet = bsProcessSetService.getById(vo.getPpsId()); |
|
|
|
if(bsProcessSet != null){ |
|
|
|
if (bsProcessSet != null) { |
|
|
|
vo.setPpsName(bsProcessSet.getName()); |
|
|
|
vo.setPpsName(bsProcessSet.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -206,6 +206,8 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
// 发送消息通知给一级审核人
|
|
|
|
// 发送消息通知给一级审核人
|
|
|
|
sendNotificationToLevel1(template); |
|
|
|
sendNotificationToLevel1(template); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mesApprovalRecordService.createApproval(id, MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime()); |
|
|
|
|
|
|
|
|
|
|
|
return R.success("发布成功,等待一级审核"); |
|
|
|
return R.success("发布成功,等待一级审核"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -267,6 +269,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
// 发送消息通知给二级审核人
|
|
|
|
// 发送消息通知给二级审核人
|
|
|
|
sendNotificationToLevel2(template); |
|
|
|
sendNotificationToLevel2(template); |
|
|
|
updateById(template); |
|
|
|
updateById(template); |
|
|
|
|
|
|
|
mesApprovalRecordService.passApproval(request.getId(), MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime()); |
|
|
|
return R.success("一级审核通过,等待二级审核"); |
|
|
|
return R.success("一级审核通过,等待二级审核"); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// 一级审核不通过
|
|
|
|
// 一级审核不通过
|
|
|
|
@ -275,6 +278,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
template.setAuditRemark(request.getRemark()); |
|
|
|
template.setAuditRemark(request.getRemark()); |
|
|
|
|
|
|
|
|
|
|
|
updateById(template); |
|
|
|
updateById(template); |
|
|
|
|
|
|
|
mesApprovalRecordService.rejectApproval(request.getId(), MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime()); |
|
|
|
return R.success("一级审核不通过"); |
|
|
|
return R.success("一级审核不通过"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -303,6 +307,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
disableOtherTemplates(template.getWcId(), template.getPpsId(), template.getLine(), template.getId()); |
|
|
|
disableOtherTemplates(template.getWcId(), template.getPpsId(), template.getLine(), template.getId()); |
|
|
|
|
|
|
|
|
|
|
|
updateById(template); |
|
|
|
updateById(template); |
|
|
|
|
|
|
|
mesApprovalRecordService.passApproval(request.getId(), MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime()); |
|
|
|
return R.success("二级审核通过,模板已生效"); |
|
|
|
return R.success("二级审核通过,模板已生效"); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// 二级审核不通过
|
|
|
|
// 二级审核不通过
|
|
|
|
@ -311,6 +316,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
template.setAuditRemark(request.getRemark()); |
|
|
|
template.setAuditRemark(request.getRemark()); |
|
|
|
|
|
|
|
|
|
|
|
updateById(template); |
|
|
|
updateById(template); |
|
|
|
|
|
|
|
mesApprovalRecordService.rejectApproval(request.getId(), MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime()); |
|
|
|
return R.success("二级审核不通过"); |
|
|
|
return R.success("二级审核不通过"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -427,7 +433,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private boolean hasAuditRoleLevel1() { |
|
|
|
private boolean hasAuditRoleLevel1() { |
|
|
|
// 工艺组长/工艺室主任
|
|
|
|
// 工艺组长/工艺室主任
|
|
|
|
return RoleUtil.hasAnyRole("process_manager","热表-工艺组长"); |
|
|
|
return RoleUtil.hasAnyRole("process_manager", "热表-工艺组长"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
@ -435,7 +441,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private boolean hasAuditRoleLevel2() { |
|
|
|
private boolean hasAuditRoleLevel2() { |
|
|
|
// 厂长/副厂长
|
|
|
|
// 厂长/副厂长
|
|
|
|
return RoleUtil.hasAnyRole("plant_manager","deputy_plant_manager"); |
|
|
|
return RoleUtil.hasAnyRole("plant_manager", "deputy_plant_manager"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
@ -443,7 +449,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private void sendNotificationToLevel2(ProReTemplate template) { |
|
|
|
private void sendNotificationToLevel2(ProReTemplate template) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
Map<Long,String> roleIdNameMap = new HashMap<>(2){{ |
|
|
|
Map<Long, String> roleIdNameMap = new HashMap<>(2) {{ |
|
|
|
put(2049025452882501633L, "厂长"); |
|
|
|
put(2049025452882501633L, "厂长"); |
|
|
|
put(2049026003313598466L, "副厂长"); |
|
|
|
put(2049026003313598466L, "副厂长"); |
|
|
|
}}; |
|
|
|
}}; |
|
|
|
@ -494,9 +500,9 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private void sendNotificationToLevel1(ProReTemplate template) { |
|
|
|
private void sendNotificationToLevel1(ProReTemplate template) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
Map<Long,String> roleMap = new HashMap<>(2){{ |
|
|
|
Map<Long, String> roleMap = new HashMap<>(2) {{ |
|
|
|
put(2038575519089082370L,"工艺组长"); |
|
|
|
put(2038575519089082370L, "工艺组长"); |
|
|
|
put(2032370955230949378L,"工艺室主任"); |
|
|
|
put(2032370955230949378L, "工艺室主任"); |
|
|
|
}}; |
|
|
|
}}; |
|
|
|
// 工艺组长/工艺室主任
|
|
|
|
// 工艺组长/工艺室主任
|
|
|
|
roleMap.forEach((level1RoleId, roleName) -> { |
|
|
|
roleMap.forEach((level1RoleId, roleName) -> { |
|
|
|
|