diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITrackDownDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITrackDownDao.java new file mode 100644 index 0000000..cb95f84 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITrackDownDao.java @@ -0,0 +1,12 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.pojo.TrackDown; +import org.springframework.data.mongodb.core.query.Query; + +public interface ITrackDownDao { + + void add(TrackDown TrackDown); + + void updateXy(Query query, TrackDown TrackDown); + +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TrackDownDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TrackDownDaoImpl.java new file mode 100644 index 0000000..bb0d65b --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TrackDownDaoImpl.java @@ -0,0 +1,22 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.ITrackDownDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.pojo.TrackDown; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Repository; + +@Repository +public class TrackDownDaoImpl extends BaseMongoDAOImpl implements ITrackDownDao { + + @Override + public void add(TrackDown TrackDown) { + save(TrackDown); + } + + @Override + public void updateXy(Query query, TrackDown TrackDown) { + update(query, TrackDown); + } + +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/TrackDownService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/TrackDownService.java new file mode 100644 index 0000000..60511c7 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/TrackDownService.java @@ -0,0 +1,25 @@ +package com.lyms.platform.biz.service; + + +import com.lyms.platform.biz.dal.ITrackDownDao; +import com.lyms.platform.pojo.TrackDown; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Service; + +@Service +public class TrackDownService { + + @Autowired + private ITrackDownDao trackDownDao; + + public void add(TrackDown TrackDown) { + trackDownDao.add(TrackDown); + } + + public void update(TrackDown TrackDown) { + trackDownDao.updateXy(Query.query(Criteria.where("id").is(TrackDown.getId())), TrackDown); + } + +} diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownDateEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownDateEnums.java new file mode 100644 index 0000000..53b90be --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownDateEnums.java @@ -0,0 +1,54 @@ +package com.lyms.platform.common.enums; + +import com.lyms.platform.common.utils.StringUtils; + +/** + * 追访数据保存的类型 + */ +public enum TrackDownDateEnums { + A(1, "婚前检查"), + B(2, "怀孕建档"), + C(3, "孕期检查"), + D(4, "产前筛查"), + E(3, "分娩住院"), + F(3, "产后访视"), + G(3, "产后复查"); + + TrackDownDateEnums(Integer id, String name) { + this.id = id; + this.name = name; + } + + + public static String getName(String id) { + if(StringUtils.isEmpty(id)) { + return null; + } + TrackDownDateEnums[] values = TrackDownDateEnums.values(); + for (TrackDownDateEnums value : values) { + if (value.getId().equals(id)) { + return value.getName(); + } + } + return null; + } + private Integer id; + private String name; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownTransferEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownTransferEnums.java new file mode 100644 index 0000000..d428cb6 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownTransferEnums.java @@ -0,0 +1,50 @@ +package com.lyms.platform.common.enums; + +import com.lyms.platform.common.utils.StringUtils; + +/** + * 追访转接 + */ +public enum TrackDownTransferEnums { + A(1, "停留当前流程"), + B(2, "流转至下一流程"), + C(3, "停止所有流程"); + + TrackDownTransferEnums(Integer id, String name) { + this.id = id; + this.name = name; + } + + + public static String getName(String id) { + if(StringUtils.isEmpty(id)) { + return null; + } + TrackDownTransferEnums[] values = TrackDownTransferEnums.values(); + for (TrackDownTransferEnums value : values) { + if (value.getId().equals(id)) { + return value.getName(); + } + } + return null; + } + private Integer id; + private String name; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownTypeEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownTypeEnums.java new file mode 100644 index 0000000..4dbbd6f --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/TrackDownTypeEnums.java @@ -0,0 +1,51 @@ +package com.lyms.platform.common.enums; + +import com.lyms.platform.common.utils.StringUtils; + +/** + * 追访方式 + */ +public enum TrackDownTypeEnums { + A(1, "电话联系"), + B(2, "短信提醒"), + C(3, "上门访视"), + D(4, "APP聊天"); + + TrackDownTypeEnums(Integer id, String name) { + this.id = id; + this.name = name; + } + + + public static String getName(String id) { + if(StringUtils.isEmpty(id)) { + return null; + } + TrackDownTypeEnums[] values = TrackDownTypeEnums.values(); + for (TrackDownTypeEnums value : values) { + if (value.getId().equals(id)) { + return value.getName(); + } + } + return null; + } + private Integer id; + private String name; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java index b60adc5..2c876f5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java +++ b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java @@ -60,6 +60,7 @@ public enum SerialIdEnum { BloodPressure("BloodPressure", 97531333111L), BloodSugar("BloodSugar", 97111333111L), TempModel("TempModel", 97111333112L), + TrackDown("TrackDown", 97222333112L), last("last", 97531009990L); private String cname; private Long cid; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java new file mode 100644 index 0000000..70ab650 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java @@ -0,0 +1,166 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.beans.SerialIdEnum; +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + +/** + * 追访 + */ +@Document(collection="lyms_track_down") +public class TrackDown extends BaseModel { + + private static final long serialVersionUID = SerialIdEnum.TrackDown.getCid(); + + private String id; + + private String parentId; + + private String pid; + + private Date created; + + private Date modified; + + private Integer yn; + + private Integer operaterId; + + private String hospitalId; + + /** + * 追访时间 + */ + private Date trackDownDate; + + /** + * 追访人 + */ + private String trackDownUserId; + + /** + * 追访方式 + */ + private Integer trackDownType; + + /** + * 是否预约 + */ + private boolean isReservat; + + /** + * 预约时间 + */ + private Date reservatDate; + + /** + * 追访转接 + */ + private Integer trackDownTransfer; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Integer getOperaterId() { + return operaterId; + } + + public void setOperaterId(Integer operaterId) { + this.operaterId = operaterId; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public Date getTrackDownDate() { + return trackDownDate; + } + + public void setTrackDownDate(Date trackDownDate) { + this.trackDownDate = trackDownDate; + } + + public String getTrackDownUserId() { + return trackDownUserId; + } + + public void setTrackDownUserId(String trackDownUserId) { + this.trackDownUserId = trackDownUserId; + } + + public Integer getTrackDownType() { + return trackDownType; + } + + public void setTrackDownType(Integer trackDownType) { + this.trackDownType = trackDownType; + } + + public boolean isReservat() { + return isReservat; + } + + public void setReservat(boolean reservat) { + isReservat = reservat; + } + + public Date getReservatDate() { + return reservatDate; + } + + public void setReservatDate(Date reservatDate) { + this.reservatDate = reservatDate; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java new file mode 100644 index 0000000..1b8c4cb --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java @@ -0,0 +1,56 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.service.ITrackDownService; +import com.lyms.platform.pojo.TrackDown; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; + +/** + * 追访 + */ +@Controller +@RequestMapping("/track/down") +public class TrackDownController extends BaseController { + + @Autowired + private ITrackDownService trackDownService; + + @ResponseBody + @TokenRequired + @RequestMapping(value = "/all", method = RequestMethod.GET) + public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, HttpServletRequest request) { + return trackDownService.all(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, page, limit, getUserId(request)); + } + + @ResponseBody + @RequestMapping(method = RequestMethod.POST) + @TokenRequired + public BaseResponse addOrUpdate(TrackDown trackDown, HttpServletRequest request) { + return trackDownService.addOrUpdate(getUserId(request), trackDown); + } + + @ResponseBody + @TokenRequired + @RequestMapping(method = RequestMethod.GET) + public BaseResponse list(String provinceId, String cityId, String areaId, String addressId, Integer trackType, Integer page, Integer limit, HttpServletRequest request) { + return trackDownService.list(provinceId, cityId, areaId, addressId, trackType, page, limit, getUserId(request)); + } + + @ResponseBody + @RequestMapping(value = "/{parentId}/{trackType}", method = RequestMethod.GET) + @TokenRequired + public BaseResponse info(@PathVariable String parentId, @PathVariable Integer trackType) { + return trackDownService.info(parentId, trackType); + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java new file mode 100644 index 0000000..2fad994 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java @@ -0,0 +1,20 @@ +package com.lyms.platform.operate.web.service; + +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.pojo.TrackDown; + +import java.util.Date; + +public interface ITrackDownService extends IBaseService { + + BaseResponse addOrUpdate(Integer userId, TrackDown trackDown); + + BaseResponse list(String provinceId, String cityId, String areaId, String addressId, Integer trackType, Integer page, Integer limit, Integer userId); + + BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId); + + BaseResponse info(String patientId, Integer trackType); + + BaseResponse init(); + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java new file mode 100644 index 0000000..0e0e393 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java @@ -0,0 +1,63 @@ +package com.lyms.platform.operate.web.service.impl; + +import com.lyms.platform.biz.service.TrackDownService; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.result.RespBuilder; +import com.lyms.platform.operate.web.facade.AutoMatchFacade; +import com.lyms.platform.operate.web.service.ITrackDownService; +import com.lyms.platform.operate.web.utils.MongoUtil; +import com.lyms.platform.pojo.TrackDown; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.stereotype.Service; + +import java.util.Date; + +@Service +public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownService { + + @Autowired + private TrackDownService TrackDownService; + + @Autowired + private MongoTemplate mongoTemplate; + + @Autowired + private AutoMatchFacade autoMatchFacade; + + @Autowired + private MongoUtil mongoUtil; + + @Override + public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId) { + Criteria criteria = new Criteria(); + if(buildStart != null && buildEnd != null) { + + } + + return null; + } + + public BaseResponse addOrUpdate(Integer userId, TrackDown TrackDown) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + return RespBuilder.buildSuccess(); + } + + @Override + public BaseResponse list(String provinceId, String cityId, String areaId, String addressId, Integer trackType, Integer page, Integer limit, Integer userId) { + return null; + } + + @Override + public BaseResponse info(String patientId, Integer trackType) { + return null; + } + + @Override + public BaseResponse init() { + return null; + } + + +}