科内开单

This commit is contained in:
jiangs 2026-03-02 17:01:52 +08:00
parent 25bd802e76
commit 94b31f131d
9 changed files with 224 additions and 12 deletions

View File

@ -28,5 +28,8 @@ public class LabReqdetail extends BaseEntity {
private Date dtbk1;
private Date dtbk2;
private String bz3;
private String bz4;
private String bz5;
private String bz6;
}

View File

@ -7,4 +7,5 @@ import java.util.List;
public interface LabReqdetailMapper {
List<LabReqdetail> getLabReqdetailList(String sqh);
int getCountByKey(String sqh);
void insert(LabReqdetail labReqdetail);
}

View File

@ -676,4 +676,9 @@ public class CommonUtil {
public SysUser getSysUserOne(String user_name){
return sysUserCommMapper.getSysUserOne(user_name);
}
@Transactional(rollbackFor = Exception.class)
public void insertLabReqdetail(LabReqdetail labReqdetail){
labReqdetailMapper.insert(labReqdetail);
}
}

View File

@ -10,4 +10,25 @@
select count(1) from lab_reqdetail where sqh = #{sqh}
</select>
<insert id="insert" parameterType="com.czlis.common.core.domain.entity.lis.LabReqdetail">
insert into lab_reqdetail (sqh, xh, sqxmdh, sqxmmc, sl, dj
<if test="bz1 != null and bz1 != ''">, bz1</if>
<if test="bz2 != null and bz2 != ''">, bz2</if>
<if test="bz3 != null and bz3 != ''">, bz3</if>
<if test="bz4 != null and bz4 != ''">, bz4</if>
<if test="bz5 != null and bz5 != ''">, bz5</if>
<if test="bz6 != null and bz6 != ''">, bz6</if>
)
values (
#{sqh}, #{xh}, #{sqxmdh}, #{sqxmmc}, #{sl}, #{dj}
<if test="bz1 != null and bz1 != ''">, #{bz1}</if>
<if test="bz2 != null and bz2 != ''">, #{bz2}</if>
<if test="bz3 != null and bz3 != ''">, #{bz3}</if>
<if test="bz4 != null and bz4 != ''">, #{bz4}</if>
<if test="bz5 != null and bz5 != ''">, #{bz5}</if>
<if test="bz6 != null and bz6 != ''">, #{bz6}</if>
)
</insert>
</mapper>

View File

@ -1,9 +1,12 @@
package com.czlis.mzcx.controller;
import com.czlis.common.core.controller.BaseController;
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.mzcx.pojo.dto.ReqInputLisWorkDTO;
import com.czlis.mzcx.pojo.dto.ReqInputLisWorkReqInfoDTO;
import com.czlis.mzcx.pojo.vo.ReqInputLisWorkVO;
import com.czlis.mzcx.service.ReqInputLisWorkService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -15,7 +18,7 @@ import java.util.List;
@Api(tags = "科内开单")
@RestController
@RequestMapping("/reqInput")
public class ReqInputLisWorkController {
public class ReqInputLisWorkController extends BaseController {
@Autowired
private ReqInputLisWorkService reqInputLisWorkService;
@ -34,8 +37,11 @@ public class ReqInputLisWorkController {
@ApiOperation("保存病人信息")
@PostMapping("/saveReqInfo")
public Result saveReqInfo(@RequestBody LabReqmain labReqmain){
return reqInputLisWorkService.saveReqInfo(labReqmain);
public Result saveReqInfo(@RequestBody ReqInputLisWorkReqInfoDTO reqInputLisWorkReqInfoDTO){
LabReqmain labReqmain = reqInputLisWorkReqInfoDTO.getLabReqmain();
List<ReqInputLisWorkVO> reqInputLisWorkVOList = reqInputLisWorkReqInfoDTO.getReqInputLisWorkVOList();
labReqmain.setZxys(getUsername());
return reqInputLisWorkService.saveReqInfo(labReqmain,reqInputLisWorkVOList);
}

View File

@ -0,0 +1,17 @@
package com.czlis.mzcx.pojo.dto;
import com.czlis.common.core.domain.entity.lis.LabReqmain;
import com.czlis.mzcx.pojo.vo.ReqInputLisWorkVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ReqInputLisWorkReqInfoDTO {
private LabReqmain labReqmain;
private List<ReqInputLisWorkVO> reqInputLisWorkVOList;
}

View File

@ -4,13 +4,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.LabReqmain;
import com.czlis.mzcx.pojo.dto.ReqInputLisWorkDTO;
import com.czlis.mzcx.pojo.vo.ReqInputLisWorkVO;
import java.util.List;
public interface ReqInputLisWorkService {
Result getPatientInfo(ComPat comPat);
Result queryPatList(ReqInputLisWorkDTO reqInputLisWorkDTO);
Result saveReqInfo(LabReqmain labReqmain);
Result saveReqInfo(LabReqmain labReqmain, List<ReqInputLisWorkVO> reqInputLisWorkVOList);
Result queryXmInfoList();
}

View File

@ -3,11 +3,13 @@ package com.czlis.mzcx.service.impl;
import cn.hutool.core.date.DateUtil;
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.interfaceCommon.constants.LisinterfaceNameConstants;
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.ReqInputLisWorkVO;
@ -15,10 +17,10 @@ import com.czlis.mzcx.service.ReqInputLisWorkService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
@Service
@Slf4j
@ -60,10 +62,48 @@ public class ReqInputLisWorkServiceImpl implements ReqInputLisWorkService {
}
@Override
public Result saveReqInfo(LabReqmain labReqmain) {
public Result saveReqInfo(LabReqmain labReqmain,List<ReqInputLisWorkVO> reqInputLisWorkVOList) {
String brxm = labReqmain.getBrxm();
if(brxm == null || "".equals(brxm)) return new Result("-1","病人姓名不能为空!");
return null;
List<Map<String,Object>> reqInfoList = new ArrayList<>();
for (ReqInputLisWorkVO reqInputLisWorkVO : reqInputLisWorkVOList) {
String sfxmmc = reqInputLisWorkVO.getSfxmmc();
String sflbdh = reqInputLisWorkVO.getSflbdh();
if(sflbdh == null || "".equals(sflbdh)) return new Result("-1",sfxmmc+":没有分类,请先进行分类!");
Map<String,Object> reqInfoMap = new HashMap<>();
reqInfoMap.put("lab_reqmain_yblx",labReqmain.getYblx());
reqInfoMap.put("lab_reqmain_brxm",labReqmain.getBrxm());
reqInfoMap.put("lab_reqmain_brdh",labReqmain.getBrdh());
reqInfoMap.put("lab_reqmain_brxb",labReqmain.getBrxb());
reqInfoMap.put("lab_reqmain_jzbz","0");
reqInfoMap.put("lab_reqmain_brsr",DateUtil.format(labReqmain.getBrsr(),"yyyy-MM-dd HH:mm:ss"));
reqInfoMap.put("lab_reqmain_ksdh",labReqmain.getKsdh());
reqInfoMap.put("lab_reqmain_sqys",labReqmain.getSqys());
reqInfoMap.put("lab_reqmain_sqsj",DateUtil.format(labReqmain.getSqsj(),"yyyy-MM-dd HH:mm:ss"));
reqInfoMap.put("lab_reqmain_ch",labReqmain.getCh());
String value = commonUtil.getComOptValue("HISOPT", "sp_knkdbrly");
if(value == null || "".equals(value)) value = "1";
reqInfoMap.put("lab_reqmain_brly",value);
reqInfoMap.put("lab_reqmain_zt","1");
reqInfoMap.put("lab_reqmain_yljg","1");
reqInfoMap.put("lab_reqmain_zxys",labReqmain.getZxys());
reqInfoMap.put("lab_reqmain_jjzt","0");
reqInfoMap.put("sqxmdh",reqInputLisWorkVO.getSfxmdh());
reqInfoMap.put("sqxmmc",reqInputLisWorkVO.getSfxmmc());
reqInfoMap.put("sl","1");
reqInfoMap.put("dj",reqInputLisWorkVO.getDj());
reqInfoMap.put("zt","1");
reqInfoMap.put("jjzt","1");
reqInfoMap.put("sflbdh",reqInputLisWorkVO.getSflbdh());
reqInfoList.add(reqInfoMap);
}
//给默认值
createReqInfo(reqInfoList);
return new Result("0","保存数据成功!");
}
@Override
@ -88,4 +128,119 @@ public class ReqInputLisWorkServiceImpl implements ReqInputLisWorkService {
String format = String.format("%04d", mzseq);
return "6" + head + format.substring(format.length()-4);
}
/**
* 生成申请单信息
*/
public void createReqInfo(List<Map<String,Object>> reqInfoList){
List<LabReqmain> labReqmainList = new ArrayList<>();
List<LabReqdetail> labReqdetailList = new ArrayList<>();
reqInfoList.sort(new Comparator<Map<String,Object>>() {
@Override
public int compare(Map<String,Object> o1, Map<String,Object> o2) {
String bz11 = LisUtil.isBank(o1.get("sflbdh").toString().trim());
String bz12 = LisUtil.isBank(o2.get("sflbdh").toString().trim());
return bz11.compareTo(bz12);
}
});
String sflbdh1 = "",sqh = "";
String jymd = "";
int xh = 0;
int k = -1;
LabReqmain labReqmain = null;
for (Map<String, Object> stringObjectMap : reqInfoList) {
String sflbdh = stringObjectMap.get("sflbdh").toString();
LabReqdetail labReqdetail = new LabReqdetail();
if(sflbdh.equals(sflbdh1)){
xh++;
jymd = jymd + "," + stringObjectMap.get("sqxmmc").toString();
if(jymd.length() >= 120){
jymd = jymd.substring(0,120);
}
labReqmain.setJymd(jymd);
labReqmainList.set(k,labReqmain);
//写lab_reqdetail表
labReqdetail.setSqh(sqh);
labReqdetail.setXh(xh);
labReqdetail.setSqxmdh(stringObjectMap.get("sqxmdh").toString());
labReqdetail.setSqxmmc(stringObjectMap.get("sqxmmc").toString());
labReqdetail.setSl(new BigDecimal(stringObjectMap.get("sl").toString()).intValue());
labReqdetail.setDj(new BigDecimal(stringObjectMap.get("dj").toString()));
labReqdetail.setZt(stringObjectMap.get("zt").toString());
labReqdetail.setJjzt(stringObjectMap.get("jjzt").toString());
labReqdetailList.add(labReqdetail);
continue;
}else{
sqh = createSQH();
xh = 1;
sflbdh1 = sflbdh;
labReqdetail.setSqh(sqh);
labReqdetail.setXh(xh);
}
labReqdetail.setSqh(sqh);
labReqdetail.setXh(xh);
labReqdetail.setSqxmdh(LisUtil.isBank(stringObjectMap.get("sqxmdh")));
labReqdetail.setSqxmmc(stringObjectMap.get("sqxmmc").toString());
labReqdetail.setSl(new BigDecimal(stringObjectMap.get("sl").toString()).intValue());
labReqdetail.setDj(new BigDecimal(stringObjectMap.get("dj").toString()));
labReqdetail.setZt(stringObjectMap.get("zt").toString());
labReqdetail.setJjzt(stringObjectMap.get("jjzt").toString());
labReqdetailList.add(labReqdetail);
jymd = stringObjectMap.get("sqxmmc").toString();
//写lab_reqmain 表
labReqmain = new LabReqmain();
k++;
labReqmain.setJzbz(stringObjectMap.get("lab_reqmain_jzbz").toString());
labReqmain.setYblx(stringObjectMap.get("lab_reqmain_yblx").toString());
labReqmain.setKsdh( stringObjectMap.get("lab_reqmain_ksdh").toString());
labReqmain.setSqys( LisUtil.isBank(stringObjectMap.get("lab_reqmain_sqys")));
labReqmain.setBrdh( (String)stringObjectMap.get("lab_reqmain_brdh"));
labReqmain.setBrxm( (String)stringObjectMap.get("lab_reqmain_brxm"));
labReqmain.setBrxb( (String)stringObjectMap.get("lab_reqmain_brxb"));
String brsr = stringObjectMap.get("lab_reqmain_brsr").toString();
labReqmain.setBrsr(DateUtil.parse(brsr,"yyyy-MM-dd HH:mm:ss"));
labReqmain.setSqsj(DateUtil.parse(stringObjectMap.get("lab_reqmain_sqsj").toString(),"yyyy-MM-dd HH:mm:ss"));
labReqmain.setBgddh((String) stringObjectMap.get("sflbdh"));
labReqmain.setYljg(stringObjectMap.get("lab_reqmain_yljg").toString());
labReqmain.setZxys(stringObjectMap.get("lab_reqmain_zxys").toString());
labReqmain.setZxsj(commonUtil.getCurrentTime());
labReqmain.setCh((String) stringObjectMap.get("lab_reqmain_ch"));
labReqmain.setSqh(sqh);
// String brzd = (String)stringObjectMap.get("lab_reqmain_zd");
// if(brzd == null) brzd = "";
// if(brzd.length() >= 50){
// brzd = brzd.substring(0,48);
// }
//labReqmain.setZd(brzd);
if(jymd.length() >= 120){
jymd = jymd.substring(0,120);
}
labReqmain.setJymd(jymd);
labReqmain.setZt(stringObjectMap.get("lab_reqmain_zt").toString());
labReqmain.setJjzt(stringObjectMap.get("lab_reqmain_jjzt").toString());
labReqmain.setBrly(LisUtil.isBank(stringObjectMap.get("lab_reqmain_brly")));
labReqmainList.add(k,labReqmain);
}
//保存数据
saveReqInfo(labReqmainList,labReqdetailList);
}
public void saveReqInfo(List<LabReqmain> labReqmainList,List<LabReqdetail> labReqdetailList){
for (LabReqmain labReqmain : labReqmainList) {
commonUtil.insertLabReqmain(labReqmain);
}
for (LabReqdetail labReqdetail : labReqdetailList) {
commonUtil.insertLabReqdetail(labReqdetail);
}
}
}

View File

@ -36,20 +36,21 @@
<select id="queryXmInfoList" resultType="com.czlis.mzcx.pojo.vo.ReqInputLisWorkVO">
<![CDATA[
SELECT lab_feeitemclass.sflbmc,
SELECT
lab_feeitem_vs_class.sfxmdh,
lab_feeitem_vs_class.xh,
xm_fee.sfxmmc,
xm_fee.bz,
xm_fee.dj,
xm_fee.spec,
xm_fee.zjf,
lab_feeitemclass.sflbdh,
lab_feeitemclass.sflbmc,
lab_feeitemclass.sflbjc,
lab_feeitemclass.bkcolor,
lab_feeitemclass.bglqdh,
lab_feeitemclass.yblx,
lab_feeitemclass.sampletips,
lab_feeitem_vs_class.xh
lab_feeitemclass.sampletips
FROM lab_feeitem_vs_class INNER JOIN
lab_feeitemclass ON
lab_feeitem_vs_class.sflbdh = lab_feeitemclass.sflbdh INNER JOIN