123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <?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'=>'','good_code'=>'',"start"=>'',"end"=>"",'page'=>1,
- 'size'=>10],'post');
- $where=[["a.source","=",2]];
- $param['companyNo']==''?:$where[]=['b.companyNo','=',$param['companyNo']];
- $param['code']==''?:$where[]=['a.code','=',$param['code']];
- $param['good_code']==''?:$where[]=['b.spuCode','=',$param['good_code']];
- $param['start']==""||$param['end']==""?:$where[]=['a.createtime','between',[startTime($param['start']),endTime
- ($param['end'])]];
- $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,
- 'supplier_name'=>$info->supplier_name,
- 'good_price'=>$info->good_price,
- 'total_fee'=>$info->origin_total,
- "cgder_id"=>$info->cgder_id,
- "cgder"=>$info->cgder,
- 'good_createrid'=>$info->good_createrid,
- 'good_creater'=>$info->good_creater,
- ];
- $after = [
- 'supplierNo'=>$param['supplierNo'],
- 'supplier_name'=>Headquarters::where('code',$param['supplierNo'])->value('name',''),
- 'good_price'=>$param['price'],
- 'total_fee'=>bcmul($info->good_num,$param['price'],2),
- '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['cgdNo'],
- '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,"修改成功");
- }
- }
|