科内开单,增加开单维护界面

This commit is contained in:
jiangs 2026-03-05 17:58:30 +08:00
parent 3c922c9b8f
commit a0b15d333b
12 changed files with 202 additions and 37 deletions

View File

@ -3,12 +3,15 @@ package com.czlis.common.core.domain.entity.lis;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class XmFeeInstr {
@NonNull
private String yq;
@NonNull
private String sfxmdh;
private String mrz;
private Integer xh;

View File

@ -0,0 +1,13 @@
package com.czlis.interfaceCommon.mapper;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface XmFeeInstrMapper {
List<XmFeeInstr> query(XmFeeInstr xmFeeInstr);
void add(XmFeeInstr xmFeeInstr);
void update(XmFeeInstr xmFeeInstr);
void delete(@Param("yq") String yq, @Param("sfxmdh") String sfxmdh);
}

View File

@ -1,7 +1,7 @@
<?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.czlis.liswork.mapper.dict.XmFeeInstrMapper">
<mapper namespace="com.czlis.interfaceCommon.mapper.XmFeeInstrMapper">
<select id="query" resultType="com.czlis.common.core.domain.entity.lis.XmFeeInstr">
select a.*,(a.sfxmdh+' '+b.sfxmmc) as sfxmmc from xm_feeinstr a,xm_fee b where a.sfxmdh = b.sfxmdh
@ -35,26 +35,6 @@
delete from xm_feeinstr where yq = #{yq} and sfxmdh = #{sfxmdh}
</delete>
<select id="queryXm" resultType="map">
SELECT xm_fee.sfxmdh,
xm_fee.sfxmmc,
xm_fee.xmlb,
xm_fee.dj,
xm_fee.zjf,
'0' as cp_flag,'' as cp_yq
FROM xm_fee
WHERE xm_fee.yljg=#{yljg} and not exists
( select * from xm_feeinstr
where xm_feeinstr.yq = #{yq}
and xm_feeinstr.sfxmdh = xm_fee.sfxmdh)
<if test="queryValue != null and queryValue != ''">and (sfxmmc like '%'+#{queryValue}+'%' or zjf like '%'+#{queryValue}+'%') </if>
</select>
<select id="queryYQData" resultType="map">
<![CDATA[select a.sfxmdh,b.yqmc from xm_feeinstr a,lab_instr b where a.yq<>'_KNXM_' and a.yq<>'_yljg_'
and a.yq = b.yq and b.useflag = '1'
]]>
</select>

View File

@ -8,12 +8,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
public interface XmFeeInstrMapper {
List<XmFeeInstr> query(XmFeeInstr xmFeeInstr);
void add(XmFeeInstr xmFeeInstr);
void update(XmFeeInstr xmFeeInstr);
void delete(@Param("yq") String yq,@Param("sfxmdh") String sfxmdh);
public interface XmFeeInstrItemMapper {
List<Map<String, Object>> queryXm(QueryXmDTO queryXmDTO);
List<Map<String,Object>> queryYQData();
}

View File

@ -1,8 +1,8 @@
package com.czlis.liswork.service.impl;
import com.czlis.common.core.domain.Result;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.liswork.mapper.dict.XmFeeInstrMapper;
import com.czlis.interfaceCommon.mapper.XmFeeInstrMapper;
import com.czlis.liswork.mapper.dict.XmFeeInstrItemMapper;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.liswork.pojo.DTO.QueryXmDTO;
import com.czlis.liswork.service.XmFeeInstrService;
@ -13,7 +13,6 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
@ -21,7 +20,9 @@ import java.util.stream.Collectors;
public class XmFeeInstrServiceImpl implements XmFeeInstrService {
@Autowired
private XmFeeInstrMapper xmFeeInstrMapper;
private XmFeeInstrItemMapper xmFeeInstrItemMapperMapper;
@Autowired
XmFeeInstrMapper xmFeeInstrMapper;
@Override
@ -50,9 +51,9 @@ public class XmFeeInstrServiceImpl implements XmFeeInstrService {
@Override
public Result queryXm(QueryXmDTO queryXmDTO) {
List<Map<String, Object>> xmFeeInstrList = xmFeeInstrMapper.queryXm(queryXmDTO);
List<Map<String, Object>> xmFeeInstrList = xmFeeInstrItemMapperMapper.queryXm(queryXmDTO);
String yqmcStr = "";
List<Map<String, Object>> queryYQDataList = xmFeeInstrMapper.queryYQData();
List<Map<String, Object>> queryYQDataList = xmFeeInstrItemMapperMapper.queryYQData();
for (Map<String, Object> stringObjectsMap : xmFeeInstrList) {
String sfxmdh = String.valueOf(stringObjectsMap.get("sfxmdh"));
List<Map<String, Object>> collect = queryYQDataList.stream().filter(stringObjectMap -> stringObjectMap.get("sfxmdh").equals(sfxmdh)).collect(Collectors.toList());

View File

@ -0,0 +1,30 @@
<?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.czlis.liswork.mapper.dict.XmFeeInstrItemMapper">
<select id="queryXm" resultType="map">
SELECT xm_fee.sfxmdh,
xm_fee.sfxmmc,
xm_fee.xmlb,
xm_fee.dj,
xm_fee.zjf,
'0' as cp_flag,'' as cp_yq
FROM xm_fee
WHERE xm_fee.yljg=#{yljg} and not exists
( select * from xm_feeinstr
where xm_feeinstr.yq = #{yq}
and xm_feeinstr.sfxmdh = xm_fee.sfxmdh)
<if test="queryValue != null and queryValue != ''">and (sfxmmc like '%'+#{queryValue}+'%' or zjf like '%'+#{queryValue}+'%') </if>
</select>
<select id="queryYQData" resultType="map">
<![CDATA[select a.sfxmdh,b.yqmc from xm_feeinstr a,lab_instr b where a.yq<>'_KNXM_' and a.yq<>'_yljg_'
and a.yq = b.yq and b.useflag = '1'
]]>
</select>
</mapper>

View File

@ -6,6 +6,7 @@ import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.SysLoginParam;
import com.czlis.common.core.domain.entity.lis.ComPat;
import com.czlis.common.core.domain.entity.lis.LabReqmain;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.common.enums.BusinessType;
import com.czlis.interfaceCommon.constants.SysLogConstants;
import com.czlis.mzcx.pojo.dto.ReqInputLisWorkDTO;
@ -35,6 +36,12 @@ public class ReqInputLisWorkController extends BaseController {
return reqInputLisWorkService.getPatientInfo(comPat);
}
@ApiOperation("获取病人明细信息")
@GetMapping("/queryPatDetail")
public Result queryPatDetail(String sqh){
return reqInputLisWorkService.queryPatDetail(sqh);
}
@ApiOperation("查询病人列表")
@PostMapping("/queryPatList")
public Result queryPatList(@RequestBody ReqInputLisWorkDTO reqInputLisWorkDTO){
@ -54,12 +61,29 @@ public class ReqInputLisWorkController extends BaseController {
}
@ApiOperation("获取项目信息")
@GetMapping("/queryXmInfoList")
public Result queryXmInfoList(){
return reqInputLisWorkService.queryXmInfoList();
}
@ApiOperation("不可开单项目列表")
@GetMapping("/queryCreateReqList")
public Result queryCreateReqList(){
return reqInputLisWorkService.queryCreateReqList();
}
@ApiOperation("可开单项目列表")
@GetMapping("/queryCanCreateReqList")
public Result queryCanCreateReqList(){
return reqInputLisWorkService.queryCanCreateReqList();
}
@Log(title = SysLogConstants.REQINPUT,businessType = BusinessType.INSERT_VS)
@ApiOperation("保存可开单项目")
@PostMapping("/saveCanCreaeReqList")
public Result saveCanCreaeReqList(@RequestBody List<XmFeeInstr> xmFeeInstrList){
return reqInputLisWorkService.saveCanCreaeReqList(xmFeeInstrList);
}
}

View File

@ -1,6 +1,8 @@
package com.czlis.mzcx.mapper;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.mzcx.pojo.dto.ReqInputLisWorkDTO;
import com.czlis.mzcx.pojo.vo.ReqInputCreateReqListDTO;
import com.czlis.mzcx.pojo.vo.ReqInputLisWorkVO;
import java.util.List;
@ -9,4 +11,6 @@ import java.util.Map;
public interface ReqInputLisWorkMapper {
List<Map<String,Object>> queryPatList(ReqInputLisWorkDTO reqInputLisWorkDTO);
List<ReqInputLisWorkVO> queryXmInfoList();
List<ReqInputCreateReqListDTO> queryCreateReqList();
List<XmFeeInstr> queryCanCreateReqList();
}

View File

@ -0,0 +1,27 @@
package com.czlis.mzcx.pojo.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ReqInputCreateReqListDTO {
private String sflbmc;
private String sfxmdh;
private String sfxmmc;
private String bz;
private BigDecimal dj;
private String spec;
private String zjf;
private String sflbdh;
private String sflbjc;
private String bkcolor;
private String bglqdh;
private String yblx;
private String sampletips;
private Integer xh;
}

View File

@ -3,6 +3,7 @@ package com.czlis.mzcx.service;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComPat;
import com.czlis.common.core.domain.entity.lis.LabReqmain;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.mzcx.pojo.dto.ReqInputLisWorkDTO;
import com.czlis.mzcx.pojo.vo.ReqInputLisWorkVO;
@ -16,4 +17,12 @@ public interface ReqInputLisWorkService {
Result saveReqInfo(LabReqmain labReqmain, List<ReqInputLisWorkVO> reqInputLisWorkVOList);
Result queryXmInfoList();
Result queryCreateReqList();
Result queryCanCreateReqList();
Result saveCanCreaeReqList(List<XmFeeInstr> xmFeeInstrList);
Result queryPatDetail(String sqh);
}

View File

@ -5,13 +5,16 @@ import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComPat;
import com.czlis.common.core.domain.entity.lis.LabReqdetail;
import com.czlis.common.core.domain.entity.lis.LabReqmain;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants;
import com.czlis.interfaceCommon.mapper.XmFeeInstrMapper;
import com.czlis.interfaceCommon.pojo.inter.DayMessage;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.interfaceCommon.utils.LisInterfaceUtil;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.mzcx.mapper.ReqInputLisWorkMapper;
import com.czlis.mzcx.pojo.dto.ReqInputLisWorkDTO;
import com.czlis.mzcx.pojo.vo.ReqInputCreateReqListDTO;
import com.czlis.mzcx.pojo.vo.ReqInputLisWorkVO;
import com.czlis.mzcx.service.ReqInputLisWorkService;
import lombok.extern.slf4j.Slf4j;
@ -21,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
@ -32,6 +36,8 @@ public class ReqInputLisWorkServiceImpl implements ReqInputLisWorkService {
private CommonUtil commonUtil;
@Autowired
LisInterfaceUtil lisInterfaceUtil;
@Autowired
XmFeeInstrMapper xmFeeInstrMapper;
@Override
public Result getPatientInfo(ComPat comPat) {
@ -134,6 +140,45 @@ public class ReqInputLisWorkServiceImpl implements ReqInputLisWorkService {
return new Result("0","获取数据成功!",reqInputLisWorkVOList);
}
@Override
public Result queryCreateReqList() {
List<ReqInputCreateReqListDTO> reqInputCreateReqListDTOList = reqInputLisWorkMapper.queryCreateReqList();
return new Result("0","获取数据成功!",reqInputCreateReqListDTOList);
}
@Override
public Result queryCanCreateReqList() {
List<XmFeeInstr> xmFeeInstrList = reqInputLisWorkMapper.queryCanCreateReqList();
return new Result("0","获取数据成功!",xmFeeInstrList);
}
@Transactional
@Override
public Result saveCanCreaeReqList(List<XmFeeInstr> xmFeeInstrList) {
XmFeeInstr xmFeeInstr2 = new XmFeeInstr();
xmFeeInstr2.setYq("_yljg_");
List<XmFeeInstr> xmFeeInstrListAll = xmFeeInstrMapper.query(xmFeeInstr2);
for (XmFeeInstr xmFeeInstr : xmFeeInstrList) {
List<XmFeeInstr> collect = xmFeeInstrListAll.stream().filter(xmFeeInstr1 -> xmFeeInstr1.getYq().equals(xmFeeInstr.getYq()) && xmFeeInstr1.getSfxmdh().equals(xmFeeInstr.getSfxmdh())).collect(Collectors.toList());
if(collect.size() > 0) {
xmFeeInstrMapper.delete(xmFeeInstr.getYq(),xmFeeInstr.getSfxmdh());
}
xmFeeInstr.setYq("_yljg_");
xmFeeInstrMapper.add(xmFeeInstr);
}
return new Result("0","保存数据成功!");
}
@Override
public Result queryPatDetail(String sqh) {
LabReqmain labReqmainOne = commonUtil.getLabReqmainOne(sqh);
List<LabReqdetail> labReqdetailList = commonUtil.getLabReqdetailList(sqh);
Map<String,Object> map = new HashMap<>();
map.put("labReqmain",labReqmainOne);
map.put("labReqdetailList",labReqdetailList);
return new Result("0","获取数据成功!",map);
}
/**
* 生成申请号

View File

@ -52,11 +52,45 @@
lab_feeitemclass.yblx,
lab_feeitemclass.sampletips
FROM lab_feeitem_vs_class INNER JOIN
lab_feeitemclass ON
lab_feeitem_vs_class.sflbdh = lab_feeitemclass.sflbdh INNER JOIN
xm_fee ON lab_feeitem_vs_class.sfxmdh = xm_fee.sfxmdh where lab_feeitemclass.sflbdh<>'0'
lab_feeitemclass ON lab_feeitem_vs_class.sflbdh = lab_feeitemclass.sflbdh
INNER JOIN xm_fee ON lab_feeitem_vs_class.sfxmdh = xm_fee.sfxmdh
INNER JOIN xm_feeinstr ON xm_feeinstr.sfxmdh= lab_feeitem_vs_class.sfxmdh and xm_feeinstr.yq ='_yljg_'
where lab_feeitemclass.sflbdh<>'0'
]]>
</select>
<select id="queryCreateReqList" resultType="com.czlis.mzcx.pojo.vo.ReqInputCreateReqListDTO">
<![CDATA[
SELECT dbo.lab_feeitemclass.sflbmc,
dbo.lab_feeitem_vs_class.sfxmdh,
dbo.xm_fee.sfxmmc,
dbo.xm_fee.bz,
dbo.xm_fee.dj,
dbo.xm_fee.spec,
dbo.xm_fee.zjf,
dbo.lab_feeitemclass.sflbdh,
dbo.lab_feeitemclass.sflbjc,
dbo.lab_feeitemclass.bkcolor,
dbo.lab_feeitemclass.bglqdh,
dbo.lab_feeitemclass.yblx,
dbo.lab_feeitemclass.sampletips,
dbo.lab_feeitem_vs_class.xh
FROM dbo.lab_feeitem_vs_class INNER JOIN
dbo.lab_feeitemclass ON
dbo.lab_feeitem_vs_class.sflbdh = dbo.lab_feeitemclass.sflbdh INNER JOIN
dbo.xm_fee ON dbo.lab_feeitem_vs_class.sfxmdh = dbo.xm_fee.sfxmdh
where lab_feeitemclass.sflbdh<>'0' and dbo.lab_feeitem_vs_class.sfxmdh not in( select sfxmdh from dbo.xm_feeinstr where yq ='_yljg_')
]]>
</select>
<select id="queryCanCreateReqList" resultType="com.czlis.common.core.domain.entity.lis.XmFeeInstr">
SELECT xm_feeinstr.yq,
xm_feeinstr.sfxmdh,
xm_feeinstr.xh,
xm_fee.sfxmmc
FROM xm_feeinstr,xm_fee
WHERE xm_feeinstr.sfxmdh = xm_fee.sfxmdh
and xm_feeinstr.yq = '_yljg_'
</select>