瀏覽代碼

流程附件待提交状态下不显示申请人和申请日期

陈长荣 3 月之前
父節點
當前提交
bdc8f847cb

+ 17 - 10
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/flow/service/impl/FlowInfoServiceImpl.java

@@ -60,6 +60,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
@@ -178,6 +179,7 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
         FlowInfo flowInfo = getById(id);
         Assert.notNull(flowInfo, "基因定制流程不存在");
         BeanUtil.copyProperties(vo, flowInfo);
+        flowInfo.updateById();
 
         if (vo.getTarget().contains(GeneTargetEnum.CUSTOM.getCode())) {
             vo.getCustom().setFlowId(id);
@@ -193,8 +195,6 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
             purificationInfoService.remove(new LambdaQueryWrapper<>(StrainPurificationInfo.class).eq(StrainPurificationInfo::getFlowId, id));
         }
 
-        flowInfo.updateById();
-
         geneWord(flowInfo.getId());
     }
 
@@ -204,10 +204,13 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
         Assert.notNull(flowInfo, "基因定制流程不存在");
         Assert.isTrue(GeneStatusEnum.SUBMIT_STATUS.contains(flowInfo.getStatus()), "流程状态错误");
 
-        new FlowInfo()
-                .setId(id)
-                .setStatus(GeneStatusEnum.GENE_EDITING.getStatus())
-                .updateById();
+        FlowInfo updateInfo = new FlowInfo().setId(id).setStatus(GeneStatusEnum.GENE_EDITING.getStatus());
+        //如果是驳回重新提交,修改申请日期和申请人
+        if (GeneStatusEnum.REJECTED.getStatus().equals(flowInfo.getStatus())) {
+            log.info("流程 id={} 驳回后重新提交,更新申请日期和申请人", flowInfo.getId());
+            updateInfo.setCreateBy(UserUtil.getUserId().toString()).setCreateTime(new Date());
+        }
+        updateInfo.updateById();
 
         notifyService.notify(id);
     }
@@ -332,10 +335,14 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
 
         JSONObject dataMap = JSON.parseObject(JSON.toJSONString(detail));
         wordDataService.fillDocCreator(dataMap);
-        dataMap.put("createDateStr", createDate);
-        String sign = userIdNameCache.getSignBase64(Long.valueOf(flowInfo.getCreateBy()));
-        if (StrUtil.isNotBlank(sign)) {
-            dataMap.put("createBySign", sign);
+
+        //待提交状态下不显示申请人和申请日期
+        if (!GeneStatusEnum.SUBMIT_STATUS.contains(flowInfo.getStatus())) {
+            dataMap.put("createDateStr", createDate);
+            String sign = userIdNameCache.getSignBase64(Long.valueOf(flowInfo.getCreateBy()));
+            if (StrUtil.isNotBlank(sign)) {
+                dataMap.put("createBySign", sign);
+            }
         }
 
         dataMap.put("approvalNo", WordUtil.padString(flowInfo.getApprovalNo(), 14));

+ 2 - 1
jfcloud-gene-common/src/main/java/com/github/jfcloud/gene/common/entity/BaseEntity.java

@@ -10,11 +10,12 @@ import com.github.jfcloud.gene.common.interceptor.anno.AutoStuff;
 import com.github.jfcloud.gene.common.interceptor.enums.AnnoEnum;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.util.Date;
 
-
+@Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 @Data
 public abstract class BaseEntity extends Model implements Serializable {