Commit 471f0989 by Sxy

Merge branch 'tx-fi-tax' of gitlab.gongsibao.com:jiangyong/zhichan into tx-fi-tax

parents 92332523 dd61f5ef
...@@ -6,369 +6,358 @@ const CtlBase = require("../../ctl.base"); ...@@ -6,369 +6,358 @@ const CtlBase = require("../../ctl.base");
const moment = require('moment'); const moment = require('moment');
const appconfig = system.getSysConfig(); const appconfig = system.getSysConfig();
class BizOptCtl extends CtlBase { class BizOptCtl extends CtlBase {
constructor() { constructor() {
super("bizchance", CtlBase.getServiceName(BizOptCtl)); super("bizchance", CtlBase.getServiceName(BizOptCtl));
this.schemeService = system.getObject("service.bizchance.schemeSve"); this.schemeService = system.getObject("service.bizchance.schemeSve");
this.schemeSve = system.getObject("service.bizchance.fitaxschemeSve");//财税-方案信息 this.schemeSve = system.getObject("service.bizchance.fitaxschemeSve"); //财税-方案信息
this.fitaxcompanySve = system.getObject("service.bizchance.fitaxcompanySve");//财税-企业信息 this.fitaxcompanySve = system.getObject("service.bizchance.fitaxcompanySve"); //财税-企业信息
this.operationrecordSve = system.getObject("service.bizchance.operationrecordSve");//财税-需求分配记录 this.operationrecordSve = system.getObject("service.bizchance.operationrecordSve"); //财税-需求分配记录
this.logService = system.getObject("service.bizchance.statuslogSve"); this.logService = system.getObject("service.bizchance.statuslogSve");
this.shisService = system.getObject("service.bizchance.salesmanhisSve"); this.shisService = system.getObject("service.bizchance.salesmanhisSve");
this.receiveUrl = settings.receiveUrl(); this.receiveUrl = settings.receiveUrl();
this.queueUrl = settings.queueUrl(); this.queueUrl = settings.queueUrl();
//this.wdyUrl = settings.wdyUrl(); //this.wdyUrl = settings.wdyUrl();
this.dateUtil = system.getObject("util.dateClient"); this.dateUtil = system.getObject("util.dateClient");
} }
/** /**
* 根据用户id获取商机信息,分页获取 * 根据用户id获取商机信息,分页获取
* @param {*} pobj * @param {*} pobj
*/ */
async findAndCountAll(pobj, qobj, req) { async findAndCountAll(pobj, qobj, req) {
try { try {
//设置查询条件 //设置查询条件
console.log("bizoptCtl/findAndCountAll pobj--", pobj); console.log("bizoptCtl/findAndCountAll pobj--", pobj);
if (pobj.search && pobj.search.dateType) { if (pobj.search && pobj.search.dateType) {
if (pobj.search.dateType !== '全部') { if (pobj.search.dateType !== '全部') {
pobj.search.created_at = this.dateUtil.betweenTime(pobj.search.dateType); pobj.search.created_at = this.dateUtil.betweenTime(pobj.search.dateType);
} }
delete pobj.search.dateType delete pobj.search.dateType
} }
const rs = await this.service.findAndCountAll(pobj); const rs = await this.service.findAndCountAll(pobj);
console.log("rs-------------" + rs); console.log("rs-------------" + rs);
let rarr = []; let rarr = [];
let results = rs.results.rows; let results = rs.results.rows;
results.forEach(element => { results.forEach(element => {
let robj = {}; let robj = {};
robj.id = element.id;//数据的id robj.id = element.id; //数据的id
robj.demand_code = element.demand_code;//商机编号 robj.demand_code = element.demand_code; //商机编号
robj.v_cophone = system.decryptStr(element.v_cophone);//联系电话-shousuo robj.v_cophone = system.decryptStr(element.v_cophone); //联系电话-shousuo
robj.business_status = element.business_status;//商机当前状态 robj.business_status = element.business_status; //商机当前状态
if (element.business_info.serviceName && element.business_info.serviceName != 'undefined') { if (element.business_info.serviceName && element.business_info.serviceName != 'undefined') {
robj.address = element.business_info.serviceName;//服务地区 robj.address = element.business_info.serviceName; //服务地区
} } else {
else { robj.address = "";
robj.address = ""; }
} // robj.updated_at = this.timeFormat(element.updated_at);//商机当前状态日期
// robj.updated_at = this.timeFormat(element.updated_at);//商机当前状态日期 robj.updated_at = element.updated_at; //商机当前状态日期
robj.updated_at = element.updated_at;//商机当前状态日期 robj.business_type = element.business_type; //商机类型
robj.business_type = element.business_type;//商机类型 robj.v_coname = element.v_coname; //联系人-shousuo
robj.v_coname = element.v_coname;//联系人-shousuo robj.source_name = element.source_name; //渠道来源--前端服务
robj.source_name = element.source_name;//渠道来源--前端服务 robj.servicerName = element.facilitator_name; //服务商名称
robj.servicerName = element.facilitator_name;//服务商名称
// robj.facilitator_name = element.facilitator_name;//服务商名称 // robj.facilitator_name = element.facilitator_name;//服务商名称
// robj.sourceName = element.source_name;//渠道来源 // robj.sourceName = element.source_name;//渠道来源
// robj.business_info_person = element.business_info.contactsName;//联系人 // robj.business_info_person = element.business_info.contactsName;//联系人
// robj.business_info_phone = system.decryptStr(element.business_info.contactsPhone);//联系电话 // robj.business_info_phone = system.decryptStr(element.business_info.contactsPhone);//联系电话
robj.salesman_name = element.salesman_name; robj.salesman_name = element.salesman_name;
robj.salesman_phone = system.decryptStr(element.salesman_phone); robj.salesman_phone = system.decryptStr(element.salesman_phone);
rarr.push(robj); rarr.push(robj);
}); });
rs.results.rows = rarr; rs.results.rows = rarr;
return system.getResult(rs); return system.getResult(rs);
} catch (error) { } catch (error) {
console.log("error------------------------" + error); console.log("error------------------------" + error);
return system.getResultError(error); return system.getResultError(error);
}
} }
}
/** /**
* 需求分配 TODO * 需求分配 TODO
* @param {*} mobj * @param {*} mobj
* @param {*} qobj * @param {*} qobj
* @param {*} req * @param {*} req
* { * {
demand_code_list: ["1", "2", "3"],//至少一个需求编号 demand_code_list: ["1", "2", "3"],//至少一个需求编号
salesman_opcode: "",//唯一标识 salesman_opcode: "",//唯一标识
salesman_id: "jdlfaj",//销售员id salesman_id: "jdlfaj",//销售员id
salesman_name: "",//销售员姓名 salesman_name: "",//销售员姓名
salesman_phone: "",//销售员手机号 salesman_phone: "",//销售员手机号
}
*/
async distribution(mobj, qobj, req) {
let pobj = mobj.d;
} }
*/
async distribution(mobj, qobj, req) {
let pobj = mobj.d;
}
/** /**
* 关闭需求 * 关闭需求
* @param {*} mobj * @param {*} mobj
* { * {
demand_code: "",//需求编号 demand_code: "",//需求编号
close_reason: "",//关闭原因 close_reason: "",//关闭原因
remarks: ""//备注 remarks: ""//备注
} }
*/ */
async closeBizopt(mobj, qobj, req) { async closeBizopt(mobj, qobj, req) {
let pobj = mobj.d; let pobj = mobj.d;
pobj.business_status = "isClosed"; pobj.business_status = "isClosed";
//根据需求编号去更新该条需求的状态为已关闭 //根据需求编号去更新该条需求的状态为已关闭
try { try {
let res = await this.service.updateStatusByDemandCode(pobj); let res = await this.service.updateStatusByDemandCode(pobj);
//TODO 同步该需求关闭信息到其他系统 //TODO 同步该需求关闭信息到其他系统
return system.getResult("关闭需求成功!"); return system.getResult("关闭需求成功!");
} catch (error) { } catch (error) {
return system.getResultError("bizoptCtl/closeBizopt 关闭需求出错!"); return system.getResultError("bizoptCtl/closeBizopt 关闭需求出错!");
}
} }
}
/** /**
* 获取跟进详情页所有信息 * 获取跟进详情页所有信息
* @param {*} mobj * @param {*} mobj
* { * {
demand_code: "",//需求编号 demand_code: "",//需求编号
} }
*/ */
async getFollowUpInfo(mobj, qobj, req) { async getFollowUpInfo(mobj, qobj, req) {
var pobj = mobj.d; var pobj = mobj.d;
if (pobj.demand_code && pobj.demand_code != 'undefined') { if (pobj.demand_code && pobj.demand_code != 'undefined') {
try { try {
var bizoptInfo = await this.service.findInfoByDemandCode(pobj); var bizoptInfo = await this.service.findInfoByDemandCode(pobj);
var companyInfo = await this.fitaxcompanySve.findInfo(pobj); var companyInfo = await this.fitaxcompanySve.findInfo(pobj);
pobj.operation_type = "followUp"; pobj.operation_type = "followUp";
var followUpinfos = await this.operationrecordSve.findAllInfo(pobj); var followUpinfos = await this.operationrecordSve.findAllInfo(pobj);
var followUpinfo = {}; var followUpinfo = {};
if (followUpinfos.length > 0) { if (followUpinfos.length > 0) {
followUpinfo = followUpinfos[0]; followUpinfo = followUpinfos[0];
}
return system.getResult({ bizoptInfo: bizoptInfo, companyInfo: companyInfo, followUpinfo: followUpinfo });
} catch (error) {
console.log("bizopt/getFollowUpInfo err: " + error);
return system.getResultError("bizoptCtl/closeBizopt 获取跟进详情页信息出错!");
}
} }
return system.getResult({ bizoptInfo: bizoptInfo, companyInfo: companyInfo, followUpinfo: followUpinfo });
} catch (error) {
console.log("bizopt/getFollowUpInfo err: " + error);
return system.getResultError("bizoptCtl/closeBizopt 获取跟进详情页信息出错!");
}
} }
}
/** /**
* 获取记录详情页所有信息 * 获取记录详情页所有信息
* @param {*} mobj * @param {*} mobj
* { * {
demand_code: "",//需求编号 demand_code: "",//需求编号
} }
*/ */
async getRecordInfo(mobj, qobj, req) { async getRecordInfo(mobj, qobj, req) {
var pobj = mobj.d; var pobj = mobj.d;
if (pobj.demand_code && pobj.demand_code != 'undefined') { if (pobj.demand_code && pobj.demand_code != 'undefined') {
try { try {
var bizoptInfo = await this.service.findInfoByDemandCode(pobj);//需求信息 var bizoptInfo = await this.service.findInfoByDemandCode(pobj); //需求信息
var companyInfo = await this.fitaxcompanySve.findInfo(pobj);//企业信息 var companyInfo = await this.fitaxcompanySve.findInfo(pobj); //企业信息
var schemeInfo = await this.schemeSve.findInfo(pobj);//方案详情 var schemeInfo = await this.schemeSve.findInfo(pobj); //方案详情
var followUpinfos = await this.operationrecordSve.findAllInfo(pobj);//线索记录 var followUpinfos = await this.operationrecordSve.findAllInfo(pobj); //线索记录
return system.getResult({ bizoptInfo: bizoptInfo, companyInfo: companyInfo, schemeInfo: schemeInfo, followUpinfos: followUpinfos }); return system.getResult({ bizoptInfo: bizoptInfo, companyInfo: companyInfo, schemeInfo: schemeInfo, followUpinfos: followUpinfos });
} catch (error) { } catch (error) {
console.log("bizopt/getFollowUpInfo err: " + error); console.log("bizopt/getFollowUpInfo err: " + error);
return system.getResultError("bizoptCtl/closeBizopt 获取跟进详情页信息出错!"); return system.getResultError("bizoptCtl/closeBizopt 获取跟进详情页信息出错!");
} }
}
}
/**
* @param {*} mobj
*/
async findInfoByDemandCode(mobj, qobj, req) {
var pobj = mobj.d;
if (pobj.demand_code && pobj.demand_code != 'undefined') {
try {
var rs = await this.service.findInfoByDemandCode(pobj);
var ms = await this.schemeService.findInfoByDemandCode(pobj);
var rarr = {}
if (rs) {
var statusInfo = { "currentStatus": rs.business_status };//商机状态
var businessInfo = {};
businessInfo.demand_code = rs.demand_code;//商机编号
businessInfo.channelSource = appconfig.pdict.source[rs.source_name];///渠道来源
// businessInfo.businessType = rs.business_type;//商机类型代码
businessInfo.businessType = appconfig.pdict.businessType[rs.business_type];//商机类型名称
// businessInfo.serviceArea = rs.service_address;//服务地区
if (businessInfo.businessName == "云上园区注册") {
businessInfo.serviceArea = appconfig.pdict.registeredParkDict[rs.service_address];//服务地区名称
}
else {
businessInfo.serviceArea = appconfig.pdict.registeredAreaDict[rs.service_address];//服务地区名称
}
if (businessInfo.businessName == "注册地址") {
businessInfo.registeredAddress = appconfig.pdict.registeredAreaDict[rs.service_address];//注册地址名称
}
businessInfo.statusReason = rs.close_reason;//商机关闭原因
businessInfo.memoInfo = rs.business_info.memoInfo;//备注信息
businessInfo.contactsName = rs.business_info.contactsName;//联系人名称
businessInfo.contactsPhone = system.decryptStr(rs.business_info.contactsPhone);//联系人联系方式
businessInfo.createdTime = this.timeFormat(rs.created_at);//商机创建时间
rarr.statusInfo = statusInfo;
rarr.businessInfo = businessInfo;
}
if (ms) {
var planInfo = ms.scheme_info;
planInfo.schemeNumber = ms.scheme_number;
planInfo.currentStatus = ms.scheme_status;
if (ms.scheme_status && ms.scheme_status == "isReject") {
planInfo.currentStatus = "已退回";
}
else {
planInfo.currentStatus = ms.scheme_status;
}
planInfo.statusReason = ms.reject_reason;
rarr.planInfo = planInfo;
} }
return system.getResult(rarr);
}
catch (error) {
console.log("eeeeeeeeeeeeeeeeeeeeee");
console.log(error);
return system.getResultError(error);
}
} }
else {
return system.getResultError("参数错误!");
}
}
/*更新业务员信息*/ /**
async updateSalesmanInfoByDemandCode(mobj, qobj, req) { * @param {*} mobj
var pobj = mobj.d; */
if (pobj.businessMode && pobj.businessMode != 'undefined') { async findInfoByDemandCode(mobj, qobj, req) {
try { var pobj = mobj.d;
var res = await this.service.findInfoByDemandCode(pobj); if (pobj.demand_code && pobj.demand_code != 'undefined') {
if (res) { try {
var sInfo = { var rs = await this.service.findInfoByDemandCode(pobj);
"flowType": "BIZ", var ms = await this.schemeService.findInfoByDemandCode(pobj);
"flowId": res.id, var rarr = {}
"flowCode": pobj.businessMode, if (rs) {
"salesmanInfo": { var statusInfo = { "currentStatus": rs.business_status }; //商机状态
"oldOpcode": res.salesman_opcode, var businessInfo = {};
"oldClerkName": res.salesman_name, businessInfo.demand_code = rs.demand_code; //商机编号
"oldClerkId": res.salesman_id, businessInfo.channelSource = appconfig.pdict.source[rs.source_name]; ///渠道来源
"oldClerkPhone": res.salesman_phone, // businessInfo.businessType = rs.business_type;//商机类型代码
"oldFacilitatorId": res.facilitator_id, businessInfo.businessType = appconfig.pdict.businessType[rs.business_type]; //商机类型名称
"oldFacilitatorName": res.facilitator_name, // businessInfo.serviceArea = rs.service_address;//服务地区
"newOpcode": pobj.salesmanOpcode, if (businessInfo.businessName == "云上园区注册") {
"newClerkName": pobj.salesmanName, businessInfo.serviceArea = appconfig.pdict.registeredParkDict[rs.service_address]; //服务地区名称
"newClerkId": pobj.salesmanId, } else {
"newClerkPhone": pobj.salesmanPhone, businessInfo.serviceArea = appconfig.pdict.registeredAreaDict[rs.service_address]; //服务地区名称
"newFacilitatorId": pobj.facilitatorId, }
"newFacilitatorName": pobj.facilitatorName if (businessInfo.businessName == "注册地址") {
businessInfo.registeredAddress = appconfig.pdict.registeredAreaDict[rs.service_address]; //注册地址名称
}
businessInfo.statusReason = rs.close_reason; //商机关闭原因
businessInfo.memoInfo = rs.business_info.memoInfo; //备注信息
businessInfo.contactsName = rs.business_info.contactsName; //联系人名称
businessInfo.contactsPhone = system.decryptStr(rs.business_info.contactsPhone); //联系人联系方式
businessInfo.createdTime = this.timeFormat(rs.created_at); //商机创建时间
rarr.statusInfo = statusInfo;
rarr.businessInfo = businessInfo;
}
if (ms) {
var planInfo = ms.scheme_info;
planInfo.schemeNumber = ms.scheme_number;
planInfo.currentStatus = ms.scheme_status;
if (ms.scheme_status && ms.scheme_status == "isReject") {
planInfo.currentStatus = "已退回";
} else {
planInfo.currentStatus = ms.scheme_status;
}
planInfo.statusReason = ms.reject_reason;
rarr.planInfo = planInfo;
}
return system.getResult(rarr);
} catch (error) {
console.log("eeeeeeeeeeeeeeeeeeeeee");
console.log(error);
return system.getResultError(error);
} }
} } else {
await this.shisService.insertInfo(sInfo);//之前业务员转历史 return system.getResultError("参数错误!");
await this.service.updateSalesmanInfoByDemandCode(pobj);//更新业务员信息
return system.getResult("操作成功!");
}
else {
return system.getResultError("未找到相关数据");
} }
}
catch (error) {
return system.getResultError(error);
}
}
else {
return system.getResultError("参数错误!");
} }
}
/*根据商机编号更新商机状态*/
async updateStatusByDemandCode(mobj, qobj, req) {
var pobj = mobj.d;
if (pobj.businessMode && pobj.businessMode != 'undefined' && pobj.currentStatus && pobj.currentStatus != 'undefined') {
try {
await this.service.updateStatusByDemandCode(pobj);
await this.schemeService.updateStatusByDemandCode(pobj);//同时更新方案的状态
var res = await this.service.findInfoByDemandCode(pobj);
if (res && res != 'undefined') {
var logInfo = {
"flowType": "BIZ",
"flowId": res.id,
"statusCode": pobj.currentStatus,
"statusReason": res.close_reason,
"clerkName": res.salesman_name,
"clerkId": res.salesman_id
}
await this.logService.insertInfo(logInfo);//插入状态日志表
}
if (pobj.currentStatus == "isClosed") { //关闭需求时调用 /*更新业务员信息*/
var rc = system.getObject("util.execClient"); async updateSalesmanInfoByDemandCode(mobj, qobj, req) {
var requrl = this.queueUrl; var pobj = mobj.d;
var params = { if (pobj.businessMode && pobj.businessMode != 'undefined') {
"actionType": "produceData", try {
"actionBody": { var res = await this.service.findInfoByDemandCode(pobj);
"pushUrl": this.receiveUrl, if (res) {
"actionType": "closeNeed", var sInfo = {
"identifyCode": "ic-manage", "flowType": "BIZ",
"messageBody": { "flowId": res.id,
"needNum": pobj.businessMode, "flowCode": pobj.businessMode,
"note": pobj.statusReason "salesmanInfo": {
} "oldOpcode": res.salesman_opcode,
"oldClerkName": res.salesman_name,
"oldClerkId": res.salesman_id,
"oldClerkPhone": res.salesman_phone,
"oldFacilitatorId": res.facilitator_id,
"oldFacilitatorName": res.facilitator_name,
"newOpcode": pobj.salesmanOpcode,
"newClerkName": pobj.salesmanName,
"newClerkId": pobj.salesmanId,
"newClerkPhone": pobj.salesmanPhone,
"newFacilitatorId": pobj.facilitatorId,
"newFacilitatorName": pobj.facilitatorName
}
}
await this.shisService.insertInfo(sInfo); //之前业务员转历史
await this.service.updateSalesmanInfoByDemandCode(pobj); //更新业务员信息
return system.getResult("操作成功!");
} else {
return system.getResultError("未找到相关数据");
}
} catch (error) {
return system.getResultError(error);
}
} else {
return system.getResultError("参数错误!");
} }
}
var rtn = await rc.execPost(params, requrl);
var j = JSON.parse(rtn.stdout);
if (j.status == 1) {
return system.getResult("操作成功!");
}
else {
return system.getResultError("更新方案状态出错!");
}
} }
else { /*根据商机编号更新商机状态*/
return system.getResult("操作成功!"); async updateStatusByDemandCode(mobj, qobj, req) {
var pobj = mobj.d;
if (pobj.businessMode && pobj.businessMode != 'undefined' && pobj.currentStatus && pobj.currentStatus != 'undefined') {
try {
await this.service.updateStatusByDemandCode(pobj);
await this.schemeService.updateStatusByDemandCode(pobj); //同时更新方案的状态
var res = await this.service.findInfoByDemandCode(pobj);
if (res && res != 'undefined') {
var logInfo = {
"flowType": "BIZ",
"flowId": res.id,
"statusCode": pobj.currentStatus,
"statusReason": res.close_reason,
"clerkName": res.salesman_name,
"clerkId": res.salesman_id
}
await this.logService.insertInfo(logInfo); //插入状态日志表
}
if (pobj.currentStatus == "isClosed") { //关闭需求时调用
var rc = system.getObject("util.execClient");
var requrl = this.queueUrl;
var params = {
"actionType": "produceData",
"actionBody": {
"pushUrl": this.receiveUrl,
"actionType": "closeNeed",
"identifyCode": "ic-manage",
"messageBody": {
"needNum": pobj.businessMode,
"note": pobj.statusReason
}
}
}
var rtn = await rc.execPost(params, requrl);
var j = JSON.parse(rtn.stdout);
if (j.status == 1) {
return system.getResult("操作成功!");
} else {
return system.getResultError("更新方案状态出错!");
}
} else {
return system.getResult("操作成功!");
}
} catch (error) {
return system.getResultError(error);
}
} else {
return system.getResultError("参数错误!");
} }
}
catch (error) {
return system.getResultError(error);
}
}
else {
return system.getResultError("参数错误!");
} }
}
/*插入数据信息 */ /*插入数据信息 */
async insertInfo(nobj, qobj, req) { async insertInfo(nobj, qobj, req) {
var pobj = nobj.d; var pobj = nobj.d;
if (pobj.businessMode && pobj.businessMode != 'undefined' && pobj.businessType && pobj.businessType != 'undefined') { if (pobj.businessMode && pobj.businessMode != 'undefined' && pobj.businessType && pobj.businessType != 'undefined') {
try { try {
//pobj.currentStatus = "beforeSubmission";//加上当前状态为待提交方案 //pobj.currentStatus = "beforeSubmission";//加上当前状态为待提交方案
// pobj.channelSource = "tencentCloud";//目前渠道只有腾讯 // pobj.channelSource = "tencentCloud";//目前渠道只有腾讯
// pobj.sourceNumber = "1111111"; // pobj.sourceNumber = "1111111";
pobj.businessType = appconfig.pdict.dyDict[pobj.businessType]; // pobj.businessType = appconfig.pdict.dyDict[pobj.businessType];
var buInfo = await this.service.insertInfo(pobj); var buInfo = await this.service.insertInfo(pobj);
var logInfo = {
"flowType": "BIZ",
"flowId": buInfo.id,
"statusCode": pobj.currentStatus, var logInfo = {
"clerkName": pobj.clerkName, "flowType": "BIZ",
"clerkId": pobj.salesmanId "flowId": buInfo.id,
"statusCode": pobj.bussinessStatus,
"clerkName": pobj.salesmanName,
"clerkId": pobj.salesmanId
}
await this.logService.insertInfo(logInfo); //插入状态日至表
return {
"status": 1, //1代表成功,否则失败
"message": "操作成功",
"data": "",
"requestId": ""
};
} catch (error) {
console.log("TTTTTTTTTTTTTTTTTTTTTTT");
console.log(error);
return system.getResultError(error);
}
} else {
return system.getResultError("参数错误!");
} }
await this.logService.insertInfo(logInfo);//插入状态日至表
return {
"status": 1, //1代表成功,否则失败
"message": "操作成功",
"data": "",
"requestId": ""
};
}
catch (error) {
console.log("TTTTTTTTTTTTTTTTTTTTTTT");
console.log(error);
return system.getResultError(error);
}
} }
else {
return system.getResultError("参数错误!");
}
}
timeFormat(date) { timeFormat(date) {
let localTime = moment.utc(date).toDate(); let localTime = moment.utc(date).toDate();
localTime = moment(localTime).format("YYYY-MM-DD"); localTime = moment(localTime).format("YYYY-MM-DD");
return localTime; return localTime;
} }
} }
module.exports = BizOptCtl; module.exports = BizOptCtl;
...@@ -397,4 +386,4 @@ module.exports = BizOptCtl; ...@@ -397,4 +386,4 @@ module.exports = BizOptCtl;
// } // }
// task.findInfoByDemandCode(obj,{},{}).then(d=>{ // task.findInfoByDemandCode(obj,{},{}).then(d=>{
// console.log(JSON.stringify(d)); // console.log(JSON.stringify(d));
// }) // })
\ No newline at end of file
...@@ -143,7 +143,6 @@ class DeliverybillCtl extends CtlBase { ...@@ -143,7 +143,6 @@ class DeliverybillCtl extends CtlBase {
// 创建服务实例 // 创建服务实例
async insertInfo(pobj, qobj, req) { async insertInfo(pobj, qobj, req) {
// console.log(pobj);
// 检验各项必传参数 // 检验各项必传参数
if (pobj.requestId && pobj.requestId != 'undefined' && if (pobj.requestId && pobj.requestId != 'undefined' &&
pobj.bizId && pobj.bizId != 'undefined' && pobj.bizId && pobj.bizId != 'undefined' &&
...@@ -160,30 +159,54 @@ class DeliverybillCtl extends CtlBase { ...@@ -160,30 +159,54 @@ class DeliverybillCtl extends CtlBase {
pobj.delivery_status && pobj.delivery_status != 'undefined' && pobj.delivery_status && pobj.delivery_status != 'undefined' &&
pobj.facilitator_id && pobj.facilitator_id != 'undefined') { pobj.facilitator_id && pobj.facilitator_id != 'undefined') {
try { try {
// console.log(pobj);
var buInfo = await this.service.insertInfo(pobj); var buInfo = await this.service.insertInfo(pobj);
var logInfo = {
"flowType": "DELIVERY",
"flowId": buInfo.id,
"statusCode": buInfo.delivery_status,
"status_reason": ""
}
await this.logService.insertInfo(logInfo);//插入状态日至表
return system.getResult(buInfo); return system.getResult(buInfo);
} catch (error) { } catch (error) {
// console.log(error);
return system.getResultError(error); return system.getResultError(error);
} }
} else { } else {
return system.getResultError("参数错误!"); return system.getResultError("参数错误!");
} }
} }
async updateServer(pobj, qobj, req) {
try {
if (!pobj.requestId || pobj.requestId == 'undefined') {
throw new Error("requestId 不能为空");
}
if (!pobj.bizId || pobj.bizId == 'undefined') {
throw new Error("bizId 不能为空");
}
if (!pobj.orderId || pobj.orderId == 'undefined') {
throw new Error("orderId 不能为空");
}
if (!pobj.topOrgCode || pobj.topOrgCode == 'undefined') {
throw new Error("topOrgCode 不能为空");
}
if (!pobj.companyName || pobj.companyName == 'undefined') {
throw new Error("companyName 不能为空");
}
if (!pobj.contactName || pobj.contactName == 'undefined') {
throw new Error("contactName 不能为空");
}
if (!pobj.companyBizType || pobj.companyBizType == 'undefined') {
throw new Error("companyBizType 不能为空");
}
if (!pobj.uscc || pobj.uscc == 'undefined') {
throw new Error("uscc 不能为空");
}
const rs = await this.service.updateServer(pobj);
return system.getResult(rs);
} catch (err) {
return system.getResult(null, err.message)
}
}
} }
module.exports = DeliverybillCtl; module.exports = DeliverybillCtl;
// var task = new DeliverybillCtl(); // var task = new DeliverybillCtl();
// var obj = { // var obj = {
// "orderId": "341184456620455_book", // "orderId": "241284456620422",
// "source_number": "tx", // "source_number": "tx",
// "demand_code": "demand_code", // "demand_code": "demand_code",
// "sku_code": "sku_code", // "sku_code": "sku_code",
...@@ -196,14 +219,18 @@ module.exports = DeliverybillCtl; ...@@ -196,14 +219,18 @@ module.exports = DeliverybillCtl;
// "facilitator_name": "公司宝", // "facilitator_name": "公司宝",
// "source_name": "tencentCloud", // "source_name": "tencentCloud",
// "requestId": "282da0a74432-738f-4bed-b48d-d51aa433", // "requestId": "282da0a74432-738f-4bed-b48d-d51aa433",
// "bizId": "1292748632", // "bizId": "1292748623",
// "contactsPhone": "18510669321", // "contactsPhone": "18510669321",
// "userId": "10973452443103156", // "userId": "10973452443103156",
// "areaType": "city", // "areaType": "city",
// "area": "100010", // "area": "100010",
// "topOrgCode": "rong_yi_suan", // "topOrgCode": "rong_yi_suan",
// "taxpayerType": 1 // "taxpayerType": "generalTaxpayer",
// "companyName": "汉唐信通",
// "contactName": "王麻子",
// "companyBizType": "1",
// "uscc": "企业社会统一信用代码"
// }; // };
// task.insertInfo(obj, {}, {}).then(d => { // task.updateServer(obj, {}, {}).then(d => {
// console.log(JSON.stringify(d)); // console.log(JSON.stringify(d));
// }) // })
\ No newline at end of file
...@@ -13,9 +13,23 @@ class BizoptDao extends Dao { ...@@ -13,9 +13,23 @@ class BizoptDao extends Dao {
} else { } else {
//需要添加公司查询条件 //需要添加公司查询条件
qw["facilitator_id"] = Number(qobj.company_id) qw["facilitator_id"] = Number(qobj.company_id)
// 为空说明是管理员,不需设置组织结构过滤 /**
if (qobj.opath && qobj.opath != "") { * 数据权限过滤
qw["salesman_opcode"] = { [this.db.Op.like]: `%${qobj.opath}%` } * 1. 管理员 (opath 为空)、 销售主管(isPrincipal = true) 、 销售 (isPrincipal = false && opath不为空)
*/
if (!qobj.opath) { // 管理员 不做处理
} else if (qobj.isPrincipal) { // 销售主管 查询为空和自己组织结构下的
qw["$or"] = [
{
salesman_opcode: {
$eq: null
}
}, {
salesman_opcode: { $like: `%${qobj.opath}%` }
}
]
} else { // 销售 查询自己的
qw["salesman_opcode"] = { $like: `%${qobj.opath}%` }
} }
//不是来自平台前端查询 //不是来自平台前端查询
if (qobj.bizpath && qobj.bizpath.indexOf("pmx") < 0) { if (qobj.bizpath && qobj.bizpath.indexOf("pmx") < 0) {
...@@ -29,12 +43,7 @@ class BizoptDao extends Dao { ...@@ -29,12 +43,7 @@ class BizoptDao extends Dao {
[this.db.Op.eq]: "received" [this.db.Op.eq]: "received"
}; };
} }
if (qobj.bizpath.indexOf("demandfollow") > 0) {//从需求跟进列表过来的 if (qobj.bizpath.indexOf("demandfollow") > 0 || qobj.bizpath.indexOf("distributionManagement") > 0) {//从需求跟进列表或分配记录列表过来的
qw["business_status"] = {
[this.db.Op.in]: ["beforeFollowUp", "followingUp", "beforeSubmission"]
};
}
if (qobj.bizpath.indexOf("distributionManagement") > 0) {//从分配记录列表过来的
qw["business_status"] = { qw["business_status"] = {
[this.db.Op.ne]: "received" [this.db.Op.ne]: "received"
}; };
...@@ -57,8 +66,7 @@ class BizoptDao extends Dao { ...@@ -57,8 +66,7 @@ class BizoptDao extends Dao {
var setobj = { "business_status": qobj.business_status }; var setobj = { "business_status": qobj.business_status };
if (qobj.close_reason && qobj.close_reason != 'undefined') { if (qobj.close_reason && qobj.close_reason != 'undefined') {
setobj["close_reason"] = qobj.close_reason; setobj["close_reason"] = qobj.close_reason;
} } else {
else {
setobj["close_reason"] = ""; setobj["close_reason"] = "";
} }
var whereobj = { "demand_code": qobj.demand_code }; var whereobj = { "demand_code": qobj.demand_code };
...@@ -95,47 +103,35 @@ class BizoptDao extends Dao { ...@@ -95,47 +103,35 @@ class BizoptDao extends Dao {
var obj = { var obj = {
"demand_code": qobj.businessMode, "demand_code": qobj.businessMode,
"business_type": qobj.businessType, "business_type": qobj.businessType,
"business_status": qobj.currentStatus, "business_status": qobj.bussinessStatus,
"business_info": {} "business_info": {},
"source_number": qobj.sourceNumber,
"service_address": qobj.serviceAddress,
"facilitator_id": qobj.favilitatorID,
"facilitator_name": qobj.favilitatorName,
"source_name": qobj.sourceName,
}; };
if (qobj.channelSource && qobj.channelSource != 'undefined') { //business_info START
obj.source_name = qobj.channelSource; if (qobj.topOrgCode && qobj.topOrgCode != 'undefined') {
} obj.business_info.topOrgCode = qobj.topOrgCode
if (qobj.sourceNumber && qobj.sourceNumber != 'undefined') {
obj.source_number = qobj.sourceNumber;
}
if (qobj.serviceCode && qobj.serviceCode != 'undefined') {
obj.service_address = qobj.serviceCode;
} }
if (qobj.memoInfo && qobj.memoInfo != 'undefined') { if (qobj.intentionBizId && qobj.intentionBizId != 'undefined') {
obj.business_info.memoInfo = qobj.memoInfo; obj.business_info.intentionBizId = qobj.intentionBizId;
} }
if (qobj.statusReason && qobj.statusReason != 'undefined') { if (qobj.contactsPhone && qobj.contactsPhone != 'undefined') {
obj.close_reason = qobj.statusReason; obj.business_info.contactsPhone = qobj.contactsPhone; //已经加密
} }
if (qobj.contactsName && qobj.contactsName != 'undefined') { if (qobj.contactsName && qobj.contactsName != 'undefined') {
obj.business_info.contactsName = qobj.contactsName; obj.business_info.contactsName = qobj.contactsName;
} }
if (qobj.contactsPhone && qobj.contactsPhone != 'undefined') {
obj.business_info.contactsPhone = qobj.contactsPhone;//已经加密
}
if (qobj.serviceName && qobj.serviceName != 'undefined') { if (qobj.serviceName && qobj.serviceName != 'undefined') {
obj.business_info.serviceName = qobj.serviceName; obj.business_info.serviceName = qobj.serviceName;
} }
if (qobj.businessName && qobj.businessName != 'undefined') {
obj.business_info.businessName = qobj.businessName; //bussiness_info END
} //other
if (qobj.UserName && qobj.UserName != 'undefined') { if (qobj.closeReason && qobj.closeReason != 'undefined') {
obj.business_info.userName = qobj.UserNames; obj.close_reason = qobj.closeReason;
}
if (qobj.companyName && qobj.companyName != 'undefined') {
obj.business_info.companyName = qobj.companyName;
}
if (qobj.servicerCode && qobj.servicerCode != 'undefined') {
obj.facilitator_id = qobj.servicerCode;
}
if (qobj.servicerName && qobj.servicerName != 'undefined') {
obj.facilitator_name = qobj.servicerName;
} }
if (qobj.salesmanOpcode && qobj.salesmanOpcode != 'undefined') { if (qobj.salesmanOpcode && qobj.salesmanOpcode != 'undefined') {
obj.salesman_opcode = qobj.salesmanOpcode; obj.salesman_opcode = qobj.salesmanOpcode;
...@@ -143,15 +139,16 @@ class BizoptDao extends Dao { ...@@ -143,15 +139,16 @@ class BizoptDao extends Dao {
if (qobj.salesmanId && qobj.salesmanId != 'undefined') { if (qobj.salesmanId && qobj.salesmanId != 'undefined') {
obj.salesman_id = qobj.salesmanId; obj.salesman_id = qobj.salesmanId;
} }
if (qobj.clerkName && qobj.clerkName != 'undefined') { if (qobj.salesmanName && qobj.salesmanName != 'undefined') {
obj.salesman_name = qobj.clerkName; obj.salesman_name = qobj.salesmanName;
} }
if (qobj.clerkPhone && qobj.clerkPhone != 'undefined') { if (qobj.salesmanPhone && qobj.salesmanPhone != 'undefined') {
obj.salesman_phone = qobj.clerkPhone; obj.salesman_phone = qobj.salesmanPhone;
} }
return await this.create(obj, t); return await this.create(obj, t);
} }
} }
module.exports = BizoptDao; module.exports = BizoptDao;
\ No newline at end of file
...@@ -70,8 +70,6 @@ class DeliverybillDao extends Dao { ...@@ -70,8 +70,6 @@ class DeliverybillDao extends Dao {
} }
async insertInfo(qobj, t) { async insertInfo(qobj, t) {
// console.log("dao层qobj===>");
// console.log(qobj);
var obj = { var obj = {
"delivery_code": qobj.orderId, "delivery_code": qobj.orderId,
"product_code": qobj.product_code, "product_code": qobj.product_code,
...@@ -183,9 +181,16 @@ class DeliverybillDao extends Dao { ...@@ -183,9 +181,16 @@ class DeliverybillDao extends Dao {
delete qobj.delivery_status; delete qobj.delivery_status;
delete qobj.facilitator_id; delete qobj.facilitator_id;
obj.delivery_info = qobj; obj.delivery_info = qobj;
// console.log("dao层obj===>");
// console.log(obj);
return await this.create(obj, t); return await this.create(obj, t);
} }
async updateServer(qobj, whereobj, t) {
return await this.updateByWhere(qobj, whereobj, t);
}
async findOneByDeliveryCodeAndBizId(qobj) {
var qcwhere = { "delivery_code": qobj.orderId, "biz_id": qobj.bizId };
return await this.findOne(qcwhere);
}
} }
module.exports = DeliverybillDao; module.exports = DeliverybillDao;
...@@ -240,5 +240,140 @@ class DeliverybillService extends ServiceBase { ...@@ -240,5 +240,140 @@ class DeliverybillService extends ServiceBase {
return await self.dao.insertInfo(qobj, t); return await self.dao.insertInfo(qobj, t);
}); });
} }
async updateServer(qobj) {
var self = this;
var bill = await self.dao.findOneByDeliveryCodeAndBizId(qobj);
var obj = {};
var whereobj = {
"delivery_code": qobj.orderId,
"biz_id": qobj.bizId
};
// source_number
if (qobj.source_number && qobj.source_number != 'undefined') {
obj.source_number = qobj.source_number;
delete qobj.source_number;
}
// demand_code
if (qobj.demand_code && qobj.demand_code != 'undefined') {
obj.demand_code = qobj.demand_code;
delete qobj.demand_code;
}
// sku_code
if (qobj.sku_code && qobj.sku_code != 'undefined') {
obj.sku_code = qobj.sku_code;
delete qobj.sku_code;
}
// scheme_number
if (qobj.solutionBizId && qobj.solutionBizId != 'undefined') {
obj.scheme_number = qobj.solutionBizId;
delete qobj.solutionBizId;
}
// product_code
if (qobj.product_code && qobj.product_code != 'undefined') {
obj.product_code = qobj.product_code;
delete qobj.product_code;
}
// product_name
if (qobj.product_name && qobj.product_name != 'undefined') {
obj.product_name = qobj.product_name;
delete qobj.product_name;
}
// service_address
if (qobj.service_address && qobj.service_address != 'undefined') {
obj.service_address = qobj.service_address;
delete qobj.service_address;
}
// delivery_status
if (qobj.delivery_status && qobj.delivery_status != 'undefined') {
obj.delivery_status = qobj.delivery_status;
delete qobj.delivery_status;
}
// selling_price
if (qobj.selling_price && qobj.selling_price != 'undefined') {
obj.selling_price = qobj.selling_price;
delete qobj.selling_price;
}
// cost_price
if (qobj.cost_price && qobj.cost_price != 'undefined') {
obj.cost_price = qobj.cost_price;
delete qobj.cost_price;
}
// close_reason
if (qobj.close_reason && qobj.close_reason != 'undefined') {
obj.close_reason = qobj.close_reason;
delete qobj.close_reason;
}
// facilitator_id
if (qobj.facilitator_id && qobj.facilitator_id != 'undefined') {
obj.facilitator_id = qobj.facilitator_id;
delete qobj.facilitator_id;
}
// facilitator_name
if (qobj.facilitator_name && qobj.facilitator_name != 'undefined') {
obj.facilitator_name = qobj.facilitator_name;
delete qobj.facilitator_name;
}
// salesman_opcode
if (qobj.salesman_opcode && qobj.salesman_opcode != 'undefined') {
obj.salesman_opcode = qobj.salesman_opcode;
delete qobj.salesman_opcode;
}
// salesman_id
if (qobj.salesman_id && qobj.salesman_id != 'undefined') {
obj.salesman_id = qobj.salesman_id;
delete qobj.salesman_id;
}
// salesman_name
if (qobj.salesman_name && qobj.salesman_name != 'undefined') {
obj.salesman_name = qobj.salesman_name;
delete qobj.salesman_name;
}
// salesman_phone
if (qobj.salesman_phone && qobj.salesman_phone != 'undefined') {
obj.salesman_phone = qobj.salesman_phone;
delete qobj.salesman_phone;
}
// source_name
if (qobj.source_name && qobj.source_name != 'undefined') {
obj.source_name = qobj.source_name;
delete qobj.source_name;
}
// master_source_number
if (qobj.master_source_number && qobj.master_source_number != 'undefined') {
obj.master_source_number = qobj.master_source_number;
delete qobj.master_source_number;
}
// settle_status
if (qobj.settle_status && qobj.settle_status != 'undefined') {
obj.settle_status = qobj.settle_status;
delete qobj.settle_status;
}
// settlebill_id
if (qobj.settlebill_id && qobj.settlebill_id != 'undefined') {
obj.settlebill_id = qobj.settlebill_id;
delete qobj.settlebill_id;
}
// delivery_man_id
if (qobj.delivery_man_id && qobj.delivery_man_id != 'undefined') {
obj.delivery_man_id = qobj.delivery_man_id;
delete qobj.delivery_man_id;
}
// delivery_man_name
if (qobj.delivery_man_name && qobj.delivery_man_name != 'undefined') {
obj.delivery_man_name = qobj.delivery_man_name;
delete qobj.delivery_man_name;
}
// delivery_man_opcode
if (qobj.delivery_man_opcode && qobj.delivery_man_opcode != 'undefined') {
obj.delivery_man_opcode = qobj.delivery_man_opcode;
delete qobj.delivery_man_opcode;
}
delete qobj.orderId;
obj.delivery_info = JSON.parse((JSON.stringify(bill.delivery_info) + JSON.stringify(qobj)).replace(/}{/, ','));
return self.db.transaction(async function (t) {
return await self.dao.updateServer(obj, whereobj, t);
});
}
} }
module.exports = DeliverybillService; module.exports = DeliverybillService;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment