Bläddra i källkod

修改信息采集重置接口

cgp 1 vecka sedan
förälder
incheckning
427ceb8fd0

+ 9 - 3
fs-service/src/main/java/com/fs/hisStore/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -1284,16 +1284,22 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         FsUserInformationCollection fsUserInformationCollection = new FsUserInformationCollection();
 
         // 处理 answers 的 flag
+        int fillFlag=0;
         if (!CollectionUtils.isEmpty(param.getAnswers())) {
             param.getAnswers().forEach(answer -> {
                 if (answer.getFlag() == null) {
                     answer.setFlag(false);
                 }
             });
+            // 只要有一个 answer 的 value 有值,就设置为已填
+            boolean hasValue = param.getAnswers().stream()
+                    .anyMatch(answer -> !CollectionUtils.isEmpty(answer.getValue()));
+            if (hasValue) {
+                fillFlag = 1;
+            }
         }
 
         // 所有基础属性赋值
-        Integer fillFlag = param.getFillFlag() == null ? 1 : param.getFillFlag();
         fsUserInformationCollection.setFillFlag(fillFlag);
         fsUserInformationCollection.setJsonInfo(JSON.toJSONString(param.getAnswers()));
         fsUserInformationCollection.setUserId(param.getUserId());
@@ -1348,8 +1354,8 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         shedule.setCurrentStep(PrescriptionTaskStepEnum.WAITING_FIRST_CONFIRM.getCode());
         Date currentTime = DateUtils.getNowDate();
         shedule.setCreateTime(currentTime);
-        if (param.getFillFlag() == 1){
-            //如果填写了就记录填写时间
+        if (param.getFillFlag()!=null&& param.getFillFlag() == 1){
+            //如果采集信息填写标识为1,就记录一下填写时间
             shedule.setFillTime(currentTime);
         }
         Long packageId = param.getPackageId();