wugg 7 maanden geleden
bovenliggende
commit
f376976237
1 gewijzigde bestanden met toevoegingen van 67 en 4 verwijderingen
  1. 67 4
      app/admin/controller/Consult.php

+ 67 - 4
app/admin/controller/Consult.php

@@ -3,7 +3,7 @@
 namespace app\admin\controller;
 
 use app\admin\model\ActionLog;
-use app\admin\model\ConsultBids;use app\admin\model\ConsultTemp;use app\admin\model\DataGroup as DataGroupModel;
+use app\admin\model\ConsultBids;use app\admin\model\ConsultInfo;use app\admin\model\ConsultTemp;use app\admin\model\DataGroup as DataGroupModel;
 use app\admin\model\GoodTax;use app\admin\model\ProcessOrder;
 use app\model\TaxCategory;use think\App;
 use think\facade\Db;
@@ -1068,7 +1068,15 @@ class Consult extends Base
         $tax = TaxCategory::where(['id'=>[$info['tax_id'],$info['out_tax_id']]])->column("shot_name,cat_name,cat_code,merge_code","id");
         $info['in_tax'] = $tax[$info['tax_id']]??[];
         $info['out_tax'] = $tax[$info['out_tax_id']]??[];
-
+         $info['child'] =[];
+        if($info['is_combind']==1){
+            $info['child'] =ConsultTemp::where(['bidNo'=>$bidNo])->select()->each(function(&$item){
+                $tax = TaxCategory::where(['id'=>[$item['tax_id'],$item['out_tax_id']]])->column('shot_name,cat_name,cat_code,merge_code','id');
+                $item['in_tax'] = $tax[$item['tax_id']]??[];
+                $item['out_tax'] = $tax[$item['out_tax_id']]??[];
+                $item['specinfo'] = json_decode($item['specinfo'],true);
+            });
+        }
         //添加商品创建人字段
         $good_info = Db::name('good_basic')
             ->field('id,createrid,creater')
@@ -1532,8 +1540,8 @@ class Consult extends Base
         $valid = Validate::rule([
             "bidNo|反馈单编号"=>"require",
             "status|状态"=>"require|number",
-            "out_tax_id|税目id"=>"requireIf:status,3|number",
-            "out_tax|税目税率"=>"requireIf:status,3",
+            "out_tax_id|税目id"=>"requireIf:status,7|number",
+            "out_tax|税目税率"=>"requireIf:status,7",
             "goodCombind|组合商品信息"=>"array",
         ]);
         if(!$valid->check($params)){
@@ -1543,6 +1551,61 @@ class Consult extends Base
         if($info->isEmpty()){
             return error_show(1004,"未找到商品数据");
         }
+        $consult_info =ConsultInfo::where(['infoNo'=>$info['infoNo'],"is_del"=>0])->findOrEmpty();
+        if($consult_info->isEmpty()) $this->error("未找到商品数据");
+        if($consult_info['status']!=2&&$consult_info['status']!=3&&$consult_info['status']!=7){
+            return error_show(1004,"咨询单招标未结束或已确认商品");
+        }
+        $goodCombind = $params['goodCombind'];
+        if($params['status']==7 && $info->is_combind==1){
+            if(empty($goodCombind)){
+                return error_show(1004,"组合商品信息不能为空");
+            }
+            $valids = Validate::rule(["out_tax_id|税目id"=>"require|number",'out_tax|税目税率'=>'require',"id|商品id"=>"require"]);
+            foreach ($goodCombind as $k=>$v){
+                if(!$valids->check($v)){
+                    return error_show(1004,$valids->getError());
+                }
+            }
+        }
+        Db::startTrans();
+        try {
+            $oldstattus=$info->status;
+            $info->status=$params['status'];
+            $save=$info->save();
+            if($save){
+                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
+                    'order_code' =>$params['bidNo'],//咨询单详情编号
+                    'status' => $oldstattus,//这里的status是之前的值
+                    'action_remark' => '',//备注
+                    'action_type' => 'status'//新建create,编辑edit,更改状态status
+                ], 'FKD', $params['status'], $info);
+                if ($params['status']==6){
+                    $old_infos_status = $consult_info['status'];
+                    $consult_info->status=4;
+                    $se = $consult_info->save();
+                    if($se){
+                        //修改状态,添加待办
+                        ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
+                            "order_code" => $consult_info['infoNo'],//咨询单详情编号
+                            "status" => $old_infos_status,//这里的status是之前的值
+                            "action_remark" => '',//备注
+                            "action_type" => "status"//新建create,编辑edit,更改状态status
+                        ], "ZXD",  $consult_info->status,$consult_info);
+                        Db::name("bargain_order")->where(["bidsNo"=>$params['bidNo'],"is_del"=>0,"status"=>[0,2,4,5,7]])
+                        ->update(['status'=>12,"remark"=>'已选择商品,取消议价',"updatetime"=>date("Y-m-d H:i:s")]);
+                    }
+                }
+                if($params['status']==7){
+                    (new ConsultTemp())->saveAll($goodCombind);
+                }
+            }
+            Db::commit();
+            return app_show(0,'商品确定成功');
+        }catch (\Exception $e){
+            Db::rollback();
+            return error_show(1004,$e->getMessage());
+        }
 
     }
     //选择商品