|
@@ -0,0 +1,80 @@
|
|
|
+package com.diagbot.facade;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.diagbot.entity.DisScale;
|
|
|
+import com.diagbot.entity.QuestionInfo;
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.exception.CommonErrorCode;
|
|
|
+import com.diagbot.exception.CommonException;
|
|
|
+import com.diagbot.service.DisScaleService;
|
|
|
+import com.diagbot.service.impl.DisScaleServiceImpl;
|
|
|
+import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.UserUtils;
|
|
|
+import com.diagbot.vo.AddDisScaleInfoVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description:
|
|
|
+ * @author: wangyu
|
|
|
+ * @time: 2019/4/1 13:29
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class DisScaleFacade extends DisScaleServiceImpl{
|
|
|
+ @Autowired
|
|
|
+ private QuestionFacade questionFacade;
|
|
|
+ @Autowired
|
|
|
+ @Qualifier("disScaleServiceImpl")
|
|
|
+ private DisScaleService disScaleService;
|
|
|
+ /**
|
|
|
+ * 添加诊断量表关联信息
|
|
|
+ *
|
|
|
+ * @param addDisScaleInfoVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Boolean addDisScaleInfo(AddDisScaleInfoVO addDisScaleInfoVO) {
|
|
|
+ String userId = UserUtils.getCurrentPrincipleID();
|
|
|
+ //判断诊断是否已被删除
|
|
|
+ QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+ questionInfoQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
|
|
|
+ .eq("id",addDisScaleInfoVO.getDisId());
|
|
|
+ if(questionFacade.count(questionInfoQueryWrapper) == 0){
|
|
|
+ throw new CommonException(CommonErrorCode.NOT_EXISTS,
|
|
|
+ "关联诊断标签已删除");
|
|
|
+ }
|
|
|
+ //判断该诊断是否关联过量表
|
|
|
+ QueryWrapper<DisScale> disScaleQueryWrapper = new QueryWrapper<>();
|
|
|
+ disScaleQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
|
|
|
+ .eq("dis_id",addDisScaleInfoVO.getDisId());
|
|
|
+ //如果添加过将原来的标签删除
|
|
|
+ if (this.count(disScaleQueryWrapper) != 0) {
|
|
|
+ UpdateWrapper<DisScale> updateWrapper = new UpdateWrapper();
|
|
|
+ updateWrapper.eq("dis_id", addDisScaleInfoVO.getDisId())
|
|
|
+ .set("is_deleted", IsDeleteEnum.Y.getKey())
|
|
|
+ .set("modifier", userId)
|
|
|
+ .set("gmt_modified", DateUtil.now());
|
|
|
+ this.update(new DisScale(), updateWrapper);
|
|
|
+ }
|
|
|
+ //重新添加标签
|
|
|
+ DisScale disScale = new DisScale();
|
|
|
+ List<DisScale> addList = new ArrayList<>();
|
|
|
+ for (int i = 0; i < addDisScaleInfoVO.getScaleId().size(); i++) {
|
|
|
+ disScale = new DisScale();
|
|
|
+ disScale.setCreator(userId);
|
|
|
+ disScale.setModifier(userId);
|
|
|
+ disScale.setGmtCreate(DateUtil.now());
|
|
|
+ disScale.setGmtModified(DateUtil.now());
|
|
|
+ disScale.setScaleId(addDisScaleInfoVO.getScaleId().get(i));
|
|
|
+ disScale.setDisId(addDisScaleInfoVO.getDisId());
|
|
|
+ disScale.setOrderNo(i + 1);
|
|
|
+ addList.add(disScale);
|
|
|
+ }
|
|
|
+ disScaleService.saveBatch(addList);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+}
|