Commit 0b0b8162 by 张庆香

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

parents 80ef5c94 6f728c15
...@@ -9,6 +9,7 @@ const appconfig = system.getSysConfig(); ...@@ -9,6 +9,7 @@ const appconfig = system.getSysConfig();
class DeliverybillCtl extends CtlBase { class DeliverybillCtl extends CtlBase {
constructor() { constructor() {
super("bizchance", CtlBase.getServiceName(DeliverybillCtl)); super("bizchance", CtlBase.getServiceName(DeliverybillCtl));
this.logService = system.getObject("service.bizchance.statuslogSve");
} }
/** /**
...@@ -139,5 +140,97 @@ class DeliverybillCtl extends CtlBase { ...@@ -139,5 +140,97 @@ class DeliverybillCtl extends CtlBase {
return system.getResult(null, err.message) return system.getResult(null, err.message)
} }
} }
// 创建服务实例
async insertInfo(pobj, qobj, req) {
// 检验各项必传参数
if (pobj.requestId && pobj.requestId != 'undefined' &&
pobj.bizId && pobj.bizId != 'undefined' &&
pobj.contactsPhone && pobj.contactsPhone != 'undefined' &&
pobj.userId && pobj.userId != 'undefined' &&
pobj.orderId && pobj.orderId != 'undefined' &&
pobj.areaType && pobj.areaType != 'undefined' &&
pobj.area && pobj.area != 'undefined' &&
pobj.topOrgCode && pobj.topOrgCode != 'undefined' &&
pobj.taxpayerType && pobj.taxpayerType != 'undefined' &&
pobj.product_code && pobj.product_code != 'undefined' &&
pobj.product_name && pobj.product_name != 'undefined' &&
pobj.service_address && pobj.service_address != 'undefined' &&
pobj.delivery_status && pobj.delivery_status != 'undefined' &&
pobj.facilitator_id && pobj.facilitator_id != 'undefined') {
try {
var buInfo = await this.service.insertInfo(pobj);
return system.getResult(buInfo);
} catch (error) {
return system.getResultError(error);
}
} else {
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 obj = {
// "orderId": "241284456620422",
// "source_number": "tx",
// "demand_code": "demand_code",
// "sku_code": "sku_code",
// "solutionBizId": "scheme_number",
// "product_code": "bookkeeping",
// "product_name": "代账服务",
// "service_address": "110100",
// "delivery_status": "success",
// "facilitator_id": "10",
// "facilitator_name": "公司宝",
// "source_name": "tencentCloud",
// "requestId": "282da0a74432-738f-4bed-b48d-d51aa433",
// "bizId": "1292748623",
// "contactsPhone": "18510669321",
// "userId": "10973452443103156",
// "areaType": "city",
// "area": "100010",
// "topOrgCode": "rong_yi_suan",
// "taxpayerType": "generalTaxpayer",
// "companyName": "汉唐信通",
// "contactName": "王麻子",
// "companyBizType": "1",
// "uscc": "企业社会统一信用代码"
// };
// task.updateServer(obj, {}, {}).then(d => {
// console.log(JSON.stringify(d));
// })
\ No newline at end of file
...@@ -67,5 +67,129 @@ class DeliverybillDao extends Dao { ...@@ -67,5 +67,129 @@ class DeliverybillDao extends Dao {
qc.where["$and"] = filters; qc.where["$and"] = filters;
return qw; return qw;
} }
async insertInfo(qobj, t) {
var obj = {
"delivery_code": qobj.orderId,
"product_code": qobj.product_code,
"product_name": qobj.product_name,
"service_address": qobj.service_address,
"delivery_status": qobj.delivery_status,
"facilitator_id": qobj.facilitator_id,
"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;
}
// 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_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;
delete qobj.product_code;
delete qobj.product_name;
delete qobj.service_address;
delete qobj.delivery_status;
delete qobj.facilitator_id;
obj.delivery_info = qobj;
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;
...@@ -128,111 +128,252 @@ class DeliverybillService extends ServiceBase { ...@@ -128,111 +128,252 @@ class DeliverybillService extends ServiceBase {
} }
async distributionPerson(pobj) { async distributionPerson(pobj) {
let { numbers, nickName, userId, opCode, phone, type } = pobj; // let { numbers, nickName, userId, opCode, phone, type } = pobj;
switch (type) { // switch (type) {
case System.FLOWCODE.DELIVERY: // case System.FLOWCODE.DELIVERY:
let datas = await this.dao.findAll({ // let datas = await this.dao.findAll({
delivery_code: { // delivery_code: {
$in: numbers // $in: numbers
// }
// });
// if (datas.length !== numbers.length) {
// throw new Error("请检查单号是否正确");
// }
// await this.dao.updateByWhere({
// salesman_id: userId,
// salesman_opcode: opCode,
// salesman_phone: phone,
// salesman_name: nickName
// }, {
// delivery_code: {
// $in: numbers
// }
// });
// // 插入 流转 记录
// let logs = [];
// for (let val of datas) {
// logs.push({
// demand_code: val.delivery_code,
// operator: {
// id: pobj.userid,
// username: pobj.username
// },
// operation_type: "distribution",
// operation_details: {
// isFirst: val.salesman_id ? true : false,
// fromUserId: val.salesman_id,
// fromUserName: val.salesman_name,
// toUserId: userId,
// toUserName: nickName
// },
// order_type: System.FLOWCODE.DELIVERY
// })
// }
// this.operationrecordDao.bulkCreate(logs);
// break
// case System.FLOWCODE.BIZ:
// let datas = await this.bizoptDao.findAll({
// demand_code: {
// $in: numbers
// }
// });
// if (datas.length !== datas.length) {
// throw new Error("请检查单号是否正确");
// }
// return this.db.transaction(async (t) => {
// // 更新 操作人
// await this.bizoptDao.updateByWhere({
// salesman_id: userId,
// salesman_opcode: opCode,
// salesman_phone: phone,
// salesman_name: nickName
// }, {
// demand_code: {
// $in: numbers
// }
// }, t);
// // 更新 状态
// await this.bizoptDao.updateByWhere({
// business_status: "beforeFollowUp"
// }, {
// $and: [
// {
// demand_code: {
// $in: numbers
// }
// }, {
// business_status: "received"
// }
// ]
// }, t);
// // 插入 流转 记录
// let logs = [];
// for (let val of datas) {
// logs.push({
// demand_code: val.demand_code,
// operator: {
// id: pobj.userid,
// username: pobj.username
// },
// operation_type: "distribution",
// operation_details: {
// isFirst: val.salesman_id ? true : false,
// fromUserId: val.salesman_id,
// fromUserName: val.salesman_name,
// toUserId: userId,
// toUserName: nickName
// },
// order_type: System.FLOWCODE.BIZ
// })
// }
// this.operationrecordDao.bulkCreate(logs);
// return "success"
// });
// break
// }
// return "SUCCESS"
} }
async insertInfo(qobj) {
var self = this;
return self.db.transaction(async function (t) {
return await self.dao.insertInfo(qobj, t);
}); });
if (datas.length !== numbers.length) {
throw new Error("请检查单号是否正确");
} }
await this.dao.updateByWhere({
salesman_id: userId, async updateServer(qobj) {
salesman_opcode: opCode, var self = this;
salesman_phone: phone, var bill = await self.dao.findOneByDeliveryCodeAndBizId(qobj);
salesman_name: nickName var obj = {};
}, { var whereobj = {
delivery_code: { "delivery_code": qobj.orderId,
$in: numbers "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') {
let logs = []; obj.demand_code = qobj.demand_code;
for (let val of datas) { delete qobj.demand_code;
logs.push({
demand_code: val.delivery_code,
operator: {
id: pobj.userid,
username: pobj.username
},
operation_type: "distribution",
operation_details: {
isFirst: val.salesman_id ? true : false,
fromUserId: val.salesman_id,
fromUserName: val.salesman_name,
toUserId: userId,
toUserName: nickName
},
order_type: System.FLOWCODE.DELIVERY
})
} }
this.operationrecordDao.bulkCreate(logs); // sku_code
break if (qobj.sku_code && qobj.sku_code != 'undefined') {
case System.FLOWCODE.BIZ: obj.sku_code = qobj.sku_code;
let datas = await this.bizoptDao.findAll({ delete qobj.sku_code;
demand_code: {
$in: numbers
} }
}); // scheme_number
if (datas.length !== datas.length) { if (qobj.solutionBizId && qobj.solutionBizId != 'undefined') {
throw new Error("请检查单号是否正确"); obj.scheme_number = qobj.solutionBizId;
} delete qobj.solutionBizId;
return this.db.transaction(async (t) => {
// 更新 操作人
await this.bizoptDao.updateByWhere({
salesman_id: userId,
salesman_opcode: opCode,
salesman_phone: phone,
salesman_name: nickName
}, {
demand_code: {
$in: numbers
} }
}, t); // product_code
// 更新 状态 if (qobj.product_code && qobj.product_code != 'undefined') {
await this.bizoptDao.updateByWhere({ obj.product_code = qobj.product_code;
business_status: "beforeFollowUp" delete qobj.product_code;
}, {
$and: [
{
demand_code: {
$in: numbers
} }
}, { // product_name
business_status: "received" if (qobj.product_name && qobj.product_name != 'undefined') {
} obj.product_name = qobj.product_name;
] delete qobj.product_name;
}, t);
// 插入 流转 记录
let logs = [];
for (let val of datas) {
logs.push({
demand_code: val.demand_code,
operator: {
id: pobj.userid,
username: pobj.username
},
operation_type: "distribution",
operation_details: {
isFirst: val.salesman_id ? true : false,
fromUserId: val.salesman_id,
fromUserName: val.salesman_name,
toUserId: userId,
toUserName: nickName
},
order_type: System.FLOWCODE.BIZ
})
} }
this.operationrecordDao.bulkCreate(logs); // service_address
return "success" if (qobj.service_address && qobj.service_address != 'undefined') {
}); obj.service_address = qobj.service_address;
break delete qobj.service_address;
} }
return "SUCCESS" // 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