|
@@ -26,7 +26,6 @@ class NowReportHandle extends Command
|
|
|
//处理报表预约记录,生成报表文件
|
|
|
protected function execute(Input $input, Output $output)
|
|
|
{
|
|
|
-
|
|
|
try {
|
|
|
ini_set("memory_limit", "516M");
|
|
|
$info = Cache::store('redis')->handler()->rpop($this->key);
|
|
@@ -84,9 +83,18 @@ class NowReportHandle extends Command
|
|
|
case 'L':
|
|
|
$res = $this->NewOut($info['start'], $info['end']);
|
|
|
break;
|
|
|
+ //每日库存数据更新
|
|
|
case 'M':
|
|
|
$res = $this->EveryDayStock($info['start'], $info['end']);
|
|
|
break;
|
|
|
+ //商品成本信息
|
|
|
+ case 'N':
|
|
|
+ $res = $this->GetGoodNake();
|
|
|
+ break;
|
|
|
+ //商品售价信息
|
|
|
+ case 'P':
|
|
|
+ $res = $this->GetGoodLadder();
|
|
|
+ break;
|
|
|
default:
|
|
|
throw new Exception('暂不支持这个报表');
|
|
|
}
|
|
@@ -842,7 +850,14 @@ class NowReportHandle extends Command
|
|
|
yield $list[] = $value;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ /**每日库存记录
|
|
|
+ * @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 EveryDayStock(string $start,string $end){
|
|
|
$list = Db::name("good_stock_info")->alias("a")
|
|
|
->leftJoin("good_stock b","a.stockid=b.id")
|
|
@@ -895,5 +910,128 @@ class NowReportHandle extends Command
|
|
|
yield $value;
|
|
|
}
|
|
|
}
|
|
|
+ /**获取商品成本列表
|
|
|
+ * @return \Generator
|
|
|
+ */
|
|
|
+ private function GetGoodNake(){
|
|
|
+ $list = Db::name("good_platform")->alias("a")
|
|
|
+ ->leftJoin("good b","a.spuCode=b.spuCode")
|
|
|
+ ->leftJoin("good_nake c","b.spuCode=c.spuCode and c.is_del=0")
|
|
|
+ ->field("
|
|
|
+ a.skuCode '上线商品编号',
|
|
|
+ a.spuCode '成本商品编号',
|
|
|
+ a.plat_code '平台商品编号',
|
|
|
+ b.good_name '商品名称',
|
|
|
+ b.brand_id '品牌',
|
|
|
+ b.cat_id '分类',
|
|
|
+ b.companyNo '业务企业名称',
|
|
|
+ a.creater '申请人',
|
|
|
+ platform_code '上线平台',
|
|
|
+ online_time '上线时间',
|
|
|
+ exam_status '上线状态',
|
|
|
+ if(b.is_stock=1,'库存','非库存') '是否库存',
|
|
|
+ if(b.good_type=1,'定制','非定制')'是否定制',
|
|
|
+ '' as '规格',
|
|
|
+ '' as '型号',
|
|
|
+ b.good_unit '单位',
|
|
|
+ b.good_remark '商品备注',
|
|
|
+ b.craft_desc '工艺说明',
|
|
|
+ b.noble_metal '贵金属信息',
|
|
|
+ b.cgd_gold_price '供应商采购金价',
|
|
|
+ b.demo_fee '打样费',
|
|
|
+ b.open_fee '开模费',
|
|
|
+ b.sample_fee '调样费',
|
|
|
+ c.min_num '起订量',
|
|
|
+ c.nake_fee '成本单价',
|
|
|
+ c.cost_fee '工艺费',
|
|
|
+ c.delivery_fee '物流费',
|
|
|
+ c.cert_fee '证书费',
|
|
|
+ c.mark_fee '加标费',
|
|
|
+ c.package_fee '包装费',
|
|
|
+ c.other_fee '其他费用',
|
|
|
+ c.nake_total '成本合计',
|
|
|
+ b.tax '税点',
|
|
|
+ if(b.supply_area=1,'全国','全国除偏远地区') '供货区域',
|
|
|
+ b.supplierNo '供应商名称'
|
|
|
+ ")->cursor();
|
|
|
+ foreach ( $list as $value){
|
|
|
+ $value["品牌"]=Db::name("brand")->where("id",$value["品牌"])->value("brand_name",'');
|
|
|
+ $value["分类"]=Db::name("cat")->where("id",$value["分类"])->value("cat_name",'');
|
|
|
+ $value["业务企业名称"]=Db::name("business")->where("companyNo",$value["业务企业名称"])->value("company","");
|
|
|
+ $value["上线平台"]=Db::name("platform")->where("id", $value["上线平台"])->value("platform_name","");
|
|
|
+ $arr=["待提交",'待完善成本','待产品审核','待财务定价','待财务审核定价','待上线','已上线','审核失败','已下线'];
|
|
|
+ $value["上线状态"]=$arr[$value["上线状态"]];
|
|
|
+ $value['单位']=Db::name("unit")->where("id",$value['单位'])->value("unit",'');
|
|
|
+ $noble = [ "0"=>"",
|
|
|
+ "1"=>"18K",
|
|
|
+ "2"=>"24K",
|
|
|
+ "3"=>"白银"];
|
|
|
+ $value['贵金属信息']=$noble[$value['贵金属信息']];
|
|
|
+
|
|
|
+
|
|
|
+ $value['供应商名称']=Db::name("supplier")->where("code",$value['供应商名称'])->value("name",'');
|
|
|
+ yield $value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**获取商品阶梯售价列表
|
|
|
+ * @return \Generator
|
|
|
+ */
|
|
|
+ private function GetGoodLadder(){
|
|
|
+ $list = Db::name("good_platform")->alias("a")
|
|
|
+ ->leftJoin("good b","a.spuCode=b.spuCode")
|
|
|
+ ->leftJoin("good_ladder c","a.skuCode=c.skuCode and c.is_del=0")
|
|
|
+ ->field("
|
|
|
+ a.skuCode '上线商品编号',
|
|
|
+ a.spuCode '成本商品编号',
|
|
|
+ a.plat_code '平台商品编号',
|
|
|
+ b.good_name '商品名称',
|
|
|
+ b.brand_id '品牌',
|
|
|
+ b.cat_id '分类',
|
|
|
+ b.companyNo '业务企业名称',
|
|
|
+ a.creater '申请人',
|
|
|
+ platform_code '上线平台',
|
|
|
+ online_time '上线时间',
|
|
|
+ exam_status '上线状态',
|
|
|
+ if(b.is_stock=1,'库存','非库存') '是否库存',
|
|
|
+ if(b.good_type=1,'定制','非定制')'是否定制',
|
|
|
+ '' as '规格',
|
|
|
+ '' as '型号',
|
|
|
+ b.good_unit '单位',
|
|
|
+ b.good_remark '商品备注',
|
|
|
+ b.craft_desc '工艺说明',
|
|
|
+ b.noble_metal '贵金属信息',
|
|
|
+ b.cgd_gold_price '供应商采购金价',
|
|
|
+ b.demo_fee '打样费',
|
|
|
+ b.open_fee '开模费',
|
|
|
+ b.sample_fee '调样费',
|
|
|
+ c.min_num '起订量',
|
|
|
+ c.sale_price '售价',
|
|
|
+ c.cost_fee '工艺费',
|
|
|
+ c.market_price '物流费',
|
|
|
+ c.market_platform '对比平台',
|
|
|
+ b.tax '税点',
|
|
|
+ if(b.supply_area=1,'全国','全国除偏远地区') '供货区域',
|
|
|
+ b.supplierNo '供应商名称'
|
|
|
+ ")->cursor();
|
|
|
+ foreach ( $list as $value){
|
|
|
+ $value["品牌"]=Db::name("brand")->where("id",$value["品牌"])->value("brand_name",'');
|
|
|
+ $value["分类"]=Db::name("cat")->where("id",$value["分类"])->value("cat_name",'');
|
|
|
+ $value["业务企业名称"]=Db::name("business")->where("companyNo",$value["业务企业名称"])->value("company","");
|
|
|
+ $value["上线平台"]=Db::name("platform")->where("id", $value["上线平台"])->value("platform_name","");
|
|
|
+ $arr=["待提交",'待完善成本','待产品审核','待财务定价','待财务审核定价','待上线','已上线','审核失败','已下线'];
|
|
|
+ $value["上线状态"]=$arr[$value["上线状态"]];
|
|
|
+ $value['单位']=Db::name("unit")->where("id",$value['单位'])->value("unit",'');
|
|
|
+ $noble = [ "0"=>"",
|
|
|
+ "1"=>"18K",
|
|
|
+ "2"=>"24K",
|
|
|
+ "3"=>"白银"];
|
|
|
+ $value['贵金属信息']=$noble[$value['贵金属信息']];
|
|
|
+
|
|
|
+
|
|
|
+ $value['供应商名称']=Db::name("supplier")->where("code",$value['供应商名称'])->value("name",'');
|
|
|
+ yield $value;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
}
|