| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | 
							- <?php
 
- namespace app\common\model;
 
- use think\Db;
 
- use think\Exception;
 
- class MateCheck extends Base
 
- {
 
-     protected $createTime = 'create_time';
 
-     protected $updateTime = 'update_time';
 
-     public $table = 'mate_check';
 
-     protected $validateName = 'MateCheck';
 
-     public function updates($userId){
 
-         $data = request()->post();
 
-         $data['org_id'] = cur_org_id();
 
-         $result = validate($this->validateName)->check($data,[],'');
 
-         if(true !== $result){
 
-             $this->error = validate($this->validateName)->getError();
 
-             return false;
 
-         }
 
-         $curTime = date('Y-m-d H:i:s');
 
-         Db::startTrans();
 
-         try{
 
-             $applyId = Db::name('mate_check')->insertGetId([
 
-                 'org_id' => $data['org_id'],
 
-                 'create_time' => $curTime,
 
-                 'user_id' => $userId,
 
-                 'remark' => $data['remark'],
 
-                 'status' => 0
 
-             ]);
 
-             if(!$applyId){
 
-                 \exception('操作失败');
 
-             }
 
-             $arr = [];
 
-             foreach ($data['goods'] as $k=>$v){
 
-                 $info = Db::name('mate_goods')->where('id',$v)->find();
 
-                 $arr[] = [
 
-                     'check_id' => $applyId,
 
-                     'goods_id' => $v,
 
-                     'nums' => $info['nums'],
 
-                     'price' => $info['price'],
 
-                     'status' => 0
 
-                 ];
 
-             }
 
-             $ret = Db::name('mate_check_goods')->insertAll($arr);
 
-             if($ret != count($arr)){
 
-                 \exception('操作失败');
 
-             }
 
-             Db::commit();
 
-         }catch (Exception $e){
 
-             Db::rollback();
 
-             $this->error = $e->getMessage();
 
-             return false;
 
-         }
 
-         return true;
 
-     }
 
-     public function checkGoods($userId){
 
-         $id = input('id/d',0);
 
-         $checknums = input('check_nums/d',0);
 
-         $remark = input('remark','','trim');
 
-         if($checknums < 0){
 
-             $this->error = '实盘数量不能小于0';
 
-             return false;
 
-         }
 
-         $info = Db::name('mate_check_goods')->where('id',$id)->where('del',0)->find();
 
-         if(!$info){
 
-             $this->error = '记录不存在';
 
-             return false;
 
-         }
 
-         if($info['status'] != 0){
 
-             $this->error = '该记录已处理';
 
-             return false;
 
-         }
 
-         $status = 2;
 
-         if($checknums > $info['nums']){
 
-             $status = 3;
 
-         }else if($checknums < $info['nums']){
 
-             $status = 1;
 
-         }
 
-         $ret = Db::name('mate_check_goods')->where('id',$id)->update([
 
-             'user_id' => $userId,
 
-             'status' => $status,
 
-             'check_time' => date('Y-m-d H:i:s'),
 
-             'check_nums' => $checknums,
 
-             'remark' => $remark
 
-         ]);
 
-         if(!$ret){
 
-             $this->error = '记录不存在';
 
-             return false;
 
-         }
 
-         return true;
 
-     }
 
-     public function getInfo($id){
 
-         $info = $this
 
-             ->where('id',$id)
 
-             ->find()
 
-             ->toArray();
 
-         if(!$info){
 
-             return false;
 
-         }
 
-         $info['userName'] = Db::name('user')->where('id',$info['user_id'])->value('real_name');
 
-         $goods = Db::name('mate_check_goods')
 
-             ->alias('a')
 
-             ->join('mate_goods c','c.id=a.goods_id')
 
-             ->where('a.check_id',$info['id'])
 
-             ->where('a.del',0)
 
-             ->field('a.*,c.title,c.unit,c.brand,c.spec')
 
-             ->select();
 
-         $goods = $goods?$goods:[];
 
-         $tnums = 0;
 
-         $tchecknums = 0;
 
-         foreach ($goods as $k=>$v){
 
-             $tnums += $v['nums'];
 
-             $tchecknums += $v['check_nums'];
 
-         }
 
-         $info['tnums'] = $tnums;
 
-         $info['tchecknums'] = $tchecknums;
 
-         $info['goods'] = $goods;
 
-         return $info;
 
-     }
 
- }
 
 
  |