Browse Source

修改问卷逻辑

master
ma 4 years ago
parent
commit
65ed3a8587
  1. 2
      src/main/java/com/ccsens/carbasics/api/EquipmentController.java
  2. 7
      src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java
  3. 38
      src/main/java/com/ccsens/carbasics/service/AccountManageService.java
  4. 15
      src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java
  5. 2
      src/main/java/com/ccsens/carbasics/util/Constant.java
  6. 4
      src/main/resources/application.yml
  7. 4
      src/main/resources/mapper_dao/DataStatisticsDao.xml
  8. 10
      src/main/resources/mapper_dao/QuestionnaireDetailDao.xml

2
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<EquipmentDto.Start> params) throws Exception{
log.info("一键启动请求:{},{}", params.getParam(), params.getUserId());

7
src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java

@ -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);
}

38
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,8 @@ public class AccountManageService implements IAccountManageService {
@Resource
private OrganizationDao organizationDao;
@Resource
private QuestionnaireDetailDao questionnaireDetailDao;
@Resource
private Snowflake snowflake;
@Override
public void submitAccount(AccountDto.SubmitAccount param, Long userId) {
@ -77,9 +78,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(userId);
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());
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(),"",

15
src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java

@ -191,19 +191,24 @@ 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);
if (ObjectUtil.isNotNull(submitId)) {
return new QuestionnaireVo.SubmitInfo();
}
//查询用户是否此医院此角色此部门
Integer isExist = organizationDao.queryUserIsExist(param.getDepartmentName(),param.getPositionName(),param.getName(),userId);
if (0 < isExist) {
//如果已是医院当前职位当前部门则直接修改为提交
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());

2
src/main/java/com/ccsens/carbasics/util/Constant.java

@ -382,7 +382,7 @@ public class Constant {
public enum PositionIdAndRole {
/**神内医生*/
HuSHi("HuShi","分诊护士"),
YiSheng("YiSheng","神内医生"),
YiSheng("YiSheng","医生"),
ZhiKong("ZhiKong","质控医生"),
MiShu("MiShu","秘书"),
KeZhuRen("KeZhuRen","科主任"),

4
src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: prod
include: common, util-prod
active: test
include: common, util-test

4
src/main/resources/mapper_dao/DataStatisticsDao.xml

@ -925,7 +925,7 @@
(SELECT
a.id AS areaId,
a.area_name,
round(answer1.sich*100/answer2.actual,1) AS lncx
round(answer1.sich*100/answer2.actual+0.001,1) AS lncx
FROM
(
SELECT
@ -1005,7 +1005,7 @@
(SELECT
a.area_name,
round(answer3.sich*100/answer4.actual,2) AS lncxAll
round(answer3.sich*100/answer4.actual,1) AS lncxAll
FROM
(
SELECT

10
src/main/resources/mapper_dao/QuestionnaireDetailDao.xml

@ -129,4 +129,14 @@
user_id = #{userId}
</select>
<select id="queryByUserId" resultType="java.lang.Long">
SELECT
id
FROM
t_qcp_questionnaire_detail
WHERE
rec_status = 0
AND user_id = #{userId}
</select>
</mapper>

Loading…
Cancel
Save