From 7d4e0106f1042e6c23d906f9542ff4194899d50b Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Thu, 5 Jan 2017 15:00:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=A7=E6=A3=80=E5=8A=B5?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/pojo/PatientCheckTicket.java | 9 ++ .../operate/web/controller/UpdateController.java | 18 +++- .../operate/web/facade/BookbuildingFacade.java | 1 + .../web/facade/PatientCheckTicketFacade.java | 102 +++++++++++++++++++++ 4 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCheckTicketFacade.java diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PatientCheckTicket.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PatientCheckTicket.java index 81b93ab..556ec17 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PatientCheckTicket.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PatientCheckTicket.java @@ -17,11 +17,20 @@ public class PatientCheckTicket extends BaseModel { private String id; private String patientId; private String hospitalId; + private String pid; private String consumeHospitalId; private Integer status; // 1:创建未使用, 2:产检使用,3:分娩销毁 private Date created; private Date consumeDate; + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + public String getId() { return id; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UpdateController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UpdateController.java index 1044961..bd38240c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UpdateController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UpdateController.java @@ -2,9 +2,11 @@ package com.lyms.platform.operate.web.controller; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.CorrectDataFacade; +import com.lyms.platform.operate.web.facade.PatientCheckTicketFacade; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -27,6 +29,8 @@ public class UpdateController extends BaseController { @Autowired private CorrectDataFacade correctDataFacade; + @Autowired + private PatientCheckTicketFacade patientCheckTicketFacade; @RequestMapping(value = "/updateData", method = RequestMethod.GET) @ResponseBody private Map updateCorrectData(@RequestParam("hId") String hId) { @@ -45,4 +49,16 @@ public class UpdateController extends BaseController { } return result; } -} + + /** + * 补发指定医院的产检劵 + * + * @param hId + * @return + */ + @RequestMapping(value = "/supplyCheckTicket", method = RequestMethod.GET) + @ResponseBody + private BaseResponse supplyCheckTicket(@RequestParam("hId")String hId){ + return patientCheckTicketFacade.supplyCheckTicket(hId); + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index c497fb5..ed4c779 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -261,6 +261,7 @@ public class BookbuildingFacade { ticket.setPatientId(p.getId()); ticket.setCreated(new Date()); ticket.setId("0335" + ticketPid + i); + ticket.setPid(p.getPid()); patientCheckTicketService.addTicket(ticket); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCheckTicketFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCheckTicketFacade.java new file mode 100644 index 0000000..ec47e07 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCheckTicketFacade.java @@ -0,0 +1,102 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.AutoIncermentService; +import com.lyms.platform.biz.service.PatientCheckTicketService; +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.operate.web.worker.WorkHR; +import com.lyms.platform.pojo.PatientCheckTicket; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.query.PatientCheckTicketQuery; +import com.lyms.platform.query.PatientsQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.concurrent.Future; + +/** + * 产检劵补发 + *

+ * Created by Administrator on 2017/1/5 0005. + */ +@Component +public class PatientCheckTicketFacade { + + @Autowired + private PatientCheckTicketService checkTicketServicel; + @Autowired + private PatientsService patientsService; + @Autowired + private AutoMatchFacade autoMatchFacade; + + @Autowired + private AutoIncermentService autoIncermentService; + + /** + * 补发以前建档的产检劵 + * + * @return + */ + public BaseResponse supplyCheckTicket(String hId) { + PatientsQuery patientsQuery1 = new PatientsQuery(); + patientsQuery1.setHospitalId(hId); + patientsQuery1.setYn(YnEnums.YES.getId()); + patientsQuery1.setType(1); + List buildType = new ArrayList(); + buildType.add(0); + buildType.add(2); + patientsQuery1.setBuildTypeList(buildType); + + List patientses = patientsService.queryPatient(patientsQuery1); + + int batchSize = 400; + int end = 0; + for (int i = 0; i < patientses.size(); i += batchSize) { + end = (end + batchSize); + if (end > patientses.size()) { + end = patientses.size(); + } + new SupplyCheckTicketThread(patientses.subList(i, end)).start(); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + private class SupplyCheckTicketThread extends Thread { + private List patientses; + + public SupplyCheckTicketThread(List patientses) { + this.patientses = patientses; + } + + @Override + public void run() { + PatientCheckTicketQuery checkTicketQuery = new PatientCheckTicketQuery(); + for (Patients p : patientses) { + try { + checkTicketQuery.setPatientId(p.getId()); + if (0 == checkTicketServicel.queryTicketCount(checkTicketQuery)) { + //建档成功后,给孕妇造五个条形码 + String ticketPid = autoIncermentService.nextPatientTicketId(); + for (Integer i = 1; i <= 5; i++) { + PatientCheckTicket ticket = new PatientCheckTicket(); + ticket.setStatus(1); + ticket.setHospitalId(p.getHospitalId()); + ticket.setPatientId(p.getId()); + ticket.setCreated(new Date()); + ticket.setId("0335" + ticketPid + i); + checkTicketServicel.addTicket(ticket); + } + } + } catch (Exception e) { + ExceptionUtils.catchException(e, "SupplyCheckTicketThread Error."); + } + } + } + } +} \ No newline at end of file -- 1.8.3.1