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) }, })