diff --git a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java
index 0bb12c1..28ddef7 100644
--- a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java
+++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java
@@ -1,8 +1,5 @@
package cn.palmte.work.controller.backend;
-import cn.palmte.work.config.activiti.ActApproveTypeEnum;
-import cn.palmte.work.config.activiti.ActProjectTypeEnum;
-
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -12,6 +9,7 @@ import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
@@ -30,7 +28,6 @@ import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
@@ -43,6 +40,8 @@ import javax.persistence.TypedQuery;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
+import cn.palmte.work.config.activiti.ActApproveTypeEnum;
+import cn.palmte.work.config.activiti.ActProjectTypeEnum;
import cn.palmte.work.model.Admin;
import cn.palmte.work.model.DeptRepository;
import cn.palmte.work.model.Project;
@@ -73,7 +72,6 @@ import cn.palmte.work.utils.InterfaceUtil;
import lombok.Builder;
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import sun.java2d.pipe.SpanShapeRenderer;
/**
* @author Harry Yang
@@ -331,7 +329,7 @@ public class ProcessController {
@ResponseBody
@PostMapping
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public void post(@RequestBody @Valid SaleContractProcessForm form) throws Exception {
ProjectProcess entity = new ProjectProcess();
BeanUtils.copyProperties(form, entity, "sealTypes", "applyDate", "applyDept", "attachments");
@@ -365,13 +363,15 @@ public class ProcessController {
}
processService.updateIncomeDetails(form.getIncomeDetails());
- processService.startAuditProgress(entity, variables);
+ if (form.getStatus() == ProcessStatus.to_be_audit) {
+ processService.startAuditProgress(entity, variables);
+ }
}
@ResponseBody
@PutMapping
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public void update(@RequestBody @Valid ProcessUpdateForm form) throws Exception {
ProjectProcess entity = processService.getById(form.getId());
@@ -411,15 +411,19 @@ public class ProcessController {
throw new UnsupportedOperationException("还不支持");
}
- processService.startAuditProgress(entity, variables);
processService.updateIncomeDetails(form.getIncomeDetails());
+
+ if (form.getStatus() == ProcessStatus.to_be_audit) {
+ processService.startAuditProgress(entity, variables);
+ }
}
@ResponseBody
@PostMapping("/query")
public Page list(@RequestBody ProcessQueryForm form, Pageable pageable) {
// 从 0 开始
- PageRequest pageRequest = new PageRequest(pageable.getPageNumber() - 1, pageable.getPageSize());
+ PageRequest pageRequest = new PageRequest(pageable.getPageNumber() - 1, pageable.getPageSize(),
+ new Sort(Sort.Direction.DESC, "createAt"));
ProjectProcess projectProcess = new ProjectProcess();
BeanUtils.copyProperties(form, projectProcess);
@@ -507,7 +511,7 @@ public class ProcessController {
return projectTaskRecords.stream()
.map(item -> {
Date createTime = item.getCreateTime();
- return create(format.format(createTime), item.getTaskName() + item.getTaskComment());
+ return create(format.format(createTime), item.getTaskName() + ": " + item.getTaskComment());
}).collect(Collectors.toList());
}
diff --git a/src/main/java/cn/palmte/work/model/process/ProjectProcess.java b/src/main/java/cn/palmte/work/model/process/ProjectProcess.java
index dbbe245..0b07e1f 100644
--- a/src/main/java/cn/palmte/work/model/process/ProjectProcess.java
+++ b/src/main/java/cn/palmte/work/model/process/ProjectProcess.java
@@ -20,6 +20,7 @@ import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.PrePersist;
import javax.persistence.Table;
import cn.palmte.work.model.enums.ProcessStatus;
@@ -113,6 +114,11 @@ public class ProjectProcess implements Serializable {
// @Enumerated(EnumType.STRING)
// private CooperationType cooperationType;
+ @PrePersist
+ void prePersist() {
+ this.createAt = LocalDateTime.now();
+ }
+
static class SealTypeArraySerializer extends JsonSerializer {
@Override
diff --git a/src/main/java/cn/palmte/work/model/process/SealTypeArray.java b/src/main/java/cn/palmte/work/model/process/SealTypeArray.java
index d61be6f..8ebdf82 100644
--- a/src/main/java/cn/palmte/work/model/process/SealTypeArray.java
+++ b/src/main/java/cn/palmte/work/model/process/SealTypeArray.java
@@ -1,5 +1,6 @@
package cn.palmte.work.model.process;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -17,7 +18,7 @@ import cn.palmte.work.model.enums.SealType;
* @since 2.0 2022/12/14 16:35
*/
@Convert(converter = SealTypeArrayConverter.class)
-public class SealTypeArray {
+public class SealTypeArray implements Serializable {
public static final SealTypeArray EMPTY = new SealTypeArray();
private final List list = new ArrayList<>();
diff --git a/src/main/java/cn/palmte/work/model/process/form/ProcessUpdateForm.java b/src/main/java/cn/palmte/work/model/process/form/ProcessUpdateForm.java
index 151c3b5..250397a 100644
--- a/src/main/java/cn/palmte/work/model/process/form/ProcessUpdateForm.java
+++ b/src/main/java/cn/palmte/work/model/process/form/ProcessUpdateForm.java
@@ -4,7 +4,7 @@ import java.util.List;
import javax.validation.constraints.NotNull;
-import cn.palmte.work.model.enums.ProcessType;
+import cn.palmte.work.model.enums.ProcessStatus;
import cn.palmte.work.model.enums.ProcurementMode;
import cn.palmte.work.model.process.ProcessAttachment;
import lombok.Data;
@@ -43,6 +43,8 @@ public class ProcessUpdateForm {
// 客户名称
private String clientName;
+ private ProcessStatus status;
+
// 申请人电话
private String applyPersonPhone;
diff --git a/src/main/resources/templates/admin/business/process-completed.ftl b/src/main/resources/templates/admin/business/process-completed.ftl
index 058f36e..0af7207 100644
--- a/src/main/resources/templates/admin/business/process-completed.ftl
+++ b/src/main/resources/templates/admin/business/process-completed.ftl
@@ -105,7 +105,7 @@
v-if="scope.row.status==='audit_passed' || scope.row.status==='audit_not_passed' || scope.row.status==='to_be_audit'"
type="text" @click="showDetail(scope.row, scope)">查看详情
- 查看审核流程
供应商比选材料
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- 返回上一级
+ 返回上一级
保存草稿
提交
@@ -561,8 +573,8 @@
const that = this
},
- goToHome() {
- this.changeMode(BUTTON)
+ backLastPage() {
+ window.history.back();
},
goToSaleContractProcess() {
@@ -587,27 +599,7 @@
console.log(form)
},
- queryProject(q, callback) {
- if (isBlank(q)) {
- return
- }
- fetch("${base}/process/projects?q=" + q)
- .then(res => res.json())
- .then(data => {
- if (data.length === 0) {
- callback([{
- name: '未搜索到结果'
- }])
- }
- else {
- callback(data)
- }
- })
- .catch(err => {
- this.$message.error('项目搜索失败');
- })
- },
- handleSelectProject(id) {
+ loadProject(id) {
const loading = this.$loading({
lock: true,
text: '正在加载项目',
@@ -805,7 +797,7 @@
mounted() {
const processId = ${processId}
- this.handleSelectProject(processId)
+ this.loadProject(processId)
},
})