diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java index 390fc1f..79d2d30 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java @@ -20,4 +20,6 @@ public interface ArchiveDataDao { void updatePatient(ArchiveData obj, String id); + + int ArchiveDataCount(MongoQuery mongoQuery); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java index 75fb42c..a4dab08 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java @@ -35,4 +35,9 @@ public class ArchiveDataDaoImpl extends BaseMongoDAOImpl implements public void updatePatient(ArchiveData data, String id) { update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), data); } + + @Override + public int ArchiveDataCount(MongoQuery mongoQuery) { + return (int) count(mongoQuery.convertToMongoQuery()); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ArchiveDataServicer.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ArchiveDataServicer.java index c0d4339..9ed2687 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ArchiveDataServicer.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ArchiveDataServicer.java @@ -4,6 +4,7 @@ import com.lyms.platform.biz.dal.ArchiveDataDao; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.pojo.ArchiveData; import com.lyms.platform.query.ArchiveDataQuery; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +23,20 @@ public class ArchiveDataServicer { return archiveDataDao.query(query); } + public int queryCount(ArchiveDataQuery query) { + return archiveDataDao.ArchiveDataCount(query.convertToQuery()); + } + + + public List query(ArchiveDataQuery archiveDataQuery) { + MongoQuery query = archiveDataQuery.convertToQuery(); + if (StringUtils.isNotEmpty(archiveDataQuery.getNeed())) { + archiveDataQuery.mysqlBuild(archiveDataDao.ArchiveDataCount(archiveDataQuery.convertToQuery())); + query.start(archiveDataQuery.getOffset()).end(archiveDataQuery.getLimit()); + } + return archiveDataDao.query(query); + } + public void saveArchiveData(ArchiveData data) { archiveDataDao.saveArchiveData(data); diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AssistBuildMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AssistBuildMapper.java new file mode 100644 index 0000000..3ddee0d --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AssistBuildMapper.java @@ -0,0 +1,19 @@ +package com.lyms.platform.permission.dao.master; + +import com.lyms.platform.pojo.AssistBuildUserModel; + +import java.util.List; +import java.util.Map; + +/** + * Created by Administrator on 2018-08-06. + */ +public interface AssistBuildMapper { + + + void addAssistBuildUser(AssistBuildUserModel userModel); + + List queryAssistBuildUsers(Map param); + + void updateAssistBuildUser(AssistBuildUserModel model); +} diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AssistBuildService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AssistBuildService.java new file mode 100644 index 0000000..1a419f3 --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AssistBuildService.java @@ -0,0 +1,17 @@ +package com.lyms.platform.permission.service; + +import com.lyms.platform.pojo.AssistBuildUserModel; + +import java.util.List; +import java.util.Map; + +/** + * Created by Administrator on 2018-08-06. + */ +public interface AssistBuildService { + void addAssistBuildUser(AssistBuildUserModel userModel); + + List queryAssistBuildUsers(Map param); + + void updateAssistBuildUser(AssistBuildUserModel model); +} diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AssistBuildServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AssistBuildServiceImpl.java new file mode 100644 index 0000000..92d5aae --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AssistBuildServiceImpl.java @@ -0,0 +1,38 @@ +package com.lyms.platform.permission.service.impl; + +import com.lyms.platform.permission.dao.master.AssistBuildMapper; +import com.lyms.platform.permission.service.AssistBuildService; +import com.lyms.platform.pojo.AssistBuildUserModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * Created by Administrator on 2018-08-06. + */ +@Service +public class AssistBuildServiceImpl implements AssistBuildService { + + @Autowired + private AssistBuildMapper assistBuildMapper; + + @Override + public void addAssistBuildUser(AssistBuildUserModel userModel) { + userModel.setCreated(new Date()); + userModel.setModified(new Date()); + assistBuildMapper.addAssistBuildUser(userModel); + } + + @Override + public List queryAssistBuildUsers(Map param) { + return assistBuildMapper.queryAssistBuildUsers(param); + } + + @Override + public void updateAssistBuildUser(AssistBuildUserModel model) { + assistBuildMapper.updateAssistBuildUser(model); + } +} diff --git a/platform-biz-service/src/main/resources/mainOrm/master/AssistBuildMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/AssistBuildMapper.xml new file mode 100644 index 0000000..a93e085 --- /dev/null +++ b/platform-biz-service/src/main/resources/mainOrm/master/AssistBuildMapper.xml @@ -0,0 +1,59 @@ + + + + + + SELECT LAST_INSERT_ID() + INSERT INTO lyms_assist_user + (phone,card_no, user_name,password,qr_code,hospital_id, created,modified) + VALUES (#{phone},#{cardNo},#{userName},#{password},#{qrCode},#{hospitalId},#{created},#{modified}) + + + + + + + UPDATE + lyms_assist_user + + + user_name = #{userName,jdbcType=VARCHAR}, + + + password = #{password,jdbcType=VARCHAR}, + + + phone = #{phone,jdbcType=VARCHAR}, + + + card_no = #{cardNo,jdbcType=INTEGER}, + + + qr_code = #{qrCode,jdbcType=VARCHAR}, + + + created = #{created}, + + + modified = #{modified}, + + + + where id = #{id,jdbcType=INTEGER} + + + + \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index 00a395b..c4a4d26 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -24,6 +24,8 @@ public class DateUtil { public static String[] parsePatterns = {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm"}; + public static SimpleDateFormat yyyy_mm = new SimpleDateFormat("yyyy-MM"); + public static SimpleDateFormat y_m_d_h_m = new SimpleDateFormat("yyyyMMddHHmm"); public static SimpleDateFormat yyyyMMddHHmmssSSS = new SimpleDateFormat("yyyyMMddHHmmssSSS"); public static final int DAY_SECONDS = 86399; @@ -336,6 +338,18 @@ public class DateUtil { } } + public static Date yyyyMMParse(String time) + { + Date date = null; + try { + date = yyyy_mm.parse(time); + } catch (ParseException e) { + + } + return date; + } + + public static Date getNextYearDate(String s) { if (s == null) { return null; @@ -989,6 +1003,17 @@ public class DateUtil { return parseYMD(time); } + public static Date formatDateYm(Date date) { + Date date1 = null; + try { + String time = y_m.format(date); + date1 = y_m.parse(time); + } catch (ParseException e) { + e.printStackTrace(); + } + return date1; + } + public static String formatSimpleDate(Date date) { if (date == null) { return ""; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/ArchiveData.java b/platform-dal/src/main/java/com/lyms/platform/pojo/ArchiveData.java index 7c52209..650a23b 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/ArchiveData.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/ArchiveData.java @@ -21,6 +21,26 @@ public class ArchiveData extends BaseModel { private String hospitalId; private String jsonData; private Date created; + private String assistUserId; + + //建档成功时间 + private Date buildDate; + + public Date getBuildDate() { + return buildDate; + } + + public void setBuildDate(Date buildDate) { + this.buildDate = buildDate; + } + + public String getAssistUserId() { + return assistUserId; + } + + public void setAssistUserId(String assistUserId) { + this.assistUserId = assistUserId; + } public Date getCreated() { return created; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AssistBuildUserModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AssistBuildUserModel.java new file mode 100644 index 0000000..204fbe1 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AssistBuildUserModel.java @@ -0,0 +1,123 @@ +package com.lyms.platform.pojo; + +import java.util.Date; + +/** + * Created by Administrator on 2018-08-06. + */ +public class AssistBuildUserModel { + private Integer id; + + private String phone; + + private String cardNo; + + private String userName; + + private String password; + + private String code; + + //二维码 + private String qrCode; + + private String hospitalId; + + 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 Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getQrCode() { + return qrCode; + } + + public void setQrCode(String qrCode) { + this.qrCode = qrCode; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + @Override + public String toString() { + return "AssistBuildUserModel{" + + "id=" + id + + ", phone='" + phone + '\'' + + ", cardNo='" + cardNo + '\'' + + ", userName='" + userName + '\'' + + ", password='" + password + '\'' + + ", code='" + code + '\'' + + ", qrCode='" + qrCode + '\'' + + ", hospitalId='" + hospitalId + '\'' + + '}'; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/ArchiveDataQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/ArchiveDataQuery.java index 44b2432..2711203 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/ArchiveDataQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/ArchiveDataQuery.java @@ -5,6 +5,9 @@ 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; + +import java.util.Date; /** * Created by riecard on 2016/10/19. @@ -17,6 +20,24 @@ public class ArchiveDataQuery extends BaseQuery implements IConvertToNativeQuery private String cardNum; private String phone; + private Date createdStart; + private Date createdEnd; + private String assistUserId; + + //建档成功时间 + private Date buildDateStart; + private Date buildDateEnd; + + private Boolean hasBuildDate; + + public Boolean isHasBuildDate() { + return hasBuildDate; + } + + public void setHasBuildDate(Boolean hasBuildDate) { + this.hasBuildDate = hasBuildDate; + } + public String getId() { return id; } @@ -57,6 +78,45 @@ public class ArchiveDataQuery extends BaseQuery implements IConvertToNativeQuery this.phone = phone; } + public Date getCreatedStart() { + return createdStart; + } + + public void setCreatedStart(Date createdStart) { + this.createdStart = createdStart; + } + + public Date getCreatedEnd() { + return createdEnd; + } + + public void setCreatedEnd(Date createdEnd) { + this.createdEnd = createdEnd; + } + + public String getAssistUserId() { + return assistUserId; + } + + public void setAssistUserId(String assistUserId) { + this.assistUserId = assistUserId; + } + + public Date getBuildDateStart() { + return buildDateStart; + } + + public void setBuildDateStart(Date buildDateStart) { + this.buildDateStart = buildDateStart; + } + + public Date getBuildDateEnd() { + return buildDateEnd; + } + + public void setBuildDateEnd(Date buildDateEnd) { + this.buildDateEnd = buildDateEnd; + } @Override public MongoQuery convertToQuery() { @@ -67,6 +127,15 @@ public class ArchiveDataQuery extends BaseQuery implements IConvertToNativeQuery if(null!=idCard){ condition= condition.and("idCard",idCard, MongoOper.IS); } + + if(hasBuildDate != null){ + condition= condition.and("buildDate",hasBuildDate, MongoOper.EXISTS); + } + + if(null != assistUserId){ + condition= condition.and("assistUserId",assistUserId, MongoOper.IS); + } + if(null!=id){ condition= condition.and("id",id, MongoOper.IS); } @@ -76,6 +145,29 @@ public class ArchiveDataQuery extends BaseQuery implements IConvertToNativeQuery if(null!=phone){ condition= condition.and("phone",phone, MongoOper.IS); } + + Criteria c = null; + + if(null != createdStart && createdEnd != null){ + if(null != c){ + c = c.where("created").gte(createdStart).lte(createdEnd); + }else{ + c = Criteria.where("created").gte(createdStart).lte(createdEnd); + } + } + + if(null != buildDateStart && buildDateEnd != null){ + if(null != c){ + c = c.where("buildDate").gte(buildDateStart).lte(buildDateEnd); + }else{ + c = Criteria.where("buildDate").gte(buildDateStart).lte(buildDateEnd); + } + } + + if (c != null) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } + return condition.toMongoQuery(); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AssistBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AssistBuildController.java new file mode 100644 index 0000000..293e560 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AssistBuildController.java @@ -0,0 +1,148 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.facade.AssistBuildFacade; +import com.lyms.platform.pojo.AssistBuildUserModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; + +/** + * 辅助建档 + * Created by Administrator on 2018-08-06. + */ +@Controller +@RequestMapping("/assist") +public class AssistBuildController extends BaseController { + + @Autowired + private AssistBuildFacade assistBuildFacade; + + /** + * 注册 + * @param userModel + * @param httpServletRequest + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/regAssistBuildUser") + @ResponseBody + public BaseResponse regAssistBuildUser(@Valid @RequestBody AssistBuildUserModel userModel, + HttpServletRequest httpServletRequest) { + return assistBuildFacade.regAssistBuildUser(userModel); + } + + + /** + * 查询数据 + * @param phone + * @param userId + * @param httpServletRequest + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/queryAssistBuildUsers") + @ResponseBody + public BaseResponse queryAssistBuildUsers(@RequestParam(required = false) String phone, + @RequestParam(required = false) String userId, + HttpServletRequest httpServletRequest) { + return assistBuildFacade.queryAssistBuildUsers(phone, userId); + } + + /** + * 更新密码 + * @param oldPwd + * @param newPwd + * @param userId + * @param httpServletRequest + */ + @RequestMapping(value = "/updatePwd", method = RequestMethod.GET) + @ResponseBody + public BaseResponse updatePwd( + @RequestParam("oldPwd") String oldPwd, + @RequestParam("newPwd") String newPwd, + @RequestParam("userId") Integer userId, + HttpServletRequest httpServletRequest) { + return assistBuildFacade.updatePwd(userId, oldPwd, newPwd); + + } + + + /** + * 更新二维码 + * @param userId + * @param httpServletRequest + * @return + */ + @RequestMapping(value = "/updateQrCode", method = RequestMethod.GET) + @ResponseBody + public BaseResponse updateQrCode( + @RequestParam("qrCode") String qrCode, + @RequestParam("userId") Integer userId, + HttpServletRequest httpServletRequest) { + return assistBuildFacade.updateQrCode(userId, qrCode); + } + + + /** + * 基层辅助建档平台汇总数据接口 + * @param userId + * @param httpServletRequest + * @return + */ + @RequestMapping(value = "/getAssisBuildCountInfo", method = RequestMethod.GET) + @ResponseBody + public BaseResponse getAssisBuildCountInfo( + @RequestParam("userId") Integer userId, + HttpServletRequest httpServletRequest) { + return assistBuildFacade.getAssisBuildCountInfo(userId); + } + + /** + * 预约成功列表 + * @param userId + * @param month + * @param httpServletRequest + * @return + */ + @RequestMapping(value = "/getArchiveSuccessList", method = RequestMethod.GET) + @ResponseBody + public BaseResponse getAssisBuildCountInfo( + @RequestParam("userId") Integer userId, + @RequestParam("month") String month, + HttpServletRequest httpServletRequest) { + return assistBuildFacade.getArchiveSuccessList(userId, month); + } + + /** + * 预约建档列表 + * @param userId + * @param httpServletRequest + * @return + */ + @RequestMapping(value = "/getArchiveBuildList", method = RequestMethod.GET) + @ResponseBody + public BaseResponse getAssisBuildCountInfo( + @RequestParam("userId") Integer userId, + @RequestParam("page") Integer page, + @RequestParam("limit") Integer limit, + HttpServletRequest httpServletRequest) { + return assistBuildFacade.getArchiveBuildList(userId, page, limit); + } + + /** + * 预约建档用户id + * @param archiveId + * @param httpServletRequest + * @return + */ + @RequestMapping(value = "/getArchiveUserInfo", method = RequestMethod.GET) + @ResponseBody + public BaseResponse getArchiveUserInfo( + @RequestParam("archiveId") String archiveId, + HttpServletRequest httpServletRequest) { + return assistBuildFacade.getArchiveUserInfo(archiveId); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java index 9ec2d93..c1c38bd 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java @@ -137,11 +137,12 @@ public class RemoteController extends BaseController { @RequestMapping(value = "/bookArchive",method = RequestMethod.POST) public void addBookArchive(HttpServletResponse response, String idCard, - String hospitalId, + @RequestParam(required = false)String hospitalId, String jsonData, String name, String cardNum, - String phone) { + String phone, + @RequestParam(required = false)String assistUserId) { try { ArchiveData data = new ArchiveData(); data.setId(hospitalId + ":" + idCard); @@ -152,6 +153,7 @@ public class RemoteController extends BaseController { data.setPhone(phone); data.setJsonData(jsonData); data.setCreated(new Date()); + data.setAssistUserId(assistUserId); archiveDataServicer.addOrUpdate(data); } catch (Exception e) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AssistBuildFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AssistBuildFacade.java new file mode 100644 index 0000000..74a90e3 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AssistBuildFacade.java @@ -0,0 +1,242 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.ArchiveDataServicer; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseListResponse; +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.JsonUtil; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.utils.CollectionUtils; +import com.lyms.platform.permission.service.AssistBuildService; +import com.lyms.platform.pojo.ArchiveData; +import com.lyms.platform.pojo.AssistBuildUserModel; +import com.lyms.platform.query.ArchiveDataQuery; +import net.sf.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * Created by Administrator on 2018-08-06. + */ +@Component +public class AssistBuildFacade { + + @Autowired + private AssistBuildService assistBuildService; + + @Autowired + private ArchiveDataServicer archiveDataServicer; + + public BaseResponse regAssistBuildUser(AssistBuildUserModel userModel) { + + try { + assistBuildService.addAssistBuildUser(userModel); + } + catch (Exception e) + { + return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg("失败"); + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(userModel.getId()); + } + + public BaseResponse queryAssistBuildUsers(String phone, String userId) { + Map param = new HashMap<>(); + param.put("phone",phone); + param.put("userId", userId); + + List userModels = assistBuildService.queryAssistBuildUsers(param); + + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(userModels); + } + + public BaseResponse updatePwd(Integer userId, String oldPwd, String newPwd) { + + Map param = new HashMap<>(); + param.put("id", userId); + + List userModels = assistBuildService.queryAssistBuildUsers(param); + if (CollectionUtils.isNotEmpty(userModels)) + { + AssistBuildUserModel model = userModels.get(0); + if (model == null || !oldPwd.equals(model.getPassword())) + { + return new BaseResponse().setErrorcode(ErrorCodeConstants.USER_PASSWORD_ERROR).setErrormsg("旧密码不对"); + } + AssistBuildUserModel updateModel = new AssistBuildUserModel(); + updateModel.setId(model.getId()); + updateModel.setPassword(newPwd); + assistBuildService.updateAssistBuildUser(updateModel); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + + + public BaseResponse updateQrCode(Integer userId, String qrCode) { + Map param = new HashMap<>(); + param.put("id", userId); + + List userModels = assistBuildService.queryAssistBuildUsers(param); + if (CollectionUtils.isNotEmpty(userModels)) + { + AssistBuildUserModel model = userModels.get(0); + + AssistBuildUserModel updateModel = new AssistBuildUserModel(); + updateModel.setId(model.getId()); + updateModel.setQrCode(qrCode); + assistBuildService.updateAssistBuildUser(updateModel); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + + public BaseResponse getAssisBuildCountInfo(Integer userId) { + Map result = new HashMap(); + + try { + + Map param = new HashMap<>(); + param.put("id", userId); + List userModels = assistBuildService.queryAssistBuildUsers(param); + if (CollectionUtils.isNotEmpty(userModels)) { + AssistBuildUserModel model = userModels.get(0); + result.put("ticket", model.getQrCode()); + result.put("userName", model.getUserName()); + result.put("phone", model.getPhone()); + result.put("month", DateUtil.getyyyy_mm(new Date())); + + ArchiveDataQuery query = new ArchiveDataQuery(); + query.setAssistUserId(String.valueOf(userId)); + query.setHospitalId(model.getHospitalId()); + query.setBuildDateStart(DateUtil.parseYMD("2010-01-01")); + query.setBuildDateEnd(DateUtil.addDay(DateUtil.formatDate(new Date()), 1)); + + int count = archiveDataServicer.queryCount(query); + + //历史建档成功总人数 + result.put("allSuccessCount", count); + + query.setBuildDateStart(DateUtil.formatDateYm(new Date())); + query.setBuildDateEnd(DateUtil.addDay(DateUtil.formatDate(new Date()), 1)); + + count = archiveDataServicer.queryCount(query); + //本月建档成功总人数 + result.put("currentMonthSuccessCount", count); + + + query.setBuildDateStart(null); + query.setBuildDateEnd(null); + + query.setCreatedStart(DateUtil.parseYMD("2010-01-01")); + query.setCreatedEnd(DateUtil.addDay(DateUtil.formatDate(new Date()), 1)); + + + query.setHasBuildDate(false); + count = archiveDataServicer.queryCount(query); + + //预约建档待确认人数 + result.put("archiveSuccessCount", count); + + } + } + catch (Exception e) + { + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(result); + } + + public BaseResponse getArchiveBuildList(Integer userId,Integer page,Integer limit) { + + Map param = new HashMap<>(); + param.put("id", userId); + + List result = new ArrayList(); + ArchiveDataQuery query = new ArchiveDataQuery(); + List userModels = assistBuildService.queryAssistBuildUsers(param); + if (CollectionUtils.isNotEmpty(userModels)) { + AssistBuildUserModel model = userModels.get(0); + + + query.setHospitalId(model.getHospitalId()); + query.setAssistUserId(String.valueOf(userId)); + query.setCreatedStart(DateUtil.parseYMD("2010-01-01")); + query.setCreatedEnd(DateUtil.addDay(DateUtil.formatDate(new Date()), 1)); + query.setHasBuildDate(false); + query.setPage(page); + query.setNeed("true"); + query.setLimit(limit); + + List list = archiveDataServicer.query(query); + if (CollectionUtils.isNotEmpty(list)) + { + for (ArchiveData archiveData : list) + { + Map map = new HashMap(); + map.put("userName",archiveData.getName()); + map.put("archiveId",archiveData.getId()); + map.put("phone",archiveData.getPhone()); + map.put("cardNo",archiveData.getIdCard()); + map.put("date",DateUtil.getyyyy_MM_dd(archiveData.getCreated())); + result.add(map); + } + } + } + return new BaseListResponse().setData(result).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(query.getPageInfo()); + } + + public BaseResponse getArchiveSuccessList(Integer userId, String month) { + Map param = new HashMap<>(); + param.put("id", userId); + + List result = new ArrayList(); + ArchiveDataQuery query = new ArchiveDataQuery(); + List userModels = assistBuildService.queryAssistBuildUsers(param); + if (CollectionUtils.isNotEmpty(userModels)) { + AssistBuildUserModel model = userModels.get(0); + query.setHospitalId(model.getHospitalId()); + query.setAssistUserId(String.valueOf(userId)); + Date start = DateUtil.yyyyMMParse(month); + query.setBuildDateStart(start); + query.setBuildDateEnd(DateUtil.addMonth(start, 1)); + + List list = archiveDataServicer.query(query); + if (CollectionUtils.isNotEmpty(list)) + { + for (ArchiveData archiveData : list) + { + Map map = new HashMap(); + map.put("userName",archiveData.getName()); + map.put("archiveId",archiveData.getId()); + map.put("phone",archiveData.getPhone()); + map.put("cardNo",archiveData.getIdCard()); + map.put("date",DateUtil.getyyyy_MM_dd(archiveData.getCreated())); + result.add(map); + } + } + } + return new BaseListResponse().setData(result).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(query.getPageInfo()); + } + + public BaseResponse getArchiveUserInfo(String archiveId) { + ArchiveDataQuery query = new ArchiveDataQuery(); + query.setId(archiveId); + List list = archiveDataServicer.query(query); + String json = ""; + if (CollectionUtils.isNotEmpty(list)) + { + json = list.get(0).getJsonData(); + JSONObject jsonObject = JsonUtil.getObj(json); + jsonObject = jsonObject.element("userName",list.get(0).getName()); + jsonObject = jsonObject.element("idCard",list.get(0).getIdCard()); + json = jsonObject.toString(); + } + return new BaseObjectResponse().setData(json).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } +}