From 8f33b4cd90d9bff72c99ed04a9a4f25f770f7dac Mon Sep 17 00:00:00 2001 From: Harry Yang Date: Fri, 23 Dec 2022 17:56:48 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=AE=A1=E6=89=B9=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProcessController.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) 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 48f2cb9..0bb12c1 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java @@ -2,6 +2,7 @@ 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; @@ -26,10 +27,12 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; 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; import java.util.List; import java.util.Map; @@ -45,10 +48,12 @@ import cn.palmte.work.model.DeptRepository; import cn.palmte.work.model.Project; import cn.palmte.work.model.ProjectBudgetIncomeDetail; import cn.palmte.work.model.ProjectRepository; +import cn.palmte.work.model.ProjectTaskRecord; import cn.palmte.work.model.enums.CooperationType; import cn.palmte.work.model.enums.Enumerable; import cn.palmte.work.model.enums.ProcessStatus; import cn.palmte.work.model.enums.ProcessType; +import cn.palmte.work.model.enums.ProcurementMode; import cn.palmte.work.model.enums.ProjectType; import cn.palmte.work.model.enums.SealType; import cn.palmte.work.model.process.ProcessAttachment; @@ -63,10 +68,12 @@ import cn.palmte.work.model.process.form.SaleContractProcessForm; import cn.palmte.work.service.ProjectBudgetService; import cn.palmte.work.service.ProjectInstanceService; import cn.palmte.work.service.ProjectProcessService; +import cn.palmte.work.service.ProjectTaskRecordService; import cn.palmte.work.utils.InterfaceUtil; import lombok.Builder; import lombok.Data; import lombok.RequiredArgsConstructor; +import sun.java2d.pipe.SpanShapeRenderer; /** * @author Harry Yang @@ -88,6 +95,7 @@ public class ProcessController { private final ProjectProcessRepository repository; private final ProjectInstanceService projectInstanceService; private final ProjectProcessService processService; + private final ProjectTaskRecordService projectTaskRecordService; static class FormMetadata { // 部门 @@ -125,6 +133,7 @@ public class ProcessController { @GetMapping("/edit/{id}") public String editProcess(Model model, @PathVariable int id) { model.addAttribute("sealTypes", SealType.values()); + model.addAttribute("procurementMode", ProcurementMode.values()); model.addAttribute("taxRate", Arrays.asList(0, 1, 3, 4, 5, 6, 9, 10, 13)); model.addAttribute("processId", id); return "/admin/business/process-edit"; @@ -449,7 +458,7 @@ public class ProcessController { public void audit(@RequestBody @Valid AuditForm form) { ProjectProcess process = repository.findOne(form.processId); ActApproveTypeEnum approveType = form.processStatus == ProcessStatus.audit_passed ? ActApproveTypeEnum.APPROVAL_PASSED : - ActApproveTypeEnum.APPROVAL_UN_PASS; + ActApproveTypeEnum.APPROVAL_UN_PASS; switch (process.getProcessType()) { case business_procurement: projectInstanceService.completeTaskByProjectId(process.getId(), ActProjectTypeEnum.BUSINESS_PURCHASE, approveType, form.auditOpinion); @@ -484,14 +493,22 @@ public class ProcessController { @ResponseBody @GetMapping("/audits/{id}") public List> showAudits(@PathVariable("id") int id) { - ArrayList> ret = new ArrayList<>(); +// ArrayList> ret = new ArrayList<>(); +// ret.add(create("2021-01-03 12:07:45", "提交审核")); +// ret.add(create("2021-01-28 12:15:05", "工程运维管理部孙果审核已通过")); +// ret.add(create("2021-02-03 22:01:12", "系统产品集成部尹浩审核已通过")); +// ret.add(create("2021-03-03 22:05:12", "财务部主管何丹审核已通过")); - ret.add(create("2021-01-03 12:07:45", "提交审核")); - ret.add(create("2021-01-28 12:15:05", "工程运维管理部孙果审核已通过")); - ret.add(create("2021-02-03 22:01:12", "系统产品集成部尹浩审核已通过")); - ret.add(create("2021-03-03 22:05:12", "财务部主管何丹审核已通过")); - - return ret; + ProjectProcess process = processService.getById(id); + ProcessType processType = process.getProcessType(); + List projectTaskRecords = projectTaskRecordService.listV2(id, + processType == ProcessType.sale_contract ? ActProjectTypeEnum.SALE_CONTRACT : ActProjectTypeEnum.BUSINESS_PURCHASE); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return projectTaskRecords.stream() + .map(item -> { + Date createTime = item.getCreateTime(); + return create(format.format(createTime), item.getTaskName() + item.getTaskComment()); + }).collect(Collectors.toList()); } private Map create(String timestamp, String content) { From 5bc68456384775cbb44a5702793efdb2d2c1fb0c Mon Sep 17 00:00:00 2001 From: Harry Yang Date: Fri, 23 Dec 2022 17:57:53 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=B7=AE=E5=BC=82=E5=8C=96=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/admin/business/process-edit.ftl | 120 +++++++----------- 1 file changed, 44 insertions(+), 76 deletions(-) diff --git a/src/main/resources/templates/admin/business/process-edit.ftl b/src/main/resources/templates/admin/business/process-edit.ftl index 38f340a..17171dc 100644 --- a/src/main/resources/templates/admin/business/process-edit.ftl +++ b/src/main/resources/templates/admin/business/process-edit.ftl @@ -52,7 +52,7 @@
<#-- 新增销售合同流程 --> -
+
@@ -70,7 +70,15 @@ {{processForm.applyDate}} - + + + <#list procurementMode as item> + + + + + + {{processForm.projectType}} @@ -106,10 +114,16 @@ - + + + + + {{processForm.contractAmount}}元 @@ -117,12 +131,15 @@
- + + + + + - <#--TODO 最终用户名称--> {{processForm.terminalCustomer}}
@@ -162,10 +179,17 @@
- + + + + +
@@ -197,9 +221,16 @@
+ +
+ 供应商比选材料 + +
+ - <#-- --> + + 返回上一级 保存草稿 @@ -240,77 +271,11 @@ 保存并返回上一级 -
- - <#-- 新增业务采购合同流程 --> - -
-
-
- -
- - - - -
- -
- - -
-
- - -
-
- - -
-
- - -
- -
- -
- -
- - - - -
- -
- - -
- -
- - -
- -
- -
- -
- -
- -
- -
-
<#-- 选择 业务采购清单明细 --> -
+
@@ -380,6 +345,7 @@ processForm: { sealTypes: [], }, + processType: '', projectSelected: false, applySectorOptions: [ { @@ -668,6 +634,7 @@ const applyDept = process.applyDept.split(',') this.initForm({ ...form, ...process, ...contract, applyDept }) this.projectSelected = true + this.processType = process.processType this.incomeDetails = incomeDetails.map(detail => ({ ...detail, type: computeType(detail.type) })) @@ -675,6 +642,7 @@ name: item.name, url: item.uri })) + if (process.processType === 'sale_contract') { this.changeMode(saleContractProcess) } @@ -810,10 +778,10 @@ isButtonMode() { return this.mode === BUTTON }, - isBusinessProcurementContractProcessMode() { + isProcurementContractMode() { return this.mode === newBusinessProcurementContractProcess }, - isSalesContractProcessMode() { + isSalesContractMode() { return this.mode === saleContractProcess }, isSaleContractDetailMode() {