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 b01c936..ca35363 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java @@ -4,6 +4,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.data.domain.Example; 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.jdbc.core.BatchPreparedStatementSetter; import org.springframework.jdbc.core.JdbcTemplate; @@ -45,6 +46,7 @@ import cn.palmte.work.model.enums.ProcessStatus; import cn.palmte.work.model.enums.ProcessType; import cn.palmte.work.model.enums.ProjectType; import cn.palmte.work.model.enums.SealType; +import cn.palmte.work.model.process.ProcurementContract; import cn.palmte.work.model.process.ProjectProcess; import cn.palmte.work.model.process.ProjectProcessRepository; import cn.palmte.work.model.process.SaleContract; @@ -111,7 +113,9 @@ public class ProcessController { * 已办流程 */ @GetMapping("/completed") - public String completed() { + public String completed(Model model) { + model.addAttribute("processTypes", ProcessType.values()); + model.addAttribute("processStatus", ProcessStatus.values()); return "/admin/business/process-completed"; } @@ -201,6 +205,8 @@ public class ProcessController { entity.setApplyDate(LocalDate.parse(form.getApplyDate(), formatter)); entity.setSealTypes(SealTypeArray.of(form.getSealTypes())); entity.setApplyDept(String.join(",", form.getApplyDept())); + Admin admin = InterfaceUtil.getAdmin(); + entity.setApplyPersonId(admin.getId()); if (entity.getStatus() == null) { entity.setStatus(ProcessStatus.to_be_audit); @@ -208,11 +214,22 @@ public class ProcessController { entityManager.persist(entity); - SaleContract saleContract = new SaleContract(); - BeanUtils.copyProperties(form, saleContract); - - saleContract.setProcessId(entity.getId()); - entityManager.persist(saleContract); + if (entity.getProcessType() != null) { + switch (entity.getProcessType()) { + case sale_contract: + SaleContract saleContract = SaleContract.from(form); + saleContract.setProcessId(entity.getId()); + entityManager.persist(saleContract); + break; + case business_procurement: + ProcurementContract procurementContract = ProcurementContract.from(form); + procurementContract.setProcessId(entity.getId()); + entityManager.persist(procurementContract); + break; + default: + throw new UnsupportedOperationException("还不支持"); + } + } List incomeDetails = form.getIncomeDetails(); if (!CollectionUtils.isEmpty(incomeDetails)) { @@ -237,24 +254,19 @@ public class ProcessController { @ResponseBody @PostMapping("/query") public Page list(@RequestBody ProcessQueryForm form, Pageable pageable) { + // 从 0 开始 + PageRequest pageRequest = new PageRequest(pageable.getPageNumber() - 1, pageable.getPageSize()); -// QueryHelper h = new QueryHelper("select * ", "from project_process "); -// h.addCondition(form.projectNo != null, "project_no=?", form.projectNo); -// h.addCondition(form.projectTitle != null, "project_title like concat('%',?,'%')", form.projectTitle); -// h.addCondition(form.applyPersonName != null, "apply_person_name like concat('%',?,'%')", form.applyPersonName); -// h.addCondition(form.processType != null, "process_type = ?", () -> form.processType.getValue()); -// h.addCondition(form.processStatus != null, "status = ?", () -> form.processStatus.getValue()); - -// String sql = h.getSql(); ProjectProcess projectProcess = new ProjectProcess(); BeanUtils.copyProperties(form, projectProcess); projectProcess.setStatus(form.getProcessStatus()); ExampleMatcher exampleMatcher = ExampleMatcher.matching() + .withMatcher("contractNo", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("projectTitle", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("applyPersonName", ExampleMatcher.GenericPropertyMatcher::contains); - return repository.findAll(Example.of(projectProcess, exampleMatcher), pageable); + return repository.findAll(Example.of(projectProcess, exampleMatcher), pageRequest); } // 审核 diff --git a/src/main/resources/templates/admin/business/process-completed.ftl b/src/main/resources/templates/admin/business/process-completed.ftl index f82c5c9..31f5ebe 100644 --- a/src/main/resources/templates/admin/business/process-completed.ftl +++ b/src/main/resources/templates/admin/business/process-completed.ftl @@ -1,44 +1,351 @@ <#assign base=request.contextPath /> <#import "../../common/defaultLayout.ftl" as defaultLayout> <@defaultLayout.layout> + -
{{ message }}
+
+
+
+
业务应用 / + 待我审核
+
- +
+
+ + +
+ + + + + + + + + + + + + + + + <#list processTypes as processType> + + + + + + + + + + + + + + <#list processStatus as item> + + + + + + + 查询 +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + 审核通过 + 审核不通过 + + + + + + + + + + + + + +
+ +
+ + + - - - - - - - - - - - - - - - diff --git a/src/main/resources/templates/admin/business/process-review.ftl b/src/main/resources/templates/admin/business/process-review.ftl index 64423f3..72733b0 100644 --- a/src/main/resources/templates/admin/business/process-review.ftl +++ b/src/main/resources/templates/admin/business/process-review.ftl @@ -4,18 +4,6 @@