diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java b/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java index b427cf5..2b1096f 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java +++ b/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java @@ -156,7 +156,10 @@ public class BaseMongoDAOImpl implements BaseMongoDAO { public static String mongo_crypto_key = Config.getItem("mongo_crypto_key", "0"); public static String mongo_sync = Config.getItem("mongo_sync", "0"); public void addSyncData(String action, Object data, String id) { - if (!(data instanceof Serializable) ||"LisReport".equals(data.getClass().getSimpleName()) || "SyncDataModel".equals(data.getClass().getSimpleName())|| "SmsConfigModel".equals(data.getClass().getSimpleName())) { + if (!(data instanceof Serializable) ||"LisReport".equals(data.getClass().getSimpleName()) + || "SyncDataModel".equals(data.getClass().getSimpleName()) + || "SmsConfigModel".equals(data.getClass().getSimpleName()) + || "OperateLogModel".equals(data.getClass().getSimpleName())) { if(!"LisReport".equals(data.getClass().getSimpleName())){ //ExceptionUtils.catchException("NotSerializable for class :"+data.getClass().getSimpleName() ); } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveRecordModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveRecordModel.java index 7826839..d1f80d4 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveRecordModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveRecordModel.java @@ -27,6 +27,17 @@ public class SieveRecordModel extends Patients{ //保存时间的年月日 private Date time; + //填写日期 + private Date fillDate; + + public Date getFillDate() { + return fillDate; + } + + public void setFillDate(Date fillDate) { + this.fillDate = fillDate; + } + public Date getTime() { return time; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/SieveRecordQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/SieveRecordQuery.java index 218e08c..3b17418 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/SieveRecordQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/SieveRecordQuery.java @@ -58,6 +58,44 @@ public class SieveRecordQuery extends BaseQuery implements IConvertToNativeQuery //是否导出过 0 未导出 1导出 private Integer status; + //居住地 + private String provinceId; + private String cityId; + private String areaId; + private String streetId; + + public String getProvinceId() { + return provinceId; + } + + public void setProvinceId(String provinceId) { + this.provinceId = provinceId; + } + + public String getCityId() { + return cityId; + } + + public void setCityId(String cityId) { + this.cityId = cityId; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public String getStreetId() { + return streetId; + } + + public void setStreetId(String streetId) { + this.streetId = streetId; + } + public String getPatientId() { return patientId; } @@ -234,6 +272,21 @@ public class SieveRecordQuery extends BaseQuery implements IConvertToNativeQuery condition = condition.and("yn", yn, MongoOper.IS); } + + if (StringUtils.isNotEmpty(areaId)) { + condition = condition.and("areaId", areaId, MongoOper.IS); + } + if(StringUtils.isNotEmpty(cityId)){ + condition = condition.and("cityId", cityId, MongoOper.IS); + } + if(StringUtils.isNotEmpty(provinceId)){ + condition = condition.and("provinceId", provinceId, MongoOper.IS); + } + if(StringUtils.isNotEmpty(streetId)){ + condition = condition.and("streetId", streetId, MongoOper.IS); + } + + Criteria c1 = null; if (null != lastMensesStart) { if (null != c1) { diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/whfy/ConnTools.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/whfy/ConnTools.java new file mode 100644 index 0000000..bcf70dc --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/whfy/ConnTools.java @@ -0,0 +1,56 @@ +package com.lyms.hospitalapi.whfy; + +import java.sql.CallableStatement; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +/** + * + * 威海妇幼 + * Created by Administrator on 2017/4/12. + */ +public class ConnTools { + //分诊叫号 + private static String dirverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; + private static String url = "jdbc:sqlserver://200.200.200.53:1433; DatabaseName=MZHSZ"; + private static String user = "123qwe!@#"; + private static String password = "sa"; + + public static Connection makeHisConnection() { + Connection conn = null; + try { + Class.forName(dirverClassName); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + try { + conn = DriverManager.getConnection(url, user, password); + } catch (SQLException e) { + e.printStackTrace(); + } + return conn; + } + + public static void close(Connection conn ,CallableStatement cs) + { + if (cs != null) + { + try { + cs.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + if (conn != null) + { + try { + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/whfy/VirtualCallService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/whfy/VirtualCallService.java new file mode 100644 index 0000000..0b0b4e9 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/whfy/VirtualCallService.java @@ -0,0 +1,406 @@ +package com.lyms.hospitalapi.whfy; + +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.permission.model.Departments; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.DepartmentsService; +import com.lyms.platform.permission.service.UsersService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.LineNumberReader; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.sql.CallableStatement; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; + +import static com.lyms.hospitalapi.whfy.ConnTools.makeHisConnection; + +/** + * Created by Administrator on 2017-12-05. + */ + +@Service("virtualCallService") +public class VirtualCallService { + + @Autowired + private UsersService usersService; + + @Autowired + private DepartmentsService departmentsService; + + public BaseResponse callLogin(HttpServletRequest request, Integer userId) { + BaseResponse result = new BaseResponse(); + + Users user = usersService.getUsers(userId); + Departments departments = departmentsService.getDepartments(user.getDeptId()); + + String code = departments.getShortCode(); + String deptName = departments.getName(); + + String doctorAccount = user.getAccount(); + String doctorName = user.getName(); + + String ip = request.getRemoteAddr(); + String mac = getMACAddress(ip); + + System.out.println("time="+ DateUtil.getyyyy_MM_dd_hms(new Date())+";code="+code+";deptName="+deptName+";doctorAccount="+doctorAccount+";doctorName="+doctorName + +";ip="+ip+";mac="+mac); + +// Connection conn = null; +// CallableStatement cs = null; +// try { +// conn = makeHisConnection(); +// //1.1 普通登录 +// //exec usp_mzhs_hsfzinterface '1','192.168.1.219','2052','儿科门诊','00','supervisor','D8-9E-F3-13-A5-86','0',@sex='男' +// cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?,?,?,?,?,?)}"); +// cs.setString(1, "1"); +// cs.setString(2, ip); +// cs.setString(3, code); +// cs.setString(4, deptName); +// cs.setString(5, doctorAccount); +// cs.setString(6, doctorName); +// cs.setString(7, mac); +// ResultSet rs = cs.executeQuery(); +// } +// catch (SQLException e) +// { +// ExceptionUtils.catchException(e, "callLogin exception"); +// result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); +// result.setErrormsg("登陆异常"); +// return result; +// } +// finally { +// ConnTools.close(conn,cs); +// } + + result.setErrorcode(ErrorCodeConstants.SUCCESS); + result.setErrormsg("登陆成功"); + return result; + } + + public BaseResponse callLoginOut(HttpServletRequest request, Integer userId) { + + BaseResponse result = new BaseResponse(); + String ip = request.getRemoteAddr(); + System.out.println("time="+ DateUtil.getyyyy_MM_dd_hms(new Date())+";ip="+ip); + +// Connection conn = null; +// CallableStatement cs = null; +// try { +// conn = makeHisConnection(); +// //5 退出登录 +// //exec usp_mzhs_hsfzinterface 5,'192.168.1.219' +// cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?)}"); +// cs.setString(1, "5"); +// cs.setString(2, ip); +// ResultSet rs = cs.executeQuery(); +// } +// catch (SQLException e) +// { +// ExceptionUtils.catchException(e, "callLoginOut exception"); +// result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); +// result.setErrormsg("登出异常"); +// return result; +// } +// finally { +// ConnTools.close(conn,cs); +// } + result.setErrorcode(ErrorCodeConstants.SUCCESS); + result.setErrormsg("登出成功"); + return result; + + } + + public BaseResponse doWorkStatusChange(HttpServletRequest request, Integer userId, String status) { + + BaseResponse result = new BaseResponse(); + String ip = request.getRemoteAddr(); + System.out.println("time="+ DateUtil.getyyyy_MM_dd_hms(new Date())+";ip="+ip); + +// Connection conn = null; +// CallableStatement cs = null; +// try { +// conn = makeHisConnection(); +// //14 更改诊间状态 --0 修改当前诊间为停诊,1 修改当前诊间为开诊,2 获取当前诊间状态(0 停诊 1 开诊) +// //exec usp_mzhs_hsfzinterface_km 14,'192.16.1.111',@zjzt=2 +// cs = conn.prepareCall("{call usp_mzhs_hsfzinterface_km(?,?,?)}"); +// cs.setString(1, "14"); +// cs.setString(2, ip); +// cs.setString(3, "@zjzt=" + status); +// ResultSet rs = cs.executeQuery(); +// } +// catch (SQLException e) +// { +// ExceptionUtils.catchException(e, "doWorkStatusChange exception"); +// result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); +// result.setErrormsg("工作状态修改异常"); +// return result; +// } +// finally { +// ConnTools.close(conn,cs); +// } + result.setErrorcode(ErrorCodeConstants.SUCCESS); + result.setErrormsg("工作状态修改成功"); + return result; + } + + public BaseResponse rebackCall(HttpServletRequest request, Integer userId,String patientId) { + + BaseResponse result = new BaseResponse(); + String ip = request.getRemoteAddr(); + System.out.println("time="+ DateUtil.getyyyy_MM_dd_hms(new Date())+";ip="+ip); + +// Connection conn = null; +// CallableStatement cs = null; +// try { +// conn = makeHisConnection(); +// // 7 复呼 +// // exec usp_mzhs_hsfzinterface 7,'10.58.99.246',@ghxh=2795541 +// cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?,?)}"); +// cs.setString(1, "7"); +// cs.setString(2, ip); +// cs.setString(3, "@ghxh=" + patientId); +// ResultSet rs = cs.executeQuery(); +// } +// catch (SQLException e) +// { +// ExceptionUtils.catchException(e, "rebackCall exception"); +// result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); +// result.setErrormsg("复呼异常"); +// return result; +// } +// finally +// { +// ConnTools.close(conn,cs); +// } + result.setErrorcode(ErrorCodeConstants.SUCCESS); + result.setErrormsg("复呼成功"); + return result; + } + + + public BaseResponse waitPatientList(HttpServletRequest request, Integer userId) { + + BaseObjectResponse result = new BaseObjectResponse(); + + Users user = usersService.getUsers(userId); + Departments departments = departmentsService.getDepartments(user.getDeptId()); + + String code = departments.getShortCode(); + String doctorAccount = user.getAccount(); + + String ip = request.getRemoteAddr(); + System.out.println("time="+ DateUtil.getyyyy_MM_dd_hms(new Date())+";ip="+ip); + + List> datas = new ArrayList<>(); + Map map = new HashMap<>(); + map.put("patientId","11111"); + map.put("vcCardNo","1234123"); + map.put("name", "张啊"); + map.put("time", "11/21 10:22:21"); + map.put("gender", "男"); + + + Map map1 = new HashMap<>(); + map1.put("patientId","22222"); + map1.put("vcCardNo","2341234"); + map1.put("name", "王丹"); + map1.put("time", "11/21 10:22:21"); + map1.put("gender", "女"); + + datas.add(map); + datas.add(map1); + + + +// Connection conn = null; +// CallableStatement cs = null; +// try { +// conn = makeHisConnection(); +// //6 获取队列列表 +// //exec usp_mzhs_hsfzinterface 6,'192.168.1.219',@ksdm='2052',@ysdm='00' +// cs = conn.prepareCall("{call usp_mzhs_hsfzinterface_km(?,?,?,?)}"); +// cs.setString(1, "6"); +// cs.setString(2, ip); +// cs.setString(3, "@ksdm="+code); +// cs.setString(4, "@ysdm=" + doctorAccount); +// ResultSet rs = cs.executeQuery(); +// Map map = new HashMap<>(); +// map.put("卡号",""); +// map.put("姓名", ""); +// map.put("挂号时间", ""); +// map.put("性别", ""); +// datas.add(map); +// } +// catch (SQLException e) +// { +// ExceptionUtils.catchException(e, "waitPatientList exception"); +// result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); +// result.setErrormsg("获取候诊队列失败"); +// result.setData(datas); +// return result; +// } +// finally +// { +// ConnTools.close(conn,cs); +// } + + result.setErrorcode(ErrorCodeConstants.SUCCESS); + result.setErrormsg("复呼成功"); + result.setData(datas); + return result; + } + + + public BaseResponse callPatients(HttpServletRequest request, Integer userId, String patientId) { + + BaseObjectResponse result = new BaseObjectResponse(); + + String ip = request.getRemoteAddr(); + System.out.println("time="+ DateUtil.getyyyy_MM_dd_hms(new Date())+";ip="+ip); + + nextPatient(ip); + + List> datas = new ArrayList<>(); + Map map = new HashMap<>(); + map.put("patientId","11111"); + map.put("vcCardNo","1234123"); + map.put("name", "张啊"); + map.put("time", "11/21 10:22:21"); + map.put("gender", "男"); + + + Map map1 = new HashMap<>(); + map1.put("patientId","22222"); + map1.put("vcCardNo","2341234"); + map1.put("name", "王丹"); + map1.put("time", "11/21 10:22:21"); + map1.put("gender", "女"); + + datas.add(map); + datas.add(map1); + +// Connection conn = null; +// CallableStatement cs = null; +// try { +// conn = makeHisConnection(); +// //16 已叫号病人列表 +// //exec usp_mzhs_hsfzinterface 16,'192.168.1.219' +// cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?)}"); +// cs.setString(1, "16"); +// cs.setString(2, ip); +// ResultSet rs = cs.executeQuery(); +// Map map = new HashMap<>(); +// map.put("卡号",""); +// map.put("姓名", ""); +// map.put("叫号时间", ""); +// map.put("性别", ""); +// datas.add(map); +// } +// catch (SQLException e) +// { +// ExceptionUtils.catchException(e, "callPatients exception"); +// result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); +// result.setErrormsg("获取候诊队列失败"); +// result.setData(datas); +// return result; +// } +// finally +// { +// ConnTools.close(conn,cs); +// } + + result.setErrorcode(ErrorCodeConstants.SUCCESS); + result.setErrormsg("复呼成功"); + result.setData(datas); + return result; + } + + + private boolean nextPatient(String ip) + { +// Connection conn = null; +// CallableStatement cs = null; +// try { +// conn = makeHisConnection(); +// //2 取下一个病人 +// //exec usp_mzhs_hsfzinterface '2','192.168.1.219' +// cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?)}"); +// cs.setString(1, "2"); +// cs.setString(2, ip); +// cs.executeQuery(); +// return true; +// } +// catch (SQLException e) +// { +// ExceptionUtils.catchException(e, "nextPatient exception"); +// } +// finally +// { +// ConnTools.close(conn,cs); +// } + return false; + } + + + public String getMACAddress(String ip) { + String line = ""; + String macAddress = ""; + try { + final String MAC_ADDRESS_PREFIX = "MAC Address = "; + final String LOOPBACK_ADDRESS = "127.0.0.1"; + //如果为127.0.0.1,则获取本地MAC地址。 + if (LOOPBACK_ADDRESS.equals(ip)) { + InetAddress inetAddress = InetAddress.getLocalHost(); + //貌似此方法需要JDK1.6。 + byte[] mac = NetworkInterface.getByInetAddress(inetAddress).getHardwareAddress(); + //下面代码是把mac地址拼装成String + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < mac.length; i++) { + if (i != 0) { + sb.append("-"); + } + //mac[i] & 0xFF 是为了把byte转化为正整数 + String s = Integer.toHexString(mac[i] & 0xFF); + sb.append(s.length() == 1 ? 0 + s : s); + } + //把字符串所有小写字母改为大写成为正规的mac地址并返回 + macAddress = sb.toString().trim().toUpperCase(); + return macAddress; + } + + //获取非本地IP的MAC地址 + Process p = Runtime.getRuntime().exec("nbtstat -A " + ip); + InputStreamReader isr = new InputStreamReader(p.getInputStream()); + BufferedReader br = new BufferedReader(isr); + while ((line = br.readLine()) != null) { + if (line != null) { + int index = line.indexOf(MAC_ADDRESS_PREFIX); + if (index != -1) { + macAddress = line.substring(index + MAC_ADDRESS_PREFIX.length()).trim().toUpperCase(); + } + } + } + br.close(); + } catch (IOException e) { + e.printStackTrace(System.out); + } + return macAddress; + } + +} + + + diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveRecordController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveRecordController.java index f5952a7..6612844 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveRecordController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveRecordController.java @@ -100,9 +100,15 @@ public class SieveRecordController extends BaseController { @RequestParam(required = true)Integer limit, @RequestParam(required = false)String createTime, @RequestParam(required = false)String keyword, + @RequestParam(required = false)String provinceRegisterId, + @RequestParam(required = false)String cityRegisterId, + @RequestParam(required = false)String areaRegisterId, + @RequestParam(required = false)String streetRegisterId, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return sieveRecordFacade.getSieveRecords(status, createTime, keyword, page, limit, loginState.getId()); + return sieveRecordFacade.getSieveRecords(status, createTime, keyword, + provinceRegisterId,cityRegisterId,areaRegisterId,streetRegisterId, + page, limit, loginState.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java index 1af4838..7bc0da8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java @@ -582,4 +582,16 @@ public class ViewController extends BaseController { } + /** + * 打印儿童出生证明 + * @return + */ + @RequestMapping(value = "/findMatDeliverPrint", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseObjectResponse findMatDeliverPrint(@RequestParam(required = true) String id) { + return viewFacade.findMatDeliverPrint(id); + } + + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/VirtualCallController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/VirtualCallController.java new file mode 100644 index 0000000..d29fad2 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/VirtualCallController.java @@ -0,0 +1,110 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.hospitalapi.whfy.VirtualCallService; +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.result.BaseResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +/** + * 虚拟叫号接口 + * Created by Administrator on 2017-12-05. + */ +@Controller +public class VirtualCallController extends BaseController { + + + @Autowired + private VirtualCallService virtualCallService; + + + /** + * 叫号登陆 + * @param httpServletRequest + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/callLogin") + @ResponseBody + @TokenRequired + public BaseResponse callLogin(HttpServletRequest httpServletRequest) { + return virtualCallService.callLogin(httpServletRequest, getUserId(httpServletRequest)); + } + + /** + * 叫号登出 + * @param httpServletRequest + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/callLoginOut") + @ResponseBody + @TokenRequired + public BaseResponse callLoginOut(HttpServletRequest httpServletRequest) { + return virtualCallService.callLoginOut(httpServletRequest, getUserId(httpServletRequest)); + } + + + /** + * 0 修改当前诊间为停诊,1 修改当前诊间为开诊, + * @param status 0停诊 1开诊 + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/doWorkStatusChange") + @ResponseBody + @TokenRequired + public BaseResponse doWorkStatusChange(@RequestParam(required = true) String status,HttpServletRequest request) { + return virtualCallService.doWorkStatusChange(request, getUserId(request), status); + } + + + + /** + * 复呼 + * @param httpServletRequest + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/rebackCall") + @ResponseBody + @TokenRequired + public BaseResponse rebackCall(@RequestParam("patientId") String patientId,HttpServletRequest httpServletRequest) { + return virtualCallService.rebackCall(httpServletRequest, getUserId(httpServletRequest), patientId); + } + + + + + /** + * 候诊队列 + * @param httpServletRequest + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/waitPatientList") + @ResponseBody + @TokenRequired + public BaseResponse waitPatientList(HttpServletRequest httpServletRequest) { + return virtualCallService.waitPatientList(httpServletRequest, getUserId(httpServletRequest)); + } + + + + /** + * 叫号 + * 点击叫号同时修改传入的患者状态,并且返回已呼号队列 + * @param patientId + * @param httpServletRequest + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/callPatients") + @ResponseBody + @TokenRequired + public BaseResponse callPatients(@RequestParam("patientId") String patientId,HttpServletRequest httpServletRequest) { + return virtualCallService.callPatients(httpServletRequest, getUserId(httpServletRequest),patientId); + } + + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java index 22625c8..4118e0d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java @@ -491,6 +491,11 @@ public class LisFacade { { model.setVcCardNo(wxrmyyHisService.findId(vcCardNo)); } + //诸城 + else if ("21".equals(HIS_VERSION)) + { + model.setVcCardNo(getZcVcardNo(vcCardNo)); + } else { model.setVcCardNo(vcCardNo); @@ -544,6 +549,21 @@ public class LisFacade { } + /** + * 诸城就诊卡号处理 + * @param vcCardNo + * @return + */ + private String getZcVcardNo(String vcCardNo) { + if (StringUtils.isNotEmpty(vcCardNo) && vcCardNo.length() > 7) + { + String no = "0000"+vcCardNo.substring(0,8); + System.out.println(no); + return no; + } + return vcCardNo; + } + /** * lis辅助检查的查询 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveRecordFacade.java index 97553ed..43317f6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveRecordFacade.java @@ -132,6 +132,7 @@ public class SieveRecordFacade { SieveRecordModel patient = new SieveRecordModel(); patient.setTime(DateUtil.getYMDTime()); + patient.setFillDate(DateUtil.parseYMD(yunRequest.getFillDate())); patient.setPatientId(yunRequest.getPatientdId()); @@ -251,12 +252,17 @@ public class SieveRecordFacade { - public BaseResponse getSieveRecords(Integer status, String createTime,String keyword, Integer page, Integer limit, Integer userId) { + public BaseResponse getSieveRecords(Integer status, String createTime,String keyword,String provinceRegisterId,String cityRegisterId,String areaRegisterId,String streetRegisterId, Integer page, Integer limit, Integer userId) { String hospitalId = autoMatchFacade.getHospitalId(userId); SieveRecordQuery query = new SieveRecordQuery(); query.setYn(YnEnums.YES.getId()); + query.setAreaId(provinceRegisterId); + query.setProvinceId(cityRegisterId); + query.setCityId(areaRegisterId); + query.setStreetId(streetRegisterId); + query.setPage(page); query.setLimit(limit); query.setNeed("true"); @@ -306,6 +312,7 @@ public class SieveRecordFacade { map.put("currentDueWeek",week); //当前孕周 map.put("dueDate",DateUtil.getyyyy_MM_dd(model.getDueDate())); //预产期 map.put("created",DateUtil.gety_m_dhm(model.getCreated()));//创建日期 + map.put("fillDate",model.getFillDate() == null ? DateUtil.gety_m_dhm(model.getCreated()) : DateUtil.gety_m_dhm(model.getFillDate()));//填写日期 map.put("status",model.getStatus());//导出状态 map.put("statusStr",model.getStatus() == 0 ? "未导出" : "已导出");//导出状态 result.add(map); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index 0461b74..153afc5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -94,6 +94,9 @@ public class ViewFacade { private YunBookbuildingService yunBookbuildingService; @Autowired + private AntenatalExaminationService antenatalExaminationService; + + @Autowired private MongoTemplate mongoTemplate; @Autowired @@ -3728,4 +3731,163 @@ public class ViewFacade { mongoTemplate.save(plantformConfigModel); return RespBuilder.buildSuccess(); } + + public BaseObjectResponse findMatDeliverPrint(String id) { + BaseObjectResponse br = new BaseObjectResponse(); + MaternalDeliverModel data = matDeliverService.getOneMatDeliver(id); + if (data == null || data.getYn() == YnEnums.NO.getId()) { + br.setErrorcode(ErrorCodeConstants.NO_DATA); + br.setErrormsg("没有查询到数据"); + return br; + } + + Patients patients = patientsService.findOnePatientById(data.getParentId()); + + if (patients == null) { + br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + br.setErrormsg("数据异常"); + return br; + } + + Map map = new HashMap<>(); + map.put("id", data.getId()); + + //新生儿信息 + List> babyList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(data.getBaby())) { + for (MaternalDeliverModel.Baby temp : data.getBaby()) { + Map babyMap = new HashMap<>(); + + //性别 + babyMap.put("babyGender", temp.getBabyGender() == null ? "" : SexEnum.getTextById( + Integer.parseInt(temp.getBabyGender()))); + //分娩时间 + babyMap.put("dueTime", temp.getDueTime()); + //体重 + babyMap.put("babyWeight", UnitUtils.unitSplice(temp.getBabyWeight(), UnitConstants.G)); + //身高 + babyMap.put("babyHeight", UnitUtils.unitSplice(temp.getBabyHeight(), UnitConstants.CM)); + //健康状态 + babyMap.put("babyHealthy", temp.getBabyHealthy()); + + babyList.add(babyMap); + } + } + + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setParentId(patients.getId()); + List list = antenatalExaminationService.queryAntExChu(antExChuQuery); + + + String tc = ""; + String cc = ""; + if (CollectionUtils.isNotEmpty(list)) + { + AntExChuModel chuModel = list.get(0); + //孕次 + tc = chuModel.getPregnancyTimes() == null ? "" : String.valueOf(chuModel.getPregnancyTimes()); + // 产次 + tc = chuModel.getProdTime() == null ? "" : String.valueOf(chuModel.getProdTime()); + } + + map.put("baby", babyList); + //胎次 + map.put("tc", ""); + //产次 + map.put("cc", ""); + + //双胎 + map.put("isShuangTai", ""); + + //生产状况 + map.put("scStatus", ""); + + //接生方法 + map.put("jsff", ""); + + //出生孕周 + map.put("dueWeek", data.getDueWeek()); + + + //母亲姓名 + map.put("username", patients.getUsername()); + //母亲年龄 + map.put("age", UnitUtils.unitSplice(DateUtil.getAge(patients.getBirth()), UnitConstants.SUI)); + //母亲地址 + map.put("motherAddr", ""); + + //父亲姓名 + map.put("fatherName",patients.getHusbandName()); + //父亲年龄 + map.put("fatherAge", UnitUtils.unitSplice(DateUtil.getAge(patients.getHusbandBirth()), UnitConstants.SUI)); + //父亲工作单位 + map.put("fatherWorkUnit", patients.getHworkUnit()); + + + //出生地点(县) + map.put("csAddress", ""); + + + String fmHospital = ""; + if (StringUtils.isNotEmpty(data.getFmHospital())) { + if (com.lyms.platform.common.utils.StringUtils.isNum(data.getFmHospital())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(data.getFmHospital())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + fmHospital = organization.getName(); + } + } else { + fmHospital = data.getFmHospital(); + } + + } + //分娩医院 + map.put("fmHospital", fmHospital); + + //新生儿缺陷 + map.put("xseqx", ""); + + //诊断 + map.put("zhenDuan", ""); + + + //母亲身份证号码 + map.put("motherCardNo", patients.getCardNo()); + + //父亲身份证号码 + map.put("motherCardNo", patients.getHcertificateNum()); + + String deliverDoctor = ""; + + if (StringUtils.isNotEmpty(data.getDeliverDoctor())) { + if (com.lyms.platform.common.utils.StringUtils.isNum(data.getDeliverDoctor())) { + Users users = usersService.getUsers(Integer.parseInt(data.getDeliverDoctor())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + deliverDoctor = users.getName(); + } + } else { + deliverDoctor = data.getDeliverDoctor(); + } + } + + //接生者 + map.put("deliverDoctor", deliverDoctor); + + //签发日期 + map.put("qfDate", DateUtil.getyyyy_MM_dd(new Date())); + + //母亲国籍 + map.put("motherGj", ""); + + //母亲民族 + map.put("motherMz", ""); + + //家庭住址 + map.put("homeAddress", ""); + + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(map); + return br; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/YunBookbuildingAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/YunBookbuildingAddRequest.java index 77de36d..b809341 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/YunBookbuildingAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/YunBookbuildingAddRequest.java @@ -289,6 +289,19 @@ public class YunBookbuildingAddRequest { private String patientdId; + //填写日期 + @FormParam + @NotEmpty(message = "填写日期") + private String fillDate; + + public String getFillDate() { + return fillDate; + } + + public void setFillDate(String fillDate) { + this.fillDate = fillDate; + } + public String getPatientdId() { return patientdId; }