| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- package restcontroller.webmanage.sale.contracttask;
- import beans.datacontrllog.DataContrlLog;
- import com.alibaba.fastjson2.JSONObject;
- import com.tencentcloudapi.essbasic.v20210526.models.ChannelCancelFlowResponse;
- import common.Controller;
- import common.YosException;
- import common.annotation.API;
- import common.data.*;
- import lombok.experimental.Delegate;
- import restcontroller.R;
- import java.math.BigDecimal;
- /**
- * 电子签合同任务
- */
- public class EsignContractTask extends Controller {
- public EsignContractTask(JSONObject content) throws YosException {
- super(content);
- }
- @API(title = "电子签合同任务-新增或编辑", apiversion = R.ID2026041309401702.v1.class)
- public String insertOrUpdate() throws YosException {
- Long sa_esign_contract_taskid = content.getLongValue("sa_esign_contract_taskid");
- if (sa_esign_contract_taskid <= 0) {
- sa_esign_contract_taskid = createTableID("sa_esign_contract_task");
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_esign_contract_task");
- insertSQL.setSiteid(siteid);
- insertSQL.setUniqueid(sa_esign_contract_taskid);
- insertSQL.setValue("year", content.getStringValue("year"));
- insertSQL.setValue("taskname", content.getStringValue("taskname"));
- insertSQL.setValue("remarks", content.getStringValue("remarks"));
- insertSQL.setValue("status", "新建");
- insertSQL.setValue("sa_esign_contract_templateid", content.getLongValue("sa_esign_contract_templateid"));
- insertSQL.insert();
- DataContrlLog.createLog(this, "sa_esign_contract_task", sa_esign_contract_taskid, "新增", "新增合同任务成功").insert();
- } else {
- Rows rows = dbConnect.runSqlQuery("select 1 from sa_esign_contract_task where sa_esign_contract_taskid=" + sa_esign_contract_taskid);
- if (rows.isNotEmpty() && rows.get(0).getString("status").equals("发布")) {
- return getErrReturnObject().setErrMsg("当前状态无法编辑").toString();
- }
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_esign_contract_task");
- updateSQL.setSiteid(siteid);
- updateSQL.setUniqueid(sa_esign_contract_taskid);
- updateSQL.setValue("year", content.getStringValue("year"));
- updateSQL.setValue("taskname", content.getStringValue("taskname"));
- updateSQL.setValue("remarks", content.getStringValue("remarks"));
- updateSQL.setValue("sa_esign_contract_templateid", content.getLongValue("sa_esign_contract_templateid"));
- updateSQL.update();
- DataContrlLog.createLog(this, "sa_esign_contract_task", sa_esign_contract_taskid, "编辑", "编辑合同任务成功").insert();
- }
- content.put("sa_esign_contract_taskid", sa_esign_contract_taskid);
- return detail();
- }
- @API(title = "电子签合同任务-删除", apiversion = R.ID2026041309414502.v1.class)
- public String delete() throws YosException {
- Long sa_esign_contract_taskid = content.getLongValue("sa_esign_contract_taskid");
- Rows rows = dbConnect.runSqlQuery("select * from sa_esign_contract_task where sa_esign_contract_taskid=" + sa_esign_contract_taskid);
- if (rows.isNotEmpty() && !rows.get(0).getString("status").equals("新建")) {
- return getErrReturnObject().setErrMsg("非新建状态无法删除").toString();
- }
- DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sa_esign_contract_task");
- deleteSQL.setSiteid(siteid);
- deleteSQL.setUniqueid(sa_esign_contract_taskid);
- deleteSQL.setWhere("status", "新建");
- deleteSQL.delete();
- DataContrlLog.createLog(this, "sa_esign_contract_task", sa_esign_contract_taskid, "删除", "删除合同任务成功").insert();
- return detail();
- }
- @API(title = "电子签合同任务-详情", apiversion = R.ID2026041309443002.v1.class)
- public String detail() throws YosException {
- Long sa_esign_contract_taskid = content.getLongValue("sa_esign_contract_taskid");
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_esign_contract_task", "*").setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "sa_esign_contract_template", "t2", "t1.sa_esign_contract_templateid=t2.sa_esign_contract_templateid",
- "type", "templateid", "name");
- querySQL.setSiteid(siteid);
- querySQL.setWhere("t1.sa_esign_contract_taskid", sa_esign_contract_taskid);
- Rows rows = querySQL.query();
- Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
- return getSucReturnObject().setData(row).toString();
- }
- @API(title = "电子签合同任务-列表", apiversion = R.ID2026041309474202.v1.class)
- public String list() throws YosException {
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_esign_contract_task", "*").setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "sa_esign_contract_template", "t2", "t1.sa_esign_contract_templateid=t2.sa_esign_contract_templateid",
- "type", "templateid", "name");
- querySQL.setSiteid(siteid);
- if (usertype==2) {
- querySQL.setWhere("t1.createuserid", userid);
- }
- querySQL.setOrderBy("t1.createdate desc");
- querySQL.setCondition("t1.taskname","t1.remarks","t2.name");
- querySQL.setPage(pageSize, pageNumber);
- Rows rows = querySQL.query();
- return getSucReturnObject().setData(rows).toString();
- }
- @API(title = "电子签合同任务-发布", apiversion = R.ID2026041309482202.v1.class)
- public String send() throws YosException {
- Long sa_esign_contract_taskid = content.getLongValue("sa_esign_contract_taskid");
- Rows rows = dbConnect.runSqlQuery("select * from sa_esign_contract_task where sa_esign_contract_taskid=" + sa_esign_contract_taskid);
- if (rows.isNotEmpty() && rows.get(0).getString("status").equals("发布")) {
- return getErrReturnObject().setErrMsg("当前任务已发布,无需重新发布").toString();
- }
- Rows rows1 = dbConnect.runSqlQuery("SELECT * from sa_esign_contract_taskmx WHERE sa_esign_contract_taskid=" + sa_esign_contract_taskid + " and (begindate is null or enddate is null)");
- if (rows1.isNotEmpty()) {
- return getErrReturnObject().setErrMsg("请完善合同期限").toString();
- }
- Rows rows2 = dbConnect.runSqlQuery("SELECT * from sa_esign_contract_taskmx WHERE sa_esign_contract_taskid=" + sa_esign_contract_taskid + " and y1=0");
- if (rows2.isNotEmpty()) {
- return getErrReturnObject().setErrMsg("请完善经销商季度任务金额").toString();
- }
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_esign_contract_task");
- updateSQL.setSiteid(siteid);
- updateSQL.setUniqueid(sa_esign_contract_taskid);
- updateSQL.setValue("status", "发布");
- updateSQL.setValue("sendby", username);
- updateSQL.setValue("senddate", getDateTime_Str());
- updateSQL.update();
- DataContrlLog.createLog(this, "sa_esign_contract_task", sa_esign_contract_taskid, "发布", "发布合同任务成功").insert();
- return detail();
- }
- @API(title = "电子签合同任务-撤回", apiversion = R.ID2026041309485902.v1.class)
- public String unsend() throws YosException {
- Long sa_esign_contract_taskid = content.getLongValue("sa_esign_contract_taskid");
- Rows rows = dbConnect.runSqlQuery("select * from sa_esign_contract_task where sa_esign_contract_taskid=" + sa_esign_contract_taskid);
- if (rows.isNotEmpty() && !rows.get(0).getString("status").equals("发布")) {
- return getErrReturnObject().setErrMsg("非发布状态无法删除").toString();
- }
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_esign_contract_task");
- updateSQL.setSiteid(siteid);
- updateSQL.setUniqueid(sa_esign_contract_taskid);
- updateSQL.setValue("status", "撤回");
- updateSQL.setValue("sendby", "null");
- updateSQL.setValue("senddate", "null");
- updateSQL.setWhere("status", "发布");
- updateSQL.update();
- DataContrlLog.createLog(this, "sa_esign_contract_task", sa_esign_contract_taskid, "撤回", "撤回合同任务成功").insert();
- Rows taskmxRows = dbConnect.runSqlQuery("select * from sa_esign_contract_taskmx where sa_esign_contract_taskid=" + sa_esign_contract_taskid + " and approvestatus='待签署'");
- for (Row taskmxRow : taskmxRows) {
- String flowid = taskmxRow.getString("flowid");
- WeChatContractUtil.channelCancelFlow(WeChatContractUtil.setAgent(WeChatConfig.SuperProxyOperatorOpenId), flowid, "合同任务已撤回", 1L);
- // UpdateSQL updateSQL1 = SQLFactory.createUpdateSQL(this, "sa_esign_contract_taskmx");
- // updateSQL1.setSiteid(siteid);
- // updateSQL1.setUniqueid(taskmxRow.getLong("sa_esign_contract_taskmxid"));
- // updateSQL1.setValue("status", "合同撤回");
- // updateSQL1.setValue("approvestatus", "流程已终止");
- // updateSQL1.update();
- }
- return detail();
- }
- }
|