'use strict';

/**
 * 标准清单控制器
 *
 * @author Mai
 * @date 2018/3/13
 * @version
 */
const StandardLibController = require('./standard_lib_controller');

module.exports = app => {
    class StdBillsController extends StandardLibController {

        /**
         * 构造函数
         *
         * @param {Object} ctx - egg全局变量
         * @return {void}
         */
        constructor(ctx) {
            super(ctx, ctx.service.stdBills);
            this.app = app;
        }

        /**
         * 根据id获取子项
         *
         * @param {Object} ctx - egg全局变量
         * @return {void}
         */
        async getChildren(ctx) {
            const responseData = {
                err: 0,
                msg: '',
                data: [],
            };
            try {
                const data = JSON.parse(ctx.request.body.data);
                if (isNaN(data.bill_id) || data.bill_id <= 0 || isNaN(data.list_id) || data.list_id <= 0) {
                    throw '参数错误';
                }
                const condition = { pid: data.bill_id, list_id: data.list_id };
                const libData = await this.model.getAllDataByCondition({ where: condition });

                responseData.data = libData;
            } catch (error) {
                responseData.err = 1;
                responseData.msg = error;
            }

            ctx.body = responseData;
        }

    }

    return StdBillsController;
};