gongdecai преди 3 години
родител
ревизия
443fe9d1d6

+ 56 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java

@@ -4,8 +4,15 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
+import com.winsea.svc.base.base.entity.CommonStaff;
+import com.winsea.svc.base.base.service.ICommonRoleResourceService;
+import com.winsea.svc.base.base.service.ICommonStaffService;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.workflow.entity.Workflow;
+import com.winsea.svc.notice.entity.NoticeTaskInfo;
+import com.winsea.svc.notice.entity.base.BaseNotice;
+import com.winsea.svc.notice.service.INoticeService;
+import com.winsea.svc.notice.service.INoticeTaskService;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
@@ -54,7 +61,14 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
     private IDriverPayeeInfoService driverPayeeInfoService;
     @Autowired
     private INewWorkflowService workflowService;
-
+    @Autowired
+    private INoticeService noticeService;
+    @Autowired
+    private INoticeTaskService noticeTaskService;
+    @Autowired
+    private ICommonStaffService staffService;
+    @Autowired
+    private ICommonRoleResourceService roleResourceService;
     /**
      * 汽运调度分页列表查询
      *
@@ -400,7 +414,9 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
         //物流部提交
         if ("1".equals(tranProcessInfo.getFlag())) {
             tranProcessInfo.setPriceStatus("审核中");
+            tesk(tranProcessInfo);
         }
+
         //决策人审核
         else {
             tranProcessInfo.setTranPrice(tranProcessInfo.getTranPriceIng());
@@ -414,8 +430,47 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
             tranPriceApprove.setResult("通过");
             tranPriceApprove.setTranPrice(tranProcessInfo.getTranPrice());
             tranPriceApproveService.insert(tranPriceApprove);
+            // 先删除任务
+            noticeService.removeNotice(BaseNotice.NoticeStatus.TASK, "Tran-TASK-APPROVE",
+                    tranProcessInfo.getId(), null);
         }
         this.updateById(tranProcessInfo);
         return "ok";
     }
+
+
+    /**
+     * 任务
+     *
+     * @param tranProcessInfo
+     */
+    private void tesk(TranProcessInfo tranProcessInfo) {
+        // 先删除任务
+        noticeService.removeNotice(BaseNotice.NoticeStatus.TASK, "Tran-TASK-APPROVE",
+                tranProcessInfo.getId(), null);
+        String staffName = "XXX";
+        CommonStaff commitUserInfo = staffService.getInfo(AuthSecurityUtils.getCurrentUserId());
+        if (commitUserInfo != null) {
+            staffName = commitUserInfo.getMajorRole() != null
+                    ? commitUserInfo.getMajorRole().getRoleName() + " " + commitUserInfo.getStaffName()
+                    : commitUserInfo.getStaffName();
+        }
+        String taskContent = "";
+        List<String> roleIdList = Lists.newArrayList();
+        roleIdList = roleResourceService.getBindRoleIdsByResourceIds(AuthSecurityUtils.getCurrentUserInfo().getCompId(),
+                Lists.newArrayList("vehicleDispatching-reprice"));
+        // 向下一步操作人发送任务通知
+            taskContent =  staffName + "提交的运输单价等待审核";
+        NoticeTaskInfo taskInfo = new NoticeTaskInfo();
+        taskInfo.setCompId(commitUserInfo.getCompId());
+        taskInfo.setAcceptType(BaseNotice.AcceptStatus.STAFF);
+        taskInfo.setBusinessId(tranProcessInfo.getId());
+        taskInfo.setBusinessType("Tran");
+        taskInfo.setMessageContent(taskContent);
+        taskInfo.setBusinessCode("Tran-TASK-APPROVE");
+//            taskInfo.setNoticeTaskStatus(NoticeTaskInfo.NoticeTaskStatus.RETURN);
+        noticeTaskService.createNoticeTask(roleIdList,
+                null, taskInfo);
+
+    }
 }