diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ModularFunctionConfigDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ModularFunctionConfigDao.java new file mode 100644 index 0000000..13aaff9 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ModularFunctionConfigDao.java @@ -0,0 +1,17 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.ModularFunctionConfigModel; + +import java.util.List; + +/** + * Created by riecard on 2016/10/19. + */ +public interface ModularFunctionConfigDao { + List queryDiagnoseConfigs(MongoQuery query); + ModularFunctionConfigModel saveDiagnoseConfig(ModularFunctionConfigModel data); + void updateDiagnoseConfig(ModularFunctionConfigModel data); + int queryDiagnoseConfigCount(MongoQuery mongoQuery); + ModularFunctionConfigModel findById(String id); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ModularFunctionConfigImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ModularFunctionConfigImpl.java new file mode 100644 index 0000000..5e097c9 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ModularFunctionConfigImpl.java @@ -0,0 +1,47 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.ModularFunctionConfigDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.ModularFunctionConfigModel; +import org.springframework.stereotype.Repository; + +import java.util.Date; +import java.util.List; + +/** + * 诊断配置 + * Created by Administrator on 2017/1/13 0013. + */ +@Repository("modularFunctionConfigDao") +public class ModularFunctionConfigImpl extends BaseMongoDAOImpl implements ModularFunctionConfigDao { + + @Override + public List queryDiagnoseConfigs(MongoQuery query) { + return find(query.convertToMongoQuery()); + } + + @Override + public ModularFunctionConfigModel saveDiagnoseConfig(ModularFunctionConfigModel data) { + data.setCreated(new Date()); + data.setModified(new Date()); + return save(data); + } + + @Override + public void updateDiagnoseConfig(ModularFunctionConfigModel data) { + data.setModified(new Date()); + update(new MongoQuery(new MongoCondition("id", data.getId(), MongoOper.IS)).convertToMongoQuery(), data); + } + + @Override + public int queryDiagnoseConfigCount(MongoQuery mongoQuery) { + return (int)count(mongoQuery.convertToMongoQuery()); + } + @Override + public ModularFunctionConfigModel findById(String id) { + return super.findById(id); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ModularFunctionConfigService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ModularFunctionConfigService.java new file mode 100644 index 0000000..dd1c44a --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ModularFunctionConfigService.java @@ -0,0 +1,40 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.ModularFunctionConfigDao; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.ModularFunctionConfigModel; +import com.lyms.platform.query.ModularFunctionConfigQuery; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort.Direction; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ModularFunctionConfigService { + + @Autowired + private ModularFunctionConfigDao modularFunctionConfigDao; + + + public List queryDiagnoseConfigs(ModularFunctionConfigQuery modularFunctionConfigQuery){ + MongoQuery query = modularFunctionConfigQuery.convertToQuery(); + if (StringUtils.isNotEmpty(modularFunctionConfigQuery.getNeed())) { + modularFunctionConfigQuery.mysqlBuild(modularFunctionConfigDao.queryDiagnoseConfigCount(modularFunctionConfigQuery.convertToQuery())); + query.start(modularFunctionConfigQuery.getOffset()).end(modularFunctionConfigQuery.getLimit()); + } + return modularFunctionConfigDao.queryDiagnoseConfigs(query.addOrder(Direction.DESC, "created")); + } + public ModularFunctionConfigModel saveDiagnoseConfig(ModularFunctionConfigModel data){ + return modularFunctionConfigDao.saveDiagnoseConfig(data); + } + + public void updateDiagnoseConfig(ModularFunctionConfigModel data){ + modularFunctionConfigDao.updateDiagnoseConfig(data); + } + public ModularFunctionConfigModel findById(String id){ + return modularFunctionConfigDao.findById(id); + } + +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/ModularFunctionConfigModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/ModularFunctionConfigModel.java new file mode 100644 index 0000000..beb5a3c --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/ModularFunctionConfigModel.java @@ -0,0 +1,76 @@ +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; +import java.util.Map; + +/** + * 医院功能模块配置 + * Created by Administrator on 2018-03-29. + */ +@Document(collection = "lyms_modular_function_config") +public class ModularFunctionConfigModel extends BaseModel { + + private static final long serialVersionUID = SerialIdEnum.DiagnoseConfigModel.getCid(); + + private String id; + private String hospitalId; + //是否启用 0停用 1启用 + private String enable; + //功能模块的配置详情 + private Map configs; + private Date created; + private Date modified; + + + 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 String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getEnable() { + return enable; + } + + public void setEnable(String enable) { + this.enable = enable; + } + + public Map getConfigs() { + return configs; + } + + public void setConfigs(Map configs) { + this.configs = configs; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/ModularFunctionConfigQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/ModularFunctionConfigQuery.java new file mode 100644 index 0000000..a04ecfd --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/ModularFunctionConfigQuery.java @@ -0,0 +1,68 @@ +package com.lyms.platform.query; + + +import com.lyms.platform.common.base.IConvertToNativeQuery; +import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import org.springframework.data.mongodb.core.query.Criteria; + +/** + * Created by Administrator on 2018-01-09. + */ +public class ModularFunctionConfigQuery extends BaseQuery implements IConvertToNativeQuery { + + private String id; + private String hospitalId; + //是否启用 0停用 1启用 + private Integer enable; + + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + if (null != id) { + condition = condition.and("id", id, MongoOper.IS); + } + + + if (null != hospitalId) { + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } + + if (null != enable) { + condition = condition.and("enable", enable, MongoOper.IS); + } + + Criteria c1 = null; + + if (null != c1) { + condition = condition.andCondition(new MongoCondition(c1)); + } + return condition.toMongoQuery(); + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getEnable() { + return enable; + } + + public void setEnable(Integer enable) { + this.enable = enable; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ModularFunctionConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ModularFunctionConfigController.java new file mode 100644 index 0000000..90ed0cb --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ModularFunctionConfigController.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.facade.ModularFunctionConfigFacde; +import com.lyms.platform.operate.web.request.ModularFunctionConfigRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + + +/** + * 医院功能模块配置 + */ +@Controller +public class ModularFunctionConfigController extends BaseController { + + @Autowired + private ModularFunctionConfigFacde modularFunctionConfigFacde; + + /** + * 配置医院功能模块 + * @param model + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/addModularFunConfig") + @ResponseBody + @TokenRequired + public BaseResponse addModularFunConfig(@RequestBody ModularFunctionConfigRequest model, + HttpServletRequest request) { + + return modularFunctionConfigFacde.addDiagnoseConfig(model, getUserId(request)); + } + + + /** + * 查询当前医院的功能配置项 + * @param hospitalId + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/queryModularFunConfig") + @ResponseBody + @TokenRequired + public BaseResponse queryDiagnoseConfig(@RequestParam("hospitalId")String hospitalId, + HttpServletRequest request) { + + return modularFunctionConfigFacde.queryDiagnoseConfig(hospitalId, getUserId(request)); + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java index c066ab2..75c167d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java @@ -9,24 +9,18 @@ import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; -import com.lyms.platform.common.utils.ExceptionUtils; -import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.SmsConfigFacade; import com.lyms.platform.operate.web.request.MessageListRequest; import com.lyms.platform.operate.web.request.MessageRequest; import com.lyms.platform.operate.web.request.SmsConfigRequest; -import com.lyms.platform.operate.web.utils.MessageCenterService; import com.lyms.platform.pojo.BabyModel; -import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.SmsConfigModel; import com.lyms.platform.pojo.SmsTemplateModel; import com.lyms.platform.query.BabyModelQuery; -import com.lyms.platform.query.PatientsQuery; import com.lyms.platform.query.SmsTemplateQuery; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ModularFunctionConfigFacde.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ModularFunctionConfigFacde.java new file mode 100644 index 0000000..0854c10 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ModularFunctionConfigFacde.java @@ -0,0 +1,80 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.ModularFunctionConfigService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.OptActionEnums; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.request.ModularFunctionConfigRequest; +import com.lyms.platform.operate.web.result.ModularFunctionConfigResult; +import com.lyms.platform.pojo.ModularFunctionConfigModel; +import com.lyms.platform.query.ModularFunctionConfigQuery; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Created by Administrator on 2018-03-29. + */ +@Component +public class ModularFunctionConfigFacde { + + @Autowired + private ModularFunctionConfigService modularFunctionConfigServcie; + + @Autowired + private AutoMatchFacade autoMatchFacade; + + @Autowired + private OperateLogFacade operateLogFacade; + + @Autowired + private BasicConfigService basicConfigService; + + /** + * 添加配置基础和项 + * + * @param request + * @param userId + * @return + */ + public BaseResponse addDiagnoseConfig(ModularFunctionConfigRequest request, Integer userId) { + + String hospitalId = autoMatchFacade.getHospitalId(userId); + ModularFunctionConfigModel modularFunctionConfigModel = request.convertToDataModel(); + if (StringUtils.isNotEmpty(request.getId())) { + ModularFunctionConfigModel operateBeforeContent = modularFunctionConfigServcie.findById(request.getId()); + modularFunctionConfigServcie.updateDiagnoseConfig(modularFunctionConfigModel); + operateLogFacade.addModifyOptLog(userId, Integer.parseInt(hospitalId),operateBeforeContent, modularFunctionConfigModel, OptActionEnums.UPDATE.getId(), "配置医院功能模块"); + } else { + modularFunctionConfigModel = modularFunctionConfigServcie.saveDiagnoseConfig(modularFunctionConfigModel); + operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), modularFunctionConfigModel, OptActionEnums.ADD.getId(), "配置医院功能模块"); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + } + + public BaseResponse queryDiagnoseConfig(String hospitalId, Integer userId) { + + ModularFunctionConfigQuery diagnoseConfigQuery = new ModularFunctionConfigQuery(); + diagnoseConfigQuery.setHospitalId(hospitalId); + List configModels = modularFunctionConfigServcie.queryDiagnoseConfigs(diagnoseConfigQuery); + if (CollectionUtils.isEmpty(configModels)) + { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有数据"); + } + + ModularFunctionConfigModel configModel = configModels.get(0); + if (configModel != null) + { + ModularFunctionConfigResult result = new ModularFunctionConfigResult(); + result.convertToResult(configModel); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(result); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有数据"); + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ModularFunctionConfigRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ModularFunctionConfigRequest.java new file mode 100644 index 0000000..0e1a4d5 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ModularFunctionConfigRequest.java @@ -0,0 +1,60 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.base.IBasicRequestConvert; +import com.lyms.platform.pojo.ModularFunctionConfigModel; + +import java.util.Map; + +/** + * Created by Administrator on 2018-03-29. + */ +public class ModularFunctionConfigRequest implements IBasicRequestConvert { + + private String id; + private String hospitalId; + //是否启用 0停用 1启用 + private String enable; + private Map configs; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getEnable() { + return enable; + } + + public void setEnable(String enable) { + this.enable = enable; + } + + public Map getConfigs() { + return configs; + } + + public void setConfigs(Map configs) { + this.configs = configs; + } + + @Override + public ModularFunctionConfigModel convertToDataModel() { + ModularFunctionConfigModel model = new ModularFunctionConfigModel(); + model.setId(id); + model.setConfigs(configs); + model.setEnable(enable); + model.setHospitalId(hospitalId); + return model; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ModularFunctionConfigResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ModularFunctionConfigResult.java new file mode 100644 index 0000000..8ae3e5f --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ModularFunctionConfigResult.java @@ -0,0 +1,61 @@ +package com.lyms.platform.operate.web.result; + +import com.lyms.platform.common.base.IBasicResultConvert; +import com.lyms.platform.pojo.ModularFunctionConfigModel; + +import java.util.Map; + +/** + * Created by Administrator on 2018-03-30. + */ +public class ModularFunctionConfigResult implements IBasicResultConvert { + + private String id; + private String hospitalId; + //是否启用 0停用 1启用 + private String enable; + private Map configs; + + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getEnable() { + return enable; + } + + public void setEnable(String enable) { + this.enable = enable; + } + + public Map getConfigs() { + return configs; + } + + public void setConfigs(Map configs) { + this.configs = configs; + } + + @Override + public ModularFunctionConfigResult convertToResult(ModularFunctionConfigModel model) { + setId(model.getId()); + setHospitalId(model.getHospitalId()); + setEnable(model.getEnable()); + setConfigs(model.getConfigs()); + return this; + } +}