diff --git a/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/LabIntersendList.java b/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/LabIntersendList.java new file mode 100644 index 0000000..f8e3624 --- /dev/null +++ b/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/LabIntersendList.java @@ -0,0 +1,19 @@ +package com.transitPlatForm.common.core.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LabIntersendList { + private String guid; + private String sendtype; + private String senddata; + private String userid; + private Date createdate; + +} diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/LabIntersendListMapper.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/LabIntersendListMapper.java new file mode 100644 index 0000000..8128434 --- /dev/null +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/LabIntersendListMapper.java @@ -0,0 +1,7 @@ +package com.transitPlatForm.transitPF.mapper; + +import com.transitPlatForm.common.core.domain.entity.LabIntersendList; + +public interface LabIntersendListMapper { + void insert(LabIntersendList labIntersendList); +} diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegRequestInfoServiceImpl.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegRequestInfoServiceImpl.java index bd160de..0b77071 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegRequestInfoServiceImpl.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegRequestInfoServiceImpl.java @@ -4,15 +4,20 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.transitPlatForm.common.core.domain.Result; +import com.transitPlatForm.common.core.domain.entity.LabIntersendList; import com.transitPlatForm.common.core.domain.entity.reg.*; import com.transitPlatForm.common.utils.SecurityUtils; +import com.transitPlatForm.common.utils.ip.IpUtils; import com.transitPlatForm.interfaceCommon.mapper.CommonMapper; import com.transitPlatForm.interfaceCommon.mapper.RegApplyDetailMapper; import com.transitPlatForm.interfaceCommon.mapper.RegApplyMapper; import com.transitPlatForm.interfaceCommon.utils.CommonUtil; import com.transitPlatForm.interfaceCommon.utils.LisUtil; import com.transitPlatForm.interfaceCommon.utils.LoginConfigParamUtil; +import com.transitPlatForm.interfaceCommon.websocket.ChatWebSocketServer; import com.transitPlatForm.interfaceCommon.websocket.WebSocketMessage; +import com.transitPlatForm.interfaceCommon.websocket.WebSocketUser; +import com.transitPlatForm.transitPF.mapper.LabIntersendListMapper; import com.transitPlatForm.transitPF.mapper.RegRequestInfoMapper; import com.transitPlatForm.transitPF.mapper.RegTransitSampleMapper; import com.transitPlatForm.transitPF.pojo.DTO.RegRequestInfoDTO; @@ -51,6 +56,8 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { private RegTransitSampleMapper regTransitSampleMapper; @Resource RequestInfoUtil requestInfoUtil; + @Resource + LabIntersendListMapper labIntersendListMapper; /** @@ -94,7 +101,7 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { List regApplyDetailList = reqApplyInfoDTO.getRegApplyDetailList(); String status = regApply.getStatus(); if(status == null) status = ""; - if(!status.equals("0") && !status.equals("")) return new Result("0","不是新增状态不能修改申请单!"); + if(!status.equals("10") && !status.equals("")) return new Result("-1","不是新增状态不能修改申请单!"); //修改数据 if(!status.equals("")){ //修改申请单信息 @@ -430,7 +437,20 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { * @param barcode */ public Result printBar(List barcode){ - return null; + String sqhStr = StrUtil.join(",", barcode); + LabIntersendList labIntersendList = new LabIntersendList(); + String guid = UUID.randomUUID().toString(); + labIntersendList.setGuid(guid); + labIntersendList.setSendtype("1"); + labIntersendList.setSenddata(sqhStr); + labIntersendList.setUserid(""); //userId + labIntersendList.setCreatedate(commonUtil.getCurrentTime()); + labIntersendListMapper.insert(labIntersendList); + WebSocketMessage wsMessage=new WebSocketMessage(); + wsMessage.setMsgType("lisbarprint"); + wsMessage.setData("lisbarprint://"+guid); + wsMessage.setSenderId(SecurityUtils.getUsername()); + return sendprintmsg(JSONUtil.toJsonStr(wsMessage)); } @@ -465,4 +485,18 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { return barcodeList; } + public Result sendprintmsg(String msg){ + String ip= IpUtils.getIpAddr(); + System.out.println("请求业务的IP:"+ip); + List printUsers = ChatWebSocketServer.getOnlineUsersByLoginIp(ip); + if (printUsers.isEmpty()) { + System.out.println("当前客户端打印插件不在线"); + return new Result("-1","当前客户端打印插件不在线"); + } + WebSocketUser webSocketUser=printUsers.get(0); + ChatWebSocketServer.sendToUser(webSocketUser.getUserId(), msg); + System.out.println("已给客户端[" + webSocketUser.getUsername() + "]推送打印通知,IP:" + webSocketUser.getLoginIp()); + return new Result("0","打印成功"); + } + } diff --git a/pf_transitPF/src/main/resources/mapper/LabIntersendListMapper.xml b/pf_transitPF/src/main/resources/mapper/LabIntersendListMapper.xml new file mode 100644 index 0000000..6f72e87 --- /dev/null +++ b/pf_transitPF/src/main/resources/mapper/LabIntersendListMapper.xml @@ -0,0 +1,11 @@ + + + + +