diff --git a/src/com/engine/recruit/enums/RecruitStatusEnum.java b/src/com/engine/recruit/enums/RecruitStatusEnum.java
new file mode 100644
index 0000000..3e79319
--- /dev/null
+++ b/src/com/engine/recruit/enums/RecruitStatusEnum.java
@@ -0,0 +1,54 @@
+package com.engine.recruit.enums;
+
+/**
+ * 需求状态枚举类
+ *
+ * @author:dxfeng
+ * @createTime: 2023/09/13
+ * @version: 1.0
+ */
+public enum RecruitStatusEnum {
+ /**
+ * 进行中(0)
+ */
+ RECRUITMENT_PROGRESS(0, "进行中"),
+ /**
+ * 招聘完成(1)
+ */
+ RECRUITMENT_COMPLETED(1, "招聘完成"),
+ /**
+ * 招聘停止(2)
+ */
+ RECRUITMENT_STOPS(2, "招聘停止");
+
+ RecruitStatusEnum(Integer value, String desc) {
+ this.value = value;
+ this.desc = desc;
+ }
+
+ /**
+ * 选择框对应ID
+ */
+ private Integer value;
+
+ /**
+ * 选择框对应描述
+ */
+ private String desc;
+
+ public Integer getValue() {
+ return value;
+ }
+
+ public void setValue(Integer value) {
+ this.value = value;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+
+ public void setDesc(String desc) {
+ this.desc = desc;
+ }
+}
diff --git a/src/weaver/formmode/recruit/demandmanage/RecruitFinishModeExpand.java b/src/weaver/formmode/recruit/demandmanage/RecruitFinishModeExpand.java
new file mode 100644
index 0000000..f4f7474
--- /dev/null
+++ b/src/weaver/formmode/recruit/demandmanage/RecruitFinishModeExpand.java
@@ -0,0 +1,51 @@
+package weaver.formmode.recruit.demandmanage;
+
+import com.engine.recruit.enums.RecruitStatusEnum;
+import weaver.common.DateUtil;
+import weaver.conn.RecordSet;
+import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
+import weaver.general.BaseBean;
+import weaver.general.Util;
+import weaver.soa.workflow.request.RequestInfo;
+import weaver.workflow.workflow.WorkflowBillComInfo;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 完成需求
+ *
完成需求——更新状态为招聘完成,置空结束日期,完成日期取当前日期
+ *
+ * @author:dxfeng
+ * @createTime: 2023/09/13
+ * @version: 1.0
+ */
+public class RecruitFinishModeExpand extends AbstractModeExpandJavaCodeNew {
+ @Override
+ public Map doModeExpand(Map param) {
+ Map result = new HashMap<>();
+ try {
+ int billId;
+ int modeId;
+ RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo");
+ if (requestInfo != null) {
+ billId = Util.getIntValue(requestInfo.getRequestid());
+ modeId = Util.getIntValue(requestInfo.getWorkflowid());
+ if (billId > 0 && modeId > 0) {
+ // 获取表单名称
+ String formId = Util.null2String(param.get("formid"));
+ String tableName = new WorkflowBillComInfo().getTablename(formId);
+ String sql = "update " + tableName + " set xqzt = ? ,jssj = ?,wcsj = ? where id = ?";
+ RecordSet rs = new RecordSet();
+ // 更新状态为招聘完成,置空结束日期,完成日期取当前日期
+ rs.executeUpdate(sql, RecruitStatusEnum.RECRUITMENT_COMPLETED.getValue(), null, DateUtil.getCurrentDate(), billId);
+ new BaseBean().writeLog("完成需求操作:billId=[" + billId + "]操作完成");
+ }
+ }
+ } catch (Exception e) {
+ result.put("errmsg", "完成需求操作失败");
+ result.put("flag", "false");
+ }
+ return result;
+ }
+}
diff --git a/src/weaver/formmode/recruit/demandmanage/RecruitStartModeExpand.java b/src/weaver/formmode/recruit/demandmanage/RecruitStartModeExpand.java
new file mode 100644
index 0000000..b0caceb
--- /dev/null
+++ b/src/weaver/formmode/recruit/demandmanage/RecruitStartModeExpand.java
@@ -0,0 +1,50 @@
+package weaver.formmode.recruit.demandmanage;
+
+import com.engine.recruit.enums.RecruitStatusEnum;
+import weaver.conn.RecordSet;
+import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
+import weaver.general.BaseBean;
+import weaver.general.Util;
+import weaver.soa.workflow.request.RequestInfo;
+import weaver.workflow.workflow.WorkflowBillComInfo;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 开启需求
+ * 开启需求——状态为进行中,置空完成日期和结束日期
+ *
+ * @author:dxfeng
+ * @createTime: 2023/09/13
+ * @version: 1.0
+ */
+public class RecruitStartModeExpand extends AbstractModeExpandJavaCodeNew {
+ @Override
+ public Map doModeExpand(Map param) {
+ Map result = new HashMap<>();
+ try {
+ int billId;
+ int modeId;
+ RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo");
+ if (requestInfo != null) {
+ billId = Util.getIntValue(requestInfo.getRequestid());
+ modeId = Util.getIntValue(requestInfo.getWorkflowid());
+ if (billId > 0 && modeId > 0) {
+ // 获取表单名称
+ String formId = Util.null2String(param.get("formid"));
+ String tableName = new WorkflowBillComInfo().getTablename(formId);
+ String sql = "update " + tableName + " set xqzt = ? ,jssj = ?,wcsj = ? where id = ?";
+ RecordSet rs = new RecordSet();
+ // 状态为进行中,置空完成日期和结束日期
+ rs.executeUpdate(sql, RecruitStatusEnum.RECRUITMENT_PROGRESS.getValue(), null, null, billId);
+ new BaseBean().writeLog("开启需求操作:billId=[" + billId + "]操作完成");
+ }
+ }
+ } catch (Exception e) {
+ result.put("errmsg", "开启需求操作失败");
+ result.put("flag", "false");
+ }
+ return result;
+ }
+}
diff --git a/src/weaver/formmode/recruit/demandmanage/RecruitStopModeExpand.java b/src/weaver/formmode/recruit/demandmanage/RecruitStopModeExpand.java
new file mode 100644
index 0000000..eb9fa4c
--- /dev/null
+++ b/src/weaver/formmode/recruit/demandmanage/RecruitStopModeExpand.java
@@ -0,0 +1,51 @@
+package weaver.formmode.recruit.demandmanage;
+
+import com.engine.recruit.enums.RecruitStatusEnum;
+import weaver.common.DateUtil;
+import weaver.conn.RecordSet;
+import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
+import weaver.general.BaseBean;
+import weaver.general.Util;
+import weaver.soa.workflow.request.RequestInfo;
+import weaver.workflow.workflow.WorkflowBillComInfo;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 关闭需求
+ * 关闭需求——状态为招聘停止,置空完成日期结束日期取当前日期
+ *
+ * @author:dxfeng
+ * @createTime: 2023/09/13
+ * @version: 1.0
+ */
+public class RecruitStopModeExpand extends AbstractModeExpandJavaCodeNew {
+ @Override
+ public Map doModeExpand(Map param) {
+ Map result = new HashMap<>();
+ try {
+ int billId;
+ int modeId;
+ RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo");
+ if (requestInfo != null) {
+ billId = Util.getIntValue(requestInfo.getRequestid());
+ modeId = Util.getIntValue(requestInfo.getWorkflowid());
+ if (billId > 0 && modeId > 0) {
+ // 获取表单名称
+ String formId = Util.null2String(param.get("formid"));
+ String tableName = new WorkflowBillComInfo().getTablename(formId);
+ String sql = "update " + tableName + " set xqzt = ? ,jssj = ?,wcsj = ? where id = ?";
+ RecordSet rs = new RecordSet();
+ // 状态为招聘停止,置空完成日期,结束日期取当前日期
+ rs.executeUpdate(sql, RecruitStatusEnum.RECRUITMENT_STOPS.getValue(), DateUtil.getCurrentDate(), null, billId);
+ new BaseBean().writeLog("关闭需求操作:billId=[" + billId + "]操作完成");
+ }
+ }
+ } catch (Exception e) {
+ result.put("errmsg", "关闭需求操作失败");
+ result.put("flag", "false");
+ }
+ return result;
+ }
+}