From cbb6a9dfc70b942ea8163685f247111dbd88380d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Tue, 22 Oct 2024 09:25:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[fix]=20=E5=9F=BA=E7=A1=80=E8=B5=84?= =?UTF-8?q?=E6=96=99=20=E5=87=BA=E5=B7=AE=E5=8D=95=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=87=BA=E5=B7=AE=E5=8D=95=E5=88=97=E8=A1=A8=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=EF=BC=8C=E6=90=9C=E7=B4=A2=E6=A0=8F=E5=BD=95=E5=85=A5=E4=BA=BA?= =?UTF-8?q?=E5=BD=95=E5=85=A5=E6=97=B6=E9=97=B4=E6=94=B9=E4=B8=BA=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E4=BA=BA=E3=80=81=E7=94=B3=E8=AF=B7=E6=97=B6=E9=97=B4?= =?UTF-8?q?=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E4=BA=BA=E4=BA=8B=E8=A1=8C?= =?UTF-8?q?=E6=94=BF=E5=87=BA=E8=A1=8C=E8=B4=B9=E7=94=A8=E3=80=81=E6=A0=B8?= =?UTF-8?q?=E5=87=86=E6=8C=89=E9=92=AE=E3=80=81=E6=96=B0=E5=A2=9E=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E5=92=8C=E6=81=A2=E5=A4=8D=E6=8C=89=E9=92=AE=E5=8F=8A?= =?UTF-8?q?=E5=85=B6=E7=BB=91=E5=AE=9A=E6=96=B9=E6=B3=95=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=BA=E5=B7=AE=E7=BB=8F=E7=90=86=E3=80=81?= =?UTF-8?q?=E4=B8=BB=E7=AE=A1=E3=80=81=E5=89=AF=E6=80=BB=E7=BB=8F=E7=90=86?= =?UTF-8?q?=E3=80=81=E7=A0=94=E5=8F=91=E6=80=BB=E7=9B=91=E3=80=81=E6=80=BB?= =?UTF-8?q?=E7=BB=8F=E7=90=86=E5=AE=A1=E6=89=B9=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BD=9C=E5=BA=9F=E7=90=86=E7=94=B1=E5=92=8C?= =?UTF-8?q?=E6=89=B9=E6=B3=A8=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E9=A1=B5=E9=9D=A2=E5=92=8C=E4=BA=BA=E4=BA=8B=E6=A0=B8?= =?UTF-8?q?=E5=87=86=E9=A1=B5=E9=9D=A2=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../baseEvectionForm/baseEvectionForm.html | 67 ++++++- .../system/baseEvectionForm/cancel.html | 32 ++++ .../system/baseEvectionForm/hrApprove.html | 181 ++++++++++++++++++ .../system/baseEvectionForm/hrRecord.html | 44 +---- .../baseEvectionForm/taskCcjlVerify.html | 18 ++ .../baseEvectionForm/taskCczgVerify.html | 40 ++-- .../baseEvectionForm/taskFzjlVerify.html | 40 ++-- .../baseEvectionForm/taskModifyApply.html | 24 ++- .../baseEvectionForm/taskYfzjVerify.html | 40 ++-- .../baseEvectionForm/taskZjlVerify.html | 40 ++-- 10 files changed, 428 insertions(+), 98 deletions(-) create mode 100644 ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/cancel.html create mode 100644 ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrApprove.html diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/baseEvectionForm.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/baseEvectionForm.html index b00bdbb3..672d69d1 100644 --- a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/baseEvectionForm.html +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/baseEvectionForm.html @@ -29,14 +29,14 @@
  • - - + +
  • - - + + - - +
  •  搜索 @@ -64,6 +64,8 @@ var removeFlag = [[${@permission.hasPermi('system:baseEvectionForm:remove')}]]; var cancelFlag = [[${@permission.hasPermi('system:baseEvectionForm:cancel')}]]; var restoreFlag = [[${@permission.hasPermi('system:baseEvectionForm:restore')}]]; + var hrRecordFlag = [[${@permission.hasPermi('system:baseEvectionForm:hrRecord')}]]; + var hrApproveFlag = [[${@permission.hasPermi('system:baseEvectionForm:hrApprove')}]]; var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; var useStatusDatas = [[${@dict.getType('useStatus')}]]; var administrationStatusDatas = [[${@dict.getType('administration_status')}]]; @@ -118,6 +120,9 @@ { title: '当前状态',field: 'taskStatus', align: 'center', formatter: function(value, row, index) { + if(value == "未启动" || value == "审核拒绝"){ + return '' + value + ''; + } return '' + value + ''; } }, @@ -138,7 +143,7 @@ } }, {title: '出差单编号',field: 'evectionCode',align: 'center',}, - {title: '出差人',field: 'evectionBy',align: 'center',}, + {title: '出差人',field: 'evectionBy',align: 'center',visible: false,}, {title: '同行人',field: 'partnerBy',align: 'center',}, {title: '出差地',field: 'evectionAddr',align: 'center',}, {title: '出差详细地址',field: 'evectionDetailAddr',align: 'center',}, @@ -161,10 +166,24 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - // 审核状态-审核通过 - if(row.auditStatus=="1"){ + // 审核状态-审核通过 使用状态是 + if(row.auditStatus=="1"&&row.useStatus == "1"&&row.personnelAdministration == "0"){ // 编辑 // actions.push(' 编辑 '); + actions.push(' 出行费用 '); + } + if(row.auditStatus=="1"&&row.useStatus == "1"&&row.personnelAdministration == "1"){ + // 核准 + actions.push(' 核准 '); + } + if(row.auditStatus == "1"&& row.useStatus == "1"){ + // 作废 + actions.push(' 作废'); + } + // 已作废 + if(row.useStatus=="2" && !row.restoreInstanceId){ + // 恢复 + actions.push(' 恢复 '); } // 有流程实例id if (row.instanceId) { @@ -197,7 +216,39 @@ } }; $.table.init(options); + selectUserAll(); }); + + function cancel(id) { + $.modal.confirm("确定作废该出差单信息吗?", function() { + var url = prefix + "/cancel/" + id; + $.modal.open("作废", url); + }) + } + function selectUserAll(){ + $.ajax({ + url: ctx +'system/baseExpense/getExpenseUser', + type: 'post', + async: false, + success: function (result) { + userList = result.data; + var selectUser = $("select[name='applyUser']"); + var selectHtml = ''; + userList.forEach(function (user) { + selectHtml += ''; + }); + selectUser.html(selectHtml); + } + }); + } + + function hrRecord(evectionId){ + $.modal.open("出行费用",prefix + "/hrRecord/" + evectionId); + } + + function hrApprove(evectionId){ + $.modal.open("核准",prefix + "/hrApprove/" + evectionId); + } \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/cancel.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/cancel.html new file mode 100644 index 00000000..c1aa9c85 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/cancel.html @@ -0,0 +1,32 @@ + + + + + + +
    +
    + +
    + +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrApprove.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrApprove.html new file mode 100644 index 00000000..a1d3034a --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrApprove.html @@ -0,0 +1,181 @@ + + + + + + + +
    +
    + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + + + - + + +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    +
    +

    人事行政

    +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + + + - + + +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrRecord.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrRecord.html index a80c7031..eebe3a26 100644 --- a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrRecord.html +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrRecord.html @@ -6,7 +6,7 @@
    -
    +
    -
    - -
    -
    - - - - - - -
    -
    -
    \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCcjlVerify.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCcjlVerify.html index c472d88f..94a63e3f 100644 --- a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCcjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCcjlVerify.html @@ -84,6 +84,12 @@ +
    @@ -94,6 +100,12 @@
    +
    + +
    + +
    +
    @@ -104,6 +116,12 @@ var prefix = ctx + "system/baseEvectionForm"; $("#form-baseEvectionForm-ccjl").validate({focusCleanup: true}); + $(function() { + var instanceType = [[${formData.instanceType}]]; + if(instanceType === "cancel"){ + $("#cancelRemark").show(); + } + }); function submitHandler() { if ($.validate.form()) { if ($('textarea[name="comment"]').val()) { diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCczgVerify.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCczgVerify.html index 9213ff59..d93c44ae 100644 --- a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCczgVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCczgVerify.html @@ -21,53 +21,53 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - + - - +
    @@ -75,13 +75,19 @@
    - +
    - + +
    +
    +
    @@ -94,6 +100,12 @@
    +
    + +
    + +
    +
    @@ -104,6 +116,12 @@ var prefix = ctx + "system/baseEvectionForm"; $("#form-baseEvectionForm-cczg").validate({focusCleanup: true}); + $(function() { + var instanceType = [[${formData.instanceType}]]; + if(instanceType === "cancel"){ + $("#cancelRemark").show(); + } + }); function submitHandler() { if ($.validate.form()) { if ($('textarea[name="comment"]').val()) { diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskFzjlVerify.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskFzjlVerify.html index abbe2d5a..780a6168 100644 --- a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskFzjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskFzjlVerify.html @@ -21,53 +21,53 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - + - - +
    @@ -75,13 +75,19 @@
    - +
    - + +
    +
    +
    @@ -94,6 +100,12 @@
    +
    + +
    + +
    +
    @@ -104,6 +116,12 @@ var prefix = ctx + "system/baseEvectionForm"; $("#form-baseEvectionForm-fzjl").validate({focusCleanup: true}); + $(function() { + var instanceType = [[${formData.instanceType}]]; + if(instanceType === "cancel"){ + $("#cancelRemark").show(); + } + }); function submitHandler() { if ($.validate.form()) { if ($('textarea[name="comment"]').val()) { diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskModifyApply.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskModifyApply.html index e8a88530..f45c48bf 100644 --- a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskModifyApply.html +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskModifyApply.html @@ -21,19 +21,19 @@
    - +
    - +
    - +
    @@ -64,10 +64,10 @@
    - + - - +
    @@ -84,6 +84,15 @@
    +
    + +
    + +
    +
    @@ -111,11 +120,6 @@ autoclose: true }); - $("input[name='realityeEvenctionTime']").datetimepicker({ - format: "yyyy-mm-dd", - minView: "month", - autoclose: true - }); \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskYfzjVerify.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskYfzjVerify.html index 0a4d4190..65736600 100644 --- a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskYfzjVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskYfzjVerify.html @@ -21,53 +21,53 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - + - - +
    @@ -75,13 +75,19 @@
    - +
    - + +
    +
    +
    @@ -94,6 +100,12 @@
    +
    + +
    + +
    +
    @@ -104,6 +116,12 @@ var prefix = ctx + "system/baseEvectionForm"; $("#form-baseEvectionForm-yfzj").validate({focusCleanup: true}); + $(function() { + var instanceType = [[${formData.instanceType}]]; + if(instanceType === "cancel"){ + $("#cancelRemark").show(); + } + }); function submitHandler() { if ($.validate.form()) { if ($('textarea[name="comment"]').val()) { diff --git a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskZjlVerify.html b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskZjlVerify.html index f6b86842..20d0d4fe 100644 --- a/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskZjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskZjlVerify.html @@ -21,53 +21,53 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - + - - +
    @@ -75,13 +75,19 @@
    - +
    - + +
    +
    +
    @@ -94,6 +100,12 @@
    +
    + +
    + +
    +
    @@ -104,6 +116,12 @@ var prefix = ctx + "system/baseEvectionForm"; $("#form-baseEvectionForm-zjl").validate({focusCleanup: true}); + $(function() { + var instanceType = [[${formData.instanceType}]]; + if(instanceType === "cancel"){ + $("#cancelRemark").show(); + } + }); function submitHandler() { if ($.validate.form()) { if ($('textarea[name="comment"]').val()) { From 4861591848e5db2811c7651564793a1483d88922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Tue, 22 Oct 2024 09:29:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[fix]=20=E5=9F=BA=E7=A1=80=E8=B5=84?= =?UTF-8?q?=E6=96=99=20=E5=87=BA=E5=B7=AE=E5=8D=95=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=87=BA=E5=B7=AE=E5=8D=95=E5=AE=9E=E4=BD=93=E7=B1=BB=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=84=E5=87=BA=E5=B7=AE=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E4=B8=BAString=E7=B1=BB=E5=9E=8B=EF=BC=9B=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=87=BA=E5=B7=AE=E5=8D=95=E4=BA=BA=E4=BA=8B=E5=BD=95=E5=85=A5?= =?UTF-8?q?=E5=87=BA=E8=A1=8C=E8=B4=B9=E7=94=A8=E3=80=81=E4=BA=BA=E4=BA=8B?= =?UTF-8?q?=E6=A0=B8=E5=87=86=E3=80=81=E4=BD=9C=E5=BA=9F=E5=92=8C=E6=81=A2?= =?UTF-8?q?=E5=A4=8Dcontroller=E6=8E=A5=E5=8F=A3=EF=BC=9B=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=87=BA=E5=B7=AE=E5=8D=95mapper=E4=BD=9C=E5=BA=9F?= =?UTF-8?q?=E7=90=86=E7=94=B1=E5=AD=97=E6=AE=B5=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=9B=B8=E5=BA=94=E6=96=B9=E6=B3=95=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseEvectionFormController.java | 74 +++++++++++++++++-- .../ruoyi/system/domain/BaseEvectionForm.java | 26 ++++--- .../service/IBaseEvectionFormService.java | 4 +- .../impl/BaseEvectionFormServiceImpl.java | 48 +++++++++++- .../mapper/system/BaseEvectionFormMapper.xml | 10 ++- 5 files changed, 136 insertions(+), 26 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseEvectionFormController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseEvectionFormController.java index 851249a7..08ec56c3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseEvectionFormController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseEvectionFormController.java @@ -3,9 +3,11 @@ package com.ruoyi.system.controller; import java.util.HashMap; import java.util.List; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.system.domain.Vo.BaseEvectionFormVo; import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo; +import com.ruoyi.system.domain.Vo.OutsourceOrderVO; import com.ruoyi.system.service.ISysUserService; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; @@ -148,9 +150,18 @@ public class BaseEvectionFormController extends BaseController String instanceId = baseEvectionFormVo.getInstanceId(); String instanceType = baseEvectionFormVo.getInstanceType(); + // 判断任务节点 + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1); boolean approvedFlag = processService.complete(taskId, instanceId, baseEvectionFormVo.getApplyTitle(), baseEvectionFormVo.getEvectionCode(), "evection", new HashMap(), request); + + if(verifyName.equals("ModifyApply")){ + //驳回调整,设置为待审核 + baseEvectionFormVo.setAuditStatus("0"); + baseEvectionFormVo.setApplyTime(DateUtils.getNowDate()); + } if(!approvedFlag){ // 审核状态-审核拒绝 baseEvectionFormVo.setAuditStatus("2"); @@ -195,6 +206,50 @@ public class BaseEvectionFormController extends BaseController mmap.put("baseEvectionForm", baseEvectionForm); return prefix + "/edit"; } + /** + * 人事录入出差单费用等 + */ + @GetMapping("/hrRecord/{evectionId}") + public String hrRecord(@PathVariable("evectionId") Long evectionId, ModelMap mmap) + { + BaseEvectionForm baseEvectionForm = baseEvectionFormService.selectBaseEvectionFormById(evectionId); + mmap.put("baseEvectionForm", baseEvectionForm); + return prefix + "/hrRecord"; + } + + //人事录入出行费用 + @RequiresPermissions("system:baseEvectionForm:hrRecord") + @PostMapping("/hrRecord") + @ResponseBody + public AjaxResult hrRecordSave(BaseEvectionForm baseEvectionForm) + { + baseEvectionForm.setPersonnelAdministration("1");//已录入 + baseEvectionFormService.updateBaseEvectionForm(baseEvectionForm); + return AjaxResult.success(); + } + + /** + * 人事核准 + */ + @GetMapping("/hrApprove/{evectionId}") + public String hrApprove(@PathVariable("evectionId") Long evectionId, ModelMap mmap) + { + BaseEvectionForm baseEvectionForm = baseEvectionFormService.selectBaseEvectionFormById(evectionId); + mmap.put("baseEvectionForm", baseEvectionForm); + return prefix + "/hrApprove"; + } + + //人事录入出行费用 + @RequiresPermissions("system:baseEvectionForm:hrApprove") + @PostMapping("/hrApprove") + @ResponseBody + public AjaxResult hrApproveSave(BaseEvectionForm baseEvectionForm) + { + baseEvectionForm.setPersonnelAdministration("2");//已核准 + baseEvectionFormService.updateBaseEvectionForm(baseEvectionForm); + return AjaxResult.success(); + } + @GetMapping("/detail/{id}") public String detail(@PathVariable("id") Long id, ModelMap mmap) { @@ -226,17 +281,26 @@ public class BaseEvectionFormController extends BaseController return toAjax(baseEvectionFormService.deleteBaseEvectionFormByIds(ids)); } + /** + * 加载作废出差单信息弹窗 + */ + @GetMapping("/cancel/{id}") + public String cancel(@PathVariable("id") Long id, ModelMap mmap) { + BaseEvectionForm baseEvectionForm = baseEvectionFormService.selectBaseEvectionFormById(id); + mmap.put("baseEvectionForm", baseEvectionForm); + return prefix + "/cancel"; + } + /** * 作废出差单 */ @RequiresPermissions("system:baseEvectionForm:cancel") @Log(title = "出差单", businessType = BusinessType.CANCEL) - @GetMapping( "/cancel/{id}") + @PostMapping( "/cancel") @ResponseBody - public AjaxResult cancel(@PathVariable("id") Long id){ - return toAjax(baseEvectionFormService.cancelBaseEvectionFormById(id)); + public AjaxResult cancel(BaseEvectionForm baseEvectionForm){ + return toAjax(baseEvectionFormService.cancelBaseEvectionFormByObject(baseEvectionForm)); } - /** * 恢复出差单 */ @@ -253,6 +317,6 @@ public class BaseEvectionFormController extends BaseController @ResponseBody public AjaxResult getId() { - return AjaxResult.success(baseEvectionFormService.getId()); + return AjaxResult.success(baseEvectionFormService.getId()); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseEvectionForm.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseEvectionForm.java index bab1e184..f7f6370f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseEvectionForm.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseEvectionForm.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.alibaba.excel.annotation.format.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -67,11 +68,12 @@ public class BaseEvectionForm extends BaseEntity /** 出差时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC") @Excel(name = "预计出差开始时间") - private Date evectionBeginTime; + private String evectionBeginTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "预计出差结束时间") - private Date evectionEndTime; + private String evectionEndTime; /** 派工单号 */ @Excel(name = "派工单号") @@ -104,11 +106,11 @@ public class BaseEvectionForm extends BaseEntity /** 实际出差时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "实际出差时间") - private Date realityEvenctionBeginTime; + private String realityEvenctionBeginTime; /** 实际出差时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "实际出差时间") - private Date realityEvenctionEndTime; + private String realityEvenctionEndTime; /** 申请人 */ @Excel(name = "申请人") @@ -303,19 +305,19 @@ public class BaseEvectionForm extends BaseEntity return evectionCauses; } - public Date getEvectionBeginTime() { + public String getEvectionBeginTime() { return evectionBeginTime; } - public void setEvectionBeginTime(Date evectionBeginTime) { + public void setEvectionBeginTime(String evectionBeginTime) { this.evectionBeginTime = evectionBeginTime; } - public Date getEvectionEndTime() { + public String getEvectionEndTime() { return evectionEndTime; } - public void setEvectionEndTime(Date evectionEndTime) { + public void setEvectionEndTime(String evectionEndTime) { this.evectionEndTime = evectionEndTime; } @@ -383,19 +385,19 @@ public class BaseEvectionForm extends BaseEntity return otherExpensesBudget; } - public Date getRealityEvenctionBeginTime() { + public String getRealityEvenctionBeginTime() { return realityEvenctionBeginTime; } - public void setRealityEvenctionBeginTime(Date realityEvenctionBeginTime) { + public void setRealityEvenctionBeginTime(String realityEvenctionBeginTime) { this.realityEvenctionBeginTime = realityEvenctionBeginTime; } - public Date getRealityEvenctionEndTime() { + public String getRealityEvenctionEndTime() { return realityEvenctionEndTime; } - public void setRealityEvenctionEndTime(Date realityEvenctionEndTime) { + public void setRealityEvenctionEndTime(String realityEvenctionEndTime) { this.realityEvenctionEndTime = realityEvenctionEndTime; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseEvectionFormService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseEvectionFormService.java index bcaf1e50..7b90c3fa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseEvectionFormService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseEvectionFormService.java @@ -65,10 +65,10 @@ public interface IBaseEvectionFormService /** * 作废出差单 - * @param evectionId 出差单ID + * @param baseEvectionForm 出差单 * @return */ - int cancelBaseEvectionFormById(Long evectionId); + int cancelBaseEvectionFormByObject(BaseEvectionForm baseEvectionForm); /** * 恢复出差单 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseEvectionFormServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseEvectionFormServiceImpl.java index 12a57568..ede4a013 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseEvectionFormServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseEvectionFormServiceImpl.java @@ -21,6 +21,7 @@ import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper; import com.ruoyi.system.domain.BaseExpenseAccount; import com.ruoyi.system.domain.Vo.BaseEvectionFormVo; import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo; +import com.ruoyi.system.domain.Vo.OutsourceOrderVO; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.IBaseExpenseAccountService; import com.ruoyi.system.service.ISysRoleService; @@ -220,13 +221,33 @@ public class BaseEvectionFormServiceImpl implements IBaseEvectionFormService /** * 作废出差单 * - * @param evectionId 出差单ID + * @param baseEvectionForm 出差单 * @return 结果 */ @Override - public int cancelBaseEvectionFormById(Long evectionId) + public int cancelBaseEvectionFormByObject(BaseEvectionForm baseEvectionForm) { - return baseEvectionFormMapper.cancelBaseEvectionFormById(evectionId); + BaseEvectionForm baseEvectionFormVo = baseEvectionFormMapper.selectBaseEvectionFormById(baseEvectionForm.getEvectionId()); + // 审核状态-待审核 + baseEvectionFormVo.setAuditStatus("0"); + SysUser user = ShiroUtils.getSysUser(); + // 启动流程 + String applyTitle = user.getUserName()+"发起了出差单作废审批-"+DateUtils.dateTimeNow(); + String instanceType = "cancel"; + ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,baseEvectionFormVo, user); + String processInstanceId = processInstance.getProcessInstanceId(); + // 作废实例id + baseEvectionFormVo.setCancelInstanceId(processInstanceId); + // 存在提交完就流程结束的情况 + boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId); + if(processIsFinish){ + // 审核状态-审核通过 + baseEvectionFormVo.setAuditStatus("1"); + // 使用状态-已作废 + baseEvectionFormVo.setUseStatus("2"); + } + baseEvectionFormVo.setCancelRemark(baseEvectionForm.getCancelRemark()); + return baseEvectionFormMapper.updateBaseEvectionForm(baseEvectionFormVo); } /** @@ -238,7 +259,26 @@ public class BaseEvectionFormServiceImpl implements IBaseEvectionFormService @Override public int restoreBaseEvectionFormById(Long evectionId) { - return baseEvectionFormMapper.restoreBaseEvectionFormById(evectionId); + BaseEvectionForm baseEvectionForm = baseEvectionFormMapper.selectBaseEvectionFormById(evectionId); + // 审核状态-待审核 + baseEvectionForm.setAuditStatus("0"); + SysUser user = ShiroUtils.getSysUser(); + // 启动流程 + String applyTitle = user.getUserName()+"发起了出差单恢复审批-"+DateUtils.dateTimeNow(); + String instanceType = "restore"; + ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,baseEvectionForm, user); + String processInstanceId = processInstance.getProcessInstanceId(); + // 恢复实例id + baseEvectionForm.setRestoreInstanceId(processInstanceId); + // 存在提交完就流程结束的情况 + boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId); + if(processIsFinish){ + // 审核状态-审核通过 + baseEvectionForm.setAuditStatus("1"); + // 使用状态-是 + baseEvectionForm.setUseStatus("1"); + } + return baseEvectionFormMapper.updateBaseEvectionForm(baseEvectionForm); } @Override public Object getId() { diff --git a/ruoyi-admin/src/main/resources/mapper/system/BaseEvectionFormMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/BaseEvectionFormMapper.xml index 1bb79e92..1b473717 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/BaseEvectionFormMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/BaseEvectionFormMapper.xml @@ -33,6 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -51,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" travel_mode,hotel,transportation_cost_budget,accommodation_budget,other_expenses_budget, reality_evenction_begin_time,reality_evenction_end_time,create_by,create_time,update_by, update_time,remark,instance_id,instance_type,submit_instance_id,cancel_instance_id, - restore_instance_id,apply_title,apply_user,apply_time + restore_instance_id,apply_title,apply_user,apply_time,cancel_remark from base_evection_form @@ -60,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and audit_status = #{auditStatus} and use_status = #{useStatus} - and evection_code = #{evectionCode} + and evection_code like concat('%', #{evectionCode}, '%') and evection_addr = #{evectionAddr} and evection_detail_addr = #{evectionDetailAddr} and evection_causes = #{evectionCauses} @@ -75,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and apply_title = #{applyTitle} and apply_user = #{applyUser} and apply_time = #{applyTime} - and create_time between #{params.beginCreateTime} and #{params.endCreateTime} + and Date(apply_time) between #{params.beginApplyTime} and #{params.endApplyTime} order by audit_status asc, create_time desc @@ -182,12 +183,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" transportation_cost_budget = #{transportationCostBudget}, accommodation_budget = #{accommodationBudget}, other_expenses_budget = #{otherExpensesBudget}, + reality_evenction_begin_time = #{realityEvenctionBeginTime}, + reality_evenction_end_time = #{realityEvenctionEndTime}, apply_user = #{applyUser}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, remark = #{remark}, + cancel_remark = #{cancelRemark}, instance_id = #{instanceId}, instance_type = #{instanceType}, submit_instance_id = #{submitInstanceId},