|
@ -100,6 +100,8 @@ public class XzzxEntranceService{
|
|
|
private PrescriptionInfoDao prescriptionInfoDao;
|
|
|
@Autowired
|
|
|
private WlyyInspectionDao wlyyInspectionDao;
|
|
|
@Autowired
|
|
|
private PrescriptionDiagnosisDao prescriptionDiagnosisDao;
|
|
|
|
|
|
|
|
|
|
|
@ -1317,55 +1319,45 @@ public class XzzxEntranceService{
|
|
|
public Map<String,Object> updatePreStatusLocal(String admNo,String realOrder,String status) throws Exception {
|
|
|
Map<String,Object> map = new HashedMap();
|
|
|
logger.info("admNo"+admNo+"=========realOrder"+realOrder+"===========status"+status);
|
|
|
List<WlyyOutpatientDO> wlyyOutpatientDOList = outpatientDao.findByAdmNo(admNo);
|
|
|
if (wlyyOutpatientDOList==null||wlyyOutpatientDOList.size()==0){
|
|
|
throw new Exception("该就诊号查不到!");
|
|
|
}
|
|
|
for (WlyyOutpatientDO wlyyOutpatientDO:wlyyOutpatientDOList){
|
|
|
String registerNo = wlyyOutpatientDO.getRegisterNo();
|
|
|
if (!StringUtils.isNoneBlank(registerNo)){
|
|
|
throw new Exception("挂号流水号为空!");
|
|
|
if (status.equalsIgnoreCase("1")){
|
|
|
List<WlyyOutpatientDO> wlyyOutpatientDOList = outpatientDao.findByAdmNo(admNo);
|
|
|
if (wlyyOutpatientDOList==null||wlyyOutpatientDOList.size()==0){
|
|
|
throw new Exception("该就诊号查不到!");
|
|
|
}
|
|
|
PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(wlyyOutpatientDO.getPatient());
|
|
|
List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findByOutpatientId(wlyyOutpatientDO.getId());
|
|
|
if (prescriptionDOList==null||prescriptionDOList.size()==0){
|
|
|
for (WlyyOutpatientDO wlyyOutpatientDO:wlyyOutpatientDOList){
|
|
|
String registerNo = wlyyOutpatientDO.getRegisterNo();
|
|
|
if (!StringUtils.isNoneBlank(registerNo)){
|
|
|
throw new Exception("挂号流水号为空!");
|
|
|
}
|
|
|
PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(wlyyOutpatientDO.getPatient());
|
|
|
List<WlyyPrescriptionVO> prescriptionVOList = selectOriginPrescriptionListLocal(registerNo,patientMappingDO.getMappingCode(),admNo,realOrder);
|
|
|
logger.info("处方数据"+prescriptionVOList);
|
|
|
for (WlyyPrescriptionVO prescriptionVO:prescriptionVOList){
|
|
|
WlyyPrescriptionDO prescriptionDO =JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(prescriptionVO)),WlyyPrescriptionDO.class);
|
|
|
prescriptionDO.setOutpatientId(wlyyOutpatientDO.getId());
|
|
|
if (status.equalsIgnoreCase("3")){
|
|
|
prescriptionDO.setStatus(30);
|
|
|
}
|
|
|
prescriptionDO.setPatientCode(wlyyOutpatientDO.getPatient());
|
|
|
prescriptionDO.setDoctor(wlyyOutpatientDO.getDoctor());
|
|
|
prescriptionDO.setHospital("350211A5010");
|
|
|
prescriptionDO.setPatientCode(wlyyOutpatientDO.getPatient());
|
|
|
prescriptionDO= prescriptionDao.save(prescriptionDO);
|
|
|
//处方诊断表vo
|
|
|
List<WlyyPrescriptionDiagnosisVO> diagnosisVOS = prescriptionVO.getDiagnosisVOs();
|
|
|
if (diagnosisVOS!=null&&diagnosisVOS.size()!=0){
|
|
|
for (WlyyPrescriptionDiagnosisVO diagnosisVO:diagnosisVOS){
|
|
|
WlyyPrescriptionDiagnosisDO prescriptionDiagnosisDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(diagnosisVO)),WlyyPrescriptionDiagnosisDO.class);
|
|
|
prescriptionDiagnosisDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
prescriptionDiagnosisDO.setDel(1);
|
|
|
diagnosisDao.save(prescriptionDiagnosisDO);
|
|
|
}
|
|
|
for (WlyyPrescriptionDiagnosisVO diagnosisVO:diagnosisVOS){
|
|
|
WlyyPrescriptionDiagnosisDO prescriptionDiagnosisDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(diagnosisVO)),WlyyPrescriptionDiagnosisDO.class);
|
|
|
prescriptionDiagnosisDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
prescriptionDiagnosisDO.setDel(1);
|
|
|
diagnosisDao.save(prescriptionDiagnosisDO);
|
|
|
}
|
|
|
|
|
|
//药品表
|
|
|
List<WlyyPrescriptionInfoVO> infoVOList = prescriptionVO.getInfoVOs();
|
|
|
if (infoVOList!=null&&infoVOList.size()!=0){
|
|
|
for (WlyyPrescriptionInfoVO infoVO:infoVOList){
|
|
|
WlyyPrescriptionInfoDO infoDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(infoVO)),WlyyPrescriptionInfoDO.class);
|
|
|
infoDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
infoDO.setDel(1);
|
|
|
prescriptionInfoDao.save(infoDO);
|
|
|
}
|
|
|
for (WlyyPrescriptionInfoVO infoVO:infoVOList){
|
|
|
WlyyPrescriptionInfoDO infoDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(infoVO)),WlyyPrescriptionInfoDO.class);
|
|
|
infoDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
infoDO.setDel(1);
|
|
|
prescriptionInfoDao.save(infoDO);
|
|
|
}
|
|
|
|
|
|
|
|
|
List<WlyyInspectionVO> inspectionVOList = prescriptionVO.getInspectionVOs();
|
|
|
if (inspectionVOList!=null&&inspectionVOList.size()!=0)
|
|
|
for (WlyyInspectionVO inspectionVO:inspectionVOList){
|
|
|
WlyyInspectionDO inspectionDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(inspectionVO)),WlyyInspectionDO.class);
|
|
|
BeanUtils.copyProperties(inspectionVO,inspectionDO);
|
|
@ -1375,6 +1367,36 @@ public class XzzxEntranceService{
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}else if (status.equalsIgnoreCase("2")){
|
|
|
List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findByAdmNoAndRealOrderList(admNo,realOrder);
|
|
|
for (WlyyPrescriptionDO wlyyPrescriptionDO:prescriptionDOList){
|
|
|
wlyyPrescriptionDO.setStatus(-1);
|
|
|
prescriptionDao.save(wlyyPrescriptionDO);
|
|
|
//检查
|
|
|
List<WlyyInspectionDO> wlyyInspectionDOS = wlyyInspectionDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
|
|
|
for (WlyyInspectionDO inspectionDO:wlyyInspectionDOS){
|
|
|
inspectionDO.setDel(0);
|
|
|
wlyyInspectionDao.save(inspectionDO);
|
|
|
}
|
|
|
//药品
|
|
|
List<WlyyPrescriptionInfoDO> prescriptionInfoDOS=prescriptionInfoDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
|
|
|
for (WlyyPrescriptionInfoDO prescriptionInfoDO:prescriptionInfoDOS){
|
|
|
prescriptionInfoDO.setDel(0);
|
|
|
prescriptionInfoDao.save(prescriptionInfoDO);
|
|
|
}
|
|
|
//诊断
|
|
|
List<WlyyPrescriptionDiagnosisDO> diagnosisDOS = prescriptionDiagnosisDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
|
|
|
for (WlyyPrescriptionDiagnosisDO diagnosisDO:diagnosisDOS){
|
|
|
diagnosisDO.setDel(0);
|
|
|
prescriptionDiagnosisDao.save(diagnosisDO);
|
|
|
}
|
|
|
}
|
|
|
}else if (status.equalsIgnoreCase("3")){
|
|
|
List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findByAdmNoAndRealOrderList(admNo,realOrder);
|
|
|
for (WlyyPrescriptionDO wlyyPrescriptionDO:prescriptionDOList){
|
|
|
wlyyPrescriptionDO.setStatus(30);
|
|
|
prescriptionDao.save(wlyyPrescriptionDO);
|
|
|
}
|
|
|
}
|
|
|
return map;
|
|
|
}
|
|
@ -1858,50 +1880,82 @@ public class XzzxEntranceService{
|
|
|
|
|
|
public Map<String,Object> updatePreStatus(String admNo,String realOrder,String status) throws Exception {
|
|
|
Map<String,Object> map = new HashedMap();
|
|
|
List<WlyyOutpatientDO> wlyyOutpatientDOList = outpatientDao.findByAdmNo(admNo);
|
|
|
if (wlyyOutpatientDOList==null||wlyyOutpatientDOList.size()==0){
|
|
|
throw new Exception("该就诊号查不到!");
|
|
|
}
|
|
|
for (WlyyOutpatientDO wlyyOutpatientDO:wlyyOutpatientDOList){
|
|
|
String registerNo = wlyyOutpatientDO.getRegisterNo();
|
|
|
if (!StringUtils.isNoneBlank(registerNo)){
|
|
|
throw new Exception("挂号流水号为空!");
|
|
|
if (status.equalsIgnoreCase("1")){
|
|
|
List<WlyyOutpatientDO> wlyyOutpatientDOList = outpatientDao.findByAdmNo(admNo);
|
|
|
if (wlyyOutpatientDOList==null||wlyyOutpatientDOList.size()==0){
|
|
|
throw new Exception("该就诊号查不到!");
|
|
|
}
|
|
|
PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(wlyyOutpatientDO.getPatient());
|
|
|
List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findByOutpatientId(wlyyOutpatientDO.getId());
|
|
|
if (prescriptionDOList==null||prescriptionDOList.size()==0){
|
|
|
List<WlyyPrescriptionVO> prescriptionVOList = selectOriginPrescriptionList(registerNo,patientMappingDO.getMappingCode(),admNo,realOrder);
|
|
|
for (WlyyPrescriptionVO prescriptionVO:prescriptionVOList){
|
|
|
WlyyPrescriptionDO prescriptionDO =JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(prescriptionVO)),WlyyPrescriptionDO.class);
|
|
|
prescriptionDO.setOutpatientId(wlyyOutpatientDO.getId());
|
|
|
if (status.equalsIgnoreCase("3")){
|
|
|
prescriptionDO.setStatus(30);
|
|
|
}
|
|
|
prescriptionDO= prescriptionDao.save(prescriptionDO);
|
|
|
//处方诊断表vo
|
|
|
List<WlyyPrescriptionDiagnosisVO> diagnosisVOS = prescriptionVO.getDiagnosisVOs();
|
|
|
for (WlyyPrescriptionDiagnosisVO diagnosisVO:diagnosisVOS){
|
|
|
WlyyPrescriptionDiagnosisDO prescriptionDiagnosisDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(diagnosisVO)),WlyyPrescriptionDiagnosisDO.class);
|
|
|
prescriptionDiagnosisDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
diagnosisDao.save(prescriptionDiagnosisDO);
|
|
|
}
|
|
|
//药品表
|
|
|
List<WlyyPrescriptionInfoVO> infoVOList = prescriptionVO.getInfoVOs();
|
|
|
for (WlyyPrescriptionInfoVO infoVO:infoVOList){
|
|
|
WlyyPrescriptionInfoDO infoDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(infoVO)),WlyyPrescriptionInfoDO.class);
|
|
|
infoDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
prescriptionInfoDao.save(infoDO);
|
|
|
}
|
|
|
for (WlyyOutpatientDO wlyyOutpatientDO:wlyyOutpatientDOList){
|
|
|
String registerNo = wlyyOutpatientDO.getRegisterNo();
|
|
|
if (!StringUtils.isNoneBlank(registerNo)){
|
|
|
throw new Exception("挂号流水号为空!");
|
|
|
}
|
|
|
PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(wlyyOutpatientDO.getPatient());
|
|
|
List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findByOutpatientId(wlyyOutpatientDO.getId());
|
|
|
if (prescriptionDOList==null||prescriptionDOList.size()==0){
|
|
|
List<WlyyPrescriptionVO> prescriptionVOList = selectOriginPrescriptionList(registerNo,patientMappingDO.getMappingCode(),admNo,realOrder);
|
|
|
for (WlyyPrescriptionVO prescriptionVO:prescriptionVOList){
|
|
|
WlyyPrescriptionDO prescriptionDO =JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(prescriptionVO)),WlyyPrescriptionDO.class);
|
|
|
prescriptionDO.setOutpatientId(wlyyOutpatientDO.getId());
|
|
|
if (status.equalsIgnoreCase("3")){
|
|
|
prescriptionDO.setStatus(30);
|
|
|
}
|
|
|
prescriptionDO= prescriptionDao.save(prescriptionDO);
|
|
|
//处方诊断表vo
|
|
|
List<WlyyPrescriptionDiagnosisVO> diagnosisVOS = prescriptionVO.getDiagnosisVOs();
|
|
|
for (WlyyPrescriptionDiagnosisVO diagnosisVO:diagnosisVOS){
|
|
|
WlyyPrescriptionDiagnosisDO prescriptionDiagnosisDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(diagnosisVO)),WlyyPrescriptionDiagnosisDO.class);
|
|
|
prescriptionDiagnosisDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
diagnosisDao.save(prescriptionDiagnosisDO);
|
|
|
}
|
|
|
//药品表
|
|
|
List<WlyyPrescriptionInfoVO> infoVOList = prescriptionVO.getInfoVOs();
|
|
|
for (WlyyPrescriptionInfoVO infoVO:infoVOList){
|
|
|
WlyyPrescriptionInfoDO infoDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(infoVO)),WlyyPrescriptionInfoDO.class);
|
|
|
infoDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
prescriptionInfoDao.save(infoDO);
|
|
|
}
|
|
|
|
|
|
List<WlyyInspectionVO> inspectionVOList = prescriptionVO.getInspectionVOs();
|
|
|
for (WlyyInspectionVO inspectionVO:inspectionVOList){
|
|
|
WlyyInspectionDO inspectionDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(inspectionVO)),WlyyInspectionDO.class);
|
|
|
BeanUtils.copyProperties(inspectionVO,inspectionDO);
|
|
|
inspectionDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
wlyyInspectionDao.save(inspectionDO);
|
|
|
List<WlyyInspectionVO> inspectionVOList = prescriptionVO.getInspectionVOs();
|
|
|
for (WlyyInspectionVO inspectionVO:inspectionVOList){
|
|
|
WlyyInspectionDO inspectionDO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(inspectionVO)),WlyyInspectionDO.class);
|
|
|
BeanUtils.copyProperties(inspectionVO,inspectionDO);
|
|
|
inspectionDO.setPrescriptionId(prescriptionDO.getId());
|
|
|
wlyyInspectionDao.save(inspectionDO);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}else if (status.equalsIgnoreCase("2")){
|
|
|
List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findByAdmNoAndRealOrderList(admNo,realOrder);
|
|
|
for (WlyyPrescriptionDO wlyyPrescriptionDO:prescriptionDOList){
|
|
|
wlyyPrescriptionDO.setStatus(-1);
|
|
|
prescriptionDao.save(wlyyPrescriptionDO);
|
|
|
//检查
|
|
|
List<WlyyInspectionDO> wlyyInspectionDOS = wlyyInspectionDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
|
|
|
for (WlyyInspectionDO inspectionDO:wlyyInspectionDOS){
|
|
|
inspectionDO.setDel(0);
|
|
|
wlyyInspectionDao.save(inspectionDO);
|
|
|
}
|
|
|
//药品
|
|
|
List<WlyyPrescriptionInfoDO> prescriptionInfoDOS=prescriptionInfoDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
|
|
|
for (WlyyPrescriptionInfoDO prescriptionInfoDO:prescriptionInfoDOS){
|
|
|
prescriptionInfoDO.setDel(0);
|
|
|
prescriptionInfoDao.save(prescriptionInfoDO);
|
|
|
}
|
|
|
//诊断
|
|
|
List<WlyyPrescriptionDiagnosisDO> diagnosisDOS = prescriptionDiagnosisDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
|
|
|
for (WlyyPrescriptionDiagnosisDO diagnosisDO:diagnosisDOS){
|
|
|
diagnosisDO.setDel(0);
|
|
|
prescriptionDiagnosisDao.save(diagnosisDO);
|
|
|
}
|
|
|
}
|
|
|
}else if (status.equalsIgnoreCase("3")){
|
|
|
List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findByAdmNoAndRealOrderList(admNo,realOrder);
|
|
|
for (WlyyPrescriptionDO wlyyPrescriptionDO:prescriptionDOList){
|
|
|
wlyyPrescriptionDO.setStatus(30);
|
|
|
prescriptionDao.save(wlyyPrescriptionDO);
|
|
|
}
|
|
|
}
|
|
|
return map;
|
|
|
}
|