Jelajahi Sumber

面料出入库

qiuenguang 9 bulan lalu
induk
melakukan
1f758cae65

+ 163 - 706
application/api/controller/WorkOrder.php

@@ -144,172 +144,6 @@ class WorkOrder extends Api
         $this->success('成功', ['data' => $list, 'total' => count($count)]);
     }
 
-
-    /**
-     * 编辑页面展示
-     * @ApiMethod (GET)
-     * @param string $workOrder   工单编号
-     * @return void
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     */
-//    public function DataCorrection()
-//    {
-//        if ($this->request->isGet() === false){
-//            $this->error('请求错误');
-//        }
-//        $workOrder = input('Gd_gdbh');
-//        if (empty($workOrder)){
-//            $this->error('参数错误');
-//        }
-//        $field = 'rtrim(Gd_lx) as 重点工单,rtrim(Gd_gdbh) as 工单编号,rtrim(Gd_生产分类) as 生产类型,rtrim(Gd_khdh) as 客户代号,rtrim(Gd_客户名称) as 客户名称,
-//        rtrim(Gd_cpdh) as 印件代号,rtrim(Gd_cpmc) as 印件名称,rtrim(成品代号) as 产品代号,rtrim(成品名称) as 产品名称,rtrim(接单日期) as 开单日期,rtrim(订单数量) as 订单数量,rtrim(交货日期) as 交货日期,
-//        rtrim(投料率) as 投料率,rtrim(实际投料) as 万小张,rtrim(计量单位) as 单位,rtrim(投料大箱) as 投料大箱,rtrim(排产时库存) as 库存大箱,rtrim(警语版面) as 警语版面,
-//        rtrim(销售订单号) as 销售订单号,rtrim(产品版本号) as 版本号,rtrim(客户ERP编码) as 客户ERP编码,rtrim(码源数量) as 码源数量,rtrim(进程备注) as 进程备注,rtrim(Gd_desc) as 备注,rtrim(Uniqid) as Uniqid,rtrim(计划投料) as 平张投料';
-//        $list = \db('工单_基本资料')->where('Gd_gdbh',$workOrder)->field($field)->find();
-//        if (empty($list)){
-//            $this->error('未找到该工单信息');
-//        }
-//        $printData = \db('工单_印件资料')
-//            ->where('Yj_Gdbh',$workOrder)
-//            ->field('rtrim(yj_yjmc) as 印件名称,rtrim(yj_Yjdh) as 印件代号,rtrim(Uniqid) as id')
-//            ->cache(true,84600)
-//            ->find();
-//        if (empty($printData)){
-//            $list['印件名称'] = '';
-//            $list['印件代号'] = '';
-//            $list['印件ID'] = '';
-//        }else{
-//            $list['印件名称'] = $printData['印件名称'];
-//            $list['印件代号'] = $printData['印件代号'];
-//            $list['印件ID'] = $printData['id'];
-//        }
-//        $this->success('成功',$list);
-//    }
-
-    /**
-     * 工单资料修改
-     * @ApiMethod (POST)
-     * @param  void
-     * @return void
-     * @throws \think\Exception
-     * @throws \think\exception\PDOException
-     */
-
-//    public function WorkOrderEdit()
-//    {
-//        if (Request::instance()->isPost() === false){
-//            $this->error('请求错误');
-//        }
-//        $param = Request::instance()->post();
-//        if (empty($param) || isset($param['Uniqid']) === false){
-//            $this->error('参数错误');
-//        }
-//        $row = [
-//            'Gd_lx' => isset($param['lx'])?$param['lx']:'',
-//            '开单日期' => isset($param['kdrq'])?$param['kdrq']:'',
-//            'Gd_gdbh' => isset($param['gdbh'])?$param['gdbh']:'',
-//            'Gd_生产分类' => isset($param['scfl'])?$param['scfl']:'',
-//            'Gd_客户代号' => isset($param['khdh'])?$param['khdh']:'',
-//            'Gd_客户名称' => isset($param['khmc'])?$param['khmc']:'',
-//            '成品代号' => isset($param['cpdh'])?$param['cpdh']:'',
-//            '成品名称' => isset($param['cpmc'])?$param['cpmc']:'',
-//            '订单数量' => isset($param['ddsl'])?$param['ddsl']:'',
-//            '交货日期' => isset($param['jhrq'])?$param['jhrq']:'',
-//            '投料率' => isset($param['tll'])?$param['tll']:'',
-//            '计划投料' => isset($param['jhtl'])?$param['jhtl']:'',
-//            '实际投料' => isset($param['sjtl'])?$param['sjtl']:'',
-//            '计量单位' => isset($param['jldw'])?$param['jldw']:'',
-//            '投料大箱' => isset($param['tldx'])?$param['tldx']:'',
-//            '销售订单号' => isset($param['xsddh'])?$param['xsddh']:'',
-//            '警语版面' => isset($param['jymb'])?$param['jymb']:'',
-//            '产品版本号' => isset($param['bbh'])?$param['bbh']:'',
-//            '客户ERP编码' => isset($param['erp'])?$param['erp']:'',
-//            '码源数量' => isset($param['ymsl'])?$param['ymsl']:'',
-//            '进程备注' => isset($param['jcbz'])?$param['jcbz']:'',
-//            'Gd_desc' => isset($param['desc'])?$param['desc']:'',
-//            '排产时库存' => isset($param['kc'])?$param['kc']:'',
-//            '平均合格率' => isset($param['avg'])?$param['avg']:'',
-//        ];
-//        //获取印件资料
-//        $printCode = \db('工单_印件资料')
-//            ->where('Uniqid',$param['printID'])
-//            ->value('yj_Yjno');
-//        if (!empty($printCode)){
-//            if ((int)$param['jhtl'] >0){
-//                //修改工单工艺计划产量
-//                $result = $this->PlannedProcessYield($param['gdbh'],$printCode,0,$param['jhtl']);
-//                if ($result === false){
-//                    $this->success('分配工序计划产量失败');
-//                }
-//            }
-//
-//            //修改印件信息
-//            $printSql = \db('工单_印件资料')
-//                ->where('Uniqid',$param['printID'])
-//                ->fetchSql(true)
-//                ->update(['Yj_Gdbh'=>$param['gdbh'],'yj_yjmc'=>$param['yjmc'],'yj_Yjdh'=>$param['yjdh'],'yj_平张投料'=>$param['jhtl']]);
-//            $printRes = Db::query($printSql);
-//        }
-//        //修改工单信息
-//        $sql = \db('工单_基本资料')->where('Uniqid',$param['Uniqid'])->fetchSql(true)->update($row);
-//        $res = Db::query($sql);
-//        //修改订单数量该工单下的订单数量
-//        //1. 查询该id下的工单编号, 防止其手动修改工单编号导致条件错误
-//        $gdbh = \db('工单_基本资料')->where('Uniqid',$param['Uniqid'])->value('Gd_gdbh');
-//        //2. 根据查出的工单编号修改订单数量
-//        $sql = \db('工单_基本资料')->where('Gd_gdbh',$param['gdbh'])->fetchSql(true)->update(['订单数量'=>$row['订单数量']]);
-//        $res1 = Db::query($sql);
-//        if ($res !== false && $res1 !== false){
-//            $this->success('成功');
-//        }else{
-//            $this->error('失败');
-//        }
-//    }
-
-
-    /**
-     * U8投料试算
-     * @ApiMethod (GET)
-     * @param string  $processCode   产品编号
-     * @return void
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     */
-
-//    public function U8Trial()
-//    {
-//        if ($this->request->isGet() === false)
-//        {
-//            $this->error('请求错误');
-//        }
-//        $productCode = input('productCode');
-//        if (empty($productCode)){
-//            $this->error('参数错误');
-//        }
-//        $field = 'rtrim(Gy0_cpdh) as 产品代号,rtrim(Gy0_yjno) as 印件号,rtrim(Gy0_gxh) as 工序号,rtrim(gy0_gxmc) as gxmc,rtrim(Add_gxmc) as add_gxmc,
-//        rtrim(Gy0_Ms) as 墨色数,rtrim(Gy0_shdh) as 损耗代号,rtrim(损耗系数) as 损耗系数,rtrim(Gy0_ls) as 加工联数';
-//        $list = \db('产品_工艺资料')->where('Gy0_cpdh',$productCode)->field($field)->select();
-//        if (empty($list)){
-//            $this->success('未找到该产品工序');
-//        }
-//        foreach ($list as $key=>$value){
-//            $data = \db('dic_lzsh')->where('sys_bh',$value['损耗代号'])->field('rtrim(sys_rate0) as rate0,rtrim(sys_rate1) as rate1')->cache(true)->find();
-//            $list[$key]['调机损耗'] = isset($data['rate0'])?$data['rate0']:'';
-//            $list[$key]['运行损耗率'] = isset($data['rate1'])?$data['rate1']:'';
-//            if ($value['add_gxmc'] !== ''){
-//                $list[$key]['工序名称'] = $value['gxmc'].'【'.$value['add_gxmc'].'】';
-//            }else{
-//                $list[$key]['工序名称'] = $value['gxmc'];
-//            }
-//            unset($list[$key]['gxmc'],$list[$key]['add_gxmc']);
-//        }
-//        $this->success('成功',$list);
-//    }
-
-
     /**
      * 月度客户订单汇总
      */
@@ -341,260 +175,6 @@ class WorkOrder extends Api
         $this->success('请求成功', ['data' => $result]);
     }
 
-//    public function ProductInformation(){
-//        if ($this->request->isGet() === false) {
-//            $this->error('请求错误');
-//        }
-//        $where['j.gd_statu'] = '2-生产中';
-//        $where['j.Mod_rq'] = null;
-//
-//        $data = \db('工单_基本资料')->alias('j')
-//            ->field('j.客户编号, REPLACE(DATE_FORMAT(j.Sys_rq, "%Y-%m"), "-", "") as 年月, GROUP_CONCAT(DISTINCT j.订单编号) as 订单编号')
-//            ->where($where)
-//            ->order('j.客户编号 asc')
-//            ->group('j.客户编号, 年月')
-//            ->select();
-//        $result = [];
-//        foreach ($data as $item) {
-//            $orderlist = count(explode(',', $item['订单编号']));
-//            $result[$item['年月']][] = [$item['客户编号'] . '【生产中:' . $orderlist . '】',
-//            ];
-//        }
-//
-//        $this->success('请求成功', ['data' => $result]);
-//    }
-
-
-
-    /**
-     * 引用产品资料->复制产品工艺资料
-     * @ApiMethod  (POST)
-     * @param string $oldWorkOrder   被复制工单编号
-     * @param string $newWorkOrder   复制工单编号
-     * @return void
-     * @throws \think\Exception
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     * @throws \think\exception\PDOException
-     */
-
-//    public function ProductInformationEdit()
-//    {
-//        if (Request::instance()->isPost() === false)
-//        {
-//            $this->error('请求错误');
-//        }
-//        $oldWorkOrder = input('oldWorkOrder');
-//        $newWorkOrder = input('newWorkOrder');
-//        if (empty($oldWorkOrder) || empty($newWorkOrder))
-//        {
-//            $this->error('参数错误');
-//        }
-//        $lastId = \db('工单_工艺资料')->order('UniqId desc')->value('UniqId');
-//        if ($lastId<10000000){
-//            $lastId = 10000000;
-//        }else{
-//            $lastId = $lastId + 1;
-//        }
-//        //获取原工单工艺资料
-//        $oldProcessData = \db('工单_工艺资料')->where('Gy0_gdbh',$newWorkOrder)->select();
-//        $ProsessUniqId = \db('工单_工艺资料')->field('UniqId')->order('UniqId desc')->find();
-//        foreach ($oldProcessData as $k=>$v){
-//            $oldProcessData[$k]['Gy0_gdbh']  = $oldWorkOrder;
-//            $oldProcessData[$k]['Sys_id'] = '';
-//            $oldProcessData[$k]['Gy0_sj1'] = '1900-01-01 00:00:00';
-//            $oldProcessData[$k]['Gy0_sj2'] = '1900-01-01 00:00:00';
-//            $oldProcessData[$k]['UniqId'] = $lastId + $k;
-//            $oldProcessData[$k]['PD_WG'] = '1900-01-01 00:00:00';
-//        }
-//        if (\db('工单_工艺资料')->where('Gy0_gdbh',$oldWorkOrder)->find()){
-//            \db('工单_工艺资料')->where('Gy0_gdbh',$oldWorkOrder)->delete();
-//        }
-//        //获取原工单印件资料
-//        $lastUniqId = \db('工单_印件资料')->order('UniqId desc')->value('UniqId');
-//        if ($lastUniqId<1000000){
-//            $lastUniqId = 1000000;
-//        }else{
-//            $lastUniqId = $lastUniqId + 1;
-//        }
-//        $oldPrintData = \db('工单_印件资料')->where('Yj_Gdbh',$newWorkOrder)->select();
-//        $PrintUniqId = \db('工单_印件资料')->field('Uniqid')->order('Uniqid desc')->find();
-//        foreach ($oldPrintData as $k=>$v){
-//            $oldPrintData[$k]['Yj_Gdbh']  = $oldWorkOrder;
-//            $oldPrintData[$k]['Sys_id'] = '';
-//            $oldPrintData[$k]['Uniqid'] = $lastUniqId +$k +1;
-//        }
-//        if (\db('工单_印件资料')->where('Yj_Gdbh',$oldWorkOrder)->find()){
-//            \db('工单_印件资料')->where('Yj_Gdbh',$oldWorkOrder)->delete();
-//        }
-//        //复制印件、工艺资料
-//        $ProcessSQL = \db('工单_工艺资料')->fetchSql(true)->insertAll($oldProcessData);
-//        $ProcessRes = Db::query($ProcessSQL);
-//        $PrintSQL = \db('工单_印件资料')->fetchSql(true)->insertAll($oldPrintData);
-//        $PrintRes = Db::query($PrintSQL);
-//        if ($ProcessRes !== false && $PrintRes !== false){
-//            $this->success('成功');
-//        }else{
-//            $this->error('失败');
-//        }
-//    }
-
-
-    /**
-     * 工艺流程调成->获取当前工单工艺资料
-     * @ApiMethod (GET)
-     * @param string $workorder  当前工单编号
-     * @return void
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     */
-//    public function ProcessFlow()
-//    {
-//        if ($this->request->isGet() === false){
-//            $this->error('请求错误');
-//        }
-//        $workOrder = input('workOrder');
-//        if (empty($workOrder)){
-//            $this->error('参数错误');
-//        }
-//        $list = \db('工单_基本资料')->where('Gd_gdbh',$workOrder)->field('rtrim(成品代号) as 成品编号,rtrim(成品名称) as 成品名称')->find();
-//        if (empty($list)){
-//            $this->success('未找到工单信息');
-//        }
-//        $filed = 'rtrim(Gy0_方案) as 方案,rtrim(Gy0_yjno) as 印件号,rtrim(Gy0_gxh) as 工序号,rtrim(Gy0_gxmc) as gxmc,rtrim(Add_gxmc) as add_gxmc,
-//        rtrim(工价系数) as 工价系数,rtrim(损耗系数) as 损耗系数,rtrim(Gy0_ks) as ks,rtrim(Gy0_ls) as ls,rtrim(工序备注) as 备注,rtrim(Gy0_SITE) as 车间,
-//        rtrim(Gy0_sbbh) as 设备编号,rtrim(Gy0_sbmc) as 设备名称,rtrim(Sys_id) as 建档用户,rtrim(Sys_rq) as 建档时间,rtrim(Mod_rq) as 更新时间,rtrim(UniqId) as UniqId';
-//        $process = \db('工单_工艺资料')->where('Gy0_gdbh',$workOrder)->cache(true,84600)->field($filed)->select();
-//        if (empty($process)){
-//            $this->error('未找到该工单工艺资料');
-//        }
-//        foreach ($process as $key=>$value){
-//            if (isset($value['add_gxmc'])){
-//                $process[$key]['工序名称'] = $value['gxmc'] . '【'.$value['add_gxmc'].'】';
-//            }else{
-//                $process[$key]['工序名称'] = $value['gxmc'];
-//            }
-//            $process[$key]['工价系数'] = (float)$value['工价系数'];
-//            $process[$key]['损耗系数'] = (float)$value['损耗系数'];
-//            $process[$key]['开数*联数'] = $value['ks'].'*'.$value['ls'];
-//        }
-//        $list['process'] = $process;
-//        $this->success('成功',$list);
-//    }
-
-    /**
-     * 参照工单列表获取
-     * @ApiMethod (GET)
-     * @param string $workOrder  工单编号
-     * @param string $productCode   产品代号
-     * @return void
-     */
-//    public function ReferenceWorkOrder()
-//    {
-//        if ($this->request->isGet() === false){
-//            $this->error('请求错误');
-//        }
-//        $productCode = input('productCode');
-//        $workOrder = input('workOrder');
-//        if (empty($productCode) || empty($workOrder)){
-//            $this->error('参数错误');
-//        }
-//        $list = \db('工单_基本资料')->where('成品代号',$productCode)->distinct(true)->where('Gd_gdbh','<>',$workOrder)->column('Gd_gdbh');
-//        if (empty($list)){
-//            $this->success('未获取该产品其他工单信息');
-//        }
-//        $this->success('成功',$list);
-//    }
-
-    /**
-     * 工艺资料复制
-     * @ApiMethod (POST)
-     * @param  string $oldWorkOrder    被复制工单编号
-     * @param  string $newWorkOrder    复制工单编号
-     * @return void
-     * @throws \think\Exception
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     * @throws \think\exception\PDOException
-     *
-     */
-//    public function ProcessCopy()
-//    {
-//        if (Request::instance()->isPost() === false){
-//            $this->error('请求错误');
-//        }
-//        $param = Request::instance()->post();
-//        if (empty($param)){
-//            $this->error('参数错误');
-//        }
-//        $UniqId = [];
-//        $lastId = \db('工单_工艺资料')->field('rtrim(UniqId) as id')->order('UniqId desc')->find();
-//        if ($lastId['id']>10000000){
-//            $lastUniqId = $lastId['id'];
-//        }else{
-//            $lastUniqId = 10000000;
-//        }
-//        foreach ($param as $key=>$value){
-//            $UniqId[$key] = $value['UniqId'];
-//        }
-//        $processList = \db('工单_工艺资料')->where('UniqId','in',$UniqId)->select();
-//        if (empty($processList)){
-//            $this->success('未找到工艺资料');
-//        }
-//        $data = [];
-//        foreach ($param as $key=>$value){
-//            foreach ($processList as $k=>$v){
-//                if ($value['UniqId'] = $v['UniqId']){
-//                    $data[$key] = $v;
-//                    $data[$key]['Gy0_gxh'] = $value['gxh'];
-//                    $data[$key]['Gy0_gdbh'] = $value['workOrder'];
-//                    $data[$key]['UniqId'] = $lastUniqId + $key + 1;
-//                }
-//            }
-//        }
-//        $res = \db('工单_工艺资料')->where(['Gy0_gdbh'=>$param[0]['workOrder']])->delete();
-//        if ($res !== false){
-//            $result = \db('工单_工艺资料')->insertAll($data);
-//            if ($result !== false){
-//                $this->success('成功');
-//            }else{
-//                $this->error('失败');
-//            }
-//        }else{
-//            $this->error('失败');
-//        }
-//    }
-
-    /**
-     * U8工单列表
-     * @ApiMethod (GET)
-     * @param  void
-     * @return void
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     */
-//    public function U8workOrder()
-//    {
-//        if ($this->request->isGet() === false){
-//            $this->error('请求错误');
-//        }
-//        $param = $this->request->param();
-//        if (empty($param)){
-//            $this->error('参数错误');
-//        }
-//        $filed = 'rtrim(Gd_gdbh) as 工单编号,rtrim(行号) as 行号,rtrim(Gd_客户代号) as 客户代号,rtrim(Gd_客户名称) as 客户名称,
-//        rtrim(成品代号) as 成品代号,rtrim(成品名称) as 成品名称,rtrim(Mod_rq) as 获取日期,rtrim(Uniqid) as 序号';
-//        $list = \db('工单_基本资料')->where('Gd_gdbh',$param['workOrder'])->field($filed)->select();
-//        if (empty($list)){
-//            $this->success('未找到工单');
-//        }
-//        $this->success('成功',$list);
-//    }
-
     /**
      * U8工单资料删除
      * @param string $workOrder  工单编号
@@ -631,40 +211,6 @@ class WorkOrder extends Api
     }
 
 
-    /**
-     *
-     */
-//    public function TestCoefficient()
-//    {
-
-//    }
-
-    /**
-     *
-     */
-//    public function TestCoefficientEdit()
-//    {
-
-//    }
-
-
-    /**
-     *
-     */
-//    public function AccountingParameter()
-//    {
-
-//    }
-
-
-    /**
-     *
-     */
-//    public function AccountingParameterEdit()
-//    {
-
-//    }
-
     /**
      * 印件资料修改
      * @ApiMethod (POST)
@@ -776,66 +322,6 @@ class WorkOrder extends Api
         }
     }
 
-    /**
-     *
-     */
-//    public function MachineList()
-//    {
-
-//    }
-
-    /**
-     *
-     */
-//    public function PrintCodeList()
-//    {
-
-//    }
-
-    /**
-     *
-     */
-//    public function ProcessCodeList()
-//    {
-
-//    }
-    /**
-     *
-     */
-//    public function PrintJobOrder()
-//    {
-
-//    }
-
-    /**
-     *
-     */
-//    public function workOrderDetailGet($workOrder,$yjno)
-//    {
-
-//    }
-
-    /**
-     */
-//    public function MaterielDetailGet($workOrder)
-//    {
-
-//    }
-
-    /**
-     */
-//    public function PrintDetailGet($workOrder,$yjno,$gxh)
-//    {
-
-//    }
-
-    /**
-     *
-     */
-
-//    public function capacityList(){
-//    }
-
 
     /**
      * 新增工单->添加工单
@@ -845,7 +331,6 @@ class WorkOrder extends Api
 
     public function WorkOrderAdd()
     {
-//        var_dump(1);exit;
         if (Request::instance()->isPost() === false){
             $this->error('请求错误');
         }
@@ -853,7 +338,6 @@ class WorkOrder extends Api
         if (empty($param)){
             $this->error('参数错误');
         }
-
         $param['Sys_rq'] = date('Y-m-d H:i:s');
         $param['gd_statu'] = '1-计划中';
 
@@ -877,72 +361,95 @@ class WorkOrder extends Api
         } else {
             $param['订单编号'] = $param['订单编号'];
         }
+        $data = $param;
+        unset($data['关联订单']);
+        unset($data['关联面料ID']);
         //新增订单插入至工单基本资料
-        $sql = \db('工单_基本资料')->fetchSql(true)->insert($param);
+        $sql = \db('工单_基本资料')->fetchSql(true)->insert($data);
         \db()->query($sql);
+        if (!empty($param['关联订单']) && !empty($param['关联面料ID'])){
+            //关联订单编号
+            $OrderId = $param['关联订单'];
+            //关联面料ID
+            $RelevanceId = $param['关联面料ID'];
+            //查询订单BOM资料,面料资料
+            $RelevanceList = explode(',',$RelevanceId);
+            $FabricList = $BomList = $MaterielList = [];
+            foreach ($RelevanceList as $item){
+                //工单面料信息
+                $Fabric = \db('工单_面料资料')
+                    ->where('UNIQID',$item)
+                    ->where('Mod_rq',null)
+                    ->field('BOM_颜色,BOM_物料编码,BOM_物料名称,BOM_投料单位,BOM_计划门幅,BOM_定额门幅')
+                    ->find();
+                $Fabric['BOM_工单编号'] = $param['订单编号'];
+                $Fabric['Sys_ID'] = $param['Sys_id'];
+                $Fabric['Sys_rq'] = date('Y-m-d H:i:s',time());
+                $Fabric['BOM_desc'] = $param['备注'];
+                array_push($FabricList,$Fabric);
+                //关联订单
+                $AssociatedNumber = \db('工单关联表')
+                    ->where('订单编号',$OrderId)
+                    ->where('颜色',$Fabric['BOM_颜色'])
+                    ->where('物料编号',$Fabric['BOM_物料编号'])
+                    ->value('关联编号');
+                $materiel = [
+                    '关联编号' => $AssociatedNumber['关联编号'],
+                    '订单编号' => $Fabric['BOM_工单编号'],
+                    '生产款号' => $param['生产款号'],
+                    '颜色' => $Fabric['BOM_颜色'],
+                    '物料编号' => $Fabric['BOM_物料编号'],
+                    '物料名称' => $Fabric['BOM_物料编号'],
+                    '备注' => $param['备注'],
+                    'Sys_id' => $param['Sys_id'],
+                    'Sys_rq' => date('Y-m-d H:i:s',time()),
+                ];
+                array_push($MaterielList,$materiel);
+            }
+            foreach ($materiel as $item){
+                //工单BOM信息
+                $Bom = \db('工单_bom资料')
+                    ->where('BOM_工单编号',$OrderId)
+                    ->where('BOM_物料名称',$item)
+                    ->where('Mod_rq',null)
+                    ->find();
+                unset($Bom['UNQIID']);
+                unset($Bom['Mod_rq']);
+                $Bom['BOM_工单编号'] = $param['订单编号'];
+                $Bom['Sys_ID'] = $param['Sys_id'];
+                $Bom['Sys_rq'] = date('Y-m-d H:i:s',time());
+                array_push($BomList,$Bom);
+            }
 
-        //判断新增时面料是否存在,如果有调用gtp自动生成BOM资料
-        if (!empty($param['面料'])) {
-            // 只有面料不为空时,才调用 GdGtpAiOrder 方法
-            $this->GdGtpAiOrder($param['订单编号']);
-        }
-
-//        $prefix = substr($param['订单编号'], 0, 2);  // e.g., "DC"
-//        $maxOrder = \db('工单_基本资料')
-//            ->where('订单编号', 'like', "{$prefix}%")
-//            ->order('订单编号', 'desc')
-//            ->limit(1)
-//            ->value('订单编号');
-//        if ($maxOrder) {
-//            $numericPart = substr($maxOrder, 2);
-//            $newNumericPart = str_pad((int)$numericPart + 1, strlen($numericPart), '0', STR_PAD_LEFT);
-//            $param['订单编号'] = $prefix . $newNumericPart;
-//        } else {
-//            $param['订单编号'] = $param['订单编号'];
-//        }
-//        $massage = $param['面料'].',粘衬:'.$param['粘衬'];
-//        $data = [];
-//        foreach ($mianliao as $key => $value){
-//            $data[$key] = [
-//                'BOM_工单编号' => $param['订单编号'],
-//                'BOM_物料名称' => $value,
-//                'Sys_rq' => date('Y-m-d H:i:s',time()),
-//                'Sys_id' => $param['Sys_id']
-//            ];
-//        }
-//        //插入订单物料信息
-//        $BomSql = \db('工单_bom资料')->fetchSql(true)->insertAll($data);
-//        $BomRes = \db()->query($BomSql);
-//        Db::startTrans();
-//        try {
-//            //插入工单基本资料
-//            $sql= \db('工单_基本资料')->fetchSql(true)->insert($param);
-//            $res = \db()->query($sql);
-//            //插入订单物料信息
-//            $BomSql = \db('工单_bom资料')->fetchSql(true)->insertAll($data);
-//            $BomRes = \db()->query($BomSql);
-//
-//            //提交
-//            Db::commit();
-//        }catch (\Exception $e){
-//            //回滚
-//            Db::rollback();
-//        }
+            //插入数据
+            Db::startTrans();
+            try {
+                //BOM表数据插入
+                $BomSql = \db('工单_bom资料')->fetchSql(true)->insertAll($BomList);
+                $BomRes = \db()->query($BomSql);
+                //面料表数据插入
+                $FabricSql = \db('工单_面料资料')->fetchSql(true)->insertAll($FabricList);
+                $FabricRes = \db()->query($FabricSql);
+                //工单关联表数据插入
+                $materielSql = \db('工单关联表')->fetchSql(true)->insertAll($MaterielList);
+                $materielRes = \db()->query($materielSql);
+
+                //提交数据
+                Db::commit();
+            }catch (\Exception $e){
+                //回滚事务
+                Db::rollback();
+            }
+        }else{
+            //判断新增时面料是否存在,如果有调用gtp自动生成BOM资料
+            if (!empty($param['面料'])) {
+                // 只有面料不为空时,才调用 GdGtpAiOrder 方法
+                $this->GdGtpAiOrder($param['订单编号']);
+            }
+        }
         $this->success('成功');
     }
 
-    /**
-     *
-     */
-//    public function ClientList(){
-//    }
-
-    /**
-     *
-     */
-//    public function ProductCodeList(){
-//    }
-
     /**
      * 新增印件资料->印件资料添加
      * @return void
@@ -981,13 +488,66 @@ class WorkOrder extends Api
                 'Sys_rq' => $param['Sys_rq']
             ];
         }
+        $color = \db('工单_面料资料')
+            ->where('Bom_工单编号',$param['订单编号'])
+            ->where('BOM_颜色',$param['颜色备注'])
+            ->select();
+        $colorList = [];
+        if (empty($color)){
+            $BomList = \db('工单_bom资料')
+                ->where('BOM_工单编号',$param['订单编号'])
+                ->where('Mod_rq',null)
+                ->select();
+            foreach ($BomList as $key=>$value){
+                $colorList[$key] = [
+                    'BOM_工单编号' => $param['订单编号'],
+                    'BOM_颜色' => $param['颜色备注'],
+                    'BOM_物料编码' => $param['款号'].'-'.$param['颜色备注'].($key+1),
+                    'BOM_物料名称' => $value['BOM_物料名称'],
+                    'BOM_投料单位' => '米',
+                    'Sys_ID' => $param['Sys_id'],
+                    'Sys_rq' => date('Y-m-d H:i:s',time()),
+                    'BOM_desc' => $value['BOM_desc']
+                ];
+            }
+        }
+        //获取最新的关联编号
+        $AssociatedNumber = \db('工单关联表')->order('关联编号 desc')->column('关联编号');
+        if (empty($AssociatedNumber)){
+            $number = 0;
+        }else{
+            $number = (int)substr($AssociatedNumber[0],3);
+        }
+        $MaterielList = [];
+        //插入工单关联数据表
+        foreach ($colorList as $key=>$value){
+            $MaterielList[$key] = [
+                '关联编号' => 'GDGL'.($number + $key + 1),
+                '订单编号' => $value['BOM_工单编号'],
+                '生产款号' => $param['款号'],
+                '颜色' => $param['颜色备注'],
+                '物料编号' => $value['BOM_物料编码'],
+                '物料名称' => $value['BOM_物料名称'],
+                '备注' => $value['BOM_desc'],
+                'Sys_id' => $param['Sys_id'],
+                'Sys_rq' => date('Y-m-d H:i:s',time())
+            ];
+        }
         //开启事务
         db()->startTrans();
         try{
+            //工单颜色录入
             $priSql = \db('工单_印件资料')->fetchSql(true)->insert($param);
             $priRes = \db()->query($priSql);
+            //工单工艺录入
             $proSql = \db('工单_工艺资料')->fetchSql(true)->insertAll($processDetail);
             $proRes = \db()->query($proSql);
+            //工单面料录入
+            $fabricSql = \db('工单_面料资料')->fetchSql(true)->insertAll($colorList);
+            $fabricRes = \db()->query($fabricSql);
+            //工单关联表录入
+            $meterieSql = \db('工单关联表')->fetchSql(true)->insertAll($MaterielList);
+            $meterieRes = \db()->query($meterieSql);
             // 提交事务
             db()->commit();
         } catch (\Exception $e) {
@@ -1003,17 +563,6 @@ class WorkOrder extends Api
         }
     }
 
-    /**
-     *
-     */
-//    public function ProcessDetailAdd(){
-//    }
-
-    /**
-     *
-     */
-//    public function PrintDetailList(){
-//    }
 
     /**
      * 子订单列表
@@ -1176,39 +725,6 @@ class WorkOrder extends Api
         $this->success('成功',$data);
     }
 
-    /**
-     *
-     */
-//    public function WastageList(){
-//    }
-
-    /**
-     *
-     */
-//    public function getAnnexTable(){
-//    }
-
-    /**
-     *
-     */
-//    public function annexAdd(){
-//    }
-
-    /**
-     *
-     */
-//    public function annexDel(){
-//    }
-
-    /**
-     *
-     */
-//    public function getGdAnnexTable(){
-//    }
-
-
-
-
     /**
      * 产品附件新增
      * 1.前端进行上传xlsx文件表格
@@ -1307,63 +823,6 @@ class WorkOrder extends Api
         $this->success('成功');
     }
 
-    /**
-     *
-     */
-//    public function gdAnnexDel()
-//    {
-//    }
-
-    /**
-     *
-     */
-//    public function WorkOrderDetailCope()
-//    {
-//    }
-//
-    /**
-     *
-     */
-//    public function WorkOrderDetailListCope()
-//    {
-//    }
-
-    /**
-     *
-     */
-//    public function ProductCopeDetail()
-//    {
-//    }
-
-
-    /**
-     *
-     */
-//    public function PlannedProcessYield($workOrder,$yjno,$gxh,$feed)
-//    {
-//    }
-
-    /**
-     *
-     */
-//    public function WorkOrderDel()
-//    {
-//    }
-
-    /**
-     *
-     */
-//    public function ProductNameData()
-//    {
-//    }
-
-    /**
-     *
-     */
-//    public function getCouplet()
-
-//    }
-
 
     /**
      * 订单打印接口
@@ -1945,6 +1404,22 @@ class WorkOrder extends Api
         for ($i = 1; $i <= 10; $i++) {
             $updata["cmsl{$i}"] = isset($param["cmsl{$i}"]) ? $param["cmsl{$i}"] : '';
         }
+        //获取子订单颜色编号
+//        $color_id = \db('工单_印件资料')
+//            ->where('Uniqid',$param['id'])
+//            ->field('color_id')
+//            ->find();
+//        if ($color_id['color_id'] !== $param['color_id']){
+//
+//        }
+//        $FabricData = ['BOM_颜色'=>$color_id['color_id']];
+        //修改面料颜色
+//        $FabricSql = \db('工单_面料资料')
+//            ->where('BOM_工单编号',$param['订单编号'])
+//            ->where('BOM_颜色',$color_id['color_id'])
+//            ->fetchSql(true)
+//            ->update($FabricData);
+//        \db()->query($FabricSql);
         $sql = \db('工单_印件资料')
             ->where('Uniqid', $param['id'])
             ->fetchSql(true)
@@ -2566,20 +2041,21 @@ class WorkOrder extends Api
         $limit = isset($param['limit']) ? (int)$param['limit'] : 20;  // 默认每页20条数据
 
         // 获取数据
-        $data = \db('工单_bom资料')
+        $data = \db('工单_面料资料')
             ->alias('a')
             ->join('工单_基本资料 b', 'b.订单编号 = a.BOM_工单编号')
-            ->field('a.BOM_工单编号 as 订单编号, b.生产款号 as 生产款号, b.客户编号 as 客户编号, b.款式 as 款式,
-            a.BOM_物料名称 as 物料名称, a.BOM_投料单位 as 投料单位, a.BOM_计划用量 as 计划用料, a.BOM_标准用量 as 定额用料,
+            ->field('a.BOM_工单编号 as 订单编号,a.BOM_颜色 as 颜色, b.生产款号 as 生产款号, b.客户编号 as 客户编号, b.款式 as 款式,
+            a.BOM_物料编码,a.BOM_物料名称 as 物料名称, a.BOM_投料单位 as 投料单位,
             a.BOM_实际用量 as 裁床实际用料, a.BOM_领用数量 as 裁床领用面料, a.BOM_退还数量 as 裁床退回仓库面料,
-            a.BOM_desc as 备注, a.UNIQID, a.BOM_库存总量 as 入库总量, a.BOM_计划门幅 as 计划门幅, a.BOM_定额门幅 as 定额门幅, a.BOM_面料结余 as 面料结余, a.Sys_ID as ID, a.Sys_rq as 日期')
+            a.BOM_desc as 备注, a.UNIQID, a.BOM_库存总量 as 入库总量, a.BOM_计划门幅 as 计划门幅, a.BOM_定额门幅 as 定额门幅, 
+            a.BOM_面料结余 as 面料结余, a.Sys_ID as ID, a.Sys_rq as 日期,a.BOM_关联工单')
             ->where($where)
             ->order("a.BOM_工单编号 desc")
             ->limit(($page - 1) * $limit, $limit)
             ->select();
 
         // 获取数据总数
-        $count = \db('工单_bom资料')
+        $count = \db('工单_面料资料')
             ->alias('a')
             ->join('工单_基本资料 b', 'b.订单编号 = a.BOM_工单编号')
             ->where($where)
@@ -2619,16 +2095,18 @@ class WorkOrder extends Api
         }
         //面料入库记录
         $list['入库'] = \db('设备_报工日志')
-            ->where('order_id',$param['order'])
+            ->where('',$param['order'])
             ->where('物料名称',$param['fabricName'])
             ->where('name','入库')
-            ->field('order_id as 订单编号,款号,物料名称,number as 数量,rq as 日期,sys_id as 操作机台,recipient as 入仓人员')
+            ->where('Mod_rq',null)
+            ->field('order_id as 订单编号,款号,物料编码,物料名称,number as 数量,rq as 日期,sys_id as 操作机台,recipient as 入仓人员')
             ->select();
         //面料出库记录
         $list['出库'] = \db('设备_报工日志')
             ->where('order_id',$param['order'])
             ->where('物料名称',$param['fabricName'])
             ->where('name','出库')
+            ->where('Mod_rq',null)
             ->field('order_id as 订单编号,款号,物料名称,number as 数量,rq as 日期,sys_id as 操作机台,receipt_number as 出库单据编号,recipient as 领用人员')
             ->select();
         //面料退还记录
@@ -2636,6 +2114,7 @@ class WorkOrder extends Api
             ->where('order_id',$param['order'])
             ->where('物料名称',$param['fabricName'])
             ->where('name','退还')
+            ->where('Mod_rq',null)
             ->field('order_id as 订单编号,款号,物料名称,number as 数量,rq as 日期,sys_id as 操作机台,recipient as 退还人员')
             ->select();
         $this->success('成功',$list);
@@ -2792,26 +2271,4 @@ class WorkOrder extends Api
         $this->success('成功', $data);
     }
 
-    /**
-     * 面料汇总左侧菜单
-     * 此接口已在/work_order/fabricListmonth使用
-     */
-//    public function getFabricTab()
-//    {
-//        if ($this->request->isGet() === false){
-//            $this->error('请求错误');
-//        }
-//        $list = \db('工单_bom资料')
-//            ->field([
-//                "DATE_FORMAT(Sys_rq, '%Y-%m') AS month",
-//            ])
-//            ->group('month')
-//            ->order('month DESC')
-//            ->select();
-//        if (empty($list)){
-//            $this->error('未找到数据');
-//        }else{
-//            $this->success('成功',$list);
-//        }
-//    }
 }

+ 170 - 45
application/api/controller/WorkOrderSpotCheck.php

@@ -3,7 +3,6 @@
 namespace app\api\controller;
 
 use app\common\controller\Api;
-use think\db\Query;
 use \think\Request;
 use \think\Db;
 use const http\Client\Curl\IPRESOLVE_V4;
@@ -2817,59 +2816,179 @@ class WorkOrderSpotCheck extends Api{
         if (empty($param)){
             $this->error('参数错误');
         }
-        foreach ($param as $key=>$value){
-            // 确保 value['number'] 是数字类型--将 number 转换为浮动类型
-            $number = floatval($value['number']);
-
-            // 判断 number 是否有效
-            if ($number !== 0 && !empty($value['number'])){
-                $lastNumber = \db('工单_bom资料')
-                    ->where('BOM_工单编号',$value['order_id'])
-                    ->where('BOM_物料名称',$value['物料名称'])
-                    ->field('BOM_库存总量,BOM_面料结余,Bom_领用数量,BOM_退还数量')
-                    ->find();
-
-                // 确保 BOM_面料结余 是数字类型
-                $lastNumber['BOM_面料结余'] = floatval($lastNumber['BOM_面料结余']);
+        //查询库存表中的数量
+        $Inventory = \db('物料_库存')
+            ->where('批次号',$param['批次号'])
+            ->field('库存数量,领用数量')
+            ->find();
+        //构建物料库存数据
+        $InventoryData = [
+            '库存数量' => $Inventory['库存数量'] - (int)$param['number'],
+            '领用数量' => $Inventory['领用数量'] + (int)$param['number']
+        ];
+        $ReportData = $param;
+        unset($ReportData['关联编号']);
+        $ReportData['批次号'] = $param['批次号'];
+        $ReportData['rq'] = date('Y-m-d H:i:s',time());
+        //创建事务,存储库存表数据和入库报工表数据
+        Db::startTrans();
+        try {
+            //存储库存表数据
+            $InventorySql = \db('物料_库存')->where('批次号',$param['批次号'])->fetchSql(true)->update($InventoryData);
+            \db()->query($InventorySql);
+            //存储入库报工表数据
+            $ReportSql = \db('设备_报工日志')->fetchSql(true)->insert($ReportData);
+            \db()->query($ReportSql);
+
+            //提交事务
+            Db::commit();
+        }catch (\Exception $e){
+            Db::rollback();
+        }
+        $this->success('成功');
 
-                if ($value['name'] === '出库'){
-                    $lastNumber['BOM_面料结余'] -= $number;  // 减去出库数量
-                    $lastNumber['Bom_领用数量'] += $number;   // 增加领用数量
-                } elseif ($value['name'] === '退还'){
-                    $lastNumber['BOM_面料结余'] += $number;  // 增加面料结余
-                    $lastNumber['BOM_退还数量'] += $number;   // 增加退还数量
-                    $lastNumber['BOM_实际用量'] = $lastNumber['Bom_领用数量'] - $lastNumber['BOM_退还数量'];
-                } else {
-                    $lastNumber['BOM_库存总量'] += $number;   // 增加库存总量
-                    $lastNumber['BOM_面料结余'] += $number;  // 增加面料结余
-                }
+    }
 
-                // 更新工单BOM表数据
-                $BomSql = \db('工单_bom资料')
-                    ->where('BOM_工单编号',$value['order_id'])
-                    ->where('BOM_物料名称',$value['物料名称'])
-                    ->fetchSql(true)
-                    ->update($lastNumber);
-                $res = \db()->query($BomSql);
+    /**
+     * 入库订单信息模糊查询
+     * @return void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function InputOrderSearch()
+    {
+        if ($this->request->isGet() === false){
+            $this->error('请求错误');
+        }
+        $param = $this->request->param();
+        if (empty($param)){
+            $this->error('参数错误');
+        }
+        $list = \db('工单_基本资料')
+            ->alias('a')
+            ->join('工单_面料资料 b','a.订单编号 = b.BOM_工单编号')
+            ->join('工单关联表 c','a.订单编号 = c.订单编号 AND a.生产款号 = c.生产款号')
+            ->where('a.订单编号|a.生产款号','like','%'.$param['search'].'%')
+            ->where('a.Mod_rq',null)
+            ->where('b.Mod_rq',null)
+            ->field('a.订单编号,a.生产款号,a.客户编号,a.款式,a.订单数量,a.落货日期,a.接单日期,a.Sys_id as 创建人员,
+            a.Sys_rq as 创建时间,b.BOM_颜色 as 颜色,b.BOM_物料编码 as 物料编码,b.BOM_物料名称 as 物料名称,c.关联编号')
+            ->order('a.订单编号 desc')
+            ->select();
+        if (empty($list)){
+            $this->success('未找到相关订单信息');
+        }else{
+            $this->success('成功',$list);
+        }
+    }
 
-                // 添加出库、退还历史记录
-                $reportSql = \db('设备_报工日志')
-                    ->fetchSql(true)
-                    ->insert($value);
-                $reportRes = \db()->query($reportSql);
+    /**
+     * 面料入库报工
+     * @return void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function inputStash()
+    {
+        if ($this->request->isPost() === false){
+            $this->error('请求错误');
+        }
+        $param = Request::instance()->post();
+        if (empty($param)){
+            $this->error('参数错误');
+        }
+        //查询批次号是否存在
+        $BatchNumber = \db('物料_库存')
+            ->where('物料编号',$param['物料编码'])
+            ->where('关联号',$param['关联编号'])
+            ->column('批次号');
+        if (empty($BatchNumber)){
+            $LastNumber = \db('物料_库存')
+                ->order('批次号 desc')
+                ->value('批次号');
+            if (!empty($LastNumber)){
+                $BatchNumber[0] = 'PCH'.((int)substr($LastNumber,2) + 1);
+            }else{
+                $BatchNumber[0] = 'PCH1';
             }
+            //构建库存表数据
+            $InventoryData = [
+                '批次号' => $BatchNumber[0],
+                '关联号' => $param['关联编号'],
+                '物料编号' => $param['物料编码'],
+                '物料名称' => $param['物料名称'],
+                '入仓总量' => $param['number'],
+                '库存数量' => $param['number'],
+                '单位' => '米',
+                '状态' => 1,
+                'sys_id' => $param['sys_id'],
+                'sys_rq' => date('Y-m-d H:i:s',time())
+            ];
+            $ReportData = $param;
+            unset($ReportData['关联编号']);
+            $ReportData['批次号'] = $BatchNumber[0];
+            $ReportData['rq'] = date('Y-m-d H:i:s',time());
+            //创建事务,存储库存表数据和入库报工表数据
+            db()->startTrans();
+            try {
+                //存储库存表数据
+                $InventorySql = \db('物料_库存')->fetchSql(true)->insert($InventoryData);
+                \db()->query($InventorySql);
+                //存储入库报工表数据
+                $ReportSql = \db('设备_报工日志')->fetchSql(true)->insert($ReportData);
+                \db()->query($ReportSql);
+
+                //提交事务
+                \db()->commit();
+            }catch (\Exception $e){
+                \db()->rollback();
+                $this->error($e->getMessage());
+            }
+            $this->success('成功');
+        }else{
+            //查询库存表中的数量
+            $Inventory = \db('物料_库存')
+                ->where('批次号',$BatchNumber[0])
+                ->field('入仓总量,库存数量')
+                ->find();
+            //构建物料库存数据
+            $InventoryData = [
+                '入仓总量' => $Inventory['入仓总量'] + $param['number'],
+                '库存数量' => $Inventory['库存数量'] + $param['number']
+            ];
+            $ReportData = $param;
+            unset($ReportData['关联编号']);
+            $ReportData['批次号'] = $BatchNumber[0];
+            $ReportData['rq'] = date('Y-m-d H:i:s',time());
+            //创建事务,存储库存表数据和入库报工表数据
+            \db()->startTrans();
+            try {
+                //存储库存表数据
+                $InventorySql = \db('物料_库存')->where('批次号',$BatchNumber[0])->fetchSql(true)->update($InventoryData);
+                \db()->query($InventorySql);
+                //存储入库报工表数据
+                $ReportSql = \db('设备_报工日志')->fetchSql(true)->insert($ReportData);
+                \db()->query($ReportSql);
+
+                //提交事务
+                \db()->commit();
+            }catch (\Exception $e){
+                \db()->rollback();
+            }
+            $this->success('成功');
         }
-        $this->success('成功');
     }
 
     /**
-     * 订单信息模糊查询
+     * 出库订单信息查询
      * @return void
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\ModelNotFoundException
      * @throws \think\exception\DbException
      */
-    public function orderSearch()
+    public function OutOrderSearch()
     {
         if ($this->request->isGet() === false){
             $this->error('请求错误');
@@ -2879,10 +2998,16 @@ class WorkOrderSpotCheck extends Api{
             $this->error('参数错误');
         }
         $list = \db('工单_基本资料')
-            ->where('订单编号|生产款号','like','%'.$param['search'].'%')
-            ->where('Mod_rq',null)
-            ->field('订单编号,生产款号,客户编号,款式,订单数量,落货日期,接单日期,Sys_id as 创建人员,Sys_rq as 创建时间')
-            ->order('订单编号 desc')
+            ->alias('a')
+            ->join('工单_面料资料 b','a.订单编号 = b.BOM_工单编号')
+            ->join('物料_库存 c','b.BOM_物料编码 = c.物料编号')
+            ->where('a.订单编号|a.生产款号','like','%'.$param['search'].'%')
+            ->where('a.Mod_rq',null)
+            ->where('b.Mod_rq',null)
+            ->where('c.状态',1)
+            ->field('a.订单编号,a.生产款号,a.客户编号,a.款式,a.订单数量,a.落货日期,a.接单日期,a.Sys_id as 创建人员,
+            a.Sys_rq as 创建时间,b.BOM_颜色 as 颜色,b.BOM_物料编码 as 物料编码,b.BOM_物料名称 as 物料名称,c.批次号')
+            ->order('a.订单编号 desc')
             ->select();
         if (empty($list)){
             $this->success('未找到相关订单信息');