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 4f1a911..4fa18fb 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java @@ -63,7 +63,7 @@ import cn.palmte.work.model.process.SaleContract; import cn.palmte.work.model.process.SealTypeArray; import cn.palmte.work.model.process.form.ProcessQueryForm; import cn.palmte.work.model.process.form.ProcessUpdateForm; -import cn.palmte.work.model.process.form.SaleContractProcessForm; +import cn.palmte.work.model.process.form.ProcessCreationForm; import cn.palmte.work.service.ProjectBudgetService; import cn.palmte.work.service.ProjectInstanceService; import cn.palmte.work.service.ProjectProcessService; @@ -182,7 +182,7 @@ public class ProcessController { model.addAttribute("contract", contract); break; } - case business_procurement: { + case procurement_contract: { TypedQuery query = entityManager.createQuery( "from ProcurementContract where processId=:processId", ProcurementContract.class); query.setParameter("processId", process.getId()); @@ -296,7 +296,7 @@ public class ProcessController { contract = processService.findSaleContract(process.getId()); break; } - case business_procurement: { + case procurement_contract: { contract = processService.findProcurementContract(process.getId()); break; } @@ -329,7 +329,7 @@ public class ProcessController { @ResponseBody @PostMapping @Transactional(rollbackFor = Exception.class) - public void post(@RequestBody @Valid SaleContractProcessForm form) throws Exception { + public void post(@RequestBody @Valid ProcessCreationForm form) throws Exception { ProjectProcess entity = new ProjectProcess(); BeanUtils.copyProperties(form, entity, "sealTypes", "applyDate", "applyDept", "attachments"); entity.setApplyDate(LocalDate.parse(form.getApplyDate(), formatter)); @@ -348,7 +348,7 @@ public class ProcessController { saleContract.setProcessId(entity.getId()); entityManager.persist(saleContract); break; - case business_procurement: + case procurement_contract: ProcurementContract procurementContract = ProcurementContract.from(form); procurementContract.setProcessId(entity.getId()); entityManager.persist(procurementContract); @@ -391,7 +391,7 @@ public class ProcessController { entityManager.merge(contract); break; } - case business_procurement: { + case procurement_contract: { ProcurementContract contract = processService.findProcurementContract(form.getId()); contract.setMode(form.getProcurementMode()); contract.setPaymentTerms(form.getPaymentTerms()); @@ -456,7 +456,7 @@ public class ProcessController { ActApproveTypeEnum approveType = form.processStatus == ProcessStatus.audit_passed ? ActApproveTypeEnum.APPROVAL_PASSED : ActApproveTypeEnum.APPROVAL_UN_PASS; switch (process.getProcessType()) { - case business_procurement: + case procurement_contract: projectInstanceService.completeTaskByProjectId(process.getId(), ActProjectTypeEnum.BUSINESS_PURCHASE, approveType, form.auditOpinion); break; case sale_contract: diff --git a/src/main/java/cn/palmte/work/model/enums/ProcessType.java b/src/main/java/cn/palmte/work/model/enums/ProcessType.java index 9f5f740..a5a5131 100644 --- a/src/main/java/cn/palmte/work/model/enums/ProcessType.java +++ b/src/main/java/cn/palmte/work/model/enums/ProcessType.java @@ -6,7 +6,7 @@ package cn.palmte.work.model.enums; */ public enum ProcessType implements Enumerable { sale_contract("销售合同流程"), - business_procurement("业务采购流程"); + procurement_contract("业务采购流程"); private final String description; diff --git a/src/main/java/cn/palmte/work/model/process/ProcurementContract.java b/src/main/java/cn/palmte/work/model/process/ProcurementContract.java index 0e3fe4d..92b7763 100644 --- a/src/main/java/cn/palmte/work/model/process/ProcurementContract.java +++ b/src/main/java/cn/palmte/work/model/process/ProcurementContract.java @@ -11,7 +11,7 @@ import javax.persistence.Id; import javax.persistence.Table; import cn.palmte.work.model.enums.ProcurementMode; -import cn.palmte.work.model.process.form.SaleContractProcessForm; +import cn.palmte.work.model.process.form.ProcessCreationForm; import lombok.Data; /** @@ -39,7 +39,7 @@ public class ProcurementContract implements Serializable { private Integer processId; - public static ProcurementContract from(SaleContractProcessForm form) { + public static ProcurementContract from(ProcessCreationForm form) { ProcurementContract contract = new ProcurementContract(); contract.setMode(form.getProcurementMode()); contract.setPaymentTerms(form.getPaymentTerms()); diff --git a/src/main/java/cn/palmte/work/model/process/SaleContract.java b/src/main/java/cn/palmte/work/model/process/SaleContract.java index 0d5dd7e..1919fd8 100644 --- a/src/main/java/cn/palmte/work/model/process/SaleContract.java +++ b/src/main/java/cn/palmte/work/model/process/SaleContract.java @@ -10,7 +10,7 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; -import cn.palmte.work.model.process.form.SaleContractProcessForm; +import cn.palmte.work.model.process.form.ProcessCreationForm; import lombok.Data; /** @@ -40,7 +40,7 @@ public class SaleContract implements Serializable { private Integer processId; - public static SaleContract from(SaleContractProcessForm form) { + public static SaleContract from(ProcessCreationForm form) { SaleContract contract = new SaleContract(); contract.setClientName(form.getClientName()); contract.setPaymentTerms(form.getPaymentTerms()); diff --git a/src/main/java/cn/palmte/work/model/process/SupplierMaterial.java b/src/main/java/cn/palmte/work/model/process/SupplierMaterial.java new file mode 100644 index 0000000..6d809de --- /dev/null +++ b/src/main/java/cn/palmte/work/model/process/SupplierMaterial.java @@ -0,0 +1,26 @@ +package cn.palmte.work.model.process; + +import javax.persistence.Entity; +import javax.persistence.Table; + +import lombok.Data; + +/** + * @author Harry Yang + * @since 2.0 2022/12/26 17:34 + */ +@Data +@Entity +@Table(name = "project_process_supplier_material") +public class SupplierMaterial { + + private String companyName; + private String totalAmount; + private String serviceTerms; + private String paymentTerms; + private String taxRate; + private String remark; + + private ProcessAttachment attachment; + +} diff --git a/src/main/java/cn/palmte/work/model/process/form/SaleContractProcessForm.java b/src/main/java/cn/palmte/work/model/process/form/ProcessCreationForm.java similarity index 87% rename from src/main/java/cn/palmte/work/model/process/form/SaleContractProcessForm.java rename to src/main/java/cn/palmte/work/model/process/form/ProcessCreationForm.java index e44814e..9c371b3 100644 --- a/src/main/java/cn/palmte/work/model/process/form/SaleContractProcessForm.java +++ b/src/main/java/cn/palmte/work/model/process/form/ProcessCreationForm.java @@ -8,16 +8,17 @@ 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.process.ProcessAttachment; +import cn.palmte.work.model.process.SupplierMaterial; import lombok.Data; /** - * 销售合同流程 + * 合同流程新建表单 * * @author Harry Yang * @since 2.0 2022/12/14 17:05 */ @Data -public class SaleContractProcessForm { +public class ProcessCreationForm { @NotNull private Integer projectId; @@ -71,6 +72,7 @@ public class SaleContractProcessForm { private ProcessStatus status; + @NotNull(message = "流程类型不能为空") private ProcessType processType; private List incomeDetails; @@ -80,4 +82,7 @@ public class SaleContractProcessForm { private String supplierName; private List attachments; + + private List supplierMaterials; + } diff --git a/src/main/java/cn/palmte/work/service/ProjectProcessService.java b/src/main/java/cn/palmte/work/service/ProjectProcessService.java index b9c9dc0..5faf804 100644 --- a/src/main/java/cn/palmte/work/service/ProjectProcessService.java +++ b/src/main/java/cn/palmte/work/service/ProjectProcessService.java @@ -177,7 +177,7 @@ public class ProjectProcessService { case sale_contract: projectInstanceService.startProcessByProjectId(entity.getId(), ActProjectTypeEnum.SALE_CONTRACT, variables); break; - case business_procurement: + case procurement_contract: projectInstanceService.startProcessByProjectId(entity.getId(), ActProjectTypeEnum.BUSINESS_PURCHASE, variables); break; default: diff --git a/src/main/resources/sql/2.0.sql b/src/main/resources/sql/2.0.sql index d4f36b9..d549963 100644 --- a/src/main/resources/sql/2.0.sql +++ b/src/main/resources/sql/2.0.sql @@ -51,5 +51,15 @@ create table sale_contract payment_terms text null comment '收款条件', process_id int null comment '流程ID' ); +create table procurement_contract_supplier_material +( + id int auto_increment primary key comment 'ID', + company_name varchar(255) null comment '公司名称', + total_amount varchar(255) null comment '合计金额', + service_terms varchar(255) null comment '服务条款', + payment_terms varchar(255) null comment '付款条件', + taxRate varchar(255) null comment '税率', + remark varchar(255) null comment '备注', + attachment varchar(1000) null comment '附件' - +); \ No newline at end of file diff --git a/src/main/resources/templates/admin/business/process-completed.ftl b/src/main/resources/templates/admin/business/process-completed.ftl index 0af7207..33439c7 100644 --- a/src/main/resources/templates/admin/business/process-completed.ftl +++ b/src/main/resources/templates/admin/business/process-completed.ftl @@ -388,7 +388,7 @@ return this.mode === BUTTON }, isBusinessProcurementContractProcessMode() { - return this.mode === newBusinessProcurementContractProcess + return this.mode === procurementContractProcess }, isSalesContractProcessMode() { return this.mode === saleContractProcess @@ -404,7 +404,7 @@ return "新增销售合同流程" case saleContractDetail: return "销售合同清单明细" - case newBusinessProcurementContractProcess: + case procurementContractProcess: return "新增业务采购合同流程" } } diff --git a/src/main/resources/templates/admin/business/process-edit.ftl b/src/main/resources/templates/admin/business/process-edit.ftl index 7fa8c6d..eef0adc 100644 --- a/src/main/resources/templates/admin/business/process-edit.ftl +++ b/src/main/resources/templates/admin/business/process-edit.ftl @@ -73,7 +73,7 @@ <#list procurementMode as item> - + @@ -221,7 +221,6 @@ -
供应商比选材料
@@ -331,6 +330,7 @@