|
@@ -4105,9 +4105,14 @@ class Sale extends Base
|
|
|
$uname = $this->uname;//isset($user_info['data']['nickname']) ? $user_info['data']['nickname'] : '';
|
|
|
|
|
|
if ($einfo['is_stock'] == 1) {
|
|
|
- //如果是库存品,只能由库管和库管-张凯旋操作
|
|
|
- $own_roleid = Db::name('user_role')->where(['is_del'=>0,'uid'=>$uid,'status'=>1])->value('roleid',0);
|
|
|
- if (!in_array($own_roleid, config('app.wsm_cgder_role'))) throw new \think\Exception('库存品只能由库管人员操作');
|
|
|
+ //由于存在一个单子对应多个仓库的情况,因此库存品的判断暂时无法进行,待分仓功能完成后再考虑
|
|
|
+
|
|
|
+ //如果是库存品,只能由库管操作
|
|
|
+// $contactor = Db::name('warehouse_info')
|
|
|
+// ->where(['wsm_code' => $outinfo['wsm_code'], 'is_del' => 0])
|
|
|
+// ->value('contactor');
|
|
|
+// $own_roleid = Db::name('user_role')->where(['is_del'=>0,'uid'=>$uid,'status'=>1])->value('roleid',0);
|
|
|
+// if ($uid != $contactor) throw new \think\Exception('库存品只能由库管人员操作');
|
|
|
} elseif ($einfo['is_stock'] == 0) {
|
|
|
//非库存品和采返商品只能由供应商负责人操作
|
|
|
if ($einfo['order_type'] == 3 || $einfo['order_type'] ==4 ) {
|
|
@@ -4872,9 +4877,9 @@ class Sale extends Base
|
|
|
->column('id,status,send_num,orderCode,wsm_code,apply_id,apply_name', 'outCode');
|
|
|
|
|
|
//所有库管人员信息
|
|
|
- $wsm_infos=Db::name('warehouse_info')
|
|
|
- ->where(['is_del'=>0,'wsm_code'=>array_column($order_out_infos,'wsm_code')])
|
|
|
- ->column('contactor','wsm_code');
|
|
|
+// $wsm_infos=Db::name('warehouse_info')
|
|
|
+// ->where(['is_del'=>0,'wsm_code'=>array_column($order_out_infos,'wsm_code')])
|
|
|
+// ->column('contactor','wsm_code');
|
|
|
|
|
|
//所有商品信息及供应商编码
|
|
|
$spuCodes=Db::name('sale')
|
|
@@ -4889,7 +4894,7 @@ class Sale extends Base
|
|
|
$supplierNos = array_unique(array_merge($supplierNo1,$supplierNo2));
|
|
|
$userCommon = new \app\admin\common\User();
|
|
|
$temp = $userCommon->handle('sGetList',['more_code'=>array_values($supplierNos)]);
|
|
|
- $supplier_personid = array_column($temp,'person','code');
|
|
|
+ $supplier_personid = array_column($temp['data']['list'],'personid','code');
|
|
|
|
|
|
//处理数据
|
|
|
Db::startTrans();
|
|
@@ -4919,25 +4924,26 @@ class Sale extends Base
|
|
|
//level2账号的话,库存品只能由库管操作,非库存品只能由供应商负责人操作,level3账号不限制
|
|
|
if ($sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['is_stock'] == 1) {
|
|
|
|
|
|
- if($wsm_infos[$order_out_infos[$value['outCode']]['wsm_code']]??0 != $createrid) throw new \think\Exception($value['outCode'] . '发货单只能由库管操作');
|
|
|
+ //由于存在一个单子对应多个仓库的情况,因此库存品的判断暂时无法进行,待分仓功能完成后再考虑
|
|
|
+// if($wsm_infos[$order_out_infos[$value['outCode']]['wsm_code']]??0 != $createrid) throw new \think\Exception($value['outCode'] . '发货单只能由库管操作');
|
|
|
|
|
|
// if (!in_array($own_roleid, config('app.wsm_cgder_role'))) {
|
|
|
// Db::rollback();
|
|
|
// return app_show(1003, $value['outCode'] . '发货单只能由库管操作');
|
|
|
- }
|
|
|
+// }
|
|
|
} else {
|
|
|
- if ($sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type'] == 3 || $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type'] == 4) {
|
|
|
+// if ($sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type'] == 3 || $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type'] == 4) {
|
|
|
// $supplierNo = Db::name('good_zixun')
|
|
|
//// ->leftJoin("supplier b", "a.supplierNo=b.code")
|
|
|
// ->where(['spuCode' => $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code'], 'is_del' => 0])
|
|
|
// ->value('supplierNo');
|
|
|
- } else {
|
|
|
+// } else {
|
|
|
// $supplierNo = Db::name('good')
|
|
|
//// ->alias("a")
|
|
|
//// ->leftJoin("supplier b", "a.supplierNo=b.code")
|
|
|
// ->where(['spuCode' =>$sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code'], 'is_del' => 0])
|
|
|
// ->value('supplierNo');
|
|
|
- }
|
|
|
+// }
|
|
|
|
|
|
if ($createrid != $supplier_personid[$supplierNos[$sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code']]]) throw new \think\Exception($value['outCode'] . '发货单只能由供应商负责人操作');
|
|
|
// Db::rollback();
|