zss
2024-12-20 c9e36e23b3f95f6027d78483dfc23021d1ec6261
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -96,6 +96,8 @@
    CustomMapper customMapper;
    @Resource
    QYWXApi qywxApi;
    @Resource
    private ProcessOrder1Mapper processOrderMapper;
    //获取检验下单数据
@@ -222,7 +224,7 @@
            upInsOrderOfState(insOrder);
        } else if (insOrder.getOrderType().equals("A")) {
            //常规外部单需消息提醒检验中心主任和研发部经理
            //todo 企业微信推送
            //todo 下单审核企业微信推送
            users1.addAll(users2);
            String account = users1.stream().map(User::getAccount).collect(Collectors.joining("|"));
            HashMap<String, Object> map = new HashMap<>();
@@ -230,7 +232,9 @@
            map.put("msgtype", "text");//消息类型 text:文本
            map.put("agentid", 1000517);//应用id
            HashMap<String, Object> hashMap = new HashMap<>();
            hashMap.put("content", "您有一条检验订单需要审核,请前往LIMS系统查看。外部订单号是:" + insOrder.getOutEntrustCode() + ",请前往LIMS系统查看。<a href=\"https://ztwxlims.ztt.cn:7443/enter\">中天通信LIMS系统 </a>");
            hashMap.put("content", "您有一条检验订单需要审核,请前往LIMS系统查看。外部订单号是:" + insOrder.getOutEntrustCode() +
                    ",样品名称是:"+list.stream().map(SampleProductDto::getSample).collect(Collectors.joining(","))+
                    ",请前往LIMS系统查看。请点击<a href=\"https://ztwxlims.ztt.cn:7443/enter\">中天通信LIMS系统 </a>");
            map.put("text", hashMap);//消息内容
            map.put("safe", 0);//是否保密消息.0否
            map.put("enable_id_trans", 0);//是否开启id转译.0否
@@ -243,7 +247,7 @@
                info.setCreateUser(userMapper.selectById(userId).getName());
                info.setMessageType("2");
                info.setTheme("审核通知");
                info.setContent("您有一条检验订单待审核消息,订单的外部编号是:" + insOrder.getOutEntrustCode());
                info.setContent("您有一条检验订单待审核消息,订单的外部编号是:" + insOrder.getOutEntrustCode()+",样品名称是:"+list.stream().map(SampleProductDto::getSample).collect(Collectors.joining(",")));
                info.setSenderId(userId);
                info.setViewStatus(false);
                info.setJumpPath("b1-inspection-order");
@@ -253,7 +257,7 @@
            informationNotificationService.saveBatch(notificationArrayList);
        } else if (insOrder.getOrderType().equals("B")) {
            //非常规外部单需消息提醒检验中心主任,研发部经理和技术负责人
            //todo 企业微信推送
            //todo  下单审核企业微信推送
            users1.addAll(users2);
            users1.addAll(users3);
            String account = users1.stream().map(User::getAccount).collect(Collectors.joining("|"));
@@ -262,7 +266,9 @@
            map.put("msgtype", "text");//消息类型 text:文本
            map.put("agentid", 1000517);//应用id
            HashMap<String, Object> hashMap = new HashMap<>();
            hashMap.put("content", "您有一条检验订单需要审核,请前往LIMS系统查看。外部订单号是:" + insOrder.getOutEntrustCode() + ",请前往LIMS系统查看。<a href=\"https://ztwxlims.ztt.cn:7443/enter\">中天通信LIMS系统 </a>");
            hashMap.put("content", "您有一条检验订单需要审核,请前往LIMS系统查看。外部订单号是:" + insOrder.getOutEntrustCode() +
                    ",样品名称是:"+list.stream().map(SampleProductDto::getSample).collect(Collectors.joining(",")) +
                    ",请前往LIMS系统查看。请点击<a href=\"https://ztwxlims.ztt.cn:7443/enter\">中天通信LIMS系统 </a>");
            map.put("text", hashMap);//消息内容
            map.put("safe", 0);//是否保密消息.0否
            map.put("enable_id_trans", 0);//是否开启id转译.0否
@@ -275,7 +281,7 @@
                info.setCreateUser(userMapper.selectById(userId).getName());
                info.setMessageType("2");
                info.setTheme("审核通知");
                info.setContent("您有一条检验订单待审核消息,订单的外部编号是:" + insOrder.getOutEntrustCode());
                info.setContent("您有一条检验订单待审核消息,订单的外部编号是:" + insOrder.getOutEntrustCode()+",样品名称是:"+list.stream().map(SampleProductDto::getSample).collect(Collectors.joining(",")));
                info.setSenderId(userId);
                info.setViewStatus(false);
                info.setJumpPath("b1-inspection-order");
@@ -320,7 +326,7 @@
                }
            }
        }
        //todo 根据订单类型判断是否需要推送企业微信 @zss
        //todo 样机员推送企业微信 @zss
        if (!insOrder.getFormType().equals("其他成品")) {
            String account = userMapper.selectById(insOrder.getIssueUser()).getAccount();
            HashMap<String, Object> map = new HashMap<>();
@@ -328,7 +334,9 @@
            map.put("msgtype", "text");//消息类型 text:文本
            map.put("agentid", 1000517);//应用id
            HashMap<String, Object> hashMap = new HashMap<>();
            hashMap.put("content", "您有一条订单需要完成,请前往LIMS系统查看。外部订单号是:" + insOrder.getOutEntrustCode() + ",请前往LIMS系统查看。<a href=\"https://ztwxlims.ztt.cn:7443/enter\">中天通信LIMS系统 </a>");
            hashMap.put("content", "您有一条订单需要完成,请前往LIMS系统查看。外部订单号是:" + insOrder.getOutEntrustCode() +
                    ",样品名称是:"+list.stream().map(SampleProductDto::getSample).collect(Collectors.joining(","))+
                    ",请前往LIMS系统查看。请点击<a href=\"https://ztwxlims.ztt.cn:7443/enter\">中天通信LIMS系统 </a>");
            map.put("text", hashMap);//消息内容
            map.put("safe", 0);//是否保密消息.0否
            map.put("enable_id_trans", 0);//是否开启id转译.0否
@@ -340,7 +348,7 @@
            info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
            info.setMessageType("1");
            info.setTheme("样机员通知");
            info.setContent("您有一条检验订单的样机待完成消息,外部订单号是:" + insOrder.getOutEntrustCode() + ",请前往LIMS系统查看。");
            info.setContent("您有一条检验订单的样机待完成消息,外部订单号是:" + insOrder.getOutEntrustCode() + ",样品名称是:"+list.stream().map(SampleProductDto::getSample).collect(Collectors.joining(",")));
            info.setSenderId(userId);
            info.setConsigneeId(insOrder.getIssueUser());
            info.setViewStatus(false);
@@ -389,6 +397,11 @@
            //审核通过才会生成委托编号
            insOrder.setEntrustCode(giveCode.giveCode2("WT-", "ins_order", "-", "yyMMdd"));
            insOrder.setSendTime(LocalDateTime.now());
            /*审核通过还需要新增一条cnas要求、标书和合同评审*/
            ProcessOrder processOrder = new ProcessOrder();
            processOrder.setInsOrderId(insOrder.getId());
            processOrder.setRule(insOrder.getRule());
            processOrderMapper.insert(processOrder);
        }
        return insOrderMapper.updateById(insOrder);
    }