package open.dolphin.adm20; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import open.dolphin.infomodel.CarePlanItem; import open.dolphin.infomodel.CarePlanModel; import open.dolphin.adm20.converter.IOSHelper; /** * * @author kazushi Minagawa */ public class ICarePlanModel implements Serializable { // PK private long id; // 確定日 private String startDate; // 開始日 private String endDate; // 終了日 private String created; // 記録日日 private String updated; private long karteId; private String userId; private String commonName; // 実施 private String status; // 記録責任者(システムの利用者) //private UserModel userModel; //private IUserModel iuser; // カルテへの外部参照 //private KarteBean karteBean; // 頻度 private int frequency; // Entity private String entity; // 診療行為セットにユーザーがつける名前 (ex. 風邪セット etc.) == stampName private String stampName; //-------------------------------------------------------- // 以下 Bundle 情報 //-------------------------------------------------------- // 診療行為名 private String className; // 診療行為コード private String classCode; // 診療行為コード体系 private String classCodeSystem; // 用法 private String administration; // 用法コード private String adminCode; // 用法コード体系 private String adminCodeSystem; // 用法メモ private String adminMemo; // バンドル数 private String bundleNumber; // メモ private String memo; // 保険種別 private String insurance; // order name(日本語) private String orderName; // claim item private Collection<ICarePlanItem> carePlanItems; // iOSへ返却 public void fromModel(CarePlanModel model) { this.setId(model.getId()); this.setStartDate(IOSHelper.toDateStr(model.getStartDate())); this.setEndDate(IOSHelper.toDateStr(model.getEndDate())); this.setCreated(IOSHelper.toDateStr(model.getCreated())); this.setUpdated(IOSHelper.toDateStr(model.getUpdated())); this.setStatus(model.getStatus()); this.setFrequency(model.getFrequency()); this.setEntity(model.getEntity()); this.setStampName(model.getStampName()); this.setClassName(model.getClassName()); this.setClassCode(model.getClassCode()); this.setClassCodeSystem(model.getClassCodeSystem()); this.setAdministration(model.getAdministration()); this.setAdminCode(model.getAdminCode()); this.setAdminCodeSystem(model.getAdminCodeSystem()); this.setAdminMemo(model.getAdminMemo()); this.setBundleNumber(model.getBundleNumber()); this.setMemo(model.getMemo()); this.setInsurance(model.getInsurance()); this.setOrderName(model.getOrderName()); // CarePlanItemを変換する Set<CarePlanItem> set = model.getCarePlanItems(); Iterator<CarePlanItem> iter = set.iterator(); List<ICarePlanItem> list = new ArrayList(set.size()); while (iter.hasNext()) { CarePlanItem item = (CarePlanItem)iter.next(); ICarePlanItem it = new ICarePlanItem(); it.fromModel(item); list.add(it); } this.setCarePlanItems(list); } // iOSからEntityModelへ public CarePlanModel toModel() { CarePlanModel ret = new CarePlanModel(); ret.setId(this.getId()); ret.setStartDate(IOSHelper.toDate(this.getStartDate())); ret.setEndDate(IOSHelper.toDate(this.getEndDate())); ret.setCreated(IOSHelper.toDate(this.getCreated())); ret.setUpdated(IOSHelper.toDate(this.getUpdated())); ret.setStatus(this.getStatus()); ret.setKarteId(this.getKarteId()); ret.setUserId(this.getUserId()); ret.setCommonName(this.getCommonName()); ret.setFrequency(this.getFrequency()); ret.setEntity(this.getEntity()); ret.setStampName(this.getStampName()); ret.setClassName(this.getClassName()); ret.setClassCode(this.getClassCode()); ret.setClassCodeSystem(this.getClassCodeSystem()); ret.setAdministration(this.getAdministration()); ret.setAdminCode(this.getAdminCode()); ret.setAdminCodeSystem(this.getAdminCodeSystem()); ret.setAdminMemo(this.getAdminMemo()); ret.setBundleNumber(this.getBundleNumber()); ret.setMemo(this.getMemo()); ret.setInsurance(this.getInsurance()); ret.setOrderName(this.getOrderName()); // ICarePlanItemを変換する if (this.getCarePlanItems()!=null) { Set<CarePlanItem> set = new HashSet<>(); for (ICarePlanItem item : this.getCarePlanItems()) { CarePlanItem it = item.toModel(); // ManyToOneの関係を構築する it.setCarePlan(ret); set.add(it); } ret.setCarePlanItems(set); } return ret; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getStartDate() { return startDate; } public void setStartDate(String startDate) { this.startDate = startDate; } public String getEndDate() { return endDate; } public void setEndDate(String endDate) { this.endDate = endDate; } public String getCreated() { return created; } public void setCreated(String created) { this.created = created; } public String getUpdated() { return updated; } public void setUpdated(String updated) { this.updated = updated; } public long getKarteId() { return karteId; } public void setKarteId(long karteId) { this.karteId = karteId; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getCommonName() { return commonName; } public void setCommonName(String commonName) { this.commonName = commonName; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public int getFrequency() { return frequency; } public void setFrequency(int frequency) { this.frequency = frequency; } public String getEntity() { return entity; } public void setEntity(String entity) { this.entity = entity; } public String getStampName() { return stampName; } public void setStampName(String stampName) { this.stampName = stampName; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public String getClassCode() { return classCode; } public void setClassCode(String classCode) { this.classCode = classCode; } public String getClassCodeSystem() { return classCodeSystem; } public void setClassCodeSystem(String classCodeSystem) { this.classCodeSystem = classCodeSystem; } public String getAdministration() { return administration; } public void setAdministration(String administration) { this.administration = administration; } public String getAdminCode() { return adminCode; } public void setAdminCode(String adminCode) { this.adminCode = adminCode; } public String getAdminCodeSystem() { return adminCodeSystem; } public void setAdminCodeSystem(String adminCodeSystem) { this.adminCodeSystem = adminCodeSystem; } public String getAdminMemo() { return adminMemo; } public void setAdminMemo(String adminMemo) { this.adminMemo = adminMemo; } public String getBundleNumber() { return bundleNumber; } public void setBundleNumber(String bundleNumber) { this.bundleNumber = bundleNumber; } public String getMemo() { return memo; } public void setMemo(String memo) { this.memo = memo; } public String getInsurance() { return insurance; } public void setInsurance(String insurance) { this.insurance = insurance; } public String getOrderName() { return orderName; } public void setOrderName(String orderName) { this.orderName = orderName; } public Collection<ICarePlanItem> getCarePlanItems() { return carePlanItems; } public void setCarePlanItems(Collection<ICarePlanItem> carePlanItems) { this.carePlanItems = carePlanItems; } }