Commit 308eee1b by 任晓松

展板需求列表,订单列表

parent 4b65918e
......@@ -57,6 +57,9 @@ class IcAPI extends APIBase {
case "getNeedComparison":
opResult = await this.opNeedInfoSve.getNeedComparison(pobj);
break;
case "getNeedComparisonList":
opResult = await this.opNeedInfoSve.getNeedComparisonList(pobj,pobj.actionBody);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
break;
......
......@@ -41,6 +41,9 @@ class OrderAPI extends APIBase {
case "getOrdersComparison":
opResult = await this.orderinfoSve.getOrdersComparison(pobj);
break;
case "getOrdersComparisonList":
opResult = await this.orderinfoSve.getOrdersComparisonList(pobj);
break;
case "getOrderListByOrderServiceNo"://根据合同号获取子订单
opResult = await this.orderinfoSve.getOrderListByOrderServiceNo(pobj, pobj.actionBody);
break;
......
......@@ -1278,6 +1278,76 @@ class OrderInfoService extends ServiceBase {
return system.getResultSuccess(result);
}
/**
* 启服通展板 订单列表
* @param pobj
* @returns {Promise<void>}
*/
async getOrdersComparisonList(pobj){
let ab = pobj.actionBody;
let pageSize = Number(ab.pageSize || 20);
let pageIndex = Number(ab.pageIndex || 1);
let from = pageIndex == 1 ? 0 : Number((pageIndex - 1) * pageSize);
if (pageSize > 50) {
pageSize = 50;
}
let listSql = `SELECT
a.id,
a.orderNo,
a.channelOrderNo,
d.app_name,
b.itemName,
a.totalSum,
a.orderStatusName,
c.contactName,
c.mobile,
a.created_at
FROM
center_order.c_order_info a
LEFT JOIN center_order.c_order_product b ON a.orderNo = b.sourceOrderNo
LEFT JOIN center_order.c_order_contacts c on a.orderNo = c.sourceOrderNo
LEFT JOIN center_app.p_app d on a.uapp_id = d.uapp_id
WHERE
a.deleted_at IS NULL`;
let totalSql = `select count(*) count from c_order_info a left join c_order_product b on a.orderNo = b.sourceOrderNo where a.deleted_at is null `
let whereParams ={};
if(ab.start&&ab.end){
listSql += ` and a.created_at >= :start and a.created_at <= :end`;
totalSql += ` and a.created_at >= :start and a.created_at <= :end`;
whereParams.start = ab.start;
whereParams.end = ab.end;
}
if(ab.uapp_id){
listSql += ` and a.uapp_id = :uapp_id`;
totalSql += ` and a.uapp_id = :uapp_id`;
whereParams.uapp_id = ab.uapp_id;
}
if(ab.type_code){
listSql += ` and b.itemCode = :type_code`;
totalSql += ` and b.itemCode = :type_code`;
whereParams.type_code = ab.type_code;
}
if(pageSize != -1){
listSql += ` order by a.id desc limit ${pageSize} offset ${from}`;
}
let result = await this.customQuery(listSql,whereParams);
let total = await this.customQuery(totalSql,whereParams);
result = result.map(t =>{
if(t.itemName.endsWith('市')){
t.itemName = '公司注册';
}
if(t.itemName.endsWith('区')){
t.itemName = '云上园区注册';
}
return t;
})
let data ={
total:total[0].count,
rows:result
}
return system.getResult(data);
}
//根据合同号,获取子订单
async getOrderListByOrderServiceNo(pobj) {
let sql = "select `orderNo`,`channelServiceNo`,`channelOrderNo`,`channelUserId`,`ownerUserId`,`payTime`,`quantity`,`serviceQuantity`,`orderStatusName`,`orderStatus`,`totalSum`,`payTotalSum`,`refundSum`," +
......
......@@ -298,6 +298,72 @@ class NeedinfoService extends ServiceBase {
}
return system.getResultSuccess(result);
}
/**
* 获取需求列表 启服通展板
* @param pobj
* @param actionBody
* @returns {Promise<void>}
*/
async getNeedComparisonList(pobj,actionBody){
let pageSize = Number(actionBody.pageSize || 20);
let pageIndex = Number(actionBody.pageIndex || 1);
let from = pageIndex == 1 ? 0 : Number((pageIndex - 1) * pageSize);
if (pageSize > 50) {
pageSize = 50;
}
let tag = actionBody.tag;
//需求列表
let needSql = `select b.app_name,a.needNo,a.channelNeedNo,a.province,a.city,a.publishContent,a.publishName,a.publishMobile,a.statusName,a.created_at from center_order.n_need_info a left join center_app.p_app b on a.uapp_id = b.uapp_id where a.deleted_at is null`;
//需求总数
let needTotalSql = `select count(*) count from center_order.n_need_info a left join center_app.p_app b on a.uapp_id = b.uapp_id where a.deleted_at is null`;
//需求成单
let needToOrderSql = `select DISTINCT(b.needNo),c.app_name,b.channelNeedNo,b.province,b.city,b.publishContent,b.publishName,b.publishMobile,b.statusName,b.created_at from center_order.n_need_solution a left join center_order.n_need_info b on a.needNo = b.needNo left join center_app.p_app c on b.uapp_id = c.uapp_id where a.deleted_at is null and b.status = 'ycd'`;
//需求成单总数
let needToOrderTotalSql = `select count(DISTINCT(a.needNo)) count from n_need_solution a left join n_need_info b on a.needNo = b.needNo where a.deleted_at is null and b.status = 'ycd'`;
let whereParams = {};
if(actionBody.start&&actionBody.end){
needSql += ` and a.created_at >= :start and a.created_at <= :end`;
needTotalSql += ` and a.created_at >= :start and a.created_at <= :end`;
needToOrderSql += ` and b.created_at >= :start and b.created_at <= :end`;
needToOrderTotalSql += ` and b.created_at >= :start and b.created_at <= :end`;
whereParams.start = actionBody.start;
whereParams.end = actionBody.end;
}
if(actionBody.uapp_id){
needSql += ` and a.uapp_id = :uapp_id`;
needTotalSql += ` and a.uapp_id = :uapp_id`;
needToOrderSql += ` and b.uapp_id = :uapp_id`;
needToOrderTotalSql += ` and b.uapp_id = :uapp_id`;
whereParams.uapp_id = actionBody.uapp_id;
}
if(actionBody.type_code){
needSql += ` and a.typeCode = :type_code`;
needTotalSql += ` and a.typeCode = :type_code`;
needToOrderSql += ` and b.typeCode = :type_code`;
needToOrderTotalSql += ` and b.typeCode = :type_code`;
whereParams.type_code = actionBody.type_code;
}
if(pageSize != -1){
needSql += ` order by a.id desc limit ${pageSize} offset ${from}`;
needToOrderSql += ` order by b.id desc limit ${pageSize} offset ${from}`;
}
let result,total;
if(tag == 'need'){
result = await this.customQuery(needSql,whereParams);
total = await this.customQuery(needTotalSql,whereParams);
}
if(tag == 'needToOrder'){
result = await this.customQuery(needToOrderSql,whereParams);
total = await this.customQuery(needToOrderTotalSql,whereParams);
}
let data = {
total:total[0].count,
rows:result
}
return system.getResult(data);
}
}
module.exports = NeedinfoService;
......
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