ezhizao_zx пре 3 месеци
родитељ
комит
5fc3f14a54

+ 15 - 7
src/main/java/cn/ezhizao/project/business/message/controller/BizMessageController.java

@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
 import java.util.List;
 
 @RestController
@@ -42,10 +43,10 @@ public class BizMessageController  extends BaseController {
      */
     @Log(title = "报工技术咨询", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, BizMessage bizDayworkItemConsult) throws NoSuchFieldException, IllegalAccessException
+    public void export(HttpServletResponse response, BizMessage message) throws NoSuchFieldException, IllegalAccessException
     {
-        setTenantId(bizDayworkItemConsult);
-        List<BizMessage> list = bizMessageService.getList(bizDayworkItemConsult);
+        setTenantId(message);
+        List<BizMessage> list = bizMessageService.getList(message);
         ExcelUtil<BizMessage> util = new ExcelUtil<BizMessage>(BizMessage.class);
         util.exportExcel(response, list, "报工技术咨询数据");
     }
@@ -64,10 +65,10 @@ public class BizMessageController  extends BaseController {
      */
     @Log(title = "新增消息", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody BizMessage bizDayworkItemConsult) throws NoSuchFieldException, IllegalAccessException
+    public AjaxResult add(@RequestBody BizMessage message) throws NoSuchFieldException, IllegalAccessException
     {
 //        setTenantId(bizDayworkItemConsult);
-        return toAjax(bizMessageService.save(bizDayworkItemConsult));
+        return toAjax(bizMessageService.save(message));
     }
 
     /**
@@ -75,10 +76,10 @@ public class BizMessageController  extends BaseController {
      */
     @Log(title = "修改消息", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody BizMessage bizDayworkItemConsult) throws NoSuchFieldException, IllegalAccessException
+    public AjaxResult edit(@RequestBody BizMessage message) throws NoSuchFieldException, IllegalAccessException
     {
 //        setTenantId(bizDayworkItemConsult);
-        return toAjax(bizMessageService.updateById(bizDayworkItemConsult));
+        return toAjax(bizMessageService.updateById(message));
     }
 
     /**
@@ -90,4 +91,11 @@ public class BizMessageController  extends BaseController {
     {
         return toAjax(bizMessageService.removeBatchByIds(ids));
     }
+
+    @PostMapping("/read")
+    public AjaxResult read(@RequestBody BizMessage message) {
+        message.setMsgRead(1);
+        message.setReadTime(new Date());
+        return toAjax(bizMessageService.updateById(message));
+    }
 }

+ 3 - 0
src/main/java/cn/ezhizao/project/business/message/domain/BizMessage.java

@@ -55,6 +55,9 @@ public class BizMessage
     @ApiModelProperty(value = "发信时间")
     private Date messageDate;
 
+    private Date readTime;
+    private Integer msgRead;
+
     @TableField(exist = false)
     private List<Long> ids = new ArrayList<>();
 }

+ 132 - 99
src/main/java/cn/ezhizao/project/business/technologicalProcessDetailDrawing/controller/BizTechnologicalProcessDetailDrawingController.java

@@ -9,6 +9,8 @@ import cn.ezhizao.framework.config.RuoYiConfig;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.framework.web.page.TableDataInfo;
+import cn.ezhizao.project.business.message.domain.BizMessage;
+import cn.ezhizao.project.business.message.service.IBizMessageService;
 import cn.ezhizao.project.business.personSeal.domain.BizPersonalSeal;
 import cn.ezhizao.project.business.personSeal.service.IBizPersonalSealService;
 import cn.ezhizao.project.business.publicSeal.domain.BizPublicSeal;
@@ -19,7 +21,9 @@ import cn.ezhizao.project.business.technologicalProcessDetailDrawingRecords.doma
 import cn.ezhizao.project.business.technologicalProcessDetailDrawingRecords.service.IBizTechnologicalProcessDetailDrawingRecordsService;
 import cn.ezhizao.project.business.technologicalProcessDetailDrawingUser.domain.BizTechnologicalProcessDetailDrawingUser;
 import cn.ezhizao.project.business.technologicalProcessDetailDrawingUser.service.IBizTechnologicalProcessDetailDrawingUserService;
+import cn.ezhizao.project.system.domain.SysRole;
 import cn.ezhizao.project.system.domain.SysUser;
+import cn.ezhizao.project.system.service.ISysRoleService;
 import cn.ezhizao.project.system.service.ISysUserService;
 import org.apache.pdfbox.exceptions.COSVisitorException;
 import org.springframework.beans.factory.annotation.Value;
@@ -55,19 +59,24 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/business/drawing")
-public class BizTechnologicalProcessDetailDrawingController extends BaseController
-{
+public class BizTechnologicalProcessDetailDrawingController extends BaseController {
 
     @Resource
     private IBizTechnologicalProcessDetailDrawingService bizTechnologicalProcessDetailDrawingService;
     @Resource
     private IBizTechnologicalProcessDetailDrawingRecordsService bizTechnologicalProcessDetailDrawingRecordsService;
     @Resource
-    private IBizPersonalSealService bizPersonalSealService ;
+    private IBizPersonalSealService bizPersonalSealService;
     @Resource
     private IBizPublicSealService bizPublicSealService;
     @Resource
     private ISysUserService userService;
+    @Resource
+    private IBizMessageService bizMessageService;
+    @Resource
+    private ISysRoleService sysRoleService;
+    @Resource
+    private ISysUserService sysUserService;
 
     @Resource
     private IBizTechnologicalProcessDetailDrawingUserService bizTechnologicalProcessDetailDrawingUserService;
@@ -75,7 +84,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
 
     @Log(title = "电子图纸导出", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void exportDrawing(HttpServletResponse response){
+    public void exportDrawing(HttpServletResponse response) {
 
 
         BizTechnologicalProcessDetailDrawing item = new BizTechnologicalProcessDetailDrawing();
@@ -83,8 +92,6 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
         for (BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing : list) {
 
 
-
-
             bizTechnologicalProcessDetailDrawing.setCompanyAlias(bizTechnologicalProcessDetailDrawing.getProduct().getCompanyAlias());
             bizTechnologicalProcessDetailDrawing.setSpecification(bizTechnologicalProcessDetailDrawing.getProduct().getSpecification());
             bizTechnologicalProcessDetailDrawing.setDescription(bizTechnologicalProcessDetailDrawing.getProduct().getDescription());
@@ -98,29 +105,28 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
     @PreAuthorize("@ss.hasPermi('business:workpiece:import')")
     @Transactional
     @PostMapping("/importData")
-    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
-    {
+    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<BizTechnologicalProcessDetailDrawing> util = new ExcelUtil<>(BizTechnologicalProcessDetailDrawing.class);
         List<BizTechnologicalProcessDetailDrawing> bizTechnologicalProcessDetailDrawings = util.importExcel(file.getInputStream());
         List<BizTechnologicalProcessDetailDrawing> noSealUserList = new ArrayList<>();
-        for(BizTechnologicalProcessDetailDrawing item : bizTechnologicalProcessDetailDrawings){
+        for (BizTechnologicalProcessDetailDrawing item : bizTechnologicalProcessDetailDrawings) {
             SysUser userParam = new SysUser();
             SysUser user = new SysUser();
             userParam.setUserName(item.getProducerCode());
             userParam.setNickName(item.getProducer());
             List<SysUser> userList = userService.getListByUserName(userParam);
-            if (userList.isEmpty()){
+            if (userList.isEmpty()) {
                 item.setMessage("制作人信息录入错误");
                 noSealUserList.add(item);
                 continue;
-            }else {
+            } else {
                 user = userList.get(0);
             }
             SysUser Reviewer = new SysUser();
             Reviewer.setUserName(item.getReviewerCode());
             Reviewer.setNickName(item.getReviewer());
             List<SysUser> ReviewerList = userService.getListByUserName(Reviewer);
-            if (ReviewerList.isEmpty()){
+            if (ReviewerList.isEmpty()) {
                 item.setMessage("审核人信息录入错误");
                 noSealUserList.add(item);
                 continue;
@@ -130,7 +136,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
             Issuer.setNickName(item.getIssuer());
 
             List<SysUser> IssuerList = userService.getListByUserName(Issuer);
-            if (IssuerList.isEmpty()){
+            if (IssuerList.isEmpty()) {
                 item.setMessage("批准人信息录入错误");
                 noSealUserList.add(item);
                 continue;
@@ -139,27 +145,27 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
             person.setUserId(user.getUserId());
             String filePath = RuoYiConfig.getProfile();
             List<BizPersonalSeal> personList = bizPersonalSealService.getList(person);
-            System.out.println("查询个人章"+person);
-            System.out.println("查询个人章是否为空"+personList.isEmpty());
+            System.out.println("查询个人章" + person);
+            System.out.println("查询个人章是否为空" + personList.isEmpty());
             // 获取当前日期
             LocalDate currentDate = LocalDate.now();
             // 定义日期格式
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
             // 格式化日期
             String formattedDate = currentDate.format(formatter);
-            if(personList.isEmpty()){
+            if (personList.isEmpty()) {
                 item.setMessage("没有个人章");
                 noSealUserList.add(item);
-                continue ;
+                continue;
             }
             BizTechnologicalProcessDetailDrawing repeatList = bizTechnologicalProcessDetailDrawingService.query().eq("id", item.getId()).one();
-            if(repeatList.getProducerId() !=0 || repeatList.getReviewerId() !=0 || repeatList.getIssuerId() !=0){
+            if (repeatList.getProducerId() != 0 || repeatList.getReviewerId() != 0 || repeatList.getIssuerId() != 0) {
                 item.setMessage("该图纸已走会签流程");
                 noSealUserList.add(item);
-                continue ;
+                continue;
             }
             String personalSeal = personList.get(0).getUrl().substring("/profile".length());
-            BizTechnologicalProcessDetailDrawing getItem = bizTechnologicalProcessDetailDrawingService.query().eq("id",item.getId()).one();
+            BizTechnologicalProcessDetailDrawing getItem = bizTechnologicalProcessDetailDrawingService.query().eq("id", item.getId()).one();
             getItem.setMarkD(item.getMarkD());
             getItem.setIdentification(item.getIdentification());
 
@@ -174,11 +180,11 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
             //上传调整尺寸
 
 
-            PdfUtils.reSized(filePath + url,filePath +url.substring(0, url.length()-4) + "制作" + url.substring(url.length()-4),100,"height");
-            bizTechnologicalProcessDetailDrawingService.addText(filePath +url.substring(0, url.length()-4) + "制作" + url.substring(url.length()-4),filePath+url.substring(0, url.length()-4) + "制作人" + url.substring(url.length()-4),"制定人:",550,75,12,270);
-            bizTechnologicalProcessDetailDrawingService.addText(filePath +url.substring(0, url.length()-4) + "制作人" + url.substring(url.length()-4),filePath+url.substring(0, url.length()-4) + "制作时间" + url.substring(url.length()-4),formattedDate,500,75,12,270);
-            bizTechnologicalProcessDetailDrawingService.addImage(filePath+url.substring(0, url.length()-4) + "制作时间" + url.substring(url.length()-4),filePath+url.substring(0, url.length()-4) + "制作完成" + url.substring(url.length()-4),filePath+personalSeal,515,40,30,30,270,1);
-            getItem.setUrl("/profile/"+url.substring(0, url.length()-4) + "制作完成" + url.substring(url.length()-4));
+            PdfUtils.reSized(filePath + url, filePath + url.substring(0, url.length() - 4) + "制作" + url.substring(url.length() - 4), 100, "height");
+            bizTechnologicalProcessDetailDrawingService.addText(filePath + url.substring(0, url.length() - 4) + "制作" + url.substring(url.length() - 4), filePath + url.substring(0, url.length() - 4) + "制作人" + url.substring(url.length() - 4), "制定人:", 550, 75, 12, 270);
+            bizTechnologicalProcessDetailDrawingService.addText(filePath + url.substring(0, url.length() - 4) + "制作人" + url.substring(url.length() - 4), filePath + url.substring(0, url.length() - 4) + "制作时间" + url.substring(url.length() - 4), formattedDate, 500, 75, 12, 270);
+            bizTechnologicalProcessDetailDrawingService.addImage(filePath + url.substring(0, url.length() - 4) + "制作时间" + url.substring(url.length() - 4), filePath + url.substring(0, url.length() - 4) + "制作完成" + url.substring(url.length() - 4), filePath + personalSeal, 515, 40, 30, 30, 270, 1);
+            getItem.setUrl("/profile/" + url.substring(0, url.length() - 4) + "制作完成" + url.substring(url.length() - 4));
             bizTechnologicalProcessDetailDrawingService.updateById(getItem);
             //添加用户记录
             BizTechnologicalProcessDetailDrawingUser drawingUser = new BizTechnologicalProcessDetailDrawingUser();
@@ -192,16 +198,16 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
             drawingUser.setProductVersion(getItem.getProductVersion());
             drawingUser.setRecordTime(new Date());
             bizTechnologicalProcessDetailDrawingUserService.save(drawingUser);
-            List<BizTechnologicalProcessDetailDrawing>itemList = new ArrayList<>();
+            List<BizTechnologicalProcessDetailDrawing> itemList = new ArrayList<>();
             itemList.add(getItem);
             //开始正是走审核流程
 
-            bizTechnologicalProcessDetailDrawingService.saveData(itemList,item.getReviewerCode(),item.getReviewer());
+            bizTechnologicalProcessDetailDrawingService.saveData(itemList, item.getReviewerCode(), item.getReviewer());
             //批准流程
 
-            bizTechnologicalProcessDetailDrawingService.saveData(itemList,item.getIssuerCode(),item.getIssuer());
+            bizTechnologicalProcessDetailDrawingService.saveData(itemList, item.getIssuerCode(), item.getIssuer());
         }
-        if (!noSealUserList.isEmpty()){
+        if (!noSealUserList.isEmpty()) {
             System.out.println("11111111111111111111111111111111111111111111111111111");
             System.out.println(noSealUserList);
             String filePath = RuoYiConfig.getProfile();
@@ -210,7 +216,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
                     .toArray(String[]::new));
 
             // 指定文件路径,例如保存在当前项目目录
-            String txtFilePath = filePath+"/upload/" +"noSealUserList.txt";
+            String txtFilePath = filePath + "/upload/" + "noSealUserList.txt";
 
             // 将字符串写入文件
             try (BufferedWriter writer = new BufferedWriter(new FileWriter(txtFilePath))) {
@@ -228,8 +234,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
      */
     @Log(title = "电子图纸查询", businessType = BusinessType.SELECT)
     @GetMapping("/list")
-    public TableDataInfo list(BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException
-    {
+    public TableDataInfo list(BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException {
 //        setTenantId(bizTechnologicalProcessDetailDrawing);
         startPage();
         List<BizTechnologicalProcessDetailDrawing> list = bizTechnologicalProcessDetailDrawingService.getList(bizTechnologicalProcessDetailDrawing);
@@ -241,8 +246,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
      */
     @Log(title = "电子图纸查询", businessType = BusinessType.SELECT)
     @GetMapping("/drawingList")
-    public TableDataInfo drawingList(BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException
-    {
+    public TableDataInfo drawingList(BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException {
 //        setTenantId(bizTechnologicalProcessDetailDrawing);
         startPage();
         List<BizTechnologicalProcessDetailDrawing> list = bizTechnologicalProcessDetailDrawingService.getDrawingList(bizTechnologicalProcessDetailDrawing);
@@ -254,34 +258,33 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
      */
     @Log(title = "电子图纸条件查询", businessType = BusinessType.SELECT)
     @GetMapping("/byName")
-    public AjaxResult byName(BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException
-    {
+    public AjaxResult byName(BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException {
 
         List<BizTechnologicalProcessDetailDrawing> drawingName = bizTechnologicalProcessDetailDrawingService
                 .query()
                 .eq("drawing_name", bizTechnologicalProcessDetailDrawing.getDrawingName())
-                .eq("product_version",bizTechnologicalProcessDetailDrawing.getProductVersion())
-                .eq("process_code",bizTechnologicalProcessDetailDrawing.getProcessCode())
-                .eq("product_id",bizTechnologicalProcessDetailDrawing.getProductId())
+                .eq("product_version", bizTechnologicalProcessDetailDrawing.getProductVersion())
+                .eq("process_code", bizTechnologicalProcessDetailDrawing.getProcessCode())
+                .eq("product_id", bizTechnologicalProcessDetailDrawing.getProductId())
                 .list();
 
         return success(drawingName);
     }
+
     /**
      * 根据文件名查询列表
      */
     @Log(title = "电子图纸根据文件名查询", businessType = BusinessType.SELECT)
     @GetMapping("/getListByName")
-    public AjaxResult getListByName(BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException
-    {
+    public AjaxResult getListByName(BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException {
 
         List<BizTechnologicalProcessDetailDrawing> drawingName = bizTechnologicalProcessDetailDrawingService
                 .query()
                 .eq("drawing_name", bizTechnologicalProcessDetailDrawing.getDrawingName())
-                .eq("product_version",bizTechnologicalProcessDetailDrawing.getProductVersion())
-                .eq("process_code",bizTechnologicalProcessDetailDrawing.getProcessCode())
-                .eq("product_id",bizTechnologicalProcessDetailDrawing.getProductId())
-                .eq("status",0)
+                .eq("product_version", bizTechnologicalProcessDetailDrawing.getProductVersion())
+                .eq("process_code", bizTechnologicalProcessDetailDrawing.getProcessCode())
+                .eq("product_id", bizTechnologicalProcessDetailDrawing.getProductId())
+                .eq("status", 0)
                 .list();
 
         return success(drawingName);
@@ -306,13 +309,13 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
     @PreAuthorize("@ss.hasPermi('business:drawing:query')")
     @Log(title = "电子图纸查询详细信息", businessType = BusinessType.SELECT)
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         return success(bizTechnologicalProcessDetailDrawingService.getById(id));
     }
+
     @Log(title = "产品电子图纸查询", businessType = BusinessType.SELECT)
-    @GetMapping(value="/getProcuctDrawing")
-    public AjaxResult getProcuctDrawing(){
+    @GetMapping(value = "/getProcuctDrawing")
+    public AjaxResult getProcuctDrawing() {
         return success(bizTechnologicalProcessDetailDrawingService.getProcuctDrawing());
     }
 
@@ -325,17 +328,45 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
     public AjaxResult save(@RequestBody List<BizTechnologicalProcessDetailDrawing> bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException, COSVisitorException, DocumentException, IOException {
 
 
-
-        int i = bizTechnologicalProcessDetailDrawingService.saveData(bizTechnologicalProcessDetailDrawing,SecurityUtils.getLoginUser().getUser().getUserName(),SecurityUtils.getLoginUser().getUser().getNickName());
+        int i = bizTechnologicalProcessDetailDrawingService.saveData(bizTechnologicalProcessDetailDrawing, SecurityUtils.getLoginUser().getUser().getUserName(), SecurityUtils.getLoginUser().getUser().getNickName());
         if (i == 3) {
             return error("请先上传个人章");
-        } else if (i ==4) {
+        } else if (i == 4) {
             return error("未查询到当前员工");
         } else {
+            // 给所有有图纸审批权限的人发站内信,通知审批
+            sendMessage();
             return success();
         }
     }
 
+    /**
+     * 发送审批信息
+     */
+    private void sendMessage() {
+        SysRole role = new SysRole();
+        role.setRoleKey("drawingRatify");
+        List<SysRole> roles = sysRoleService.selectRoleList(role);
+        List<BizMessage> messages = new ArrayList<>();
+        roles.forEach(l -> {
+            SysUser conditions = new SysUser();
+            conditions.setRoleId(l.getRoleId());
+            List<SysUser> items = sysUserService.selectAllocatedList(conditions);
+            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);
+            });
+        });
+        bizMessageService.saveBatch(messages);
+    }
 
     /**
      * 电子图纸作废
@@ -344,32 +375,35 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
     @PutMapping("/drawingNG")
     @Transactional
     public AjaxResult drawingNG(@RequestBody List<BizTechnologicalProcessDetailDrawing> processDetailDrawing) throws NoSuchFieldException, IllegalAccessException, IOException {
-       return success( bizTechnologicalProcessDetailDrawingService.drawingNG(processDetailDrawing,SecurityUtils.getLoginUser().getUser().getUserName(),SecurityUtils.getLoginUser().getUser().getNickName()));
+        bizTechnologicalProcessDetailDrawingService.drawingNG(processDetailDrawing, SecurityUtils.getLoginUser().getUser().getUserName(), SecurityUtils.getLoginUser().getUser().getNickName());
+        sendMessage();
+        return success(true);
     }
 
     @Log(title = "电子图纸作废", businessType = BusinessType.UPDATE)
     @PutMapping("/drawingRemove")
     @Transactional
     public AjaxResult drawingRemove(@RequestBody List<BizTechnologicalProcessDetailDrawing> processDetailDrawing) throws NoSuchFieldException, IllegalAccessException, IOException, DocumentException {
-        int i = bizTechnologicalProcessDetailDrawingService.drawingRemove(processDetailDrawing,SecurityUtils.getLoginUser().getUser().getUserName(),SecurityUtils.getLoginUser().getUser().getNickName());
+        int i = bizTechnologicalProcessDetailDrawingService.drawingRemove(processDetailDrawing, SecurityUtils.getLoginUser().getUser().getUserName(), SecurityUtils.getLoginUser().getUser().getNickName());
         if (i == 3) {
             return error("请先上传个人章");
-        } else if (i ==4) {
+        } else if (i == 4) {
             return error("未查询到当前员工");
         } else {
+            sendMessage();
             return success();
         }
 
 
     }
+
     /**
      * 电子图纸替换
      */
     @Log(title = "电子图纸替换", businessType = BusinessType.UPDATE)
     @PutMapping("/replaceDrawing")
     @Transactional
-    public AjaxResult replace(@RequestBody BizTechnologicalProcessDetailDrawing processDetailDrawing) throws NoSuchFieldException, IllegalAccessException
-    {
+    public AjaxResult replace(@RequestBody BizTechnologicalProcessDetailDrawing processDetailDrawing) throws NoSuchFieldException, IllegalAccessException {
         //废弃旧图纸,生成新图纸
         processDetailDrawing.setStatus(3);
         processDetailDrawing.setVoided(SecurityUtils.getLoginUser().getUser().getNickName());
@@ -385,25 +419,29 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
         processDetailDrawing.setReviewerId(null);
         processDetailDrawing.setProducerId(SecurityUtils.getLoginUser().getUser().getUserId());
         processDetailDrawing.setProducer(SecurityUtils.getLoginUser().getUser().getNickName());
-        return toAjax(bizTechnologicalProcessDetailDrawingService.save(processDetailDrawing));
+        boolean result = bizTechnologicalProcessDetailDrawingService.save(processDetailDrawing);
+        if (result) {
+            sendMessage();
+        }
+        return toAjax(result);
     }
 
 
-
-
     @Log(title = "电子图纸替换", businessType = BusinessType.UPDATE)
     @PutMapping("/replace")
     @Transactional
     public AjaxResult replaceDrawing(@RequestBody BizTechnologicalProcessDetailDrawing processDetailDrawing) throws NoSuchFieldException, IllegalAccessException, COSVisitorException, DocumentException, IOException {
         int i = bizTechnologicalProcessDetailDrawingService.replaceDrawing(processDetailDrawing);
-        if (i == 3 ){
+        if (i == 3) {
             return error("请先上传个人章");
-        }else {
+        } else {
+            sendMessage();
             return toAjax(i);
         }
 
 
     }
+
     /**
      * 新增电子图纸
      */
@@ -411,42 +449,41 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
     @Log(title = "电子图纸新增", businessType = BusinessType.INSERT)
     @PostMapping
     @Transactional
-    public AjaxResult add(@RequestBody BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException
-    {
+    public AjaxResult add(@RequestBody BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing) throws NoSuchFieldException, IllegalAccessException {
         //判断覆盖的文件序号最高排到第几个,然后递增
         List<BizTechnologicalProcessDetailDrawing> drawingName = bizTechnologicalProcessDetailDrawingService
                 .query()
-                .like("drawing_name", bizTechnologicalProcessDetailDrawing.getDrawingName().substring(0, bizTechnologicalProcessDetailDrawing.getDrawingName().length() - 4)+"%")
-                .eq("technological_process_detail_id",bizTechnologicalProcessDetailDrawing.getTechnologicalProcessDetailId())
+                .like("drawing_name", bizTechnologicalProcessDetailDrawing.getDrawingName().substring(0, bizTechnologicalProcessDetailDrawing.getDrawingName().length() - 4) + "%")
+                .eq("technological_process_detail_id", bizTechnologicalProcessDetailDrawing.getTechnologicalProcessDetailId())
                 .list();
         List<Integer> numList = new ArrayList<>();
-        if (drawingName.size()>0){
-            for (BizTechnologicalProcessDetailDrawing item: drawingName
+        if (drawingName.size() > 0) {
+            for (BizTechnologicalProcessDetailDrawing item : drawingName
             ) {
                 //判断倒数第五第六字符是否是数字,不是数字或者只有一个数字的话都会返回空值
                 String lastFifthCharDigit = isLastFifthCharDigit(item.getDrawingName());
-                if (!lastFifthCharDigit.equals("")){
+                if (!lastFifthCharDigit.equals("")) {
 
                     numList.add(Integer.parseInt(lastFifthCharDigit));
                 }
 
             }
             //获取最大值
-            if (numList.size()>0){
+            if (numList.size() > 0) {
                 Integer max = Collections.max(numList);
                 String str = "";
-                if (max<10){
-                    str = "0"+ (max +1);
-                }else {
-                    str = ""+ (max +1);
+                if (max < 10) {
+                    str = "0" + (max + 1);
+                } else {
+                    str = "" + (max + 1);
                 }
                 bizTechnologicalProcessDetailDrawing.setDrawingName(
                         bizTechnologicalProcessDetailDrawing.getDrawingName().substring(0, bizTechnologicalProcessDetailDrawing.getDrawingName().length() - 4)
-                        + "_"
-                        + str
-                        + bizTechnologicalProcessDetailDrawing.getDrawingName().substring(bizTechnologicalProcessDetailDrawing.getDrawingName().length() - 4)
+                                + "_"
+                                + str
+                                + bizTechnologicalProcessDetailDrawing.getDrawingName().substring(bizTechnologicalProcessDetailDrawing.getDrawingName().length() - 4)
                 );
-            }else {
+            } else {
                 bizTechnologicalProcessDetailDrawing.setDrawingName(
                         bizTechnologicalProcessDetailDrawing.getDrawingName().substring(0, bizTechnologicalProcessDetailDrawing.getDrawingName().length() - 4)
                                 + "_01"
@@ -458,7 +495,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
 
         bizTechnologicalProcessDetailDrawingService.save(bizTechnologicalProcessDetailDrawing);
         //新增同时增加操作记录,覆盖不增加
-        if (!bizTechnologicalProcessDetailDrawing.getType()){
+        if (!bizTechnologicalProcessDetailDrawing.getType()) {
             BizTechnologicalProcessDetailDrawingRecords drawingRecords = new BizTechnologicalProcessDetailDrawingRecords();
             drawingRecords.setDrawingName(bizTechnologicalProcessDetailDrawing.getDrawingName());
             drawingRecords.setTechnologicalProcessDetailDrawingId(bizTechnologicalProcessDetailDrawing.getId());
@@ -469,8 +506,10 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
             drawingRecords.setType("新增");
             bizTechnologicalProcessDetailDrawingRecordsService.save(drawingRecords);
         }
+        sendMessage();
         return success();
     }
+
     /**
      * 覆盖电子图纸
      */
@@ -478,9 +517,7 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
     @Log(title = "电子图纸修改", businessType = BusinessType.UPDATE)
     @PutMapping
     @Transactional
-    public AjaxResult edit(@RequestBody BizTechnologicalProcessDetailDrawing processDetailDrawing) throws NoSuchFieldException, IllegalAccessException
-    {
-
+    public AjaxResult edit(@RequestBody BizTechnologicalProcessDetailDrawing processDetailDrawing) throws NoSuchFieldException, IllegalAccessException {
 
 
         return toAjax(bizTechnologicalProcessDetailDrawingService.edit(processDetailDrawing));
@@ -489,12 +526,13 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
 
     /**
      * 计算重名文件后缀
+     *
      * @param s
      * @return
      */
-    public static String isLastFifthCharDigit(String s ) {
+    public static String isLastFifthCharDigit(String s) {
         int length = s.length();
-        if (s == null || length<7){
+        if (s == null || length < 7) {
             return "";
         }
         // 获取倒数第五个到第七字符,查询是不是“_00”格式
@@ -503,18 +541,18 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
         char seventhCharFromEnd = s.charAt(s.length() - 7);
         String item = "";
         // 判断字符是否是数字
-        if (seventhCharFromEnd == '_'){
-            if (Character.isDigit(fifthCharFromEnd)){
-                if (Character.isDigit(sixthCharFromEnd)){
+        if (seventhCharFromEnd == '_') {
+            if (Character.isDigit(fifthCharFromEnd)) {
+                if (Character.isDigit(sixthCharFromEnd)) {
 
-                    return  Character.getNumericValue(sixthCharFromEnd) + "" + Character.getNumericValue(fifthCharFromEnd);
-                }else{
-                    return "0"+ Character.getNumericValue(fifthCharFromEnd);
+                    return Character.getNumericValue(sixthCharFromEnd) + "" + Character.getNumericValue(fifthCharFromEnd);
+                } else {
+                    return "0" + Character.getNumericValue(fifthCharFromEnd);
                 }
-            }else {
+            } else {
                 return "";
             }
-        }else {
+        } else {
             return "";
         }
 
@@ -549,10 +587,9 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
      */
     @PreAuthorize("@ss.hasPermi('business:drawing:remove')")
     @Log(title = "电子图纸删除", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
+    @DeleteMapping("/{ids}")
     @Transactional
-    public AjaxResult remove(@PathVariable Long ids)
-    {
+    public AjaxResult remove(@PathVariable Long ids) {
         BizTechnologicalProcessDetailDrawing bizTechnologicalProcessDetailDrawing = bizTechnologicalProcessDetailDrawingService.query().eq("id", ids).one();
         BizTechnologicalProcessDetailDrawingRecords drawingRecords = new BizTechnologicalProcessDetailDrawingRecords();
         drawingRecords.setDrawingName(bizTechnologicalProcessDetailDrawing.getDrawingName());
@@ -567,8 +604,4 @@ public class BizTechnologicalProcessDetailDrawingController extends BaseControll
     }
 
 
-
-
-
-
 }

+ 1 - 1
src/main/java/cn/ezhizao/project/websocket/WebSocketUser.java

@@ -98,7 +98,7 @@ public class WebSocketUser {
         log.info("用户消息:" + userId + ",报文:" + message);
         //可以群发消息
         //消息保存到数据库、redis
-        if (StringUtils.isNotBlank(message)) {
+        if (StringUtils.isNotBlank(message) && !message.equals("ping")) {
             try {
                 //解析发送的报文
                 JSONObject jsonObject = JSON.parseObject(message);

+ 1 - 0
src/main/resources/mybatis/business/message/BizMessageMapper.xml

@@ -18,6 +18,7 @@
             <if test="fromUserId != null ">AND t.from_user_id = #{fromUserId}</if>
             <if test="toUserId != null ">AND t.to_user_id = #{toUserId}</if>
         </trim>
+        order by t.msg_read, t.message_date desc
     </select>
 
     <delete id="physicalDelete">