Commit 1d5829d6b94f1d10dfe9307d899aa545695f6aa0

Authored by yangfei
1 parent 2c983d7581

男性婚前检查流转到下一流程

Showing 6 changed files with 149 additions and 66 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java View file @ 1d5829d
... ... @@ -18,6 +18,7 @@
18 18 import org.springframework.data.domain.Sort;
19 19 import org.springframework.stereotype.Service;
20 20  
  21 +import java.util.Arrays;
21 22 import java.util.Date;
22 23 import java.util.List;
23 24  
... ... @@ -28,7 +29,7 @@
28 29 public class PatientsService {
29 30 private Logger logger = LoggerFactory.getLogger("SIEVE-JOB");
30 31  
31   - public static final String his_version = PropertiesUtils.getPropertyValue("his_version");
  32 + public static final String his_version = PropertiesUtils.getPropertyValue("his_version");
32 33  
33 34 @Autowired
34 35 private IPatientDao iPatientDao;
35 36  
... ... @@ -78,11 +79,11 @@
78 79 query.start(patientsQuery.getOffset()).end(patientsQuery.getLimit());
79 80 }
80 81  
81   - if(!StringUtils.isEmpty(patientsQuery.getDesc())){
  82 + if (!StringUtils.isEmpty(patientsQuery.getDesc())) {
82 83 return iPatientDao.queryPatient(query.addOrder(Sort.Direction.DESC, patientsQuery.getSort()));
83 84 }
84   - if(!StringUtils.isEmpty(patientsQuery.getSort())){
85   - return iPatientDao.queryPatient(query.addOrder(Sort.Direction.ASC, patientsQuery.getSort()));
  85 + if (!StringUtils.isEmpty(patientsQuery.getSort())) {
  86 + return iPatientDao.queryPatient(query.addOrder(Sort.Direction.ASC, patientsQuery.getSort()));
86 87 }
87 88  
88 89 return iPatientDao.queryPatient(query.addOrder(Sort.Direction.DESC, "id"));
... ... @@ -102,7 +103,7 @@
102 103 return iPatientDao.queryPatient(query.addOrder(Sort.Direction.DESC, field));
103 104 }
104 105  
105   - public List<Patients> queryPatientBySort(PatientsQuery patientsQuery, String field,String sort) {
  106 + public List<Patients> queryPatientBySort(PatientsQuery patientsQuery, String field, String sort) {
106 107 MongoQuery query = patientsQuery.convertToQuery();
107 108 if (StringUtils.isNotEmpty(patientsQuery.getNeed())) {
108 109 patientsQuery.mysqlBuild(iPatientDao.queryPatientCount(query));
... ... @@ -140,8 +141,7 @@
140 141 return iPatientDao.getPatient(id);
141 142 }
142 143  
143   - public void updatePatientOneCol(String id,Object colValue)
144   - {
  144 + public void updatePatientOneCol(String id, Object colValue) {
145 145 iPatientDao.updatePatientOneCol(id, colValue);
146 146 }
147 147  
148 148  
149 149  
150 150  
151 151  
... ... @@ -151,25 +151,25 @@
151 151 * @param nextCheckTime
152 152 * @param id
153 153 */
154   - public void updateNextCheckTime(String nextCheckTime,String id){
155   - if(StringUtils.isNotEmpty(id)){
156   - Patients patients= findOnePatientById(id);
  154 + public void updateNextCheckTime(String nextCheckTime, String id) {
  155 + if (StringUtils.isNotEmpty(id)) {
  156 + Patients patients = findOnePatientById(id);
157 157 //修改主档
158   - if(null!=patients&&StringUtils.isNotEmpty(patients.getSource())){
  158 + if (null != patients && StringUtils.isNotEmpty(patients.getSource())) {
159 159 Patients p = findOnePatientById(patients.getSource());
160   - updatePatientOneCol(p.getId(),com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
161   - }else if(null!=patients){
162   - PatientsQuery patientsQuery1=new PatientsQuery();
  160 + updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
  161 + } else if (null != patients) {
  162 + PatientsQuery patientsQuery1 = new PatientsQuery();
163 163 patientsQuery1.setSource(id);
164 164 patientsQuery1.setYn(YnEnums.YES.getId());
165   - List<Patients> list= queryPatient(patientsQuery1);
166   - if(CollectionUtils.isNotEmpty(list)){
167   - for(Patients p:list){
168   - updatePatientOneCol(p.getId(),com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
  165 + List<Patients> list = queryPatient(patientsQuery1);
  166 + if (CollectionUtils.isNotEmpty(list)) {
  167 + for (Patients p : list) {
  168 + updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
169 169 }
170 170 }
171 171 }
172   - updatePatientOneCol(id,com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
  172 + updatePatientOneCol(id, com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime));
173 173 }
174 174 }
175 175  
... ... @@ -186,9 +186,8 @@
186 186 Date endDate = DateUtil.addDay(DateUtil.formatDate(new Date()), -105);
187 187 Date start = DateUtil.addDay(DateUtil.formatDate(new Date()), -146);
188 188 //诸城产筛范围未11到 20+6
189   - if(his_version != null && "21".equals(his_version))
190   - {
191   - endDate = DateUtil.addDay(DateUtil.formatDate(new Date()), -77);
  189 + if (his_version != null && "21".equals(his_version)) {
  190 + endDate = DateUtil.addDay(DateUtil.formatDate(new Date()), -77);
192 191 }
193 192  
194 193 PatientsQuery patientsQuery = new PatientsQuery();
... ... @@ -246,7 +245,7 @@
246 245 /**
247 246 * 处理预产期前两周的孕妇数据,进入分娩住院追访
248 247 */
249   - public void dandleReachDue(){
  248 + public void dandleReachDue() {
250 249 //查询出满足预产期前两周的孕妇
251 250 Date endDate = DateUtil.addDay(DateUtil.formatDate(new Date()), +14);
252 251 PatientsQuery patientsQuery = new PatientsQuery();
... ... @@ -258,10 +257,7 @@
258 257 List<Patients> patientses = iPatientDao.queryPatient(patientsQuery.convertToQuery());
259 258 if (CollectionUtils.isNotEmpty(patientses)) {
260 259 logger.info("处理预产期前两周的孕妇数据,进入分娩住院追访 size:" + patientses.size());
261   - for(Patients patient:patientses){
262   - if(patient.getHospitalId().equals("216")){
263   - System.out.println("cardNo:"+patient.getCardNo());
264   - }
  260 + for (Patients patient : patientses) {
265 261 //添加产后追访信息
266 262 TrackDownRecord trackDownRecord = patient.build();
267 263 //添加产后追访信息
268 264  
269 265  
270 266  
... ... @@ -269,21 +265,48 @@
269 265 downRecordQuery.setParentId(trackDownRecord.getParentId());
270 266 List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
271 267 //不存在追访或者追访未结束流程并且追访类型小于分娩住院
272   - if(CollectionUtils.isEmpty(records)||(records.get(0).getStatus() == 1 && records.get(0).getTrackType()<TrackDownDateEnums.E.getId())){
  268 + if (CollectionUtils.isEmpty(records) || (records.get(0).getStatus() == 1 && records.get(0).getTrackType() < TrackDownDateEnums.E.getId())) {
273 269 trackDownRecord.setHospitalId(patient.getHospitalId());
274 270 trackDownRecord.setSource(patient.getId());
275 271 trackDownRecord.setStatus(1);
276 272 trackDownRecord.setTrackType(TrackDownDateEnums.E.getId());
277   - if(CollectionUtils.isEmpty(records)){
  273 + if (CollectionUtils.isEmpty(records)) {
278 274 trackDownRecordService.addTrackDown(trackDownRecord);
279   - }else{
280   - trackDownRecordService.updateTrackDown(trackDownRecord,records.get(0).getId());
  275 + } else {
  276 + trackDownRecordService.updateTrackDown(trackDownRecord, records.get(0).getId());
281 277 }
282 278 }
283 279 }
284 280 }
285 281 }
286 282  
  283 + /**
  284 + * 处理产后复查、产后追访数据显示及自动流转
  285 + */
  286 + public void dandleAutoReachDue() {
  287 + //添加产后追访信息
  288 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
  289 + downRecordQuery.setTrackTypes(Arrays.asList(TrackDownDateEnums.F.getId(), TrackDownDateEnums.G.getId(),
  290 + TrackDownDateEnums.K.getId()));
  291 + List<TrackDownRecord> records = trackDownRecordService.queryTrackDown(downRecordQuery);
  292 + for (TrackDownRecord tr : records) {
  293 + Patients patients = iPatientDao.getPatient(tr.getParentId());
  294 + if (patients != null&&patients.getFmDate()!=null) {//分娩时间不为空
  295 + //分娩距当前时间天数
  296 + int day = DateUtil.daysBetween(patients.getFmDate(), new Date());
  297 + if (day <= 60) {//产后60天内,可做产后访视或产后复查环节
  298 + if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访
  299 + if(tr.getTrackType() == TrackDownDateEnums.K.getId()){//如果已经是产后复查已经转出,则不显示数据了
  300 + tr.setStatus(0);
  301 + }else{//否则进入产后复查追访
  302 + tr.setTrackType(TrackDownDateEnums.J.getId());
  303 + }
  304 + trackDownRecordService.updateTrackDown(tr, tr.getId());
  305 + }
  306 + }
  307 + }
  308 + }
  309 + }
287 310  
288 311  
289 312 /**
... ... @@ -335,7 +358,7 @@
335 358 // remoteService.invalidCoupon(patients.getPid(), "2", RemoteUrlEnum.INVALID_COUPON_URL);
336 359  
337 360 //作废产检劵
338   - /* patientCheckTicketService.cancelCheckTicket(patients.getHospitalId(), patients.getId());*/
  361 + /* patientCheckTicketService.cancelCheckTicket(patients.getHospitalId(), patients.getId());*/
339 362 PersonModelQuery personYunModelQuery = new PersonModelQuery();
340 363 personYunModelQuery.setYn(YnEnums.YES.getId());
341 364 personYunModelQuery.setId(patients.getPid());
342 365  
... ... @@ -365,15 +388,15 @@
365 388 /**
366 389 * 修改非建档医院基本信息
367 390 */
368   - public void updateBaseData(Patients patients){
369   - PatientsQuery patientsQuery2=new PatientsQuery();
  391 + public void updateBaseData(Patients patients) {
  392 + PatientsQuery patientsQuery2 = new PatientsQuery();
370 393 patientsQuery2.setPid(patients.getPid());
371 394 patientsQuery2.setEnable("2");
372 395 patientsQuery2.setSource(patients.getId());
373 396 //查询出其他医院的隐藏建档
374   - List<Patients> patientses=queryPatient(patientsQuery2);
375   - if(CollectionUtils.isNotEmpty(patientses)){
376   - for(Patients patients1:patientses){
  397 + List<Patients> patientses = queryPatient(patientsQuery2);
  398 + if (CollectionUtils.isNotEmpty(patientses)) {
  399 + for (Patients patients1 : patientses) {
377 400 patients.setId(patients1.getId());
378 401 // patients.setBookbuildingDate(patients1.getBookbuildingDate());
379 402 patients.setHospitalId(patients1.getHospitalId());
380 403  
381 404  
... ... @@ -386,13 +409,14 @@
386 409 }
387 410 }
388 411 }
  412 +
389 413 //修改产检管理的孕妇基本信息
390   - private void updateExRecord(Patients patients){
391   - AntExRecordQuery antExRecordQuery=new AntExRecordQuery();
  414 + private void updateExRecord(Patients patients) {
  415 + AntExRecordQuery antExRecordQuery = new AntExRecordQuery();
392 416 antExRecordQuery.setParentId(patients.getId());
393 417  
394   - if(iAntExRecordDao.count(antExRecordQuery.convertToQuery())>0){
395   - AntExRecordModel antExRecordModel=new AntExRecordModel();
  418 + if (iAntExRecordDao.count(antExRecordQuery.convertToQuery()) > 0) {
  419 + AntExRecordModel antExRecordModel = new AntExRecordModel();
396 420 antExRecordModel.setLastMenses(patients.getLastMenses());
397 421 antExRecordModel.setBuildTime(patients.getBookbuildingDate());
398 422 antExRecordModel.setDueDate(patients.getDueDate());
399 423  
... ... @@ -408,9 +432,9 @@
408 432 antExRecordModel.setCardNo(patients.getCardNo());
409 433  
410 434 Patients dbPatients = findOnePatientById(patients.getId());
411   - if(dbPatients.getType()==1){
  435 + if (dbPatients.getType() == 1) {
412 436 antExRecordModel.setStatus(2);
413   - }else {
  437 + } else {
414 438 antExRecordModel.setStatus(1);
415 439 }
416 440 antExRecordModel.setModified(new Date());
... ... @@ -418,6 +442,7 @@
418 442 iAntExRecordDao.batchUpdateRecord(antExRecordModel, antExRecordQuery.convertToQuery());
419 443 }
420 444 }
  445 +
421 446 /**
422 447 * 修改产筛数据
423 448 *
... ... @@ -444,7 +469,7 @@
444 469 sieveModel.setName(patients.getUsername());
445 470 sieveModel.setLastMenses(patients.getLastMenses());
446 471 sieveModel.setCardNo(patients.getCardNo());
447   - if (null != sieveModel.getDueWeek()&&null!=sieveModel.getApplyDate()) {
  472 + if (null != sieveModel.getDueWeek() && null != sieveModel.getApplyDate()) {
448 473 sieveModel.setDueWeek(DateUtil.daysBetween(patients.getLastMenses(), sieveModel.getApplyDate()));
449 474 }
450 475 SieveService.handOrder(sieveModel);
... ... @@ -482,7 +507,7 @@
482 507 sieveModel.setName(patients.getUsername());
483 508 sieveModel.setLastMenses(patients.getLastMenses());
484 509 sieveModel.setCardNo(patients.getCardNo());
485   - if (null != sieveModel.getDueWeek() &&null!=sieveModel.getApplyDate()) {
  510 + if (null != sieveModel.getDueWeek() && null != sieveModel.getApplyDate()) {
486 511 sieveModel.setDueWeek(DateUtil.daysBetween(patients.getLastMenses(), sieveModel.getApplyDate()));
487 512 }
488 513 SieveService.handOrder(sieveModel);
... ... @@ -506,7 +531,7 @@
506 531 referralApplyOrderModel1.setBirth(babyModel.getBirth());
507 532 referralApplyOrderModel1.setName(babyModel.getName());
508 533 referralApplyOrderModel1.setCardNo(babyModel.getCardNo());
509   - if(null!=patients){
  534 + if (null != patients) {
510 535 referralApplyOrderModel1.setPhone(patients.getPhone());
511 536 referralApplyOrderModel1.setmCardNo(patients.getCardNo());
512 537 referralApplyOrderModel1.setMname(patients.getUsername());
513 538  
514 539  
515 540  
516 541  
... ... @@ -594,21 +619,21 @@
594 619 sieveQuery.setParentId(patient.getId());
595 620 List<SieveModel> list = sieveDao.queryList(sieveQuery.convertToQuery());
596 621 if (CollectionUtils.isEmpty(list)) {
597   - logger.info("find sieve empty parentid:"+patient.getId());
  622 + logger.info("find sieve empty parentid:" + patient.getId());
598 623 SieveModel sieveModel = convertToModel(patient);
599 624 sieveModel.setFrom("0");
600   - SieveApplyOrderQuery sieveApplyOrderQuery=new SieveApplyOrderQuery();
  625 + SieveApplyOrderQuery sieveApplyOrderQuery = new SieveApplyOrderQuery();
601 626 sieveApplyOrderQuery.setParentId(patient.getId());
602 627 sieveApplyOrderQuery.setYn(YnEnums.YES.getId());
603 628 List<SieveApplyOrderModel> orders = sieveApplyOrderDao.queryList(sieveApplyOrderQuery.convertToQuery());
604   - if(CollectionUtils.isNotEmpty(orders)){
  629 + if (CollectionUtils.isNotEmpty(orders)) {
605 630 sieveModel.setStatus(SieveStatusEnums.O1.getId());
606 631  
607   - SieveResultQuery sieveResultQuery=new SieveResultQuery();
  632 + SieveResultQuery sieveResultQuery = new SieveResultQuery();
608 633 sieveResultQuery.setParentId(patient.getId());
609 634 sieveResultQuery.setYn(YnEnums.YES.getId());
610   - List<SieveResultModel> result= sieveDao.queryListSieveResult(sieveResultQuery.convertToQuery());
611   - if(CollectionUtils.isNotEmpty(result)){
  635 + List<SieveResultModel> result = sieveDao.queryListSieveResult(sieveResultQuery.convertToQuery());
  636 + if (CollectionUtils.isNotEmpty(result)) {
612 637 sieveModel.setStatus(SieveStatusEnums.O2.getId());
613 638 }
614 639 }
platform-dal/src/main/java/com/lyms/platform/query/ResidentsArchiveQuery.java View file @ 1d5829d
... ... @@ -179,6 +179,9 @@
179 179 if (created != null) {
180 180 condition = condition.and("created", created, MongoOper.IS);
181 181 }
  182 + if (marriageId != null) {
  183 + condition = condition.and("marriageId", marriageId, MongoOper.IS);
  184 + }
182 185 if (StringUtils.isNotBlank(buildDoctor)) {
183 186 condition = condition.and("buildDoctor", buildDoctor, MongoOper.IS);
184 187 }
platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java View file @ 1d5829d
... ... @@ -39,7 +39,7 @@
39 39 private String hospitalId;
40 40 private String residentsArchiveId;
41 41 private String source;
42   - private String status;
  42 + private Integer status;
43 43 private String cardNo;
44 44 private String phone;
45 45 /**
46 46  
... ... @@ -88,11 +88,11 @@
88 88 this.source = source;
89 89 }
90 90  
91   - public String getStatus() {
  91 + public Integer getStatus() {
92 92 return status;
93 93 }
94 94  
95   - public void setStatus(String status) {
  95 + public void setStatus(Integer status) {
96 96 this.status = status;
97 97 }
98 98  
... ... @@ -200,7 +200,7 @@
200 200 public MongoQuery convertToQuery() {
201 201 MongoCondition condition = MongoCondition.newInstance();
202 202  
203   - if (StringUtils.isNotEmpty(status)) {
  203 + if (status!=null) {
204 204 condition = condition.and("status", status, MongoOper.IS);
205 205 } else {
206 206 //默认只查询显示的数据
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownJobFacade.java View file @ 1d5829d
... ... @@ -114,13 +114,13 @@
114 114 //婚前检查数据加载
115 115 downJobHandlers.add(new HJTrackDownDataLoader());
116 116 //怀孕建档数据加载
117   - downJobHandlers.add(new HYTrackDownDataLoader());
  117 + // downJobHandlers.add(new HYTrackDownDataLoader());
118 118 //产检数据加载
119   - downJobHandlers.add(new CJTrackDownDataLoader());
  119 + // downJobHandlers.add(new CJTrackDownDataLoader());
120 120 //分娩数据加载,有自动任务处理
121 121 // downJobHandlers.add(new FMTrackDownDataLoader());
122 122 //产后访视和产后复查的数据加载 产后访视和产后复查的规则一样
123   - downJobHandlers.add(new CHTrackDownDataLoader());
  123 + // downJobHandlers.add(new CHTrackDownDataLoader());
124 124 }
125 125  
126 126  
127 127  
128 128  
... ... @@ -294,11 +294,14 @@
294 294  
295 295 @Override
296 296 public void execute() {
  297 + System.out.println("开始生成妇女档案生成追访数据!");
297 298 int page = 1;
298 299 List<ResidentsArchiveModel> data = null;
  300 + //处理女性档案
299 301 do {
300 302 ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery();
301 303 archiveQuery.setYn(YnEnums.YES.getId());
  304 + archiveQuery.setSex("c23779f1-cb6e-44d0-9fc8-0a990bf6184c");
302 305 archiveQuery.setSort("created asc");
303 306 archiveQuery.setNeed("1");
304 307 archiveQuery.setPage(page);
... ... @@ -313,6 +316,30 @@
313 316 }
314 317 page++;
315 318 } while (CollectionUtils.isNotEmpty(data) && data.size() == limit);
  319 +
  320 + //处理男性未婚档案
  321 + page = 1;
  322 + do {
  323 + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery();
  324 + archiveQuery.setYn(YnEnums.YES.getId());
  325 + archiveQuery.setSort("created asc");
  326 + archiveQuery.setMarriageId("d049eaaa-7265-4cdb-879f-992ab6320a3a");
  327 + archiveQuery.setSex("5d0b782f-b61b-441b-b8c5-4bf55eece273");
  328 + archiveQuery.setNeed("1");
  329 + archiveQuery.setPage(page);
  330 + archiveQuery.setLimit(limit);
  331 + //查询妇女建档
  332 + data = residentsArchiveService.queryResident(archiveQuery);
  333 + if (CollectionUtils.isNotEmpty(data)) {
  334 + for (ResidentsArchiveModel model : data) {
  335 + //单条数据处理
  336 + handOneByOne(model);
  337 + }
  338 + }
  339 + page++;
  340 + } while (CollectionUtils.isNotEmpty(data) && data.size() == limit);
  341 +
  342 + System.out.println("妇女档案生成追访数据完成!");
316 343 }
317 344  
318 345 /**
... ... @@ -322,11 +349,11 @@
322 349 * @param model
323 350 */
324 351 public void handOneByOne(ResidentsArchiveModel model) {
325   - if ("5d0b782f-b61b-441b-b8c5-4bf55eece273".equals(model.getSex())) {//男
326   - if ("d75d1902-61a5-4a17-a68a-5b8a9826537b".equals(model.getMarriageId())) {//已婚,不添加追访信息
327   - return;
328   - }
329   - }
  352 + // if ("5d0b782f-b61b-441b-b8c5-4bf55eece273".equals(model.getSex())) {//男
  353 + // if ("d75d1902-61a5-4a17-a68a-5b8a9826537b".equals(model.getMarriageId())) {//已婚,不添加追访信息
  354 + // return;
  355 + // }
  356 + // }
330 357  
331 358 if (null != model && StringUtils.isNotEmpty(model.getId())) {
332 359 PremaritalCheckupQuery premaritalCheckupQuery = new PremaritalCheckupQuery();
... ... @@ -340,7 +367,7 @@
340 367 TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery();
341 368 downRecordQuery.setHospitalId(model.getHospitalId());
342 369 if (StringUtils.isNotEmpty(model.getCertificateNum())) {
343   - downRecordQuery.setKey(model.getCertificateNum());
  370 + downRecordQuery.setCardNo(model.getCertificateNum());
344 371 } else if (StringUtils.isNotEmpty(model.getPhone())) {
345 372 downRecordQuery.setPhone(model.getPhone());
346 373 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java View file @ 1d5829d
... ... @@ -225,7 +225,8 @@
225 225 return RespBuilder.buildErro(ResponseCode.DATA_ERROR, "数据已经被修改请回到列表刷新后再操作!");
226 226 }
227 227 if (TrackDownDateEnums.A.getId() == trackDown.getTrackDownDateType()
228   - && "5d0b782f-b61b-441b-b8c5-4bf55eece273".equals(trackDownRecord.getSex())) {//性别男:特殊处理,流转到下一流程时结束流程
  228 + && "5d0b782f-b61b-441b-b8c5-4bf55eece273".equals(trackDownRecord.getSex())
  229 + &&TrackDownTransferEnums.B.getId() == trackDown.getTrackDownTransfer()) {//性别男:特殊处理,流转到下一流程时结束流程
229 230 trackDown.setTrackDownTransfer(TrackDownTransferEnums.C.getId());
230 231 }
231 232 }
platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml View file @ 1d5829d
... ... @@ -71,6 +71,16 @@
71 71 <property name="concurrent" value="false"></property>
72 72 </bean>
73 73  
  74 + <!--处理产后复查、产后追访数据显示及自动流转追访任务 -->
  75 + <bean id="dandleAutoReachDue" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  76 + <!-- 要调用的bean -->
  77 + <property name="targetObject" ref="patientsServiceLocal"></property>
  78 + <!-- 要调用的Method -->
  79 + <property name="targetMethod" value="dandleAutoReachDue"></property>
  80 + <!-- 是否并发,false表示 如果发生错误也不影响下一次的调用 -->
  81 + <property name="concurrent" value="false"></property>
  82 + </bean>
  83 +
74 84 <bean id="delSieveTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
75 85 <!-- 要调用的bean -->
76 86 <property name="targetObject" ref="patientsServiceLocal"></property>
... ... @@ -156,6 +166,11 @@
156 166 <property name="jobDetail" ref="dandleReachDue"></property>
157 167 <property name="cronExpression" value="0 0 2 * * ?"></property>
158 168 </bean>
  169 + <!-- 配置一个触发器 -->
  170 + <bean id="dandleAutoReachDueTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  171 + <property name="jobDetail" ref="dandleAutoReachDue"></property>
  172 + <property name="cronExpression" value="0 30 2 * * ?"></property>
  173 + </bean>
159 174  
160 175 <!-- 配置一个触发器 -->
161 176 <bean id="delSieveTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
162 177  
... ... @@ -212,7 +227,15 @@
212 227 <property name="repeatCount" value="0" />
213 228 </bean>
214 229  
  230 + <!-- 分娩前20周分娩住院追访配置项目启动后任务就执行一次 -->
  231 + <bean id="firstDandleAutoReachDueTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
  232 + <property name="jobDetail" ref="dandleAutoReachDue" />
  233 + <property name="startDelay" value="500" />
  234 + <property name="repeatInterval" value="0" />
  235 + <property name="repeatCount" value="0" />
  236 + </bean>
215 237  
  238 +
216 239 <!-- 孕妇学校定时任务 -->
217 240 <bean id="courseWorker" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
218 241 <!-- 要调用的bean -->
... ... @@ -262,6 +285,10 @@
262 285 <ref bean="dandleReachDueTrigger"/>
263 286 <!--预产期前两周自动创建分娩住院追访启动时执行一次-->
264 287 <ref bean="firstDandleReachDueTrigger" />
  288 + <!--处理产后复查、产后追访数据显示及自动流转-->
  289 + <ref bean="dandleAutoReachDueTrigger"/>
  290 + <!--处理产后复查、产后追访数据显示及自动流转-->
  291 + <ref bean="firstDandleAutoReachDueTrigger" />
265 292 <!--乐陵住院系统同步-->
266 293 <!--<ref bean="synLlHisDataTrigger"/>-->
267 294 <!--乐陵住院启动时执行一次-->