diff --git a/src/main/java/com/ccsens/carbasics/api/AccountManageController.java b/src/main/java/com/ccsens/carbasics/api/AccountManageController.java index 5b4a9d7..ca63cac 100644 --- a/src/main/java/com/ccsens/carbasics/api/AccountManageController.java +++ b/src/main/java/com/ccsens/carbasics/api/AccountManageController.java @@ -67,9 +67,9 @@ public class AccountManageController { @MustLogin @ApiOperation(value = "查询部门与职位", notes = "") @RequestMapping(value = "/queryDepartment", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryDepartment(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + public JsonResponse queryDepartment(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ log.info("查询部门与职位开始{}",params); - List departmentList = accountManageService.queryDepartment(params.getUserId()); + List departmentList = accountManageService.queryDepartment(params.getParam(),params.getUserId()); log.info("查询部门与职位结束:{}",departmentList); return JsonResponse.newInstance().ok(departmentList); } diff --git a/src/main/java/com/ccsens/carbasics/api/DebugController.java b/src/main/java/com/ccsens/carbasics/api/DebugController.java index 75556db..50afd34 100644 --- a/src/main/java/com/ccsens/carbasics/api/DebugController.java +++ b/src/main/java/com/ccsens/carbasics/api/DebugController.java @@ -1,12 +1,18 @@ package com.ccsens.carbasics.api; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.text.StrFormatter; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.ccsens.carbasics.util.Constant; +import com.ccsens.carbasics.util.DefaultCodeError; +import com.ccsens.common.bean.po.*; +import com.ccsens.common.persist.dao.*; import com.ccsens.util.ExcelUtil; import com.ccsens.util.JsonResponse; import com.ccsens.util.StringUtil; +import com.ccsens.util.exception.BaseException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -26,6 +32,7 @@ import javax.servlet.http.HttpServletRequest; import java.io.*; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; @Api(tags = "DEBUG" , description = "DebugController | ") @RestController @@ -35,15 +42,315 @@ public class DebugController { @Resource private Snowflake snowflake; + @Resource + private ProTaskDetailDao taskDetailDao; + @Resource + private ProTaskSubDao taskSubDao; + @Resource + private LabelBusinessDao labelBusinessDao; + @Resource + private ProParentTaskDao parentTaskDao; + @Resource + private ProRoleTaskDao roleTaskDao; + @Resource + private ProTaskPluginDao taskPluginDao; + @Resource + private ProRoleDao roleDao; + @ApiOperation(value = "/测试",notes = "") @ApiImplicitParams({ }) @RequestMapping(value="",method = {RequestMethod.GET, RequestMethod.POST},produces = {"application/json;charset=UTF-8"}) public JsonResponse debug() throws Exception { + addData(); return JsonResponse.newInstance().ok("测试"); } + public void addData() throws Exception{ + //1.查询项目id + Long[] projectIds = { + 1436146379201454080L, + 1443490334792491008L, + 1443490427687936000L, + 1443491311088050176L, + 1443495980086599680L, + 1443498394260873216L, + 1443505442503532544L, + 1443506475258617856L, + 1443514245856894976L, + 1443515282839838720L, + 1443526048691265536L, + 1443555407800049664L, + 1443762025401688064L, + 1443762852904312832L, + 1443770871679557632L, + 1443771081860325376L, + 1443773098532020224L, + 1443776293505343488L, + 1443786143505326080L, + 1443787650472615936L, + 1443792356511064064L, + 1443872825575481344L, + 1443900214611288064L, + 1443968425880985600L, + 1444097879731085312L, + 1444105732944568320L, + 1444106519619837952L, + 1444117655165607936L, + 1444123259498143744L, + 1444125735844585472L, + 1444130262169690112L, + 1444216312619606016L, + 1444251162596614144L, + 1444255325439139840L, + 1444456318831435776L, + 1444468524339961856L, + 1444479819227340800L, + 1444490520578760704L, + 1444493759277703168L, + 1444525126204006400L, + 1444601912271052800L, + 1444608719580307456L, + 1444617366968475648L, + 1444646869262409728L, + 1444672152933769216L, + 1444812939797471232L, + 1444818184023842816L, + 1444830753501487104L, + 1444836840892014592L, + 1444839792243384320L, + 1444840911493406720L, + 1444841946031071232L, + 1444847596459008000L, + 1444853304416018432L, + 1444854834489729024L, + 1444855743361851392L, + 1444857721286565888L, + 1444859594877968384L, + 1444869816770109440L, + 1444874752710942720L, + 1444891062987661312L, + 1444893505444126720L, + 1444893888463773696L, + 1444897703384588288L, + 1444925355055128576L, + 1444934994417164288L, + 1444952334844305408L, + 1444954392309800960L, + 1444955509773049856L, + 1444958660156727296L, + 1445014835690741760L, + 1445020591529926656L, + 1445033820532514816L, + 1445035627350597632L, + 1445036608868065280L, + 1445199870070890496L, + 1445204540638109696L, + 1445204666567892992L, + 1445223200404545536L, + 1445246163950510080L, + 1445323707513053184L, + 1445329123131269120L, + 1445343261513490432L, + 1445359652006273024L, + 1445548017854980096L, + 1445564544155131904L, + 1445570315672625152L, + 1445577300539351040L, + 1445582444324724736L, + 1445583311698403328L, + 1445584774453534720L, + 1445587950783176704L, + 1445603891197779968L, + 1445620520208048128L, + 1445660344973533184L, + 1445662269055967232L, + 1445686934344310784L, + 1445760349960937472L, + 1445915270244999168L, + 1445926577815953408L, + 1445938026336493568L, + 1445940249707683840L, + 1446017860345536512L, + 1446063431521411072L, + 1446069431259373568L, + 1446156984780070912L, + 1446271836118851584L, + 1446272213572657152L, + 1446296795289493504L, + 1446297944780447744L, + 1446300429276422144L, + 1446338554228908032L, + 1446366163725721600L, + 1446373460602527744L, + 1446383023661785088L, + 1446404566387269632L, + 1446412803253739520L, + 1446414511950274560L, + 1446416887549534208L, + 1446432348366446592L, + 1446637141705891840L, + 1446661572465532928L, + 1446662778365681664L, + 1446669441776754688L, + 1446735444854448128L, + 1446737797422784512L, + 1446749189785788416L, + 1446752435816374272L, + 1446759986557624320L, + 1446760050894053376L, + 1446768474797121536L, + 1446795257781166080L, + 1446838502867345408L, + 1447028872280547328L, + 1447043833761374208L, + 1447054527235891200L, + 1447072010726547456L, + 1447074496057188352L, + 1447075876088061952L, + 1447103967380381696L, + 1447138920163975168L, + 1447139101773144064L, + 1447161322809860096L, + 1447174761674448896L, + 1447191088136986624L, + 1447199293445513216L, + 1447369469881229312L, + 1447374927413125120L, + 1447396505974743040L, + 1447426851571245056L, + 1447446276273872896L, + 1447471380600987648L, + 1447475281098186752L, + 1447496787861708800L, + 1447723635375874048L, + 1447727386107060224L, + 1447736513168416768L, + 1447738441965248512L, + 1447759617282285568L, + 1447760088201961472L, + 1447766863198298112L, + 1447785319343857664L, + 1447797266298707968L, + 1447817633968955392L, + 1447819664108560384L, + 1447826659251331072L, + 1447836498983657472L, + 1447845666410995712L, + 1447846329551429632L, + 1447905294465376256L, + 1447938052839448576L, + 1448194066247589888L, + 1448473133999988736L, + 1448485063452008448L, + 1448499820682813440L, + 1448502008796684288L, + 1448552378973560832L, + 1448567391910109184L, + 1448980567378108416L, + 1449371992557101056L, + }; + for (Long projectId : projectIds) { + System.out.println(projectId); + //2.添加一级任务 taskDetail t_pro_task_sub t_label_business 14 t_pro_parent_task + Long firstTaskId; + ProTaskDetail taskDetailOne = new ProTaskDetail(); + taskDetailOne.setId(snowflake.nextId()); + taskDetailOne.setName("身份认证"); + taskDetailDao.insertSelective(taskDetailOne); + firstTaskId = taskDetailOne.getId(); + //添加任务分解 + ProTaskSub taskSubOne = new ProTaskSub(); + taskSubOne.setId(snowflake.nextId()); + taskSubOne.setTaskDetailId(taskDetailOne.getId()); +// taskSub.setPlanStartTime(project.getBeginTime()); +// taskSub.setPlanEndTime(project.getEndTime()); +// taskSub.setPlanDuration(project.getEndTime() - project.getBeginTime()); + taskSubDao.insertSelective(taskSubOne); + //任务关联信息(关联项目) + ProParentTask parentTaskOne = new ProParentTask(); + parentTaskOne.setId(snowflake.nextId()); + parentTaskOne.setTaskDetailId(taskDetailOne.getId()); + parentTaskOne.setParentTaskDetailId(projectId); + parentTaskDao.insertSelective(parentTaskOne); + //查找一级任务标签 + LabelBusiness labelBusinessOne = new LabelBusiness(); + labelBusinessOne.setId(snowflake.nextId()); + labelBusinessOne.setBusinessType((byte) 0); + labelBusinessOne.setBusinessId(taskDetailOne.getId()); + labelBusinessOne.setLabelId((long) 14); + labelBusinessDao.insertSelective(labelBusinessOne); + //3.添加二级任务 taskDetail t_pro_task_sub t_label_business 19 15 5 t_pro_parent_task t_pro_role_task t_pro_task_plugin + //添加二级任务信息(任务详情) + ProTaskDetail taskDetail = new ProTaskDetail(); + taskDetail.setId(snowflake.nextId()); + taskDetail.setName("身份认证"); + taskDetailDao.insertSelective(taskDetail); + //任务关联信息(关联一级任务) + ProParentTask parentTask = new ProParentTask(); + parentTask.setId(snowflake.nextId()); + parentTask.setTaskDetailId(taskDetail.getId()); + parentTask.setParentTaskDetailId(firstTaskId); + parentTaskDao.insertSelective(parentTask); + //查找重要性标签 + LabelBusiness labelBusiness1 = new LabelBusiness(); + labelBusiness1.setId(snowflake.nextId()); + labelBusiness1.setBusinessType((byte) 0); + labelBusiness1.setBusinessId(taskDetail.getId()); + labelBusiness1.setLabelId((long) 19); + labelBusinessDao.insertSelective(labelBusiness1); + LabelBusiness labelBusiness2 = new LabelBusiness(); + labelBusiness2.setId(snowflake.nextId()); + labelBusiness2.setBusinessType((byte) 0); + labelBusiness2.setBusinessId(taskDetail.getId()); + labelBusiness2.setLabelId((long) 15); + labelBusinessDao.insertSelective(labelBusiness2); + LabelBusiness labelBusiness = new LabelBusiness(); + labelBusiness.setId(snowflake.nextId()); + labelBusiness.setBusinessType((byte) 0); + labelBusiness.setBusinessId(taskDetail.getId()); + labelBusiness.setLabelId((long) 5); + labelBusinessDao.insertSelective(labelBusiness); + //任务和角色关联 + ProRoleExample proRoleExample = new ProRoleExample(); + proRoleExample.createCriteria().andProjectIdEqualTo(projectId).andNameEqualTo("科主任"); + List roleList = roleDao.selectByExample(proRoleExample); + if (CollectionUtil.isEmpty(roleList)) { + System.out.println("项目:"+projectId+"角色异常"); + continue; + } + ProRoleTask roleTask = new ProRoleTask(); + roleTask.setId(snowflake.nextId()); + roleTask.setRoleId(roleList.get(0).getId()); + roleTask.setTaskId(taskDetail.getId()); + roleTaskDao.insertSelective(roleTask); + + + //添加任务分解 + ProTaskSub taskSubTwo = new ProTaskSub(); + taskSubTwo.setId(snowflake.nextId()); + taskSubTwo.setTaskDetailId(taskDetailOne.getId()); +// taskSub.setPlanStartTime(project.getBeginTime()); +// taskSub.setPlanEndTime(project.getEndTime()); +// taskSub.setPlanDuration(project.getEndTime() - project.getBeginTime()); + taskSubDao.insertSelective(taskSubTwo); + + ProTaskPlugin proTaskPlugin = new ProTaskPlugin(); + proTaskPlugin.setId(snowflake.nextId()); + proTaskPlugin.setParam("{\"url\":\"https://www.tall.wiki/carbasics/apply-verify\"}"); + proTaskPlugin.setPlginCol(1); + proTaskPlugin.setPlginRow(1); + proTaskPlugin.setTaskDetailId(taskDetail.getId()); + proTaskPlugin.setPluginId(1442034255218876416L); + proTaskPlugin.setColspan(1); + proTaskPlugin.setRowspan(1); + taskPluginDao.insertSelective(proTaskPlugin); + } + + + } + public void sql() throws Exception{ String sql = "insert into t_qcp_car_record(id,car_id, type, car_value, time) values({}, 2, 1, {}, {});"; diff --git a/src/main/java/com/ccsens/carbasics/api/EquipmentController.java b/src/main/java/com/ccsens/carbasics/api/EquipmentController.java index b373c11..62132ec 100644 --- a/src/main/java/com/ccsens/carbasics/api/EquipmentController.java +++ b/src/main/java/com/ccsens/carbasics/api/EquipmentController.java @@ -36,7 +36,7 @@ public class EquipmentController { private IEquipmentService equipmentService; @MustLogin - @ApiOperation(value = "查询用户对应的医院信息", notes = "") + @ApiOperation(value = "一键启动", notes = "") @RequestMapping(value = "/buttonStart", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse buttonStart(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ log.info("一键启动请求:{},{}", params.getParam(), params.getUserId()); diff --git a/src/main/java/com/ccsens/carbasics/api/FirstAidController.java b/src/main/java/com/ccsens/carbasics/api/FirstAidController.java index bdbe1b9..1fa8fa2 100644 --- a/src/main/java/com/ccsens/carbasics/api/FirstAidController.java +++ b/src/main/java/com/ccsens/carbasics/api/FirstAidController.java @@ -64,4 +64,13 @@ public class FirstAidController { return JsonResponse.newInstance().ok(projectDetail); } + @MustLogin + @ApiOperation(value = "删除演示急救", notes = "") + @RequestMapping(value = "/delDemo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delDemo(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("删除演示急救开始:{}", params); + firstAidService.delDemo(params.getParam(), params.getUserId()); + log.info("删除演示急救结束"); + return JsonResponse.newInstance().ok(); + } } diff --git a/src/main/java/com/ccsens/carbasics/api/FirstAidRecordController.java b/src/main/java/com/ccsens/carbasics/api/FirstAidRecordController.java index 3922cc4..63134a6 100644 --- a/src/main/java/com/ccsens/carbasics/api/FirstAidRecordController.java +++ b/src/main/java/com/ccsens/carbasics/api/FirstAidRecordController.java @@ -35,7 +35,9 @@ public class FirstAidRecordController { @ApiOperation(value = "查询类型的所有下级和完成情况", notes = "") @RequestMapping(value = "/subordinate", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse querySubordinate(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("查询类型的所有下级和完成情况开始:{}",params); PatientVo.QuerySubordinate querySubordinate = patientService.querySubordinate(params.getParam(), params.getUserId()); + log.info("查询类型的所有下级和完成情况结束:{}",querySubordinate); return JsonResponse.newInstance().ok(querySubordinate); } @@ -43,7 +45,9 @@ public class FirstAidRecordController { @ApiOperation(value = "批量提交急救信息", notes = "") @RequestMapping(value = "/aidRecord", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse saveAidRecordN(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("批量提交急救信息开始:{}",params); patientService.saveAidRecordN(params.getParam(), params.getUserId()); + log.info("批量提交急救信息结束"); return JsonResponse.newInstance().ok(); } @@ -51,7 +55,9 @@ public class FirstAidRecordController { @ApiOperation(value = "批量查询急救信息", notes = "") @RequestMapping(value = "/queryAidRecord", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse queryAidRecordN(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("批量查询急救信息开始:{}",params); PatientVo.QueryAidRecordN queryAidRecord = patientService.queryAidRecordN(params.getParam(), params.getUserId()); + log.info("批量查询急救信息结束:{}",queryAidRecord); return JsonResponse.newInstance().ok(queryAidRecord); } diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/AccountDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/AccountDto.java index dbca8e2..08cbf94 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/AccountDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/AccountDto.java @@ -59,4 +59,11 @@ public class AccountDto { @ApiModelProperty("申请人姓名") private String name; } + + @Data + @ApiModel("查询医院下的职位-入参") + public static class QueryPositionOfHospital { + @ApiModelProperty("医院名称") + private String name; + } } diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java index 1c06304..d133667 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java @@ -29,6 +29,9 @@ public class PatientDto { @NotNull @ApiModelProperty("项目ID") private Long projectId; + @NotNull + @ApiModelProperty("病例类型(0:神内 1:神外)") + private Byte caseType; @ApiModelProperty("第几页") @Min(value = 1) diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java index bb25a0d..3227864 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java @@ -89,6 +89,8 @@ public class QuestionnaireDto { @Data @ApiModel("判断是否提交了问卷-请求") public static class Export { + @ApiModelProperty("问卷id") + private Long qid; @ApiModelProperty("开始时间 年-月-日 时:分:秒") private String startTime; @ApiModelProperty("结束时间 年-月-日 时:分:秒") diff --git a/src/main/java/com/ccsens/carbasics/bean/po/CodeName.java b/src/main/java/com/ccsens/carbasics/bean/po/CodeName.java new file mode 100644 index 0000000..bd83658 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/bean/po/CodeName.java @@ -0,0 +1,95 @@ +package com.ccsens.carbasics.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class CodeName implements Serializable { + private Long id; + + private String departmentCode; + + private String positionCode; + + private String value; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getDepartmentCode() { + return departmentCode; + } + + public void setDepartmentCode(String departmentCode) { + this.departmentCode = departmentCode == null ? null : departmentCode.trim(); + } + + public String getPositionCode() { + return positionCode; + } + + public void setPositionCode(String positionCode) { + this.positionCode = positionCode == null ? null : positionCode.trim(); + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value == null ? null : value.trim(); + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", departmentCode=").append(departmentCode); + sb.append(", positionCode=").append(positionCode); + sb.append(", value=").append(value); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/carbasics/bean/po/CodeNameExample.java b/src/main/java/com/ccsens/carbasics/bean/po/CodeNameExample.java new file mode 100644 index 0000000..60bb0aa --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/bean/po/CodeNameExample.java @@ -0,0 +1,651 @@ +package com.ccsens.carbasics.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class CodeNameExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public CodeNameExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeIsNull() { + addCriterion("department_code is null"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeIsNotNull() { + addCriterion("department_code is not null"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeEqualTo(String value) { + addCriterion("department_code =", value, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeNotEqualTo(String value) { + addCriterion("department_code <>", value, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeGreaterThan(String value) { + addCriterion("department_code >", value, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeGreaterThanOrEqualTo(String value) { + addCriterion("department_code >=", value, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeLessThan(String value) { + addCriterion("department_code <", value, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeLessThanOrEqualTo(String value) { + addCriterion("department_code <=", value, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeLike(String value) { + addCriterion("department_code like", value, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeNotLike(String value) { + addCriterion("department_code not like", value, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeIn(List values) { + addCriterion("department_code in", values, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeNotIn(List values) { + addCriterion("department_code not in", values, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeBetween(String value1, String value2) { + addCriterion("department_code between", value1, value2, "departmentCode"); + return (Criteria) this; + } + + public Criteria andDepartmentCodeNotBetween(String value1, String value2) { + addCriterion("department_code not between", value1, value2, "departmentCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeIsNull() { + addCriterion("position_code is null"); + return (Criteria) this; + } + + public Criteria andPositionCodeIsNotNull() { + addCriterion("position_code is not null"); + return (Criteria) this; + } + + public Criteria andPositionCodeEqualTo(String value) { + addCriterion("position_code =", value, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeNotEqualTo(String value) { + addCriterion("position_code <>", value, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeGreaterThan(String value) { + addCriterion("position_code >", value, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeGreaterThanOrEqualTo(String value) { + addCriterion("position_code >=", value, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeLessThan(String value) { + addCriterion("position_code <", value, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeLessThanOrEqualTo(String value) { + addCriterion("position_code <=", value, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeLike(String value) { + addCriterion("position_code like", value, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeNotLike(String value) { + addCriterion("position_code not like", value, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeIn(List values) { + addCriterion("position_code in", values, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeNotIn(List values) { + addCriterion("position_code not in", values, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeBetween(String value1, String value2) { + addCriterion("position_code between", value1, value2, "positionCode"); + return (Criteria) this; + } + + public Criteria andPositionCodeNotBetween(String value1, String value2) { + addCriterion("position_code not between", value1, value2, "positionCode"); + return (Criteria) this; + } + + public Criteria andValueIsNull() { + addCriterion("value is null"); + return (Criteria) this; + } + + public Criteria andValueIsNotNull() { + addCriterion("value is not null"); + return (Criteria) this; + } + + public Criteria andValueEqualTo(String value) { + addCriterion("value =", value, "value"); + return (Criteria) this; + } + + public Criteria andValueNotEqualTo(String value) { + addCriterion("value <>", value, "value"); + return (Criteria) this; + } + + public Criteria andValueGreaterThan(String value) { + addCriterion("value >", value, "value"); + return (Criteria) this; + } + + public Criteria andValueGreaterThanOrEqualTo(String value) { + addCriterion("value >=", value, "value"); + return (Criteria) this; + } + + public Criteria andValueLessThan(String value) { + addCriterion("value <", value, "value"); + return (Criteria) this; + } + + public Criteria andValueLessThanOrEqualTo(String value) { + addCriterion("value <=", value, "value"); + return (Criteria) this; + } + + public Criteria andValueLike(String value) { + addCriterion("value like", value, "value"); + return (Criteria) this; + } + + public Criteria andValueNotLike(String value) { + addCriterion("value not like", value, "value"); + return (Criteria) this; + } + + public Criteria andValueIn(List values) { + addCriterion("value in", values, "value"); + return (Criteria) this; + } + + public Criteria andValueNotIn(List values) { + addCriterion("value not in", values, "value"); + return (Criteria) this; + } + + public Criteria andValueBetween(String value1, String value2) { + addCriterion("value between", value1, value2, "value"); + return (Criteria) this; + } + + public Criteria andValueNotBetween(String value1, String value2) { + addCriterion("value not between", value1, value2, "value"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java b/src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java index ab13be3..e7532ac 100644 --- a/src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java +++ b/src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java @@ -41,6 +41,8 @@ public class PatientVo { private Long carId; @ApiModelProperty("是否是演示数据 0否 1是") private Byte demonstrate; + @ApiModelProperty("0:神内 1:神外") + private Byte caseType; @ApiModelProperty("病例状态 0:创建 1:急救审核通过 2:急救审核拒绝 3出院审核通过 4出院审核拒绝 5:申请修改 6:申请拒绝") private Byte dataStatus; @ApiModelProperty("急救:发病时间 转归:出院时间") @@ -53,6 +55,10 @@ public class PatientVo { private String probableCase; @ApiModelProperty("录入人ID") private Long recordUserId; + @ApiModelProperty("是否进行静脉溶栓 0否 1是") + private Byte isJmrs; + @ApiModelProperty("是否进行血管治疗 0否 1是") + private Byte isXgzl; @ApiModelProperty("参与者") private List doctors; diff --git a/src/main/java/com/ccsens/carbasics/config/SpringConfig.java b/src/main/java/com/ccsens/carbasics/config/SpringConfig.java index 5ef18e4..c9c454f 100644 --- a/src/main/java/com/ccsens/carbasics/config/SpringConfig.java +++ b/src/main/java/com/ccsens/carbasics/config/SpringConfig.java @@ -3,6 +3,7 @@ package com.ccsens.carbasics.config; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; +import com.ccsens.util.PropUtil; import com.ccsens.util.config.DruidProps; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; @@ -98,7 +99,7 @@ public class SpringConfig implements WebMvcConfigurer { .addResourceLocations("classpath:/META-INF/resources/webjars/"); registry.addResourceHandler("/uploads/**") - .addResourceLocations("file:///home/cloud/carbasics/uploads/"); + .addResourceLocations("file://"+ PropUtil.path); } /** diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/CodeNameDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/CodeNameDao.java new file mode 100644 index 0000000..bb0d8b8 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/dao/CodeNameDao.java @@ -0,0 +1,20 @@ +package com.ccsens.carbasics.persist.dao; + +import com.ccsens.carbasics.persist.mapper.CodeNameMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +/** + * @author AUSU + */ +@Repository +public interface CodeNameDao extends CodeNameMapper { + + /** + * 根据职位code和部门code查询角色名称 + * @param positionCode 职位code + * @param departmentCode 部门code + * @return 项目角色名称 + */ + String queryRoleName(@Param("positionCode") String positionCode,@Param("departmentCode") String departmentCode); +} diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java index f5589fc..579170d 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java @@ -83,7 +83,8 @@ public interface FirstAidDao extends FirstAidMapper { * @param departmentIdList 部门idList * @param departmentIdStr 部门id字符串 * @param param 参数 + * @param hospitalId 医院id * @return 急救列表 */ - List queryPatientListByQualityNew(@Param("departmentIdList") List departmentIdList,@Param("departmentIdStr") String departmentIdStr,@Param("param") PatientDto.QueryListByQuality param); + List queryPatientListByQualityNew(@Param("departmentIdList") List departmentIdList,@Param("departmentIdStr") String departmentIdStr,@Param("param") PatientDto.QueryListByQuality param,@Param("hid")Long hospitalId); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java index 0461a37..622ea73 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java @@ -11,8 +11,8 @@ public interface OrganizationDepartmentDao extends OrganizationDepartmentMapper /** * 根据机构id和部门code查询机构下的所有部门 * @param organizationId 机构id - * @param code 部门code + * @param name 医院名称 * @return 部门列表 */ - OrganizationDepartment queryByOrganization(@Param("organizationId") Long organizationId,@Param("code")String code); + OrganizationDepartment queryByOrganization(@Param("organizationId") Long organizationId,@Param("name")String name); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java index 151d4a1..71bab98 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java @@ -65,7 +65,7 @@ public interface QuestionnaireDetailDao extends QuestionnaireDetailMapper { * @param name 医院名称 * @return 大于0为已提交 */ - Long queryIsSubmit(@Param("name") String name); + Long queryIsSubmit(@Param("name") String name,@Param("time") Long time); /** * 查询提交人的信息 @@ -80,4 +80,11 @@ public interface QuestionnaireDetailDao extends QuestionnaireDetailMapper { * @return 是否展示状态 */ ButtonVO.IsShow queryIsShow(@Param("userId") Long userId); + + /** + * 根据userId查询问卷详情id + * @param userId 用户id + * @return 问卷详情id + */ + Long queryByUserId(@Param("userId") Long userId,@Param("time") Long time); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java index 4354f1f..17da7e6 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireRecordDao.java @@ -32,5 +32,5 @@ public interface QuestionnaireRecordDao extends QuestionnaireRecordMapper { * @param codes 查询试题 * @return 记录 */ - List> queryRecord(@Param("export") QuestionnaireDto.Export export, @Param("codes") List codes); + List> queryRecord(@Param("export") QuestionnaireDto.Export export, @Param("codes") List codes,@Param("qid") Long qid); } diff --git a/src/main/java/com/ccsens/carbasics/persist/mapper/CodeNameMapper.java b/src/main/java/com/ccsens/carbasics/persist/mapper/CodeNameMapper.java new file mode 100644 index 0000000..c788724 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/mapper/CodeNameMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.carbasics.persist.mapper; + +import com.ccsens.carbasics.bean.po.CodeName; +import com.ccsens.carbasics.bean.po.CodeNameExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface CodeNameMapper { + long countByExample(CodeNameExample example); + + int deleteByExample(CodeNameExample example); + + int deleteByPrimaryKey(Long id); + + int insert(CodeName record); + + int insertSelective(CodeName record); + + List selectByExample(CodeNameExample example); + + CodeName selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") CodeName record, @Param("example") CodeNameExample example); + + int updateByExample(@Param("record") CodeName record, @Param("example") CodeNameExample example); + + int updateByPrimaryKeySelective(CodeName record); + + int updateByPrimaryKey(CodeName record); +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java index 62d37ff..e3c41c6 100644 --- a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java +++ b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java @@ -11,11 +11,10 @@ import com.ccsens.carbasics.bean.dto.AccountDto; import com.ccsens.carbasics.bean.po.AccountManage; import com.ccsens.carbasics.bean.po.AccountManageExample; import com.ccsens.carbasics.bean.po.Organization; +import com.ccsens.carbasics.bean.po.QuestionnaireDetail; import com.ccsens.carbasics.bean.vo.AccountVo; -import com.ccsens.carbasics.persist.dao.AccountManageDao; -import com.ccsens.carbasics.persist.dao.OrganizationDao; -import com.ccsens.carbasics.persist.dao.OrganizationPositionDao; -import com.ccsens.carbasics.persist.dao.OrganizationProjectDao; +import com.ccsens.carbasics.bean.vo.QuestionnaireVo; +import com.ccsens.carbasics.persist.dao.*; import com.ccsens.carbasics.util.Constant; import com.ccsens.carbasics.util.DefaultCodeError; import com.ccsens.common.bean.po.ConstantExample; @@ -52,6 +51,10 @@ public class AccountManageService implements IAccountManageService { @Resource private OrganizationDao organizationDao; @Resource + private QuestionnaireDetailDao questionnaireDetailDao; + @Resource + private CodeNameDao codeNameDao; + @Resource private Snowflake snowflake; @Override public void submitAccount(AccountDto.SubmitAccount param, Long userId) { @@ -77,9 +80,36 @@ public class AccountManageService implements IAccountManageService { accountManage.setAuditStatus(param.getStatus()); accountManage.setAduitUserId(userId); accountManageDao.updateByPrimaryKeySelective(accountManage); - //创建项目 AccountManage accountManageInfo = accountManageDao.selectByPrimaryKey(param.getAccountManageId()); + //查看是否有问卷调查 + Long detailId = questionnaireDetailDao.queryByUserId(accountManageInfo.getSubmitterUserId(),System.currentTimeMillis()); + boolean flag = true; + //1.校验字段是否都填写 + Integer num = questionnaireDetailDao.countCodeNumber(detailId); + if (num < 22) { + flag = false; + } + String answer = questionnaireDetailDao.queryXGZL(detailId); + if ("是".equals(answer)) { + Integer sonOfXGZLNum = questionnaireDetailDao.querySonOfXGZL(detailId); + if (sonOfXGZLNum < 23) { + flag = false; + } + } + //2.校验是否已经有提交 + Long submitId = questionnaireDetailDao.queryIsSubmit(accountManage.getHospitalName(),System.currentTimeMillis()); + if (ObjectUtil.isNotNull(submitId)) { + flag = false; + } + if (flag) { + QuestionnaireDetail questionnaireDetail = new QuestionnaireDetail(); + questionnaireDetail.setId(detailId); + questionnaireDetail.setSubmitStatus(Constant.SubmitStatus.submit.status); + questionnaireDetailDao.updateByPrimaryKeySelective(questionnaireDetail); + log.info("账户审核中修改问卷详情状态:{}",detailId); + } + //查询职位id Long positionId = positionDao.queryByCode(accountManageInfo.getPositionCode()); questionnaireService.createHospitalAndProject(accountManageInfo.getSubmitterPhone(),accountManageInfo.getSubmitterUserId(),"", @@ -124,8 +154,31 @@ public class AccountManageService implements IAccountManageService { @Override - public List queryDepartment(Long userId) { + public List queryDepartment(AccountDto.QueryPositionOfHospital param,Long userId) { List departmentList = new ArrayList<>(); + List specialList = redisUtil.lGet(Constant.DEPARTMENT_POSITION_KEY + param.getName(), 0, -1); + log.info("redis获取到的特殊职位信息{}",specialList); + if (CollectionUtil.isNotEmpty(specialList)) { + for (Object special : specialList) { + AccountVo.DepartmentList departmentListRedis = (AccountVo.DepartmentList) special; + departmentList.add(departmentListRedis); + } + return departmentList; + } + //查询特殊职位 + ConstantExample specialExample = new ConstantExample(); + specialExample.createCriteria().andBusinessTypeEqualTo((byte) 2) + .andTKeyEqualTo(Constant.DEPARTMENT_POSITION_KEY+param.getName()); + List specialDataList = constantMapper.selectByExample(specialExample); + if (CollectionUtil.isNotEmpty(specialDataList)) { + JSONArray jsonArray = JSONObject.parseArray(specialDataList.get(0).gettValue()); + List departmentLists = jsonArray.toJavaList(AccountVo.DepartmentList.class); + for (AccountVo.DepartmentList list : departmentLists) { + redisUtil.lSet(Constant.DEPARTMENT_POSITION_KEY+param.getName(),list); + } + return departmentLists; + } + //正常查询 List objects = redisUtil.lGet(Constant.DEPARTMENT_POSITION_KEY, 0, -1); log.info("redis获取到的职位信息{}",objects); if (CollectionUtil.isNotEmpty(objects)) { @@ -146,6 +199,7 @@ public class AccountManageService implements IAccountManageService { for (AccountVo.DepartmentList list : departmentLists) { redisUtil.lSet(Constant.DEPARTMENT_POSITION_KEY,list); } + return departmentLists; } return departmentList; } diff --git a/src/main/java/com/ccsens/carbasics/service/DataStatisticsService.java b/src/main/java/com/ccsens/carbasics/service/DataStatisticsService.java index 2e45ac3..84f16e8 100644 --- a/src/main/java/com/ccsens/carbasics/service/DataStatisticsService.java +++ b/src/main/java/com/ccsens/carbasics/service/DataStatisticsService.java @@ -73,7 +73,7 @@ public class DataStatisticsService implements IDataStatisticsService { if (areaResult.getValue().compareTo(advance.getDatumLine()) > -1) { arrive++; } - if (areaResult.getValue().compareTo(basics.getDatumLine()) < 1) { + if (areaResult.getValue().compareTo(basics.getDatumLine()) < 0) { unArrive++; } } @@ -231,21 +231,32 @@ public class DataStatisticsService implements IDataStatisticsService { List xgzlDataList = new ArrayList<>(); if (0 == param.getQueryType()) { xgzlDataList = dataStatisticsDao.xgzlDataForCity(param); - + if (CollectionUtil.isNotEmpty(xgzlDataList)) { + for (StatisticsVo.XgzlData xgzlData : xgzlDataList) { + if (xgzlData.getZxgnzllCity().compareTo(advance.getDatumLine()) > -1) { + arrive++; + } + if (xgzlData.getZxgnzllCity().compareTo(basics.getDatumLine()) < 0) { + unArrive++; + } + xgzlSynopsis.setLess50(unArrive); + xgzlSynopsis.setThan90(arrive); + } + } } if (1 == param.getQueryType()) { xgzlDataList = dataStatisticsDao.xgzlDataForHospital(param); - } - if (CollectionUtil.isNotEmpty(xgzlDataList)) { - for (StatisticsVo.XgzlData xgzlData : xgzlDataList) { - if (xgzlData.getZxgnzll().compareTo(advance.getDatumLine()) > -1) { - arrive++; - } - if (xgzlData.getZxgnzll().compareTo(basics.getDatumLine()) < 1) { - unArrive++; + if (CollectionUtil.isNotEmpty(xgzlDataList)) { + for (StatisticsVo.XgzlData xgzlData : xgzlDataList) { + if (xgzlData.getZxgnzll().compareTo(advance.getDatumLine()) > -1) { + arrive++; + } + if (xgzlData.getZxgnzll().compareTo(basics.getDatumLine()) < 0) { + unArrive++; + } + xgzlSynopsis.setLess50(unArrive); + xgzlSynopsis.setThan90(arrive); } - xgzlSynopsis.setLess50(unArrive); - xgzlSynopsis.setThan90(arrive); } } return ObjectUtil.isNull(xgzlSynopsis) ? new StatisticsVo.XgzlSynopsis() : xgzlSynopsis; diff --git a/src/main/java/com/ccsens/carbasics/service/ExportService.java b/src/main/java/com/ccsens/carbasics/service/ExportService.java index aeb2ec7..57b0b88 100644 --- a/src/main/java/com/ccsens/carbasics/service/ExportService.java +++ b/src/main/java/com/ccsens/carbasics/service/ExportService.java @@ -280,7 +280,7 @@ public class ExportService implements IExportService{ firstCells.add(new PoiUtil.PoiUtilCell("病例状态(0:创建 1:急救审核通过 2:急救审核拒绝 3出院审核通过 4出院审核拒绝 5:申请修改 6:申请拒绝')")); list.add(firstCells); //查询数据 - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat timeParam = new SimpleDateFormat("yyyy-MM-dd"); Date parse = timeParam.parse(startTime); long time = parse.getTime(); diff --git a/src/main/java/com/ccsens/carbasics/service/FirstAidService.java b/src/main/java/com/ccsens/carbasics/service/FirstAidService.java index 756d33f..63f129e 100644 --- a/src/main/java/com/ccsens/carbasics/service/FirstAidService.java +++ b/src/main/java/com/ccsens/carbasics/service/FirstAidService.java @@ -67,6 +67,8 @@ public class FirstAidService implements IFirstAidService{ @Resource private PatientDao patientDao; @Resource + private OrganizationProjectDao organizationProjectDao; + @Resource private RedisUtil redisUtil; @@ -220,6 +222,36 @@ public class FirstAidService implements IFirstAidService{ return firstAid; } + @Override + public void delDemo(FirstAidDto.Project param, Long userId) { + FirstAid firstAid = firstAidDao.selectByPrimaryKey(param.getFirstAidId()); + if (ObjectUtil.isNull(firstAid)) { + throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID); + } + if (ObjectUtil.isNull(firstAid.getValueType()) || 1 != firstAid.getValueType()) { + throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID); + } + FirstAidMember byAidId = firstAidMemberDao.findByAidId(param.getFirstAidId()); + if (!userId.equals(byAidId.getCreateUserId())) { + throw new BaseException(DefaultCodeError.NO_POWER); + } + //删除急救 + firstAid.setRecStatus((byte) 2); + firstAidDao.updateByPrimaryKeySelective(firstAid); + //删除first_aid_member + FirstAidMemberExample firstAidMemberExample = new FirstAidMemberExample(); + firstAidMemberExample.createCriteria().andFirstAidIdEqualTo(param.getFirstAidId()); + FirstAidMember firstAidMember = new FirstAidMember(); + firstAidMember.setRecStatus((byte) 2); + firstAidMemberDao.updateByExampleSelective(firstAidMember,firstAidMemberExample); + //删除first_aid_record + FirstAidRecordExample firstAidRecordExample = new FirstAidRecordExample(); + firstAidRecordExample.createCriteria().andFirstAidIdEqualTo(param.getFirstAidId()); + FirstAidRecord firstAidRecord = new FirstAidRecord(); + firstAidRecord.setRecStatus((byte) 2); + firstAidRecordMapper.updateByExampleSelective(firstAidRecord,firstAidRecordExample); + } + @Override public PatientVo.GetPatient getPatient(PatientDto.ProjectId param, Long userId) { PatientVo.GetPatient getPatient = new PatientVo.GetPatient(); @@ -328,9 +360,10 @@ public class FirstAidService implements IFirstAidService{ public PageInfo queryPatientListByQuality(PatientDto.QueryListByQuality param, Long userId) { //根据项目id查找医院id // FirstAid firstAid = firstAidDao.getIdByProjectId(param.getProjectId()); -// if(ObjectUtil.isNull(firstAid) || ObjectUtil.isNull(firstAid.getHospitalId())){ -// throw new BaseException(DefaultCodeError.NOT_HOSPITAL_ID); -// } + Long hid = organizationProjectDao.queryByProjectId(param.getProjectId()); + if(ObjectUtil.isNull(hid)){ + throw new BaseException(DefaultCodeError.NOT_HOSPITAL_ID); + } //查找当前用户的职位和科室 // OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); // //用户的科室必须是医院的科室 @@ -360,7 +393,7 @@ public class FirstAidService implements IFirstAidService{ //查找病例信息 PageHelper.startPage(param.getPageNum(),param.getPageSize()); // List patientList = firstAidDao.queryPatientListByQuality(template.getTemplates(),template.getOrganizationId(),param); - List patientList = firstAidDao.queryPatientListByQualityNew(departmentIdList,departmentIdStr,param); + List patientList = firstAidDao.queryPatientListByQualityNew(departmentIdList,departmentIdStr,param,hid); return new PageInfo<>(patientList); } @@ -460,65 +493,73 @@ public class FirstAidService implements IFirstAidService{ if (firstAidInfo == null || firstAidMember == null) { throw new BaseException(DefaultCodeError.PARAM_ERROR); } - if (0 != firstAidMember.getRecordUserId() && ObjectUtil.isNotNull(firstAidMember.getRecordUserId()) && firstAidInfo.getProjectId() != null && firstAidInfo.getProjectId() != 0) { +// if (0 != firstAidMember.getRecordUserId() && ObjectUtil.isNotNull(firstAidMember.getRecordUserId()) && firstAidInfo.getProjectId() != null && firstAidInfo.getProjectId() != 0) { +// throw new BaseException(DefaultCodeError.DOCTOR_HAS_JOINED); +// } + if (0 != firstAidMember.getRecordUserId() && ObjectUtil.isNotNull(firstAidMember.getRecordUserId())) { throw new BaseException(DefaultCodeError.DOCTOR_HAS_JOINED); } - //根据模板类型创建项目 - CProjectVo.CopyProjectInfo copyProjectInfo = new CProjectVo.CopyProjectInfo(); - //如果已有项目则不创建,使用旧项目 - if (firstAidInfo.getType().equals(param.getType()) && 0 != firstAidInfo.getProjectId()) { - copyProjectInfo.setId(firstAidInfo.getProjectId()); - }else { - CProjectDto.CopyProject copyProject = new CProjectDto.CopyProject(); - String newProjectName = ""; - long incr = redisUtil.incr("hospital_" + firstAidInfo.getHospitalId().toString(), 1L); - if (0 == param.getType()){ - //TODO 设置项目id为神内模板 和 项目名字 - newProjectName = incr+"-"+"急救(神内)-"+firstAidInfo.getName(); - copyProject.setProjectName(newProjectName); - copyProject.setProjectId((Long) redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_SHENNEI)); - }else{ - //TODO 设置项目id为神外模板 和 项目名字 - newProjectName = incr+"-"+"急救(神外)-"+firstAidInfo.getName(); - copyProject.setProjectName(newProjectName); - copyProject.setProjectId((Long) redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_SHENWAI)); - } - log.info("加入急救-开始创建项目{}",copyProject); - copyProjectInfo = projectService.copyProject(copyProject, userId); - log.info("加入急救-创建项目结束{}",copyProjectInfo); - } + //修改病例类型(神内/神外) + FirstAid firstAid = new FirstAid(); + firstAid.setId(param.getFirstAidId()); + firstAid.setType(param.getType()); + firstAidDao.updateByPrimaryKeySelective(firstAid); +// //根据模板类型创建项目 +// CProjectVo.CopyProjectInfo copyProjectInfo = new CProjectVo.CopyProjectInfo(); +// //如果已有项目则不创建,使用旧项目 +// if (firstAidInfo.getType().equals(param.getType()) && 0 != firstAidInfo.getProjectId()) { +// copyProjectInfo.setId(firstAidInfo.getProjectId()); +// }else { +// CProjectDto.CopyProject copyProject = new CProjectDto.CopyProject(); +// String newProjectName = ""; +// long incr = redisUtil.incr("hospital_" + firstAidInfo.getHospitalId().toString(), 1L); +// if (0 == param.getType()){ +// //TODO 设置项目id为神内模板 和 项目名字 +// newProjectName = incr+"-"+"急救(神内)-"+firstAidInfo.getName(); +// copyProject.setProjectName(newProjectName); +// copyProject.setProjectId((Long) redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_SHENNEI)); +// }else{ +// //TODO 设置项目id为神外模板 和 项目名字 +// newProjectName = incr+"-"+"急救(神外)-"+firstAidInfo.getName(); +// copyProject.setProjectName(newProjectName); +// copyProject.setProjectId((Long) redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_SHENWAI)); +// } +// log.info("加入急救-开始创建项目{}",copyProject); +// copyProjectInfo = projectService.copyProject(copyProject, userId); +// log.info("加入急救-创建项目结束{}",copyProjectInfo); +// } //将医生添加为项目成员 - CProjectDto.MemberForProject memberForProject = new CProjectDto.MemberForProject(); - List memberInfoList = new ArrayList<>(); - CProjectDto.MemberInfo memberInfo = new CProjectDto.MemberInfo(); - memberInfo.setUserId(userId); - memberInfo.setMemberName(memberPosition.getName()); - memberInfo.setPhone(memberPosition.getContact()); - if (0 == param.getType()){ - memberInfo.setRoleName(Constant.RoleName.SHEN_NEI); - }else{ - memberInfo.setRoleName(Constant.RoleName.SHEN_WAI); - } - memberInfoList.add(memberInfo); - memberForProject.setProjectId(copyProjectInfo.getId()); - memberForProject.setMemberInfoList(memberInfoList); - log.info("加入急救-开始添加成员{}",memberForProject); - projectService.addMemberForCopy(memberForProject,userId); - log.info("加入急救-添加成员结束"); +// CProjectDto.MemberForProject memberForProject = new CProjectDto.MemberForProject(); +// List memberInfoList = new ArrayList<>(); +// CProjectDto.MemberInfo memberInfo = new CProjectDto.MemberInfo(); +// memberInfo.setUserId(userId); +// memberInfo.setMemberName(memberPosition.getName()); +// memberInfo.setPhone(memberPosition.getContact()); +// if (0 == param.getType()){ +// memberInfo.setRoleName(Constant.RoleName.SHEN_NEI); +// }else{ +// memberInfo.setRoleName(Constant.RoleName.SHEN_WAI); +// } +// memberInfoList.add(memberInfo); +// memberForProject.setProjectId(copyProjectInfo.getId()); +// memberForProject.setMemberInfoList(memberInfoList); +// log.info("加入急救-开始添加成员{}",memberForProject); +// projectService.addMemberForCopy(memberForProject,userId); +// log.info("加入急救-添加成员结束"); //添加医生为病例的录入者 t_qcp_first_aid_member firstAidMember.setRecordUserId(userId); firstAidMemberDao.updateByPrimaryKeySelective(firstAidMember); //急救信息和项目关联 - FirstAid firstAid = new FirstAid(); - firstAid.setId(param.getFirstAidId()); - firstAid.setProjectId(copyProjectInfo.getId()); - firstAid.setType(param.getType()); - firstAidDao.updateByPrimaryKeySelective(firstAid); +// FirstAid firstAid = new FirstAid(); +// firstAid.setId(param.getFirstAidId()); +// firstAid.setProjectId(copyProjectInfo.getId()); +// firstAid.setType(param.getType()); +// firstAidDao.updateByPrimaryKeySelective(firstAid); //添加急救日志(类型:加入) FirstAidLog firstAidLog = new FirstAidLog(); @@ -534,9 +575,8 @@ public class FirstAidService implements IFirstAidService{ } firstAidLogDao.insertSelective(firstAidLog); //返回项目id - FirstAidVo.ProjectInfo projectInfo = new FirstAidVo.ProjectInfo(); - projectInfo.setProjectId(copyProjectInfo.getId()); - return projectInfo; + // projectInfo.setProjectId(copyProjectInfo.getId()); + return new FirstAidVo.ProjectInfo(); } diff --git a/src/main/java/com/ccsens/carbasics/service/IAccountManageService.java b/src/main/java/com/ccsens/carbasics/service/IAccountManageService.java index a9b3ea1..8baf64b 100644 --- a/src/main/java/com/ccsens/carbasics/service/IAccountManageService.java +++ b/src/main/java/com/ccsens/carbasics/service/IAccountManageService.java @@ -33,7 +33,7 @@ public interface IAccountManageService { * @param userId 用户id * @return 部门列表及职位 */ - List queryDepartment(Long userId); + List queryDepartment(AccountDto.QueryPositionOfHospital param,Long userId); /** * 查询医院下的申请 diff --git a/src/main/java/com/ccsens/carbasics/service/IFirstAidService.java b/src/main/java/com/ccsens/carbasics/service/IFirstAidService.java index 825e56f..d333f9c 100644 --- a/src/main/java/com/ccsens/carbasics/service/IFirstAidService.java +++ b/src/main/java/com/ccsens/carbasics/service/IFirstAidService.java @@ -105,4 +105,11 @@ public interface IFirstAidService { FirstAid getFirstAid(PatientDto.SavePatient param, Long userId, Byte position, Long organizationId,Byte createUserType); + + /** + * 删除演示急救 + * @param param 急救id + * @param userId 用户id + */ + void delDemo(FirstAidDto.Project param, Long userId); } diff --git a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java index 8ecee5a..e5b49e4 100644 --- a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java @@ -87,6 +87,8 @@ public class QuestionnaireService implements IQuestionnaireService{ private Tall3FeignClient tall3FeignClient; @Resource private AccountManageDao accountManageDao; + @Resource + private CodeNameDao codeNameDao; @Override public List queryArea(QuestionnaireDto.QueryArea param, Long userId) { @@ -112,12 +114,14 @@ public class QuestionnaireService implements IQuestionnaireService{ @Override public void saveQuestionnaire(QuestionnaireDto.SaveQuestionnaire param, Long userId) throws Exception { //redis判断是否已有 - Object o = redisUtil.get(String.valueOf(param.getDetailId() + userId)); + Object o = redisUtil.get(param.getDetailId() + "" + userId); + log.info("redis保存问卷用户{},{}",param.getDetailId() + "" + userId,o); if (ObjectUtil.isNull(o)) { - redisUtil.set(String.valueOf(param.getDetailId() + userId),userId); + redisUtil.set(param.getDetailId() + "" + userId,userId); //查询是否已经提交,已提交不能保存修改 QuestionnaireDetail questionnaireDetail = questionnaireDetailDao.selectByPrimaryKey(param.getDetailId()); if (Constant.SubmitStatus.submit.status == questionnaireDetail.getSubmitStatus()) { + redisUtil.del(param.getDetailId() + "" + userId); throw new BaseException(DefaultCodeError.HOSPITAL_REPEAT_SUBMIT); } Long recordId = recordDao.queryIsExist(param.getDetailId(),param.getCode()); @@ -135,7 +139,7 @@ public class QuestionnaireService implements IQuestionnaireService{ record.setAnswer(param.getAnswer()); recordDao.insertSelective(record); } - redisUtil.del(String.valueOf(param.getDetailId()+userId)); + redisUtil.del(param.getDetailId() + "" + userId); } @@ -190,20 +194,27 @@ public class QuestionnaireService implements IQuestionnaireService{ } } //2.校验是否已经有提交 - Long submitId = questionnaireDetailDao.queryIsSubmit(param.getName()); - if (ObjectUtil.isNull(submitId)) { - QuestionnaireDetail detail = new QuestionnaireDetail(); - detail.setId(param.getDetailId()); - detail.setSubmitStatus(Constant.SubmitStatus.submit.status); - questionnaireDetailDao.updateByPrimaryKeySelective(detail); + Long currentTime = System.currentTimeMillis(); + Long submitId = questionnaireDetailDao.queryIsSubmit(param.getName(),currentTime); + if (ObjectUtil.isNotNull(submitId)) { + return new QuestionnaireVo.SubmitInfo(); } //查询用户是否此医院此角色此部门 Integer isExist = organizationDao.queryUserIsExist(param.getDepartmentName(),param.getPositionName(),param.getName(),userId); if (0 < isExist) { + log.info("提交问卷已经是此医院此部门此职位:{}",userId); + //如果已是医院当前职位当前部门则直接修改为提交 + if (ObjectUtil.isNull(submitId)) { + QuestionnaireDetail detail = new QuestionnaireDetail(); + detail.setId(param.getDetailId()); + detail.setSubmitStatus(Constant.SubmitStatus.submit.status); + questionnaireDetailDao.updateByPrimaryKeySelective(detail); + } return new QuestionnaireVo.SubmitInfo(); } AccountManage accountManage = new AccountManage(); accountManage.setId(snowflake.nextId()); + accountManage.setHospitalName(param.getName()); accountManage.setDepartmentName(param.getDepartmentName()); accountManage.setDepartmentCode(Constant.DepartmentAndCode.getDepartmentCode(param.getDepartmentName())); accountManage.setPositionName(param.getPositionName()); @@ -292,7 +303,7 @@ public class QuestionnaireService implements IQuestionnaireService{ parentCodes.add("XGZL"); List codes = codeDictionariesDao.query(parentCodes); log.info("code数量:{}", codes.size()); - List> records = questionnaireRecordDao.queryRecord(export, codes); + List> records = questionnaireRecordDao.queryRecord(export, codes,export.getQid()); log.info("记录结束"); List areaIds = new ArrayList<>(); records.forEach(record ->{ @@ -436,9 +447,9 @@ public class QuestionnaireService implements IQuestionnaireService{ organizationMemberPositionDao.insertSelective(position); } //创建项目 - return createProject(newOrganization.getId(), hospitalName, memberName, phone, userId,positionId); + return createProject(newOrganization.getId(), hospitalName, memberName, phone, userId,positionId,departmentCode); }else { - OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentCode); + OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentName); if (ObjectUtil.isNull(department)) { //创建部门 OrganizationDepartment newDepartment = new OrganizationDepartment(); @@ -474,7 +485,7 @@ public class QuestionnaireService implements IQuestionnaireService{ organizationMemberPositionDao.insertSelective(position); } //创建项目 - return createProject(organization.getId(),hospitalName,memberName,phone,userId,positionId); + return createProject(organization.getId(),hospitalName,memberName,phone,userId,positionId,departmentCode); }else { //创建用户 //查询用户是否存在 @@ -503,13 +514,13 @@ public class QuestionnaireService implements IQuestionnaireService{ organizationMemberPositionDao.insertSelective(position); } //创建项目 - return createProject(organization.getId(), hospitalName, memberName, phone, userId,positionId); + return createProject(organization.getId(), hospitalName, memberName, phone, userId,positionId,departmentCode); } } } - public Long createProject(Long organizationId,String hospitalName,String memberName,String phone,Long userId,Long positionId) { + public Long createProject(Long organizationId,String hospitalName,String memberName,String phone,Long userId,Long positionId,String departmentCode) { OrganizationProject project = organizationProjectDao.queryByOrganizationId(organizationId); if (ObjectUtil.isNull(project)) { //创建项目 @@ -522,7 +533,9 @@ public class QuestionnaireService implements IQuestionnaireService{ CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember(); saveMember.setProjectId(copyProjectInfo.getId()); //查询角色code - saveMember.setRoleName(queryRole(positionId)); + OrganizationPosition position = positionDao.selectByPrimaryKey(positionId); + String roleName = codeNameDao.queryRoleName(position.getCode(),departmentCode); + saveMember.setRoleName(roleName); // saveMember.setRoleName(Constant.RoleName.SHEN_NEI); saveMember.setName(memberName); saveMember.setPhone(phone); @@ -553,7 +566,9 @@ public class QuestionnaireService implements IQuestionnaireService{ CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember(); saveMember.setProjectId(project.getProjectId()); //查询角色code - saveMember.setRoleName(queryRole(positionId)); + OrganizationPosition position = positionDao.selectByPrimaryKey(positionId); + String roleName = codeNameDao.queryRoleName(position.getCode(),departmentCode); + saveMember.setRoleName(roleName); // saveMember.setRoleName(Constant.RoleName.SHEN_NEI); saveMember.setName(memberName); saveMember.setPhone(phone); diff --git a/src/main/java/com/ccsens/carbasics/util/Constant.java b/src/main/java/com/ccsens/carbasics/util/Constant.java index 107f065..b5a867d 100644 --- a/src/main/java/com/ccsens/carbasics/util/Constant.java +++ b/src/main/java/com/ccsens/carbasics/util/Constant.java @@ -382,8 +382,9 @@ public class Constant { public enum PositionIdAndRole { /**神内医生*/ HuSHi("HuShi","分诊护士"), - YiSheng("YiSheng","神内医生"), + YiSheng("YiSheng","医生"), ZhiKong("ZhiKong","质控医生"), + CuZhongZhiKong("ZhiKong","卒中质控医生"), MiShu("MiShu","秘书"), KeZhuRen("KeZhuRen","科主任"), FuZhuRen("FuZhuRen","副主任"), @@ -405,7 +406,7 @@ public class Constant { return HuSHi.positionCode; }else if (YiSheng.roleName.equals(name)) { return YiSheng.positionCode; - }else if (ZhiKong.roleName.equals(name)) { + }else if (ZhiKong.roleName.equals(name) || CuZhongZhiKong.roleName.equals(name)) { return ZhiKong.positionCode; }else if (MiShu.roleName.equals(name)) { return MiShu.positionCode; diff --git a/src/main/resources/application-pre.yml b/src/main/resources/application-pre.yml new file mode 100644 index 0000000..b6a0af4 --- /dev/null +++ b/src/main/resources/application-pre.yml @@ -0,0 +1,54 @@ +server: + port: 7240 + servlet: + context-path: /v4.0 +spring: + application: + name: carbasics + datasource: + type: com.alibaba.druid.pool.DruidDataSource + rabbitmq: + host: 127.0.0.1 + password: 111111 + port: 5672 + username: admin + redis: + database: 0 + host: 127.0.0.1 + jedis: + pool: + max-active: 200 + max-idle: 10 + max-wait: -1ms + min-idle: 0 + password: '' + port: 6379 + timeout: 1000ms +swagger: + enable: true +mybatisCache: + database: 1 + host: 127.0.0.1 + jedis: + pool: + max-active: 200 + max-idle: 10 + max-wait: -1 + min-idle: 0 + password: '' + port: 6379 + timeout: 1000 +eureka: + instance: + ip-address: 127.0.0.1 + +file: + path: /home/carbiscs/uploads/ + domain: https://dd.tall.wiki/gateway/carbasics/v4.0 + imgDomain: https://dd.tall.wiki/gateway/carbasics/v4.0/uploads/ +wisdom: + weight: 10000 + time: 600000 +question: + template: /home/carbasics/uploads/template/暴风眼问卷导出表格模板.xlsx + pdftemplate: /home/carbasics/uploads/template/卒中绿色通道时间节点控制表form版备用.pdf \ No newline at end of file diff --git a/src/main/resources/druid-pre.yml b/src/main/resources/druid-pre.yml new file mode 100644 index 0000000..428f231 --- /dev/null +++ b/src/main/resources/druid-pre.yml @@ -0,0 +1,33 @@ +spring: + datasource: + druid: + connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 + driverClassName: com.mysql.cj.jdbc.Driver + dynamicUrl: jdbc:mysql://localhost:3306/${schema} + filterExclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*' + filterName: druidFilter + filterProfileEnable: true + filterUrlPattern: /* + filters: stat,wall + initialSize: 5 + maxActive: 20 + maxPoolPreparedStatementPerConnectionSize: 20 + maxWait: 60000 + minEvictableIdleTimeMillis: 300000 + minIdle: 5 + password: + poolPreparedStatements: true + servletLogSlowSql: true + servletLoginPassword: 111111 + servletLoginUsername: druid + servletName: druidServlet + servletResetEnable: true + servletUrlMapping: /druid/* + testOnBorrow: false + testOnReturn: false + testWhileIdle: true + timeBetweenEvictionRunsMillis: 60000 + url: jdbc:mysql://127.0.0.1/carbasics?useUnicode=true&characterEncoding=UTF-8 + username: root + validationQuery: SELECT 1 FROM DUAL + env: CCSENS_TALL \ No newline at end of file diff --git a/src/main/resources/mapper_dao/CodeNameDao.xml b/src/main/resources/mapper_dao/CodeNameDao.xml new file mode 100644 index 0000000..3e01738 --- /dev/null +++ b/src/main/resources/mapper_dao/CodeNameDao.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/DataStatisticsDao.xml b/src/main/resources/mapper_dao/DataStatisticsDao.xml index 35c5073..62ae834 100644 --- a/src/main/resources/mapper_dao/DataStatisticsDao.xml +++ b/src/main/resources/mapper_dao/DataStatisticsDao.xml @@ -4,9 +4,9 @@ SELECT gediAis.hname AS `name`, - IFNULL(round(gediRszs.`value` * 100 / gediAis.`value`,1),0) AS `value`, + IFNULL(round(gediRszs.`value` * 100 / gediAis.`value`+0.001,1),0.0) AS `value`, gediRszs.`value` AS rsTotal FROM (SELECT qr.answer AS area, qr2.answer AS `value`, - qr3.answer As hname + qr3.answer As hname, + qd.id FROM t_qcp_questionnaire_record AS qr LEFT JOIN t_qcp_questionnaire_detail AS qd ON qr.questionnaire_detail_id = qd.id @@ -148,7 +149,8 @@ (SELECT qr.answer AS area, qr2.answer AS `value`, - qr3.answer As hname + qr3.answer As hname, + qd.id FROM t_qcp_questionnaire_record AS qr LEFT JOIN t_qcp_questionnaire_detail AS qd ON qr.questionnaire_detail_id = qd.id @@ -180,14 +182,14 @@ AND qr4.answer = '二级' ) AS gediAis - WHERE gediRszs.hname = gediAis.hname + WHERE gediRszs.id = gediAis.id SELECT - round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess60, - round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess45 + round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),1) AS dntLess60, + round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),1) AS dntLess45 FROM ( SELECT @@ -323,12 +325,14 @@ a.area_name AS cityName, answer45.level AS `level`, - round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess60, - round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess45 + round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),1) AS dntLess60, + round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),1) AS dntLess45 FROM ( SELECT + SUBSTRING_INDEX(area.answer,',',1) AS area, + LEFT(`level`.answer,1) AS level, SUM( actual.answer ) AS `value40` FROM @@ -336,7 +340,9 @@ LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id - LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id + + LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id + WHERE actual.rec_status = 0 @@ -373,7 +379,9 @@ LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id - LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id + + LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id + WHERE actual.rec_status = 0 @@ -407,7 +415,9 @@ LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id - LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id + + LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id + WHERE actual.rec_status = 0 @@ -443,10 +453,11 @@ a.id AS areaId, a.area_name AS name, answer45.level, - round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess60, - round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),2) AS dntLess45, - round((answer45all.value40+answer60all.value60)*100/(answer45all.value40+answer60all.value60+answer61all.value61),2) AS dntLess60All, - round(answer45all.value40*100/(answer45all.value40+answer60all.value60+answer61all.value61),2) AS dntLess45All + round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),1) AS dntLess60, + round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),1) AS dntLess45, + round((answer45all.value40+answer60all.value60)*100/(answer45all.value40+answer60all.value60+answer61all.value61),1) AS dntLess60All, + round(answer45all.value40*100/(answer45all.value40+answer60all.value60+answer61all.value61),1) AS dntLess45All + FROM ( SELECT @@ -462,7 +473,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -498,7 +509,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -534,7 +545,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -570,7 +581,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -592,7 +603,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -614,7 +625,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -638,8 +649,8 @@ SELECT answer45.hospital AS name, answer45.`level`, - IFNULL(round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),2),0.00) AS dntLess60All, - IFNULL(round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),2),0.00) AS dntLess45All, + IFNULL(round((answer45.value40+answer60.value60)*100/(answer45.value40+answer60.value60+answer61.value61),1),0.0) AS dntLess60All, + IFNULL(round(answer45.value40*100/(answer45.value40+answer60.value60+answer61.value61),1),0.0) AS dntLess45All, answer45.VALUE40 AS dntLess45H, answer60.value60 AS dntLess60H, answer61.value61 AS dnt61H @@ -649,7 +660,8 @@ hospital.answer AS hospital, SUBSTRING_INDEX(area.answer,',',1) AS area, LEFT(`level`.answer,1) AS level, - actual.answer AS `value40` + actual.answer AS `value40`, + qd.id FROM t_qcp_questionnaire_record AS actual LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id @@ -660,7 +672,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -691,7 +703,8 @@ hospital.answer AS hospital, SUBSTRING_INDEX(area.answer,',',1) AS area, LEFT(`level`.answer,1) AS level, - actual.answer AS `value60` + actual.answer AS `value60`, + qd.id FROM t_qcp_questionnaire_record AS actual LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id @@ -702,7 +715,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -726,14 +739,15 @@ -- 医院名 AND hospital.rec_status = 0 AND hospital.question_code = 'HOS-NAME' - ) AS answer60 ON answer45.hospital = answer60.hospital + ) AS answer60 ON answer45.id = answer60.id LEFT JOIN ( SELECT hospital.answer AS hospital, SUBSTRING_INDEX(area.answer,',',1) AS area, LEFT(`level`.answer,1) AS level, - actual.answer AS `value61` + actual.answer AS `value61`, + qd.id FROM t_qcp_questionnaire_record AS actual LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id @@ -744,7 +758,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -768,13 +782,13 @@ -- 医院名 AND hospital.rec_status = 0 AND hospital.question_code = 'HOS-NAME' - ) AS answer61 ON answer61.hospital = answer45.hospital + ) AS answer61 ON answer61.id = answer45.id ORDER BY (answer45.VALUE40+answer60.value60+answer61.value61) DESC SELECT answer1.`name` AS name, - IFNULL(round(answer1.sich*100/answer2.actual,2),0.00) AS sichFsl, + IFNULL(round(answer1.sich*100/answer2.actual+0.001,1),0.0) AS sichFsl, answer1.sich AS sICHNnt FROM ( @@ -1068,7 +1086,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1106,7 +1124,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1139,9 +1157,9 @@ answer1.qjxgnzlzs, answer2.sjxgnzlzrs AS fqjxgnzlzs, (answer1.qjxgnzlzs+answer2.sjxgnzlzrs) AS xgnzlzs, - round(answer2.sjxgnzlzrs*100/answer3.rshfhxgnzlzzzrs,2) AS qjxgnzll, - round(answer2.sjxgnzlzrs*100/answer4.fhxgnzlzzzrs,2) AS fqjxgnzll, - round((answer1.qjxgnzlzs+answer2.sjxgnzlzrs)*100/(answer3.rshfhxgnzlzzzrs+answer4.fhxgnzlzzzrs),2) AS zxgnzll + round(answer1.qjxgnzlzs*100/answer3.rshfhxgnzlzzzrs,1) AS qjxgnzll, + round(answer2.sjxgnzlzrs*100/answer4.fhxgnzlzzzrs,1) AS fqjxgnzll, + round((answer1.qjxgnzlzs+answer2.sjxgnzlzrs)*100/(answer3.rshfhxgnzlzzzrs+answer4.fhxgnzlzzzrs),1) AS zxgnzll FROM ( SELECT @@ -1231,15 +1249,15 @@ a1.name, a1.fqjxgnzlzs, a1.qjxgnzlzs, - a1.zxgnzll, - a2.zxgnzllCity + a1.zxgnzll AS zxgnzllCity, + a2.zxgnzllCity AS zxgnzll FROM (SELECT a.id AS areaId, a.area_name AS name, answer1.qjxgnzlzs, answer2.fqjxgnzlzs, - IFNULL(round((answer1.qjxgnzlzs+answer2.fqjxgnzlzs)*100/(answer3.rshfhxgnzlzzzrs+answer4.fhxgnzlzzzrs),2),0.00) + IFNULL(round((answer1.qjxgnzlzs+answer2.fqjxgnzlzs)*100/(answer3.rshfhxgnzlzzzrs+answer4.fhxgnzlzzzrs),1),0.0) AS zxgnzll FROM ( @@ -1256,7 +1274,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1294,7 +1312,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1332,7 +1350,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1370,7 +1388,7 @@ WHERE actual.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1405,7 +1423,7 @@ SELECT a.id, a.area_name, - IFNULL(round((SUM(answer1.answer)+SUM(answer2.answer))*100/(SUM(answer3.answer)+SUM(answer4.answer)),2),0.00) AS zxgnzllCity + IFNULL(round((SUM(answer1.answer)+SUM(answer2.answer))*100/(SUM(answer3.answer)+SUM(answer4.answer)),1),0.0) AS zxgnzllCity FROM t_qcp_questionnaire_record AS answer1 LEFT JOIN t_qcp_questionnaire_detail AS qd ON answer1.questionnaire_detail_id = qd.id @@ -1420,7 +1438,7 @@ WHERE answer1.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1448,7 +1466,7 @@ hospital.answer AS `name`, answer1.answer AS qjxgnzlzs, answer2.answer AS fqjxgnzlzs, - IFNULL(round((answer1.answer+answer2.answer)*100/(answer3.answer+answer4.answer),2),0.00) AS zxgnzll + IFNULL(round((answer1.answer+answer2.answer)*100/(answer3.answer+answer4.answer),1),0.0) AS zxgnzll FROM t_qcp_questionnaire_record AS answer1 LEFT JOIN t_qcp_questionnaire_detail AS qd ON answer1.questionnaire_detail_id = qd.id @@ -1464,7 +1482,7 @@ WHERE answer1.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1500,7 +1518,7 @@ a.area_name AS `cityName`, LEFT(level.answer,1) AS level, - round((SUM(answer1.answer)+SUM(answer2.answer))*100/(SUM(answer3.answer)+SUM(answer4.answer)),2) AS zxgnzll + round((SUM(answer1.answer)+SUM(answer2.answer))*100/(SUM(answer3.answer)+SUM(answer4.answer)),1) AS zxgnzll FROM t_qcp_questionnaire_record AS answer1 LEFT JOIN t_qcp_questionnaire_detail AS qd ON answer1.questionnaire_detail_id = qd.id @@ -1517,7 +1535,7 @@ WHERE answer1.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND qd.rec_status = 0 AND qd.submit_status = 1 @@ -1550,8 +1568,8 @@ SELECT SUM(dpt59.answer)+SUM(dpt89.answer) AS dpt89, SUM(dpt59.answer) AS dpt59, - round((SUM(dpt59.answer)+SUM(dpt89.answer))*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),2) AS dpt89Ratio, - round(SUM(dpt59.answer)*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),2) AS dpt59Ratio + round((SUM(dpt59.answer)+SUM(dpt89.answer))*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),1) AS dpt89Ratio, + round(SUM(dpt59.answer)*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),1) AS dpt59Ratio FROM t_qcp_questionnaire_record AS dpt59 LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id @@ -1580,8 +1598,8 @@ a.area_name AS cityName, LEFT(level.answer,1) AS level, - round((SUM(dpt59.answer)+SUM(dpt89.answer))*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),2) AS dpt89Ratio, - round(SUM(dpt59.answer)*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),2) AS dpt59Ratio + round((SUM(dpt59.answer)+SUM(dpt89.answer))*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),1) AS dpt89Ratio, + round(SUM(dpt59.answer)*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),1) AS dpt59Ratio FROM t_qcp_questionnaire_record AS dpt59 LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id @@ -1594,7 +1612,7 @@ LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1) WHERE dpt59.rec_status = 0 AND dpt59.question_code = 'XGZL-DPT-60' - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND d.rec_status = 0 AND d.submit_status = 1 AND dpt89.rec_status = 0 @@ -1620,14 +1638,14 @@ a1.area_name AS `name`, a1.dpt59RatioCity, a1.dpt89RatioCity, - IFNULL(a2.dpt89Ratio,0.00) AS dpt89Ratio, - IFNULL(a2.dpt59Ratio,0.00) AS dpt59Ratio + IFNULL(a2.dpt89Ratio,0.0) AS dpt89Ratio, + IFNULL(a2.dpt59Ratio,0.0) AS dpt59Ratio FROM (SELECT a.id, a.area_name, - IFNULL(round((SUM(dpt59.answer)+SUM(dpt89.answer))*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),2),0.00) AS dpt89RatioCity, - IFNULL(round(SUM(dpt59.answer)*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),2),0.00) AS dpt59RatioCity + IFNULL(round((SUM(dpt59.answer)+SUM(dpt89.answer))*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),1),0.0) AS dpt89RatioCity, + IFNULL(round(SUM(dpt59.answer)*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),1),0.0) AS dpt59RatioCity FROM t_qcp_questionnaire_record AS dpt59 LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id @@ -1640,7 +1658,7 @@ WHERE dpt59.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND dpt59.question_code = 'XGZL-DPT-60' AND d.rec_status = 0 @@ -1661,8 +1679,8 @@ a.id, a.area_name, LEFT(level.answer,1) AS level, - IFNULL(round((SUM(dpt59.answer)+SUM(dpt89.answer))*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),2),0.00) AS dpt89Ratio, - IFNULL(round(SUM(dpt59.answer)*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),2),0.00) AS dpt59Ratio + IFNULL(round((SUM(dpt59.answer)+SUM(dpt89.answer))*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),1),0.0) AS dpt89Ratio, + IFNULL(round(SUM(dpt59.answer)*100/(SUM(dpt59.answer)+SUM(dpt89.answer)+SUM(dpt91.answer)),1),0.0) AS dpt59Ratio FROM t_qcp_questionnaire_record AS dpt59 LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id @@ -1676,7 +1694,7 @@ WHERE dpt59.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND dpt59.question_code = 'XGZL-DPT-60' AND d.rec_status = 0 @@ -1705,8 +1723,8 @@ SELECT hospital.answer AS `name`, LEFT(level.answer,1) AS level, - IFNULL(round((dpt59.answer+dpt89.answer)*100/(dpt59.answer+dpt89.answer+dpt91.answer),2),0.00) AS dpt89Ratio, - IFNULL(round(dpt59.answer*100/(dpt59.answer+dpt89.answer+dpt91.answer),2),0.00) AS dpt59Ratio, + IFNULL(round((dpt59.answer+dpt89.answer)*100/(dpt59.answer+dpt89.answer+dpt91.answer)+0.001,1),0.0) AS dpt89Ratio, + IFNULL(round(dpt59.answer*100/(dpt59.answer+dpt89.answer+dpt91.answer),1)+0.001,0.0) AS dpt59Ratio, dpt59.answer AS dpt59Number, dpt89.answer AS dpt89Number, dpt91.answer AS dpt91Number @@ -1724,7 +1742,7 @@ WHERE dpt59.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND dpt59.question_code = 'XGZL-DPT-60' AND d.rec_status = 0 @@ -1754,8 +1772,8 @@ SELECT SUM(prt29.answer)+SUM(prt59.answer) AS prt59, SUM(prt29.answer) AS prt29, - CONVERT((SUM(prt29.answer)+SUM(prt59.answer))*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),DECIMAL(15,2)) AS prt59Ratio, - CONVERT(SUM(prt29.answer)*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),DECIMAL(15,2)) AS prt29Ratio + CONVERT((SUM(prt29.answer)+SUM(prt59.answer))*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),DECIMAL(15,1)) AS prt59Ratio, + CONVERT(SUM(prt29.answer)*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),DECIMAL(15,1)) AS prt29Ratio FROM t_qcp_questionnaire_record AS prt29 LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id @@ -1784,8 +1802,8 @@ a.area_name AS cityName, LEFT(level.answer,1) AS level, - IFNULL(TRUNCATE((SUM(prt29.answer)+SUM(prt59.answer))*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),2),0.00) AS prt59Ratio, - IFNULL(TRUNCATE(SUM(prt29.answer)*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),2),0.00) AS prt29Ratio + IFNULL(ROUND((SUM(prt29.answer)+SUM(prt59.answer))*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),1),0.0) AS prt59Ratio, + IFNULL(ROUND(SUM(prt29.answer)*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),1),0.0) AS prt29Ratio FROM t_qcp_questionnaire_record AS prt29 LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id @@ -1798,7 +1816,7 @@ LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1) WHERE prt29.rec_status = 0 AND prt29.question_code = 'XGZL-PRT-29' - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND d.rec_status = 0 AND d.submit_status = 1 AND prt59.rec_status = 0 @@ -1825,14 +1843,14 @@ a1.area_name AS `name`, a1.prt29RatioCity, a1.prt59RatioCity, - IFNULL(a2.prt59Ratio,0.00) AS prt59Ratio, - IFNULL(a2.prt29Ratio,0.00) AS prt29Ratio + IFNULL(a2.prt59Ratio,0.0) AS prt59Ratio, + IFNULL(a2.prt29Ratio,0.0) AS prt29Ratio FROM (SELECT a.id, a.area_name, - IFNULL(round((SUM(prt29.answer)+SUM(prt59.answer))*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),2),0.00) AS prt59RatioCity, - IFNULL(round(SUM(prt29.answer)*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),2),0.00) AS prt29RatioCity + IFNULL(round((SUM(prt29.answer)+SUM(prt59.answer))*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),1),0.0) AS prt59RatioCity, + IFNULL(round(SUM(prt29.answer)*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),1),0.0) AS prt29RatioCity FROM t_qcp_questionnaire_record AS prt29 LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id @@ -1845,7 +1863,7 @@ WHERE prt29.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND prt29.question_code = 'XGZL-PRT-29' AND d.rec_status = 0 @@ -1866,8 +1884,8 @@ a.id, a.area_name, LEFT(level.answer,1) AS level, - IFNULL(round((SUM(prt29.answer)+SUM(prt59.answer))*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),2),0.00) AS prt59Ratio, - IFNULL(round(SUM(prt29.answer)*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),2),0.00) AS prt29Ratio + IFNULL(round((SUM(prt29.answer)+SUM(prt59.answer))*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),1),0.0) AS prt59Ratio, + IFNULL(round(SUM(prt29.answer)*100/(SUM(prt29.answer)+SUM(prt59.answer)+SUM(prt61.answer)),1),0.0) AS prt29Ratio FROM t_qcp_questionnaire_record AS prt29 LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id @@ -1881,7 +1899,7 @@ WHERE prt29.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND prt29.question_code = 'XGZL-PRT-29' AND d.rec_status = 0 @@ -1910,8 +1928,8 @@ SELECT hospital.answer AS `name`, LEFT(level.answer,1) AS level, - IFNULL(round((prt29.answer+prt59.answer)*100/(prt29.answer+prt59.answer+prt61.answer),2),0.00) AS prt59Ratio, - IFNULL(round(prt29.answer*100/(prt29.answer+prt59.answer+prt61.answer),2),0.00) AS prt29Ratio, + IFNULL(round((prt29.answer+prt59.answer)*100/(prt29.answer+prt59.answer+prt61.answer),1),0.0) AS prt59Ratio, + IFNULL(round(prt29.answer*100/(prt29.answer+prt59.answer+prt61.answer),1),0.0) AS prt29Ratio, prt29.answer AS prt29Number, prt59.answer AS prt59Number, prt61.answer AS prt61Number @@ -1929,7 +1947,7 @@ WHERE prt29.rec_status = 0 - AND q.id = #{qid} AND q.rec_status = 0 + AND q.id = #{param.qid} AND q.rec_status = 0 AND prt29.question_code = 'XGZL-PRT-29' AND d.rec_status = 0 diff --git a/src/main/resources/mapper_dao/FirstAidDao.xml b/src/main/resources/mapper_dao/FirstAidDao.xml index 6be5467..0a19e82 100644 --- a/src/main/resources/mapper_dao/FirstAidDao.xml +++ b/src/main/resources/mapper_dao/FirstAidDao.xml @@ -7,8 +7,10 @@ @@ -276,7 +285,8 @@ t.project_id, t.updated_at, t1.answer AS hospitalNumber, - t2.answer AS arriveHospitalTime + t2.answer AS arriveHospitalTime, + t3.answer AS leaveHospitalTime FROM t_qcp_first_aid AS t LEFT JOIN t_qcp_first_aid_record t1 ON t.id = t1.first_aid_id @@ -285,6 +295,9 @@ LEFT JOIN t_qcp_first_aid_record t2 ON t.id = t2.first_aid_id AND t2.question_code = 'JBXX-DYSJ' AND t2.rec_status = 0 + LEFT JOIN t_qcp_first_aid_record t3 ON t.id = t3.first_aid_id + AND t3.question_code = 'CYQK-CYSJ' + AND t3.rec_status = 0 WHERE t.rec_status = 0 and data_status = #{param.dataStatus} @@ -318,6 +331,7 @@ t_organization_member WHERE rec_status = 0 + AND hospital_id = #{hid} AND id IN ( SELECT member_id @@ -363,5 +377,6 @@ ) ) ) + ORDER BY leaveHospitalTime DESC diff --git a/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml b/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml index c071d17..2a01d3a 100644 --- a/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml +++ b/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml @@ -17,6 +17,6 @@ WHERE rec_status = 0 AND organization_id = #{organizationId} - AND `code` = #{code} + AND `name` = #{name} \ No newline at end of file diff --git a/src/main/resources/mapper_dao/QuestionnaireDao.xml b/src/main/resources/mapper_dao/QuestionnaireDao.xml index 50b4a55..f151c47 100644 --- a/src/main/resources/mapper_dao/QuestionnaireDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireDao.xml @@ -160,6 +160,7 @@ WHERE rec_status = 0 AND type = 0 + ORDER BY end_time diff --git a/src/main/resources/mapper_dao/QuestionnaireDetailDao.xml b/src/main/resources/mapper_dao/QuestionnaireDetailDao.xml index a7336ca..3f83fa7 100644 --- a/src/main/resources/mapper_dao/QuestionnaireDetailDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireDetailDao.xml @@ -27,6 +27,7 @@ q.write_start_time < #{time} AND q.write_end_time > #{time} AND q.type = #{type} + AND q.rec_status = 0 + + diff --git a/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml b/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml index 8214f2e..be91950 100644 --- a/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireRecordDao.xml @@ -46,7 +46,8 @@ (select t2.identifier from (select d.id, a.identifier from t_qcp_questionnaire_detail d, tall3.t_sys_auth a where d.user_id = a.user_id and a.identify_type = 1 and d.rec_status = 0 and a.rec_status = 0 group by d.id) t2 where t1.id = t2.id) as 'HOS-TEL' from - (select d.id, d.submit_status, d.updated_at from t_qcp_questionnaire_detail d, t_qcp_questionnaire_record r where d.id = r.questionnaire_detail_id and d.rec_status = 0 and r.rec_status = 0 ) t1 + (select d.id, d.submit_status, d.updated_at from t_qcp_questionnaire_detail d, t_qcp_questionnaire_record r,t_qcp_questionnaire AS q where d.id = r.questionnaire_detail_id and d.rec_status = 0 and r.rec_status = 0 AND q.rec_status = 0 + AND d.questionnaire_id = #{qid} ) t1 group by t1.id diff --git a/src/main/resources/mapper_raw/CodeNameMapper.xml b/src/main/resources/mapper_raw/CodeNameMapper.xml new file mode 100644 index 0000000..eb70f2c --- /dev/null +++ b/src/main/resources/mapper_raw/CodeNameMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, department_code, position_code, value, created_at, updated_at, rec_status + + + + + delete from t_qcp_code_name + where id = #{id,jdbcType=BIGINT} + + + delete from t_qcp_code_name + + + + + + insert into t_qcp_code_name (id, department_code, position_code, + value, created_at, updated_at, + rec_status) + values (#{id,jdbcType=BIGINT}, #{departmentCode,jdbcType=VARCHAR}, #{positionCode,jdbcType=VARCHAR}, + #{value,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) + + + insert into t_qcp_code_name + + + id, + + + department_code, + + + position_code, + + + value, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{departmentCode,jdbcType=VARCHAR}, + + + #{positionCode,jdbcType=VARCHAR}, + + + #{value,jdbcType=VARCHAR}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_qcp_code_name + + + id = #{record.id,jdbcType=BIGINT}, + + + department_code = #{record.departmentCode,jdbcType=VARCHAR}, + + + position_code = #{record.positionCode,jdbcType=VARCHAR}, + + + value = #{record.value,jdbcType=VARCHAR}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_qcp_code_name + set id = #{record.id,jdbcType=BIGINT}, + department_code = #{record.departmentCode,jdbcType=VARCHAR}, + position_code = #{record.positionCode,jdbcType=VARCHAR}, + value = #{record.value,jdbcType=VARCHAR}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_qcp_code_name + + + department_code = #{departmentCode,jdbcType=VARCHAR}, + + + position_code = #{positionCode,jdbcType=VARCHAR}, + + + value = #{value,jdbcType=VARCHAR}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_qcp_code_name + set department_code = #{departmentCode,jdbcType=VARCHAR}, + position_code = #{positionCode,jdbcType=VARCHAR}, + value = #{value,jdbcType=VARCHAR}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/src/main/resources/mbg.xml b/src/main/resources/mbg.xml index 935ffc8..c015f52 100644 --- a/src/main/resources/mbg.xml +++ b/src/main/resources/mbg.xml @@ -83,6 +83,7 @@ +