// const ServiceBase = require("../../sve.base");
// const system = require("../../../system");
// const moment = require('moment');
// /**
//  * 平台提交的信息
//  */
// class IinvoicedelivererService extends ServiceBase {
//   constructor() {
//     super("invoice", ServiceBase.getDaoName(DelivererService));
//     this.invoiceDao = system.getObject("db.invoice.invoiceDao");

//     let is = system.getObject("util.invoiceStatus");
//     this.invoiceStatus = is.status;
//   }

//   /**
//    * 平台业务分配
//    * @param {*} params 
//    */
//   async apiAssignment(params) {
//     try {
//       return await this.assignment(params);
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }
//   /**
//  * 产看业务办理
//  * @param {*} params 
//  * {
//  *  id:xxx  发票id
//  * }
//  */
//   async apiQueryProcess(params) {
//     try {
//       return await this.queryProcess(params);
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 平台更新地址
//    * @param {*} params 
//    */
//   async apiUpEmNo(params) {
//     try {
//       if (!params.id) { return system.getResult(null, `参数错误 ID不能为空`); }
//       if (!params.platformMailNo) { return system.getResult(null, `参数错误 邮寄单号不能为空`); }
//       return await this.updateEmailNo(params);
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 申请列表（交付商）
//    * 注意：当前只有一个交付商，如果有多个交付商，则需要传入id 并且修改当前接口sql
//    * @param {*} params 
//    */
//   async apiDelivererApplyInvoices(params) {
//     try {
//       if (!params.delivererId) { return system.getResult(null, `参数错误 ID不能为空`); }
//       return await this.delivererApplyInvoices(params);
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 发票明细（交付商）
//    * @param {*} params 
//    */
//   async apiQueryInvoiceDeliverer(params) {
//     try {
//       var merchantId = params.merchantId || params.merchant_id;
//       if ((params.merchantId && params.applyNo) || params.id) {
//         let res = await this.queryInvoiceDeliverer(params.applyNo, merchantId, params.id);
//         return res;
//       } else {
//         return system.getResultSuccess();
//       }
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息：${error}`);
//     }
//   }

//   /**
//    * 交付商审批列表
//    * @param {*} params 
//    */
//   async apiDelInvs(params) {
//     try {
//       return await this.delInvs(params);
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 交付商业务概览
//    * @param {*} params 
//    */
//   async apiStatDeliverData(params) {
//     try {
//       return await this.statDeliverData(params);
//     } catch (error) {
//       console.log(error);
//       return system.getResult(null, "接口异常");
//     }
//   }

//   /**
//    * 交易数据（交付商）
//    * @param {*} params 
//    */
//   async apiDelStatTransData(params) {
//     try {
//       if(!params.delivererId){
//         return system.getResult(-1,`交付商ID不能为空`);
//       }
//       return await this.delStatTransData(params);
//     } catch (error) {
//       return system.getResult(-1,`系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 发票办理（交付商）
//    * @param {*} params
//    */
//   async apiDelStatBusinessData(params) {
//     try {
//       if(!params.delivererId){
//         return system.getResult(-1,`交付商ID不能为空`);
//       }
//       return await this.delStatBusinessData(params);
//     } catch (error) {
//       console.log(error);
//       return system.getResult(null, "接口异常");
//     }
//   }
//   //=========================================================================================//

//   /**
//    * 发票办理(交付商)
//    * @param {*} params
//    */
//   async delStatBusinessData(params) {
//     try {
//       var result = {};
//       var type = Number(params.type || 1);
//       // 查 已完成订单，待分配订单，待审核订单，办理中订单
//       var begin, end,delivererId=params.delivererId;
//       // 取开始时间
//       if (type == 1) {//本月
//         begin = moment().format("YYYY-MM") + "-01 00:00:00";
//         end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
//       } else if (type == 2) {//上个月
//         begin = moment().subtract(1, "months").format("YYYY-MM") + "-01 00:00:00";
//         end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
//       }
  
//       // 先按照订单状态查
//       let list = await this.dao.model.findAll({
//         include:[
//           {
//             association:this.dao.model.belongsTo(this.applyDao.model,{
//               foreignKey:"invoiceId",targetKey:"id"
//             }),
//             required:true,
//             attributes:['status'],
//             where:{
//               status:{
//                 [this.db.Op.in]:['1030','1040','1050','1060','1300']
//               }
//             }
//           }
//         ],
//         where:{
//           delivererId:delivererId,
//           createdAt:{
//             [this.db.Op.between]:[begin,end]
//           }
//         },
//         attributes:['id','delivererName','delivererId']
//       });
//       // 已开具 1050
//       let count = 0;
//       for(let item of list){
//         if(item.apply.status=="1050"){
//           count+=1;
//         }
//       }
//       result.completeCount = count || 0;
//       result.handlingCount = list.length-count<=0?0:list.length-count;
//       return system.getResultSuccess(result);
//     } catch (error) {
//       return system.getResult(-1,`系统错误 错误信息 ${error}`);
//     }
   
//   }
//   /**
//    * 交易数据(交付商)
//    * @param {*} params
//    */
//   async delStatTransData(params) {
//     try {
//       var result = {
//         invoiceCount: 0,
//         delivererAmount: 0,
//       };
//       var type = Number(params.type || 1);
  
//       var begin, end,delivererId=params.delivererId;
//       // 取开始时间
//       if (type == 1) {
//         begin = moment().format("YYYY-MM") + "-01 00:00:00";
//       } else if (type == 2) {
//         begin = moment().subtract(1, "months").format("YYYY-MM") + "-01 00:00:00";
//       }
  
//       // echart数据
//       var days = [];
//       var dayCounts = [];
//       var priceCounts = [];
  
//       // 处理查询业务
//       if (type == 1 || type == 2) { // 取结束时间
//         end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
//         days = this.getDays(end);
//         // 按天统计
//         var dayMap = await this.dao.delStatDayByTime(begin, end,delivererId);
//         for (var day of days) {
//           var ditem = dayMap[day] || {};
//           dayCounts.push(ditem.invoiceCount || 0);
//           priceCounts.push(system.f2y(ditem.delivererAmount || 0));
//         }
//       } else {
//         var monthMap = await this.dao.delStatMonthByTime(begin, end, delivererId);
//         var bm = monthMap.begin || "";
//         var em = monthMap.end || "";
//         if (bm && em) {
//           // 开始月份-结束月份所有月份
//           var curMonth = bm;
//           while (true) {
//             days.push(curMonth);
//             if (curMonth == em) {
//               break;
//             }
//             curMonth = moment(curMonth + "-01").add(1, "month").format("YYYY-MM");
//           }
//         }
//         for (var day of days) {
//           var ditem = monthMap[day] || {};
//           dayCounts.push(ditem.invoiceCount || 0);
//           priceCounts.push(system.f2y(ditem.delivererAmount || 0));
//         }
//       }
  
//       var invoiceApplyData = await this.dao.delStatInvoiceByTime(begin, end ,delivererId) || {};
//       result.invoiceCount = invoiceApplyData.invoiceCount;
//       result.delivererAmount = system.f2y(invoiceApplyData.delivererAmount);
  
//       result.days = days;
//       result.dayCounts = dayCounts;
//       result.priceCounts = priceCounts;
//       return system.getResultSuccess(result);
//     } catch (error) {
//       return system.getResult(null,`系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 交付商业务概览
//    * @param {*} params 
//   */
//   async statDeliverData(params) {
//   try {
//       var currentPage = Number(params.currentPage || 1);
//       var pageSize = Number(params.pageSize || 10);

//       // 处理时间
//       var type = Number(params.type || 1);
//       var begin, end;
//       // 取开始时间
//       if (type == 1) {
//         begin = moment().format("YYYY-MM") + "-01 00:00:00";
//         end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
//       } else if (type == 2) {
//         begin = moment().subtract(1, "months").format("YYYY-MM") + "-01 00:00:00";
//         end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
//       }

//       var condition = {
//         begin: begin,
//         end: end,
//       }

//       // 查总数
//       var _res = await this.dao.countStat(condition);
//       if (_res.total == 0) {
//         return system.getResultSuccess({
//           count: 0,
//           rows: []
//         });
//       }else{
//         let _str=[];
//         //这个id是交付商的id
//         for (let  item of _res.list) {
//           _str.push(`'${item.deliverer_id}'`);
//         }
//         condition.list=_str.join(",");
        
//       }

//       // 查条数
//       var startRow = (currentPage - 1) * pageSize;
//       var list = await this.dao.queryStat(condition, startRow, pageSize);
//       for (let item of list) {
//         item.totalAmount=system.f2y(item.totalAmount || 0)
//       }
//       //计算每个
//       // 设置已完成数量、办理中数量
//       var delivererIds = [];
//       for (var item of list) {
//         //这个是交付商表的主键
//         delivererIds.push(item.id);
//       }

//       var dstatusMap = await this.dao.statDeliverByStatus({
//         begin: begin,
//         end: end,
//         delivererIds: delivererIds
//       });

//       for (var item of list) {
//         item.completeCount = this.addStatCount(dstatusMap, item.id, ['1080',"1090"]);
//         item.handlingCount = this.addStatCount(dstatusMap, item.id, ['1030','1040','1050','1060','1300']);
//       }
//       return system.getResultSuccess({
//         count: _res.total,
//         rows: list
//       });    
//     } catch (error) {
//       system.getResult(-1,`系统错误 错误信息 ${error}`);
//     } 
//   }

//   addStatCount(statusMap, deliverer_id, statuses) {
//     var count = 0;
//     if (!statuses || statuses.length == 0) {
//       return count;
//     }

//     for (var status of statuses) {
//       count = count + Number(statusMap[deliverer_id + "_" + status] || 0);
//     }
//     return count;
//   }

//   /**
//  * 发票业务分配
//  * @param {*} params
//  * {
//  *    applyNo:""   //发票编号
//  *    nextStatus:"" //发票状态
//  * } 
//  */
//   async assignment(params) {
//     let obj = await this.verification(params);
//     let _apply = obj._apply;
//     let _invoice = obj._invoice;
//     try {
//       let res;
//       switch (params.nextStatus) {
//         case "1040":  //交付商以关闭
//           res = await this.examine1040(params, _apply, _invoice);
//           break;
//         case "1050":  //已开具
//           res = await this.examine1050(params, _apply, _invoice);
//           break;
//         case "1060":  //待审核
//           res = await this.examine1060(params, _apply, _invoice);
//           break;
//         case "1080": //邮寄
//           res = await this.examine1080(params, _apply, _invoice);
//           break;
//         case "1090": //已邮寄
//           res = await this.examine1090(params, _apply, _invoice);
//           break;
//         default:
//           res = system.getResult(null, "action_type参数错误");
//           break;
//       }
//       return res;
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 交付商拒绝
//    * @param {*} params
//    * {
//    *    "id":"xxx",
//    *    "nextStatus":"1040",
//    *    ""
//    * } 
//    * @param {*} _apply 
//    * //将申请表中的delivererId 变成null,
//    * //将invoice和apply 中的状态待分配 1020
//    * //添加拒绝原因
//    */
//   async examine1040(params, _apply, _invoice) {
//     //更改发票表信息
//     _invoice.status = this.trim(params.nextStatus);
//     //添加拒绝原因
//     let delivererData = {
//       breakReason: this.trim(params.breakReason),
//       id: _apply.delivererId
//     };
//     //更改申请表信息
//     _apply.status = "1020";
//     _apply.delivererId = null;
//     let applyData = {};
//     applyData.id = _apply.id;
//     applyData.status = "1020";
//     applyData.delivererId = '';

//     let invoiceData = {};
//     invoiceData.status = "1020";

//     await this.db.transaction(async (t) => {
//       //更新申请表状态
//       await this.applyDao.update(applyData, t);
//       //更新发票表状态
//       await this.invoiceDao.update(invoiceData, t);
//       //更新拒绝原因
//       await this.dao.update(delivererData, t);
//     }).catch(error => {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     });
//     return system.getResultSuccess();
//   }

//   /**
//    * 交付商开具
//    * @param {*} params
//    * @param {*} _apply 
//    */
//   async examine1050(params, _apply, _invoice) {

//     //更改发票表信息
//     let invoiceData = {};
//     invoiceData.id = params.id;
//     invoiceData.invoiceNo = this.trim(params.invoiceNo);
//     invoiceData.invoiceTime = this.trim(params.invoiceTime);
//     invoiceData.invoiceImg = this.trim(params.invoiceImg);
//     invoiceData.status = this.trim(params.nextStatus);
//     //更改申请表信息
//     let applyData = {};
//     applyData.id = params.id;
//     applyData.status = this.trim(params.nextStatus);
//     applyData.customerStatus = this.trim(params.nextStatus);
//     await this.db.transaction(async (t) => {
//       //更新申请表状态
//       await this.applyDao.update(applyData, t);
//       //更新发票表状态
//       await this.invoiceDao.update(invoiceData, t);
//     }).catch(error => {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     });
//     return system.getResultSuccess();
//   }

//   /**
//    * 交付商提交审核
//    * @param {*} params
//    * {
//    *    nextStatus:xxx,   //发票状态
//    *    id:xxx          //发票id
//    * } 
//    * @param {*} _apply 
//    */
//   async examine1060(params, _apply, _invoice) {
//     let invoiceData = {}, applyData = {};
//     invoiceData.status = params.nextStatus;
//     invoiceData.id = params.id;
//     if (params.invoiceNo) {
//       invoiceData.invoiceNo = this.trim(params.invoiceNo);
//     }
//     if (params.invoiceTime) {
//       invoiceData.invoiceTime = this.trim(params.invoiceTime);
//     }
//     if (params.invoiceImg) {
//       invoiceData.invoiceImg = this.trim(params.invoiceImg);
//     }
//     applyData.status = params.nextStatus;
//     applyData.id = params.id;
//     await this.db.transaction(async (t) => {
//       //更新申请表状态
//       await this.applyDao.update(applyData, t);
//       //更新发票表状态
//       await this.invoiceDao.update(invoiceData, t);
//     }).catch(error => {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     });
//     return system.getResultSuccess();
//   }

//   /**
//    * 交付商已邮寄
//    * @param {*} params
//    * {
//    *    nextStatus:xxx,   //发票状态
//    *    id:xxx          //发票id
//    * } 
//    * @param {*} _apply 
//    */
//   async examine1080(params, _apply, _invoice) {
//     let invoiceData = {}, applyData = {}, delivererData = {};
//     //更改发票表信息
//     invoiceData.status = this.trim(params.nextStatus);
//     invoiceData.mailNo = this.trim(params.mailNo);
//     invoiceData.id = this.trim(params.id);
//     //更改申请表信息
//     applyData.status = this.trim(params.nextStatus);
//     applyData.id = this.trim(params.id);
//     //交付商
//     let _deliverer = await this.dao.findOne({ id: _apply.delivererId });
//     delivererData.delivererMailNo = params.mailNo;
//     delivererData.id = _deliverer.id;

//     await this.db.transaction(async (t) => {
//       //更新申请表状态
//       await this.applyDao.update(applyData, t);
//       //更新发票表状态
//       await this.invoiceDao.update(invoiceData, t);
//       //更新交付商信息 
//       await this.dao.update(delivererData, t);
//     }).catch(error => {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     });
//     return system.getResultSuccess();
//   }

//   /**
//    * 检查状态是否正确
//    * @param {*} params 
//    * {
//    *    id:xxx  //发票id
//    *    nextStatus:xxx  //发票状态
//    * }
//    */
//   async verification(params) {
//     let _apply = await this.applyDao.findOne({ id: params.id });
//     let _invoice = await this.invoiceDao.findOne({ id: params.id });
//     if (!_invoice) { return system.getResult(null, `此发票不存在`); }
//     //获取当前状态 的对象
//     let _status = this.invoiceStatus[_invoice.status];
//     //如果不符合状态则退出
//     if (params.nextStatus == "1300" || params.nextStatus == "1040" || params.nextStatus == "1010") {
//       let obj = {
//         _apply: _apply,
//         _invoice: _invoice
//       };
//       return obj;
//     } else if (!_status && _status.dstatus != params.nextStatus) {
//       let name = this.invoiceStatus[this.invoiceStatus[_invoice.status].dstatus].name;
//       return system.getResult(null, `更新状态错误，提示：当前状态的下一个状态是 ${name}`);
//     }
//     let obj = {
//       _apply: _apply,
//       _invoice: _invoice
//     };
//     return obj;
//   }

//   /**
//    * 查看业务办理
//    */
//   async queryProcess(params) {
//     let _apply = await this.applyDao.model.findOne({ where: { id: this.trim(params.id) }, attributes: ['delivererId'] });
//     if (!_apply) {
//       return system.getResult(null, `发票不存在`);
//     }
//     let _deliverer = await this.dao.findOne({ id: _apply.delivererId });
//     return system.getResult(_deliverer);
//   }

//   /**
//    * 平台更新邮寄地址
//    * @param {*} params 
//    */
//   async updateEmailNo(params) {
//     try {
//       let _apply = await this.applyDao.model.findOne({ where: { id: this.trim(params.id) }, attributes: ['delivererId'] });
//       if (!_apply) { return system.getResult(null, `发票不存在，请确认发票ID`); }
//       let _deliverer = await this.dao.model.findOne({ where: { id: _apply.delivererId } });
//       if (!_deliverer) { return system.getResult(null, `交付商办理信息不存在，请联系管理员`); }
//       _deliverer.platformMailNo = this.trim(params.platformMailNo);
//       let res = await _deliverer.save();
//       return system.getResult(res);
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 交付商申请列表
//    * @param {*} params 
//    */
//   async delivererApplyInvoices(params) {
//     try {
//       if (params.delivererId) { 
//         params.delivererId=this.trim(params.delivererId);
//       }
//       if (this.trim(params.applyNo)) {
//         params.applyNo=this.trim(params.applyNo);
//       }
//       if (this.trim(params.invoiceTime)) {
//         params.invoiceTime=this.trim(params.invoiceTime);
//       }
//       if (this.trim(params.startTime)) {
//         params.startTime=this.trim(params.startTime);
//       }
//       if (this.trim(params.endTime)) {
//         params.endTime=this.trim(params.endTime);
//       }
//       if (this.trim(params.type)) {
//         params.type=this.trim(params.type);
//       }
//       if (this.trim(params.status)) {
//         params.status=this.trim(params.status);
//       }

//       params.statRow = (Number(this.trim(params.pageIndex)) - 1) * Number(this.trim(params.pageSize));
//       if (params.statRow <= 0) { params.statRow = 0; }
//       params.pageSize = Number(this.trim(params.pageSize)) <= 0 ? 10 : Number(this.trim(params.pageSize));

//       let total = await this.dao.countApplyByParams(params);
//       if (total[0].count == 0) {
//         let res = { rows: [], count: 0 };
//         return system.getResult(res);
//       }

//       let rows = await this.dao.delivererApplyInvoices(params);
//       for (let item of rows) {
//         if (item.type == "10") {
//           item.type = "普通发票";
//         } else if (item.type == "20") {
//           item.type = "增值税专用发票";
//         } else if (item.type == "30") {
//           item.type = "电子发票";
//         } else {
//           item.type = "";
//         }
//         this.handleDate(item, ["invoice_time"], "YYYY-MM-DD HH:mm:ss", -8);
//         this.dao.setRowCodeName(item, "status");
//       }

//       let res = { count: total[0].count, rows: rows };
//       return system.getResult(res);
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 查询发票明细（交付商）
//    * @param {*} applyNo 
//    * @param {*} merchantId
//    */
//   async queryInvoiceDeliverer(applyNo, merchantId, id) {
//     try {
//       let _apply;
//       if (merchantId && applyNo) {
//         _apply = await this.applyDao.model.findOne({
//           where: {
//             merchantId: this.trim(merchantId),
//             applyNo: this.trim(applyNo)
//           },
//           attributes: this._applyAttribute,
//           raw: true
//         });
//       } else if (id) {
//         _apply = await this.applyDao.model.findOne({
//           where: { id: this.trim(id) },
//           attributes: this._applyAttribute,
//           raw: true
//         });
//       } else {
//         _apply = null;
//       }
//       if (!_apply) { return system.getResult(null) }

//       //格式化字典
//       _apply.isBank = this.isBank == 1 ? '开户' : '未开户';
//       if (_apply.type == 10) {
//         _apply.type = "普通发票";
//       } else if (_apply.type == 20) {
//         _apply.type = "增值税专用发票";
//       } else {
//         _apply.type = "电子发票"
//       }
//       //格式化日期
//       this.handleDate(_apply, ["invoiceTime"], "YYYY-MM-DD HH:mm:ss", -8);
//       this.handleDate(_apply, ["createdAt"], "YYYY-MM-DD HH:mm:ss", -8);

//       //查询平台审批内容
//       let deliverer = await this.dao.model.findOne({
//         where: { id: _apply.delivererId },
//         raw: true,
//         attributes: this._delivererAttribute
//       });

//       //查询发票信息
//       let invoice = await this.invoiceDao.model.findOne({
//         where: { id: _apply.id },
//         attributes: this._invoiceAttribute,
//         raw: true
//       });
//       this.handleDate(invoice, ["invoiceTime"], "YYYY-MM-DD HH:mm:ss", -8);
//       this.handleDate(invoice, ["taxTime"], "YYYY-MM-DD HH:mm:ss", -8);
//       invoice.complateTax = invoice.complateTax == 1 ? '已完税' : '未完税';
//       deliverer.status = invoice.status;
//       //格式化状态
//       this.dao.setRowCodeName(deliverer, "status");
//       _apply.deliverer = deliverer;
//       delete invoice["status"];
//       _apply.invoice = invoice;
//       _apply.deliverer = deliverer || null;
//       return system.getResult(_apply);

//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息：${error}`);
//     }
//   }

//   /**
//    * 发票列表（交付商）
//    * @param {*} params 
//    */
//   async delInvs(params) {

//     if (params.delivererId) { 
//       params.delivererId=this.trim(params.delivererId);
//     }
//     if (this.trim(params.applyNo)) {
//       params.applyNo=this.trim(params.applyNo);
//     }
//     if (this.trim(params.invoiceNo)) {
//       params.invoiceNo=this.trim(params.invoiceNo);
//     }
//     if (this.trim(params.invoiceTime)) {
//       params.invoiceTime=this.trim(params.invoiceTime);
//     }
//     if (this.trim(params.startTime)) {
//       params.startTime=this.trim(params.startTime);
//     }
//     if (this.trim(params.endTime)) {
//       params.endTime=this.trim(params.endTime);
//     }
//     if (this.trim(params.type)) {
//       params.type=this.trim(params.type);
//     }
//     if (this.trim(params.status)) {
//       params.status=this.trim(params.status);
//     }
//     if (this.trim(params.complateTax) == "1" || this.trim(params.complateTax) == "0") {
//       params.complateTax=this.trim(params.complateTax);
//     }
//     if (this.trim(params.redStatus)) {
//       params.red_status=this.trim(params.red_status);
//     }
//     params.statRow = (Number(this.trim(params.pageIndex)) - 1) * Number(this.trim(params.pageSize));
//     if (params.statRow <= 0) { params.statRow = 0; }
//     params.pageSize = Number(this.trim(params.pageSize)) <= 0 ? 10 : Number(this.trim(params.pageSize));

//     try {
//       //查总数
//       let total = await this.dao.countInvoiceByParams(params);
//       //查列表信息
//       let rows = await this.dao.delivererInvoices(params);
//       for (let item of rows) {
//         if (item.type == 10) {
//           item.type = '普通发票';
//         } else if (item.type == 20) {
//           item.type = '增值税专用发票';
//         } else if (item.type == 30) {
//           item.type = '电子发票';
//         } else { }

//         if (item.red_status == 1) {
//           item.red_status = '未红冲';
//         } else if (item.red_status == 2) {
//           item.red_status = '红冲中';
//         } else if (item.red_status == 3) {
//           item.red_status = '红冲失败';
//         } else if (item.red_status == 4) {
//           item.red_status = '红冲成功';
//         } else {
//           item.red_status = '';
//         }
//         item.month = moment(item.invoice_time).month() + 1;
//         item.complate_tax = item.complate_tax == 1 ? '已完成' : '未完成';
//         this.handleDate(item, ["invoice_time"], "YYYY-MM-DD HH:mm:ss", -8);
//         this.dao.setRowCodeName(item, "status");
//       }
//       let res = { count: total[0].count, rows: rows };
//       return system.getResult(res);
//     } catch (error) {
//       return system.getResult(null, `系统错误 错误信息 ${error}`);
//     }
//   }

//   /**
//    * 列举所有日期
//    * @param {*} end 
//    */
//   getDays(end) {
//     var days = [];
//     var month = moment(end).format("YYYY-MM");
//     var endDay = Number(moment(end).format("DD"));
//     for (var i = 1; i <= endDay; i++) {
//       if (i < 10) {
//         days.push(month + "-0" + i);
//       } else {
//         days.push(month + "-" + i);
//       }
//     }
//     return days;
//   }

//   // addStatCount(statusMap, statuses) {
//   //   var count = 0;
//   //   if(!statuses) {
//   //     return count;
//   //   }

//   //   for(var status of statuses) {
//   //     count = count + Number(statusMap[status] || 0);
//   //   }
//   //   return count;
//   // }


// }
// module.exports = IinvoicedelivererService;