|
@@ -3465,7 +3465,7 @@ class Sale extends Base
|
|
|
if(in_array($this->roleid,config('app.wsm_cgder_role'))) $condition .="b.is_stock=1";
|
|
|
else{
|
|
|
$personid=Db::name('supplier')->field('id')->where(['is_del'=>0,'personid'=>$this->uid])->findOrEmpty();
|
|
|
- if($personid)$condition.="(b.is_stock=0 and wpo.cgder_id = {$this->uid})";//供应商负责人能看到非库存品的单子
|
|
|
+ if($personid)$condition.="(b.is_stock=0 and sip.personid = {$this->uid})";//供应商负责人能看到非库存品的单子
|
|
|
else $condition.="a.apply_id = {$this->uid}";//其他只能看到自己创建的单子
|
|
|
}
|
|
|
}
|
|
@@ -3492,6 +3492,7 @@ class Sale extends Base
|
|
|
->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
|
|
|
->leftJoin("order_send os", "os.outCode=a.outCode")
|
|
|
->leftJoin("purchease_order wpo", "wpo.cgdNo=os.cgdNo")
|
|
|
+ ->leftJoin('supplier sip', 'sip.code=wpo.supplierNo')
|
|
|
->where($where)
|
|
|
->where($condition)
|
|
|
->count();
|
|
@@ -3505,6 +3506,7 @@ class Sale extends Base
|
|
|
->leftJoin("order_send os", "os.outCode=a.outCode")
|
|
|
->leftJoin("purchease_order wpo", "wpo.cgdNo=os.cgdNo")
|
|
|
->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
|
|
|
+ ->leftJoin('supplier sip', 'sip.code=wpo.supplierNo')
|
|
|
->field("a.*,b.order_type,b.order_source,b.good_name,b.good_code,b.skuCode,b.supplierNo,b.customer_code,v.companyName,b.origin_price,b.sale_price,b.total_price,os.cgdNo,u.itemid")
|
|
|
->where($where)
|
|
|
->where($condition)
|
|
@@ -3708,6 +3710,7 @@ class Sale extends Base
|
|
|
$addrid = Db::name("order_addr")->insert($addrlst, true);
|
|
|
if ($addrid > 0) {
|
|
|
$outCode = makeNo("DF");
|
|
|
+ $order=[];
|
|
|
if($der['order_type']!=1){
|
|
|
$order = Db::name("order_num")->where(["orderCode" => $orderCode, "status" => 1])->where([["wsend_num", ">=", 0]])
|
|
|
->lock(true)->find();
|
|
@@ -3741,6 +3744,8 @@ class Sale extends Base
|
|
|
return error_show(1002, "发货地址添加创建失败");
|
|
|
}
|
|
|
}else{
|
|
|
+ $order['cgdNo']='';
|
|
|
+ $cgd=[];
|
|
|
// $stockid=Db::name("sale_info")->where(["orderCode"=>$orderCode])->value("stockid","");
|
|
|
// if($stockid==''){
|
|
|
// Db::rollback();
|
|
@@ -3850,7 +3855,7 @@ class Sale extends Base
|
|
|
'updatetime' => date('Y-m-d H:i:s'),
|
|
|
]);
|
|
|
|
|
|
- Db::execute("UPDATE `wsm_standing_book` SET `outCode`=CONCAT(IFNULL(`outCode`,''),',{$outCode}') WHERE `cgdNo`='{$cgd['cgdNo']}'");
|
|
|
+ Db::execute("UPDATE `wsm_standing_book` SET `outCode`=CONCAT(IFNULL(`outCode`,''),',{$outCode}') WHERE `cgdNo`='{$order['cgdNo']}'");
|
|
|
|
|
|
Db::commit();
|
|
|
return app_show(0, "出库单新建成功");
|
|
@@ -3920,10 +3925,17 @@ class Sale extends Base
|
|
|
if (!in_array($own_roleid, config('app.wsm_cgder_role'))) throw new \think\Exception('库存品只能由库管人员操作');
|
|
|
} elseif ($einfo['is_stock'] == 0 || $einfo['order_type'] == 3) {
|
|
|
//非库存品和采返商品只能由供应商负责人操作
|
|
|
-// $personid = Db::name('supplier')
|
|
|
-// ->where(['code' => $einfo['supplierNo'], 'is_del' => 0])
|
|
|
-// ->value('personid');
|
|
|
- if ($uid != $einfo['cgderid']) throw new \think\Exception('非库存品和采返商品只能由供应商负责人操作');
|
|
|
+ if($einfo['order_type'] == 3){
|
|
|
+ $personid = Db::name('good_zixun')->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
|
|
|
+ ->where(['a.spuCode' => $einfo['good_code'], 'a.is_del' => 0])
|
|
|
+ ->value('personid');
|
|
|
+ }else{
|
|
|
+ $personid = Db::name('good')->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
|
|
|
+ ->where(['a.spuCode' => $einfo['good_code'], 'a.is_del' => 0])
|
|
|
+ ->value('personid');
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($uid !=$personid) throw new \think\Exception('非库存品和采返商品只能由供应商负责人操作');
|
|
|
}
|
|
|
|
|
|
if ($up) {
|
|
@@ -4686,10 +4698,21 @@ class Sale extends Base
|
|
|
return app_show(1003, $value['outCode'] . '发货单只能由库管操作');
|
|
|
}
|
|
|
} else {
|
|
|
- if ($createrid != $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['cgderid']) {
|
|
|
- Db::rollback();
|
|
|
- return app_show(1003, $value['outCode'] . '发货单只能由供应商负责人操作');
|
|
|
- }
|
|
|
+ if($sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type']==3){
|
|
|
+ $personid = Db::name('good_zixun')->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
|
|
|
+ ->where(['a.spuCode' => $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code'], 'a.is_del' => 0])
|
|
|
+ ->value('personid');
|
|
|
+ }else{
|
|
|
+ $personid = Db::name('good')->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
|
|
|
+ ->where(['a.spuCode' =>
|
|
|
+ $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code'],'a.is_del' => 0])
|
|
|
+ ->value('personid');
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($createrid != $personid) {
|
|
|
+ Db::rollback();
|
|
|
+ return app_show(1003, $value['outCode'] . '发货单只能由供应商负责人操作');
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//【发货单】
|