Commit e2abd2c5a9db257569635a395dbbb7bad2177088
1 parent
38611d53c5
Exists in
master
and in
6 other branches
改bug
Showing 12 changed files with 364 additions and 5 deletions
- platform-common/src/main/java/com/lyms/platform/common/dao/BaseSyncDataDao.java
- platform-common/src/main/java/com/lyms/platform/common/dao/BaseSyncDataDaoImpl.java
- platform-common/src/main/java/com/lyms/platform/common/dao/SyncTestModel.java
- platform-common/src/main/java/com/lyms/platform/common/dao/SyncTestModelDao.java
- platform-common/src/main/java/com/lyms/platform/common/dao/SyncTestModelDaoImpl.java
- platform-common/src/main/java/com/lyms/platform/common/enums/CrudEnums.java
- platform-common/src/main/java/com/lyms/platform/common/enums/SyncStatusEnmus.java
- platform-common/src/main/java/com/lyms/platform/common/pojo/SyncRegionDataModel.java
- platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncRegionDataController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
platform-common/src/main/java/com/lyms/platform/common/dao/BaseSyncDataDao.java
View file @
e2abd2c
platform-common/src/main/java/com/lyms/platform/common/dao/BaseSyncDataDaoImpl.java
View file @
e2abd2c
| 1 | +package com.lyms.platform.common.dao; | |
| 2 | + | |
| 3 | +import com.alibaba.fastjson.JSON; | |
| 4 | +import com.alibaba.fastjson.JSONObject; | |
| 5 | +import com.lyms.platform.common.enums.CrudEnums; | |
| 6 | +import com.lyms.platform.common.enums.SyncStatusEnmus; | |
| 7 | +import com.lyms.platform.common.enums.YnEnums; | |
| 8 | +import com.lyms.platform.common.pojo.SyncRegionDataModel; | |
| 9 | +import com.lyms.platform.common.utils.MongoConvertHelper; | |
| 10 | +import com.lyms.platform.common.utils.ReflectionUtils; | |
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 12 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
| 13 | +import org.springframework.data.mongodb.core.query.Criteria; | |
| 14 | +import org.springframework.data.mongodb.core.query.Query; | |
| 15 | +import org.springframework.data.mongodb.core.query.Update; | |
| 16 | +import org.springframework.util.Assert; | |
| 17 | + | |
| 18 | +import java.util.Date; | |
| 19 | + | |
| 20 | +/** | |
| 21 | + * Created by lt on 2017/11/6 0006 | |
| 22 | + */ | |
| 23 | +public class BaseSyncDataDaoImpl<T> implements BaseSyncDataDao<T> { | |
| 24 | + | |
| 25 | + @Autowired | |
| 26 | + protected MongoTemplate mongoTemplate; | |
| 27 | + | |
| 28 | + @Override | |
| 29 | + public void save(T entity) { | |
| 30 | + mongoTemplate.save(entity); | |
| 31 | + syncData(entity, CrudEnums.CREATE); | |
| 32 | + } | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public void update(T entity) { | |
| 36 | + Update update = MongoConvertHelper | |
| 37 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(entity)); | |
| 38 | + JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(entity)); | |
| 39 | + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(jsonObject.getString("id"))), update, entity.getClass()); | |
| 40 | + syncData(entity, CrudEnums.UPDATE); | |
| 41 | + } | |
| 42 | + | |
| 43 | + @Override | |
| 44 | + public void delete(T entity) { | |
| 45 | + JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(entity)); | |
| 46 | + jsonObject.put("yn", YnEnums.NO.getId()); | |
| 47 | + entity = (T) JSON.parseObject(JSON.toJSONString(entity), entity.getClass()); | |
| 48 | + update(entity); | |
| 49 | + } | |
| 50 | + | |
| 51 | + private void syncData(T entity, CrudEnums crudEnums) { | |
| 52 | + Assert.notNull(entity, "entity must not be null!"); | |
| 53 | + Assert.notNull(crudEnums, "crudEnums must not be null!"); | |
| 54 | + | |
| 55 | + SyncRegionDataModel syncModel = new SyncRegionDataModel(); | |
| 56 | + syncModel.setAction(crudEnums.getAction()); | |
| 57 | + syncModel.setClassName(entity.getClass().getName()); | |
| 58 | + syncModel.setCreated(new Date()); | |
| 59 | + syncModel.setJsonData(JSON.toJSONString(entity)); | |
| 60 | + syncModel.setStatus(SyncStatusEnmus.WAITING_FOR_SYNC.getType()); | |
| 61 | + mongoTemplate.save(syncModel); | |
| 62 | + } | |
| 63 | + | |
| 64 | +} |
platform-common/src/main/java/com/lyms/platform/common/dao/SyncTestModel.java
View file @
e2abd2c
| 1 | +package com.lyms.platform.common.dao; | |
| 2 | + | |
| 3 | +import org.springframework.data.mongodb.core.mapping.Document; | |
| 4 | + | |
| 5 | +import java.util.Date; | |
| 6 | +import java.util.List; | |
| 7 | +import java.util.Map; | |
| 8 | + | |
| 9 | +@Document(collection="lyms_sync_test_model") | |
| 10 | +public class SyncTestModel { | |
| 11 | + | |
| 12 | + private String id; | |
| 13 | + | |
| 14 | + private Integer yn; | |
| 15 | + | |
| 16 | + private String name; | |
| 17 | + | |
| 18 | + private Date created; | |
| 19 | + | |
| 20 | + private List<String> list; | |
| 21 | + | |
| 22 | + private List<Map<String, Object>> mapList; | |
| 23 | + | |
| 24 | + private Map<String, Object> map; | |
| 25 | + | |
| 26 | + public String getId() { | |
| 27 | + return id; | |
| 28 | + } | |
| 29 | + | |
| 30 | + public void setId(String id) { | |
| 31 | + this.id = id; | |
| 32 | + } | |
| 33 | + | |
| 34 | + public Integer getYn() { | |
| 35 | + return yn; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public void setYn(Integer yn) { | |
| 39 | + this.yn = yn; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public String getName() { | |
| 43 | + return name; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public void setName(String name) { | |
| 47 | + this.name = name; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public Date getCreated() { | |
| 51 | + return created; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public void setCreated(Date created) { | |
| 55 | + this.created = created; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public List<String> getList() { | |
| 59 | + return list; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public void setList(List<String> list) { | |
| 63 | + this.list = list; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public List<Map<String, Object>> getMapList() { | |
| 67 | + return mapList; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public void setMapList(List<Map<String, Object>> mapList) { | |
| 71 | + this.mapList = mapList; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public Map<String, Object> getMap() { | |
| 75 | + return map; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public void setMap(Map<String, Object> map) { | |
| 79 | + this.map = map; | |
| 80 | + } | |
| 81 | + | |
| 82 | + @Override | |
| 83 | + public String toString() { | |
| 84 | + return "SyncTestModel{" + | |
| 85 | + "id='" + id + '\'' + | |
| 86 | + ", yn=" + yn + | |
| 87 | + ", name='" + name + '\'' + | |
| 88 | + ", created=" + created + | |
| 89 | + ", list=" + list + | |
| 90 | + ", mapList=" + mapList + | |
| 91 | + ", map=" + map + | |
| 92 | + '}'; | |
| 93 | + } | |
| 94 | +} |
platform-common/src/main/java/com/lyms/platform/common/dao/SyncTestModelDao.java
View file @
e2abd2c
platform-common/src/main/java/com/lyms/platform/common/dao/SyncTestModelDaoImpl.java
View file @
e2abd2c
platform-common/src/main/java/com/lyms/platform/common/enums/CrudEnums.java
View file @
e2abd2c
| 1 | +package com.lyms.platform.common.enums; | |
| 2 | + | |
| 3 | +public enum CrudEnums { | |
| 4 | + CREATE("CREATE"), | |
| 5 | + READ("READ"), | |
| 6 | + UPDATE("UPDATE"), | |
| 7 | + DELETE("DELETE"); | |
| 8 | + | |
| 9 | + private String action; | |
| 10 | + | |
| 11 | + CrudEnums(String action) { | |
| 12 | + this.action = action; | |
| 13 | + } | |
| 14 | + | |
| 15 | + public String getAction() { | |
| 16 | + return action; | |
| 17 | + } | |
| 18 | +} |
platform-common/src/main/java/com/lyms/platform/common/enums/SyncStatusEnmus.java
View file @
e2abd2c
| 1 | +package com.lyms.platform.common.enums; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * Created by lt on 2017/11/6 0006 | |
| 5 | + */ | |
| 6 | +public enum SyncStatusEnmus { | |
| 7 | + | |
| 8 | + WAITING_FOR_SYNC(1, "等待同步"), | |
| 9 | + SYNCHRONIZATION(2, "已同步"); | |
| 10 | + | |
| 11 | + private Integer type; | |
| 12 | + private String desc; | |
| 13 | + | |
| 14 | + SyncStatusEnmus(Integer type, String desc) { | |
| 15 | + this.type = type; | |
| 16 | + this.desc = desc; | |
| 17 | + } | |
| 18 | + | |
| 19 | + public Integer getType() { | |
| 20 | + return type; | |
| 21 | + } | |
| 22 | + | |
| 23 | + public void setType(Integer type) { | |
| 24 | + this.type = type; | |
| 25 | + } | |
| 26 | + | |
| 27 | + public String getDesc() { | |
| 28 | + return desc; | |
| 29 | + } | |
| 30 | + | |
| 31 | + public void setDesc(String desc) { | |
| 32 | + this.desc = desc; | |
| 33 | + } | |
| 34 | +} |
platform-common/src/main/java/com/lyms/platform/common/pojo/SyncRegionDataModel.java
View file @
e2abd2c
| 1 | +package com.lyms.platform.common.pojo; | |
| 2 | + | |
| 3 | +import org.springframework.data.mongodb.core.mapping.Document; | |
| 4 | + | |
| 5 | +import java.util.Date; | |
| 6 | + | |
| 7 | +@Document(collection = "lyms_sync_region_data") | |
| 8 | +public class SyncRegionDataModel { | |
| 9 | + | |
| 10 | + private String id; | |
| 11 | + | |
| 12 | + private Date created; | |
| 13 | + | |
| 14 | + private Date modified; | |
| 15 | + | |
| 16 | + private String action; | |
| 17 | + | |
| 18 | + private String className; | |
| 19 | + | |
| 20 | + private String jsonData; | |
| 21 | + | |
| 22 | + private Integer status; // 1:未同步 , 2:已同步 | |
| 23 | + | |
| 24 | + public String getId() { | |
| 25 | + return id; | |
| 26 | + } | |
| 27 | + | |
| 28 | + public void setId(String id) { | |
| 29 | + this.id = id; | |
| 30 | + } | |
| 31 | + | |
| 32 | + public Date getCreated() { | |
| 33 | + return created; | |
| 34 | + } | |
| 35 | + | |
| 36 | + public void setCreated(Date created) { | |
| 37 | + this.created = created; | |
| 38 | + } | |
| 39 | + | |
| 40 | + public Date getModified() { | |
| 41 | + return modified; | |
| 42 | + } | |
| 43 | + | |
| 44 | + public void setModified(Date modified) { | |
| 45 | + this.modified = modified; | |
| 46 | + } | |
| 47 | + | |
| 48 | + public String getAction() { | |
| 49 | + return action; | |
| 50 | + } | |
| 51 | + | |
| 52 | + public void setAction(String action) { | |
| 53 | + this.action = action; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public String getClassName() { | |
| 57 | + return className; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public void setClassName(String className) { | |
| 61 | + this.className = className; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public String getJsonData() { | |
| 65 | + return jsonData; | |
| 66 | + } | |
| 67 | + | |
| 68 | + public void setJsonData(String jsonData) { | |
| 69 | + this.jsonData = jsonData; | |
| 70 | + } | |
| 71 | + | |
| 72 | + public Integer getStatus() { | |
| 73 | + return status; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setStatus(Integer status) { | |
| 77 | + this.status = status; | |
| 78 | + } | |
| 79 | +} |
platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
View file @
e2abd2c
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncRegionDataController.java
View file @
e2abd2c
| 1 | +package com.lyms.platform.operate.web.controller; | |
| 2 | + | |
| 3 | +import com.lyms.platform.common.dao.SyncTestModel; | |
| 4 | +import com.lyms.platform.common.dao.SyncTestModelDao; | |
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | +import org.springframework.stereotype.Controller; | |
| 7 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 8 | +import org.springframework.web.bind.annotation.ResponseBody; | |
| 9 | + | |
| 10 | +@Controller | |
| 11 | +@RequestMapping("/sync/region") | |
| 12 | +public class SyncRegionDataController { | |
| 13 | + @Autowired | |
| 14 | + private SyncTestModelDao syncTestModelDao; | |
| 15 | + | |
| 16 | + @RequestMapping("/test/save") | |
| 17 | + @ResponseBody | |
| 18 | + public String test(SyncTestModel syncTestModel) { | |
| 19 | + syncTestModelDao.save(syncTestModel); | |
| 20 | + return "ok"; | |
| 21 | + } | |
| 22 | + | |
| 23 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
View file @
e2abd2c
| 1 | 1 | package com.lyms.platform.operate.web.controller; |
| 2 | 2 | |
| 3 | +import com.alibaba.fastjson.JSON; | |
| 3 | 4 | import com.lyms.hospitalapi.dzfy.DzfyFmService; |
| 4 | 5 | import com.lyms.hospitalapi.qhdfy.QhdfyFmService; |
| 5 | 6 | import com.lyms.hospitalapi.qhdfy.QhdfyHisService; |
| 6 | 7 | |
| ... | ... | @@ -21,11 +22,13 @@ |
| 21 | 22 | import com.lyms.platform.permission.service.OrganizationService; |
| 22 | 23 | import com.lyms.platform.pojo.*; |
| 23 | 24 | import com.lyms.platform.query.*; |
| 25 | +import com.mongodb.Mongo; | |
| 24 | 26 | import org.apache.commons.collections.CollectionUtils; |
| 25 | 27 | import org.apache.commons.io.FileUtils; |
| 26 | 28 | import org.apache.commons.lang.StringUtils; |
| 27 | 29 | import org.springframework.beans.factory.annotation.Autowired; |
| 28 | 30 | import org.springframework.beans.factory.annotation.Qualifier; |
| 31 | +import org.springframework.data.authentication.UserCredentials; | |
| 29 | 32 | import org.springframework.data.domain.Sort; |
| 30 | 33 | import org.springframework.data.mongodb.core.MongoTemplate; |
| 31 | 34 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| ... | ... | @@ -1203,8 +1206,21 @@ |
| 1203 | 1206 | return "syncDzFmByPhone finish"; |
| 1204 | 1207 | } |
| 1205 | 1208 | |
| 1206 | - public static void main(String[] a) { | |
| 1207 | - try { | |
| 1209 | + public static void main(String[] a) throws Exception { | |
| 1210 | + Mongo mongo = new Mongo("119.90.57.26", 10001); | |
| 1211 | + UserCredentials credentials = new UserCredentials("platform", "platform123"); | |
| 1212 | + MongoTemplate mongoTemplate = new MongoTemplate(mongo, "platform", credentials); | |
| 1213 | + PatientWeight pw = mongoTemplate.findById("123", PatientWeight.class); | |
| 1214 | + Map<String, String> s = new HashMap<>(); | |
| 1215 | + s.put("name", "1"); | |
| 1216 | + s.put("name2", "12"); | |
| 1217 | + pw.setDayWeights(s); | |
| 1218 | + String json = JSON.toJSONString(pw); | |
| 1219 | + String clazz = "com.lyms.platform.pojo.PatientWeight"; | |
| 1220 | + JSON.parseObject(json, Class.forName(clazz)); | |
| 1221 | + mongoTemplate.save(pw); | |
| 1222 | + | |
| 1223 | + /* try { | |
| 1208 | 1224 | List<String> list = FileUtils.readLines(new File("D:\\QHD.csv"), "gbk"); |
| 1209 | 1225 | List<String> linenums = new ArrayList<>(); |
| 1210 | 1226 | for (String line : list) { |
| ... | ... | @@ -1225,7 +1241,7 @@ |
| 1225 | 1241 | // FileUtils.writeStringToFile(new File("d:\\temp\\qhdfy_lost_data.csv"), sb.toString()); |
| 1226 | 1242 | } catch (Exception e) { |
| 1227 | 1243 | e.printStackTrace(); |
| 1228 | - } | |
| 1244 | + }*/ | |
| 1229 | 1245 | } |
| 1230 | 1246 | |
| 1231 | 1247 | @RequestMapping("/poll") |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
e2abd2c
| ... | ... | @@ -777,8 +777,8 @@ |
| 777 | 777 | String householdAddress = findName(patient.getProvinceId()) + findName(patient.getCityId()) + findName(patient.getAreaId()) + findName(patient.getStreetId()) + patient.getAddress(); |
| 778 | 778 | temp.put("householdAddress", householdAddress.replace("null", "")); /** 户籍地 */ |
| 779 | 779 | temp.put("lastMenses", DateUtil.getyyyy_MM_dd(patient.getLastMenses())); |
| 780 | - temp.put("week", DateUtil.getWeek(patient.getLastMenses(), new Date()) > 42 ? "已分娩" : DateUtil.getWeekDesc(patient.getLastMenses(), new Date())); /** 当前孕周 */ | |
| 781 | - temp.put("buildWeek", DateUtil.getWeek(patient.getLastMenses(), patient.getBookbuildingDate()) > 42 ? "已分娩" : DateUtil.getWeekDesc(patient.getLastMenses(), patient.getBookbuildingDate())); /** 建档孕周 */ | |
| 780 | + temp.put("week", DateUtil.getWeekDesc(patient.getLastMenses(), new Date())); /** 当前孕周 */ | |
| 781 | + temp.put("buildWeek", DateUtil.getWeekDesc(patient.getLastMenses(), patient.getBookbuildingDate())); /** 建档孕周 */ | |
| 782 | 782 | temp.put("buildDate", DateUtil.getyyyy_MM_dd(patient.getBookbuildingDate())); /** 建档日期 */ |
| 783 | 783 | temp.put("doctorName", couponMapper.getUserName(patient.getBookbuildingDoctor())); |
| 784 | 784 | temp.put("hospitalName", couponMapper.findHospitalNameById(patient.getHospitalId())); |