消息系统,临床发血退血

This commit is contained in:
jiangs 2026-08-31 09:16:47 +08:00
parent a16d8342f0
commit afe13d5bc3
11 changed files with 93 additions and 30 deletions

View File

@ -8,4 +8,5 @@ public interface XkOutDetailMapper {
List<XkOutDetail> queryListByBillNo(String billNo);
void insert(XkOutDetail xkOutDetail);
void deleteByBillNo(String billNo);
List<XkOutDetail> queryList(XkOutDetail xkOutDetail);
}

View File

@ -0,0 +1,17 @@
package com.czblood.bus.websocket;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
/**
* WebSocket配置类(Spring Boot 原生方式)
*/
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}

View File

@ -38,4 +38,11 @@
<select id="queryListByBillNo" resultType="com.czblood.bus.pojo.XkOutDetail">
select * from xk_out_detail where bill_no = #{billNo}
</select>
<select id="queryList" resultType="com.czblood.bus.pojo.XkOutDetail">
select * from xk_out_detail
<where>
<if test="blood_no != null">and blood_no = #{blood_no}</if>
<if test="product_no != null">and product_no = #{product_no}</if>
</where>
</select>
</mapper>

View File

@ -1,6 +1,6 @@
package com.czblood.busBloodbank.controller;
import com.czblood.busBloodbank.service.XkBackinService;
import com.czblood.busBloodbank.service.BackinService;
import com.czblood.common.core.domain.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -13,14 +13,14 @@ import javax.annotation.Resource;
@Api(tags = "临床发血退血")
@RestController
@RequestMapping("/bus/bloodbank/backin")
public class XkBackinController {
public class BackinController {
@Resource
private XkBackinService xkBackinService;
private BackinService backinService;
@ApiOperation("获取血液信息")
@GetMapping("/queryBloodInfo")
public Result queryBloodInfo(String bloodNo,String productNo){
return xkBackinService.queryBloodInfo(bloodNo,productNo);
return backinService.queryBloodInfo(bloodNo,productNo);
}
}

View File

@ -0,0 +1,10 @@
package com.czblood.busBloodbank.mapper;
import com.czblood.bus.pojo.XkOutDetail;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface BackinMapper {
List<XkOutDetail> queryXkOutDetailList(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
}

View File

@ -2,6 +2,6 @@ package com.czblood.busBloodbank.service;
import com.czblood.common.core.domain.Result;
public interface XkBackinService {
public interface BackinService {
Result queryBloodInfo(String bloodNo, String productNo);
}

View File

@ -0,0 +1,43 @@
package com.czblood.busBloodbank.service.impl;
import com.czblood.bus.mapper.XkOutDetailMapper;
import com.czblood.bus.pojo.XkBloodInfo;
import com.czblood.bus.pojo.XkOutDetail;
import com.czblood.bus.utils.BloodBankUtil;
import com.czblood.busBloodbank.mapper.BackinMapper;
import com.czblood.busBloodbank.service.BackinService;
import com.czblood.common.core.domain.Result;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class BackinServiceImpl implements BackinService {
@Resource
BloodBankUtil bloodBankUtil;
@Resource
BackinMapper backinMapper;
@Override
public Result queryBloodInfo(String bloodNo, String productNo) {
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
if(xkBloodInfo == null) return new Result("-1","血液信息不存在!");
String bloodStatus = xkBloodInfo.getBlood_status();
switch (bloodStatus){
case "2":
return new Result("-1","该血液已经报废");
case "3":
return new Result("-1","该血液正在制备或者配血!");
case "1":
return new Result("0","该血液状态正常");
case "4":
List<XkOutDetail> xkOutDetailList = backinMapper.queryXkOutDetailList(bloodNo, productNo);
if(xkOutDetailList.isEmpty()) return new Result("-1","没有找到该血液的发血记录!");
break;
}
return null;
}
}

View File

@ -1,24 +0,0 @@
package com.czblood.busBloodbank.service.impl;
import com.czblood.bus.pojo.XkBloodInfo;
import com.czblood.bus.utils.BloodBankUtil;
import com.czblood.busBloodbank.service.XkBackinService;
import com.czblood.common.core.domain.Result;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class XkBackinServiceImpl implements XkBackinService {
@Resource
BloodBankUtil bloodBankUtil;
@Override
public Result queryBloodInfo(String bloodNo, String productNo) {
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
if(xkBloodInfo == null) return new Result("-1","血液信息不存在!");
return null;
}
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.czblood.busBloodbank.mapper.BackinMapper">
<select id="queryXkOutDetailList" resultType="com.czblood.bus.pojo.XkOutDetail">
<![CDATA[select * from xk_out_detail where blood_no = #{bloodNo} and product_no = #{productNo} and isnull(exp1,'') <> 'Y']]>
</select>
</mapper>

View File

@ -13,5 +13,5 @@ public class BloodApplication {
System.setProperty("user.timezone", "Etc/GMT-8");
SpringApplication.run(BloodApplication.class, args);
System.out.println("项目启动成功!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
}
}

View File

@ -113,6 +113,7 @@ public class SecurityConfig {
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
.antMatchers("/doc.html").permitAll() //Knife4j 过滤
.antMatchers("/ws/msgserver/**").permitAll() //WebSocket 过滤
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated();
})