Browse Source

Merge branch 'wugg-dev' of wugg/phpstock into version1.5

wugg 2 years ago
parent
commit
2783cc0eec

+ 11 - 1
app/admin/controller/Purchin.php

@@ -251,7 +251,17 @@ class Purchin extends Base
             if($win){
                 $sto = ["order_code"=>$wsm_in_code,"status"=>$status,"action_remark"=>'',"action_type"=>"edit"];
                 ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname],$sto,"RKD",$status,$this->post);
-                $process=["order_code"=>$wsm_in_code,"order_id"=>$win,"order_status"=>$status,"order_type"=>'RKD',"before_status"=>$status,'holder_id' => $orin['apply_id']];
+                if($status==1){
+                	  $uid = Db::name('user_role')
+                                ->where([
+                                    ['is_del', '=', 0],
+                                    ['roleid', 'in', [31, 41]],
+                                    ['status', '=', 1]
+                                ])->column('uid');
+                	  $handle_user_list = implode(',', $uid);
+                }
+
+                $process=["order_code"=>$wsm_in_code,"order_id"=>$win,"order_status"=>$status,"order_type"=>'RKD',"before_status"=>$status,'holder_id' => $orin['apply_id'],"handle_user_list"=>$handle_user_list??""];
                 ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname],$process);
                 $order = ["order_code"=>$cgdNo,"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
 

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

@@ -172,8 +172,8 @@ class Resign extends Base
 //        $cgd =Db::name("purchease_order")->where([["spuCode","=",$good_code],["status","in",[0,1]],["is_del","=",0]])->find();
 //        if($cgd!=false) return error_show(1004,"存在未完成采购单数据");
         //查验仓库库存数量
-        $stock =Db::name("good_stock")->alias("a")->leftJoin("warehouse_info b","a.wsm_code=b.wsm_code")->where
-        (["spuCode"=>$good_code, "a.is_del"=>0,"a.status"=>1,"b.companyNo"=>$good['companyNo']])->field("a.id,a.usable_stock,a.wait_out_stock")->find();
+//        $stock =Db::name("good_stock")->alias("a")->leftJoin("warehouse_info b","a.wsm_code=b.wsm_code")->where
+//        (["spuCode"=>$good_code, "a.is_del"=>0,"a.status"=>1,"b.companyNo"=>$good['companyNo']])->field("a.id,a.usable_stock,a.wait_out_stock")->find();
 //        if(isset($stock['usable_stock'])&& $stock['usable_stock']!=0){
 //            return error_show(1003,"库存数量为 {$stock['usable_stock']} 无法备库");
 //        }

+ 66 - 1
app/command/NowReportHandle.php

@@ -84,6 +84,9 @@ class NowReportHandle extends Command
                     case 'L':
                         $res = $this->NewOut($info['start'], $info['end']);
                         break;
+                    case 'M':
+                        $res = $this->EveryDayStock($info['start'], $info['end']);
+                        break;
                     default:
                         throw new Exception('暂不支持这个报表');
                 }
@@ -777,7 +780,16 @@ class NowReportHandle extends Command
         }
         return $data;
     }
-
+	/**
+	* 新出库单明细
+	* @param string $start
+	* @param string $end
+	 * @return \Generator
+	* @throws \think\db\exception\DataNotFoundException
+	* @throws \think\db\exception\DbException
+	* @throws \think\db\exception\ModelNotFoundException
+	 *
+	 */
     private function NewOut(string $start,string $end)
     {
 		$data = Db::name("order_out")
@@ -831,4 +843,57 @@ class NowReportHandle extends Command
 		}
     }
 
+    private function EveryDayStock(string $start,string $end){
+		$list = Db::name("good_stock_info")->alias("a")
+		->leftJoin("good_stock b","a.stockid=b.id")
+		->leftJoin("purchease_in c","c.bnCode=a.bnCode")
+		->leftJoin("purchease_order d","c.cgdNo=d.cgdNo")
+		->leftJoin("purcheaase e","d.bkcode=e.bk_code")
+		->leftJoin("good f","b.spuCode=f.spuCode")
+		->leftJoin("warehouse_info j","b.wsm_code=j.wsm_code")
+		->field("	e.companyNo '业务公司',
+		e.apply_id '申请部门',
+		e.apply_name '申请人',
+		e.addtime '备库创建时间',
+		e.bk_code '备库单号',
+		a.bnCode 'BN编号' ,
+		a.addtime '入库时间',
+		c.cgdNo '采购单编号' ,
+		f.spuCode '产品编号' ,
+		f.good_name '产品名称' ,
+		e.good_num '备库数量' ,
+		f.cat_id '一级分类' ,
+		'' as '财务核算编码',
+		f.tax as '税率',
+		a.origin_price '成本单价',
+		b.wait_in_stock '待入库数量',
+		b.wait_out_stock '待出库数量',
+		b.total_stock '当前库存数量',
+		b.usable_stock '可用库存数量',
+			a.total_num 'BN总数',
+		a.balance_num 'BN库存数',
+		a.used_num 'BN已使用数量',
+		DATEDIFF(NOW(),a.addtime) '库存天数',
+		f.supplierNo '采购员',
+		d.supplier_name '供应商名称',
+		j.`name` '仓库名称'")
+		->where(["f.is_stock"=>1])
+		->whereBetween("a.updatetime",[$start,$end])
+		->cursor();
+		foreach ($list as $value){
+			$value['申请部门'] = Db::name("depart_user")->alias("a")->leftJoin("company_item ci", "a.itemid=ci.id")->where(["a.uid" => $value['申请部门'], "a.status" => 1, "a.is_del" => 0])->value('ci.name', '');
+			$value['业务公司'] = Db::name("business")->where(["companyNo" => $value['业务公司']])->value('company', '');
+			$cat = made($value['cat_id']);
+			 $value['财务核算编号'] = Db::name("cat")->where(["id"=>$value['cat_id']])->value("fund_code",'');
+			 unset($value['cat_id']);
+             $value['一级分类'] = isset($cat[0]['name']) ? $cat[0]['name'] : "";
+             $supplier = Db::name("supplier")->where(["code"=>$value['采购员']])->field("person,name")->find();
+             if($value['供应商名称']==''){
+             	$value['供应商名称']= $supplier['name']??"";
+             }
+             $value['采购员']= $supplier['person']??"";
+             yield $value;
+		}
+    }
+
 }