|
@@ -13,6 +13,10 @@ import cn.ezhizao.project.business.message.domain.BizMessage;
|
|
import cn.ezhizao.project.business.message.service.IBizMessageService;
|
|
import cn.ezhizao.project.business.message.service.IBizMessageService;
|
|
import cn.ezhizao.project.business.personSeal.domain.BizPersonalSeal;
|
|
import cn.ezhizao.project.business.personSeal.domain.BizPersonalSeal;
|
|
import cn.ezhizao.project.business.personSeal.service.IBizPersonalSealService;
|
|
import cn.ezhizao.project.business.personSeal.service.IBizPersonalSealService;
|
|
|
|
+import cn.ezhizao.project.business.process.domain.BizProcess;
|
|
|
|
+import cn.ezhizao.project.business.process.service.IBizProcessService;
|
|
|
|
+import cn.ezhizao.project.business.product.domain.BizProduct;
|
|
|
|
+import cn.ezhizao.project.business.product.service.IBizProductService;
|
|
import cn.ezhizao.project.business.publicSeal.domain.BizPublicSeal;
|
|
import cn.ezhizao.project.business.publicSeal.domain.BizPublicSeal;
|
|
import cn.ezhizao.project.business.publicSeal.service.IBizPublicSealService;
|
|
import cn.ezhizao.project.business.publicSeal.service.IBizPublicSealService;
|
|
import cn.ezhizao.project.business.technologicalProcessDetailDrawing.domain.BizTechnologicalProcessDetailDrawing;
|
|
import cn.ezhizao.project.business.technologicalProcessDetailDrawing.domain.BizTechnologicalProcessDetailDrawing;
|
|
@@ -42,6 +46,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.*;
|
|
import java.io.*;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
@@ -50,6 +55,7 @@ import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 电子图纸Controller
|
|
* 电子图纸Controller
|
|
@@ -77,9 +83,15 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
|
|
private ISysRoleService sysRoleService;
|
|
private ISysRoleService sysRoleService;
|
|
@Resource
|
|
@Resource
|
|
private ISysUserService sysUserService;
|
|
private ISysUserService sysUserService;
|
|
|
|
+ @Resource
|
|
|
|
+ private IBizProductService bizProductService;
|
|
|
|
+ @Resource
|
|
|
|
+ private IBizProcessService bizProcessService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private IBizTechnologicalProcessDetailDrawingUserService bizTechnologicalProcessDetailDrawingUserService;
|
|
private IBizTechnologicalProcessDetailDrawingUserService bizTechnologicalProcessDetailDrawingUserService;
|
|
|
|
+ @Resource
|
|
|
|
+ private HttpServletRequest request;
|
|
|
|
|
|
|
|
|
|
@Log(title = "电子图纸导出", businessType = BusinessType.EXPORT)
|
|
@Log(title = "电子图纸导出", businessType = BusinessType.EXPORT)
|
|
@@ -334,34 +346,88 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
|
|
return error("未查询到当前员工");
|
|
return error("未查询到当前员工");
|
|
} else {
|
|
} else {
|
|
// 给所有有图纸审批权限的人发站内信,通知审批
|
|
// 给所有有图纸审批权限的人发站内信,通知审批
|
|
- sendMessage();
|
|
|
|
|
|
+ sendMessage(bizTechnologicalProcessDetailDrawing);
|
|
|
|
+ //给所有工段长发送站内信,通知图纸审批
|
|
|
|
+ sendMessageToDept(bizTechnologicalProcessDetailDrawing);
|
|
return success();
|
|
return success();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ private void sendMessageToDept(List<BizTechnologicalProcessDetailDrawing> drawingDetails) {
|
|
|
|
+ List<Long> productIds = drawingDetails.stream().map(BizTechnologicalProcessDetailDrawing::getProductId).collect(Collectors.toList());
|
|
|
|
+ List<BizProduct> productList = bizProductService.query().in("id", productIds).list();
|
|
|
|
+ List<String> processCodes = drawingDetails.stream().map(BizTechnologicalProcessDetailDrawing::getProcessCode).collect(Collectors.toList());
|
|
|
|
+ List<BizProcess> processList = bizProcessService.query().in("process_code", processCodes).list();
|
|
|
|
+ List<BizMessage> messages = new ArrayList<>();
|
|
|
|
+ Long tenantId = Long.parseLong(request.getHeader("tenantId"));
|
|
|
|
+ List<SysUser> items = sysUserService.getAllFormman(tenantId);
|
|
|
|
+ items.forEach(v -> {
|
|
|
|
+ drawingDetails.forEach(d -> {
|
|
|
|
+ BizMessage message = new BizMessage();
|
|
|
|
+ message.setFromNickName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
|
+ message.setFromUserId(SecurityUtils.getLoginUser().getUser().getUserId());
|
|
|
|
+ message.setFromUserName(SecurityUtils.getLoginUser().getUser().getUserName());
|
|
|
|
+ message.setToNickName(v.getNickName());
|
|
|
|
+ message.setToUserId(v.getUserId());
|
|
|
|
+ message.setToUserName(v.getUserName());
|
|
|
|
+ BizProduct bizProduct = productList.stream().filter(p -> p.getId().equals(d.getProductId())).findFirst().orElse(null);
|
|
|
|
+ BizProcess bizProcess = processList.stream().filter(p -> p.getProcessCode().equals(d.getProcessCode())).findFirst().orElse(null);
|
|
|
|
+ if(d.getAbandoned() == 1){
|
|
|
|
+ String mes = bizProduct.getDescription() + "产品,工艺版本" + d.getProductVersion() + bizProcess.getProcessAlias() + "工序" + d.getDrawingName() + "图纸名,图纸已作废,请注意审批。";
|
|
|
|
+ message.setMessage(mes);
|
|
|
|
+ }else{
|
|
|
|
+ if(d.getPattern().trim().equals("替换产品")){
|
|
|
|
+ String mes = bizProduct.getDescription() + "产品,工艺版本" + d.getProductVersion() + bizProcess.getProcessAlias() + "工序" + d.getDrawingName() + "图纸名,图纸已变更,请注意审批。";
|
|
|
|
+ message.setMessage(mes);
|
|
|
|
+ }else{
|
|
|
|
+ String mes = bizProduct.getDescription() + "产品,工艺版本" + d.getProductVersion() + bizProcess.getProcessAlias() + "工序" + d.getDrawingName() + "图纸名,图纸已上传,请注意审批。";
|
|
|
|
+ message.setMessage(mes);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ String mes = bizProduct.getDescription() + "产品,工艺版本" + d.getProductVersion() + bizProcess.getProcessAlias() + "工序" + d.getDrawingName() + "图纸名,图纸已作废,请注意查看。";
|
|
|
|
+// message.setMessage("您有图纸待批准,请前往【工艺管理】下【等待批准图纸】菜单进行操作。");
|
|
|
|
+ message.setMessage(mes);
|
|
|
|
+ message.setMessageDate(new Date());
|
|
|
|
+ messages.add(message);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ bizMessageService.saveBatch(messages);
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 发送审批信息
|
|
* 发送审批信息
|
|
*/
|
|
*/
|
|
- private void sendMessage() {
|
|
|
|
|
|
+ private void sendMessage(List<BizTechnologicalProcessDetailDrawing> drawingDetails) {
|
|
|
|
+ List<Long> productIds = drawingDetails.stream().map(BizTechnologicalProcessDetailDrawing::getProductId).collect(Collectors.toList());
|
|
|
|
+ List<BizProduct> productList = bizProductService.query().in("id", productIds).list();
|
|
|
|
+ List<String> processCodes = drawingDetails.stream().map(BizTechnologicalProcessDetailDrawing::getProcessCode).collect(Collectors.toList());
|
|
|
|
+ List<BizProcess> processList = bizProcessService.query().in("process_code", processCodes).list();
|
|
SysRole role = new SysRole();
|
|
SysRole role = new SysRole();
|
|
role.setRoleKey("drawingRatify");
|
|
role.setRoleKey("drawingRatify");
|
|
List<SysRole> roles = sysRoleService.selectRoleList(role);
|
|
List<SysRole> roles = sysRoleService.selectRoleList(role);
|
|
List<BizMessage> messages = new ArrayList<>();
|
|
List<BizMessage> messages = new ArrayList<>();
|
|
|
|
+ Long tenantId = Long.parseLong(request.getHeader("tenantId"));
|
|
roles.forEach(l -> {
|
|
roles.forEach(l -> {
|
|
SysUser conditions = new SysUser();
|
|
SysUser conditions = new SysUser();
|
|
conditions.setRoleId(l.getRoleId());
|
|
conditions.setRoleId(l.getRoleId());
|
|
|
|
+ conditions.setTenantId(tenantId);
|
|
List<SysUser> items = sysUserService.selectAllocatedList(conditions);
|
|
List<SysUser> items = sysUserService.selectAllocatedList(conditions);
|
|
items.forEach(v -> {
|
|
items.forEach(v -> {
|
|
- BizMessage message = new BizMessage();
|
|
|
|
- message.setFromNickName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
|
- message.setFromUserId(SecurityUtils.getLoginUser().getUser().getUserId());
|
|
|
|
- message.setFromUserName(SecurityUtils.getLoginUser().getUser().getUserName());
|
|
|
|
- message.setToNickName(v.getNickName());
|
|
|
|
- message.setToUserId(v.getUserId());
|
|
|
|
- message.setToUserName(v.getUserName());
|
|
|
|
- message.setMessage("您有图纸待批准,请前往【工艺管理】下【等待批准图纸】菜单进行操作。");
|
|
|
|
- message.setMessageDate(new Date());
|
|
|
|
- messages.add(message);
|
|
|
|
|
|
+ drawingDetails.forEach(d -> {
|
|
|
|
+ BizMessage message = new BizMessage();
|
|
|
|
+ message.setFromNickName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
|
+ message.setFromUserId(SecurityUtils.getLoginUser().getUser().getUserId());
|
|
|
|
+ message.setFromUserName(SecurityUtils.getLoginUser().getUser().getUserName());
|
|
|
|
+ message.setToNickName(v.getNickName());
|
|
|
|
+ message.setToUserId(v.getUserId());
|
|
|
|
+ message.setToUserName(v.getUserName());
|
|
|
|
+ BizProduct bizProduct = productList.stream().filter(p -> p.getId().equals(d.getProductId())).findFirst().orElse(null);
|
|
|
|
+ BizProcess bizProcess = processList.stream().filter(p -> p.getProcessCode().equals(d.getProcessCode())).findFirst().orElse(null);
|
|
|
|
+ String mes = bizProduct.getDescription() + "产品,工艺版本" + d.getProductVersion() + bizProcess.getProcessAlias() + "工序" + d.getDrawingName() + "图纸名,图纸已变化,请注意审批。";
|
|
|
|
+// message.setMessage("您有图纸待批准,请前往【工艺管理】下【等待批准图纸】菜单进行操作。");
|
|
|
|
+ message.setMessage(mes);
|
|
|
|
+ message.setMessageDate(new Date());
|
|
|
|
+ messages.add(message);
|
|
|
|
+ });
|
|
});
|
|
});
|
|
});
|
|
});
|
|
bizMessageService.saveBatch(messages);
|
|
bizMessageService.saveBatch(messages);
|
|
@@ -375,7 +441,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
|
|
@Transactional
|
|
@Transactional
|
|
public AjaxResult drawingNG(@RequestBody List<BizTechnologicalProcessDetailDrawing> processDetailDrawing) throws NoSuchFieldException, IllegalAccessException, IOException {
|
|
public AjaxResult drawingNG(@RequestBody List<BizTechnologicalProcessDetailDrawing> processDetailDrawing) throws NoSuchFieldException, IllegalAccessException, IOException {
|
|
bizTechnologicalProcessDetailDrawingService.drawingNG(processDetailDrawing, SecurityUtils.getLoginUser().getUser().getUserName(), SecurityUtils.getLoginUser().getUser().getNickName());
|
|
bizTechnologicalProcessDetailDrawingService.drawingNG(processDetailDrawing, SecurityUtils.getLoginUser().getUser().getUserName(), SecurityUtils.getLoginUser().getUser().getNickName());
|
|
- sendMessage();
|
|
|
|
|
|
+ sendMessage(processDetailDrawing);
|
|
return success(true);
|
|
return success(true);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -389,7 +455,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
|
|
} else if (i == 4) {
|
|
} else if (i == 4) {
|
|
return error("未查询到当前员工");
|
|
return error("未查询到当前员工");
|
|
} else {
|
|
} else {
|
|
- sendMessage();
|
|
|
|
|
|
+ sendMessage(processDetailDrawing);
|
|
return success();
|
|
return success();
|
|
}
|
|
}
|
|
|
|
|