wugg пре 1 година
родитељ
комит
6810f989b9

+ 149 - 0
app/admin/controller/CompanyCgd.php

@@ -0,0 +1,149 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\controller;
+
+use app\admin\model\CompanyCgdLog;use app\admin\model\PurcheaseOrder;use app\admin\model\WarehouseInfo;use app\model\Headquarters;use think\App;use think\facade\Validate;use think\Request;
+
+class CompanyCgd extends Base
+{
+    public $model=null;
+	public function __construct(App $app) {
+		parent::__construct($app);
+		$this->model=new \app\admin\model\CompanyCgd();
+	}
+	
+	/**
+     * 显示资源列表
+     *
+     * @return \think\Response
+     */
+    public function list()
+    {
+        $param = $this->request->only(['companyNo'=>'','is_cgd'=>0,"page"=>1,"size"=>10],'post');
+        $where=[];
+        $param["companyNo"]==""?:$where[]=["companyNo","=",$param["companyNo"]];
+        $param["is_cgd"]==""?:$where[]=["is_cgd","=",$param["is_cgd"]];
+        $list = $this->model->where($where)->order('id','desc')->paginate(['page'=>$param['page'],'list_rows'=>$param['size']]);
+       return app_show(0,'获取成功',['list'=>$list->items(),'count'=>$list->total()]);
+    }
+
+    /**
+     * 显示创建资源表单页.
+     *
+     * @return \think\Response
+     */
+    public function create()
+    {
+       $param = $this->request->only(["companyNo"=>'',"is_cgd"=>0],"post");
+       $valid=Validate::rule(["companyNo|业务公司"=>"require|max:255|unique:\app\admin\model\CompanyCgd"]);
+       if($valid->check($param)==false)return error_show(1004,$valid->getError());
+        $data=[
+        	"companyNo"=>$param["companyNo"],
+        	"companyName"=>Headquarters::where("code",$param['companyNo'])->value("name",''),
+        	"is_cgd"=>$param["is_cgd"]??0,
+        	"apply_id"=>$this->uid,
+        	"apply_name"=>$this->uname
+        	];
+        \app\admin\model\CompanyCgd::create($data);
+        return app_show(0,"创建成功");
+    }
+    /**
+     * 保存更新的资源
+     *
+     * @param  \think\Request  $request
+     * @param  int  $id
+     * @return \think\Response
+     */
+    public function update()
+    {
+       $param = $this->request->only(['id'=>'','is_cgd'=>0],'post');
+       $valid=Validate::rule(['id|数据主键'=>'require|number',"is_cgd|是否启用"=>"require|number|in:0,1"]);
+       if($valid->check($param)==false)return error_show(1004,$valid->getError());
+       $info = $this->model->findOrEmpty($param["id"]);
+       if($info->isEmpty())return error_show(1004,"未找到数据");
+       $info->is_cgd = $param['is_cgd'];
+       $info->apply_id = $this->uid;
+       $info->apply_name =  $this->uname;
+       $info->save();
+        return app_show(0,'修改成功');
+    }
+    
+    public function loglist(){
+    	$param = $this->request->only(['companyNo'=>'','code'=>'','page'=>1,'size'=>10],'post');
+        $where=[["a.source","=",2]];
+        $param['companyNo']==''?:$where[]=['b.companyNo','=',$param['companyNo']];
+        $param['code']==''?:$where[]=['a.code','=',$param['code']];
+        $model =new \app\admin\model\DataChange();
+        $list =$model->alias("a")
+        ->leftJoin("purchease_order b","a.code=b.cgdNo")
+        ->where($where)
+        ->field("a.*,b.companyNo,b.companyName")
+        ->json(["before","after"])
+        ->order('id','desc')
+        ->paginate(['page'=>$param['page'],'list_rows'=>$param['size']]);
+       return app_show(0,'获取成功',['list'=>$list->items(),'count'=>$list->total()]);
+    }
+
+    public function LogCreate(){
+    	$param = $this->request->only(['supplierNo'=>'','cgdNo'=>'','price'=>''],'post');
+    	$valid=Validate::rule([
+    		'cgdNo|采购单编号'=>'require|max:255',
+    		'supplierNo|供应商编号'=>'require|max:255',
+    		'price|采购价格'=>'require|float',
+    		]);
+       if($valid->check($param)==false)return error_show(1004,$valid->getError());
+    	$info  = PurcheaseOrder::where("cgdNo",$param['cgdNo'])->findOrEmpty();
+    	if($info->status>0)return error_show(1004,"采购单当前状态不可修改");
+    	if($info->order_source!=2)return error_show(1004,"非咨询采购单不可修改");
+    	$ist = $this->model->where([["companyNo","=",$info->companyNo],["is_cgd","=",1]])->findOrEmpty();
+    	if($ist->isEmpty())return error_show(1004,'采购单业务公司不可修改');
+    	$before = [
+    			'supplierNo'=>$info->supplierNo,
+    			'supplierName'=>$info->supplier_name,
+    			'good_price'=>$info->good_price,
+    			"cgder_id"=>$info->cgder_id,
+    			"cgder"=>$info->cgder,
+    			'good_createrid'=>$info->good_createrid,
+    			'good_creater'=>$info->good_creater,
+    			];
+    	$after = [
+    			'supplierNo'=>$param['supplierNo'],
+    			'supplierName'=>Headquarters::where('code',$param['companyNo'])->value('name',''),
+    			'good_price'=>$param['price'],
+    			'cgder_id'=>$this->uid,
+    			'cgder'=>$this->uname,
+    			'good_createrid'=>$this->uid,
+    			'good_creater'=>$this->uname,
+    			];
+    	if($before['good_price']<=$after['good_price'])return error_show(1004,'修改成本必须小于当前成本');
+    	$dataChange=new \app\admin\model\DataChange();
+    	$this->model->startTrans();
+    	try{
+    		$before = json_encode($before,JSON_UNESCAPED_UNICODE);
+		    $after = json_encode($after,JSON_UNESCAPED_UNICODE);
+		    $data=[
+		        'code'=>$param['code'],
+		        'type'=>1,
+		        'source'=>2,
+		        'before'=>$before,
+		        'after'=>$after,
+		        'apply_id'=>$this->uid,
+		        'apply_name'=>$this->uname,
+		        'creater_id'=>$this->uid,
+		        'creater'=>$this->uname,
+		        'status'=>2,
+		        ];
+    		$save=$dataChange->save($data);
+    		if($save){
+    			$dataChange->cgdUpdate($data);
+    		}
+    		
+    	}catch (\Exception $exception){
+    	    $this->model->rollback();
+    	    return error_show(1004,$exception->getMessage());
+    	}
+    	$this->model->commit();
+        return app_show(0,"修改成功");
+    }
+}

+ 2 - 2
app/admin/controller/DataChange.php

@@ -23,7 +23,7 @@ class DataChange extends Base
   	$param =$this->request->only(["code"=>'',"type"=>"",'oaCode'=>'',"change"=>"","apply_id"=>"","apply_name"=>""],
   	"post","trim");
   	$valid =Validate::rule([
-  		"code|订单编号"=>"require",
+  	"code|订单编号"=>"require",
   	"type|订单类型"=>"require|number|in:1,2,3",
   	"apply_id|申请人"=>"require|number",
   	"change|修改字段内容"=>"require|array"]);
@@ -83,7 +83,7 @@ class DataChange extends Base
   public function list(){
   	$param = $this->request->only(["code"=>"","oaCode"=>"","type"=>"","apply_name"=>"","status"=>"","page"=>1,
   	"size"=>15],"post","trim");
-  	$where=[];
+  	$where=[["source","=",1]];
   	$param['code']==''?: $where[]=["code","like","%{$param['code']}%"];
   	$param['apply_name']==''?: $where[]=["apply_name","like","%{$param['apply_name']}%"];
   	$param['oaCode']==''?: $where[]=["oaCode","like","%{$param['oaCode']}%"];

+ 14 - 0
app/admin/model/CompanyCgd.php

@@ -0,0 +1,14 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class CompanyCgd extends Model
+{
+    //
+}

+ 15 - 6
app/admin/model/DataChange.php

@@ -58,7 +58,7 @@ class DataChange extends Model
 	public function cgdUpdate($row){
         $purchease = Db::name('purchease_order')->where(['cgdNo'=>$row['code']])->findOrEmpty();
         if(empty($purchease)) throw new \Exception("未找到采购单");
-        $after= json_decode($row->after,true);
+        $after= json_decode($row['after'],true);
         foreach ($after as $key=>$item){
         	$purchease[$key]=$item;
         }
@@ -84,10 +84,10 @@ class DataChange extends Model
                 'is_del' => 0,
                 'addtime' => date('Y-m-d H:i:s'),
                 'updatetime' => date('Y-m-d H:i:s'),
-                'createrid' => $row->apply_id,
-                'creater' => $row->apply_name,
-                'updaterid' =>  $row->apply_id,
-                'updater' => $row->apply_name,
+                'createrid' => $row['apply_id'],
+                'creater' => $row['apply_name'],
+                'updaterid' =>  $row['apply_id'],
+                'updater' => $row['apply_name'],
             ];
           $sin= Db::name('warehouse_info')->save($inwsm);
           if($sin==false) throw new \Exception('采购单对应得仓库创建失败');
@@ -109,6 +109,9 @@ class DataChange extends Model
         if(empty($good))throw new \Exception('商品数据未找到');
         $good['supplierNo']=$purchease['supplierNo'];
         $good['supplierName']=$purchease['supplier_name'];
+        $good['createrid']=$purchease['good_createrid'];
+        $good['creater']=$purchease['good_creater'];
+        $good['updatetime']=date('Y-m-d H:i:s');
         $goodup = Db::name("good_zixun")->save($good);
         if($goodup ==false) throw new \Exception('商品数据更新失败');
 	}
@@ -149,7 +152,13 @@ class DataChange extends Model
         ->where("b.cgdNo",$cgd['cgdNo'])
         ->field("a.*")->findOrEmpty();
         if(empty($qrd)) throw new \Exception('未找到对应得销售单');
-        $data=["supNo"=>$cgd['supplierNo'],"supName"=>$cgd['supplier_name'],"updatetime"=>date("Y-m-d H:i:s")];
+        $data=[
+        	"supNo"=>$cgd['supplierNo'],
+            "supName"=>$cgd['supplier_name'],
+            "good_createrid"=>$cgd['good_createrid'],
+            "good_creater"=>$cgd['good_creater'],
+            "updatetime"=>date("Y-m-d H:i:s")
+            ];
         $up=Db::name("sale")->where($qrd)->update($data);
         if($up==false) throw new \Exception('销售单数据更新失败');
         $out =Db::name("order_out")->where(["orderCode"=>$qrd['orderCode'],"is_del"=>0])->findOrEmpty();

+ 1 - 1
app/command/OutChildSend.php

@@ -28,7 +28,7 @@ class OutChildSend extends Command
             return true;
         }
         $date = date("Y-m-d H:i:s",time()-3600);
-        $list = OrderOutChild::where([["updatetime",">=",$date],["is_del","=",0]])->hidden(["id"])->select();
+        $list = OrderOutChild::where([["addtime",">=",$date],["is_del","=",0]])->hidden(["id"])->select();
         if($list->isEmpty()==false){
         	$Insert=[];
         	foreach ($list->toArray() as $item){