|
@@ -3,6 +3,8 @@
|
|
|
const auditConst = require('../const/audit').advance;
|
|
|
const shenpiConst = require('../const/shenpi');
|
|
|
const pushType = require('../const/audit').pushType;
|
|
|
+const smsTypeConst = require('../const/sms_type');
|
|
|
+const wxConst = require('../const/wechat_template.js');
|
|
|
module.exports = app => {
|
|
|
class AdvanceAudit extends app.BaseService {
|
|
|
constructor(ctx) {
|
|
@@ -229,6 +231,16 @@ module.exports = app => {
|
|
|
id: audit.vid,
|
|
|
...data,
|
|
|
});
|
|
|
+
|
|
|
+ // 微信模板通知
|
|
|
+ const advanceInfo = await this.ctx.service.advance.getDataById(vid);
|
|
|
+ const wechatData = {
|
|
|
+ qi: advanceInfo.type === 0 ? '开工预付款第' + advanceInfo.order + '期' : '材料预付款第' + advanceInfo.order + '期',
|
|
|
+ status: wxConst.status.check,
|
|
|
+ tips: wxConst.tips.check,
|
|
|
+ tp: parseFloat(advanceInfo.cur_amount),
|
|
|
+ };
|
|
|
+ await this.ctx.helper.sendWechat(audit.audit_id, smsTypeConst.const.YFK, smsTypeConst.judge.approval.toString(), wxConst.template.advance, wechatData);
|
|
|
await transaction.commit();
|
|
|
} catch (err) {
|
|
|
await transaction.rollback();
|
|
@@ -265,6 +277,8 @@ module.exports = app => {
|
|
|
});
|
|
|
await transaction.insert(this.ctx.service.noticePush.tableName, records);
|
|
|
// 无下一审核人表示,审核结束
|
|
|
+
|
|
|
+ const advanceInfo = await this.ctx.service.advance.getDataById(advanceId);
|
|
|
if (nextAudit) {
|
|
|
// 流程至下一审批人
|
|
|
await transaction.update(this.tableName, { id: nextAudit.id, status: auditConst.status.checking, create_time: time });
|
|
@@ -274,12 +288,30 @@ module.exports = app => {
|
|
|
id: advanceId,
|
|
|
status: auditConst.status.checking,
|
|
|
});
|
|
|
+ // 微信模板通知
|
|
|
+ const wechatData = {
|
|
|
+ qi: advanceInfo.type === 0 ? '开工预付款第' + advanceInfo.order + '期' : '材料预付款第' + advanceInfo.order + '期',
|
|
|
+ status: wxConst.status.check,
|
|
|
+ tips: wxConst.tips.check,
|
|
|
+ tp: parseFloat(advanceInfo.cur_amount),
|
|
|
+ };
|
|
|
+ await this.ctx.helper.sendWechat(nextAudit.audit_id, smsTypeConst.const.YFK, smsTypeConst.judge.approval.toString(), wxConst.template.advance, wechatData);
|
|
|
} else {
|
|
|
await transaction.update(this.ctx.service.advance.tableName, {
|
|
|
id: advanceId,
|
|
|
status: checkData.checkType,
|
|
|
end_time: time,
|
|
|
});
|
|
|
+
|
|
|
+ // 微信模板通知
|
|
|
+ const users = this._.uniq(this._.concat(this._.map(auditors, 'audit_id'), advanceInfo.uid));
|
|
|
+ const wechatData = {
|
|
|
+ qi: advanceInfo.type === 0 ? '开工预付款第' + advanceInfo.order + '期' : '材料预付款第' + advanceInfo.order + '期',
|
|
|
+ status: wxConst.status.success,
|
|
|
+ tips: wxConst.tips.success,
|
|
|
+ tp: parseFloat(advanceInfo.cur_amount),
|
|
|
+ };
|
|
|
+ await this.ctx.helper.sendWechat(users, smsTypeConst.const.YFK, smsTypeConst.judge.result.toString(), wxConst.template.advance, wechatData);
|
|
|
}
|
|
|
await transaction.commit();
|
|
|
} catch (err) {
|
|
@@ -323,6 +355,16 @@ module.exports = app => {
|
|
|
status: checkData.checkType,
|
|
|
times: times + 1,
|
|
|
});
|
|
|
+ // 微信模板通知
|
|
|
+ const advanceInfo = await this.ctx.service.advance.getDataById(advanceId);
|
|
|
+ const users = this._.uniq(this._.concat(this._.map(auditors, 'audit_id'), advanceInfo.uid));
|
|
|
+ const wechatData = {
|
|
|
+ qi: advanceInfo.type === 0 ? '开工预付款第' + advanceInfo.order + '期' : '材料预付款第' + advanceInfo.order + '期',
|
|
|
+ status: wxConst.status.back,
|
|
|
+ tips: wxConst.tips.back,
|
|
|
+ tp: parseFloat(advanceInfo.cur_amount),
|
|
|
+ };
|
|
|
+ await this.ctx.helper.sendWechat(users, smsTypeConst.const.YFK, smsTypeConst.judge.result.toString(), wxConst.template.advance, wechatData);
|
|
|
// 拷贝新一次审核流程列表
|
|
|
await transaction.insert(this.tableName, auditors);
|
|
|
await transaction.commit();
|
|
@@ -380,7 +422,15 @@ module.exports = app => {
|
|
|
order: audit.order + 2,
|
|
|
status: auditConst.status.uncheck,
|
|
|
});
|
|
|
-
|
|
|
+ // 微信模板通知
|
|
|
+ const advanceInfo = await this.ctx.service.advance.getDataById(advanceId);
|
|
|
+ const wechatData = {
|
|
|
+ qi: advanceInfo.type === 0 ? '开工预付款第' + advanceInfo.order + '期' : '材料预付款第' + advanceInfo.order + '期',
|
|
|
+ status: wxConst.status.check,
|
|
|
+ tips: wxConst.tips.check,
|
|
|
+ tp: parseFloat(advanceInfo.cur_amount),
|
|
|
+ };
|
|
|
+ await this.ctx.helper.sendWechat(preAuditor.audit_id, smsTypeConst.const.YFK, smsTypeConst.judge.approval.toString(), wxConst.template.advance, wechatData);
|
|
|
await transaction.insert(this.tableName, newAuditors);
|
|
|
await transaction.commit();
|
|
|
} catch (error) {
|