|
@@ -64,7 +64,6 @@ class Allot extends BaseController
|
|
|
$value['rcode'] =isset($dc['code']) ? $dc['code']:"";
|
|
|
$data []=$value;
|
|
|
}
|
|
|
-
|
|
|
return app_show(0,"获取成功",['count'=>$count,'list'=>$data]);
|
|
|
}
|
|
|
public function create(){
|
|
@@ -86,7 +85,6 @@ class Allot extends BaseController
|
|
|
// if($allot_code==""){
|
|
|
// return error_show(1002,"调拨编号不能为空");
|
|
|
// }
|
|
|
-
|
|
|
$apply_id =GetUserInfo($token);
|
|
|
if(empty($apply_id)||$apply_id['code']!=0){
|
|
|
return error_show(1002,"申请人数据不存在");
|
|
@@ -203,9 +201,7 @@ class Allot extends BaseController
|
|
|
}
|
|
|
$allot_code = isset($this->post['allot_code']) && $this->post['allot_code'] !=="" ? trim($this->post['allot_code']) :"";
|
|
|
$post_name = isset($this->post['post_name']) && $this->post['post_name'] !=="" ? trim($this->post['post_name']) :"";
|
|
|
-
|
|
|
$post_code = isset($this->post['post_code']) && $this->post['post_code'] !=="" ? trim($this->post['post_code']) :"";
|
|
|
-
|
|
|
$apply_id =GetUserInfo($token);
|
|
|
if(empty($apply_id)||$apply_id['code']!=0){
|
|
|
return error_show(1002,"申请人数据不存在");
|
|
@@ -279,7 +275,6 @@ class Allot extends BaseController
|
|
|
}catch (\Exception $e){
|
|
|
Db::rollback();
|
|
|
return error_show(1005,$e->getMessage());
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
public function del(){
|
|
@@ -325,6 +320,7 @@ class Allot extends BaseController
|
|
|
$stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_type_code'],"wsm_code"=>$st['wsm_out'],"is_del"=>0])->find();
|
|
|
//var_dump($value['allot_num'],$stock['usable_stock']);
|
|
|
if($value['allot_num']>$stock['usable_stock']){
|
|
|
+ Db::rollback();
|
|
|
return error_show(1003,"超出库存数量");
|
|
|
}
|
|
|
$stock['usable_stock']-=$value['allot_num'];
|
|
@@ -389,6 +385,7 @@ class Allot extends BaseController
|
|
|
foreach ($vnp as $value){
|
|
|
$stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_type_code'],"wsm_code"=>$al['wsm_out'],"is_del"=>0])->find();
|
|
|
if($stock['wait_out_stock']<$value['allot_num']){
|
|
|
+ Db::rollback();
|
|
|
return error_show(1006,"超出库存数量");
|
|
|
}
|
|
|
$stock['wait_out_stock']-=$value['allot_num'];
|
|
@@ -439,10 +436,9 @@ class Allot extends BaseController
|
|
|
$st = Db::name("good_type")->alias("b")->join("good a", "a.good_code = b.good_code", "left")
|
|
|
->join("good_stock c", "c.good_type_code = b.type_code", "left")->where(['wsm_code' => $al['wsm_out'], 'good_type_code' => $value['good_code'], 'b.is_del' => 0, 'a.is_del' => 0])->where("c.is_del=0 or c.is_del is null")
|
|
|
->field("b.type_code,a.good_name,c.wsm_code,c.usable_stock,c.good_type_code")->find();
|
|
|
- //var_dump(Db::name("good_type")->getLastSql());
|
|
|
if (empty($st)) {
|
|
|
Db::rollback();
|
|
|
- return error_show(1003, "商品不能为空");
|
|
|
+ return error_show(1003, "未找到商品");
|
|
|
}
|
|
|
$temp = [];
|
|
|
$temp['usable_num'] = $value['usable_num'];
|
|
@@ -450,29 +446,49 @@ class Allot extends BaseController
|
|
|
$temp['error_remark'] = $value['error_remark'];
|
|
|
$temp['updatetime'] = date("Y-m-d H:i:s");
|
|
|
$np = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code']])->save($temp);
|
|
|
+ if($np==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1001,"数据更新失败");
|
|
|
+ }
|
|
|
+ $n = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code']])->find();
|
|
|
$stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_code'],"wsm_code"=>$al['wsm_out'],"is_del"=>0])->find();
|
|
|
- //var_dump(Db::name("good_stock")->getLastSql());
|
|
|
- if($stock['intra_stock']<$np['allot_num']){
|
|
|
+ if($stock['intra_stock']<$n['allot_num']){
|
|
|
+ Db::rollback();
|
|
|
return error_show(1002,"超出库存数量");
|
|
|
}
|
|
|
$stock['updatetime']= date('Y-m-d H:i:s');
|
|
|
- $stock['intra_stock']-=$np['allot_num'];
|
|
|
+ $stock['intra_stock']-=$n['allot_num'];
|
|
|
$dr = Db::name('good_stock')->update($stock);
|
|
|
+ if($dr==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1002,"数据更新失败");
|
|
|
+ }
|
|
|
$instock = Db::name("good_stock")->where(["good_type_code"=>$value['good_code'],"wsm_code"=>$al['wsm_in'],"is_del"=>0])->find();
|
|
|
- if($instock==""){
|
|
|
-
|
|
|
+ if($instock==false){
|
|
|
+ $instock =[];
|
|
|
+ $instock['good_type_code']=$value['good_code'];
|
|
|
+ $instock['wsm_code']=$al['wsm_in'];
|
|
|
+ $instock['wait_in_stock']=0;
|
|
|
+ $instock['wait_out_stock']=0;
|
|
|
+ $instock['usable_stock']=0;
|
|
|
+ $instock['intra_stock']=0;
|
|
|
+ $instock['total_stock']=0;
|
|
|
+ $instock['status']=1;
|
|
|
+ $instock['is_del']=0;
|
|
|
+ $instock['warn_stock']=0;
|
|
|
+ $instock['addtime']= date('Y-m-d H:i:s');
|
|
|
}
|
|
|
- $instock['wait_in_stock']+=$np['allot_num'];
|
|
|
+ $instock['wait_in_stock']+=$n['allot_num'];
|
|
|
$instock['updatetime']= date('Y-m-d H:i:s');
|
|
|
-// $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
|
|
|
- $sk = Db::name('good_stock')->update($instock);
|
|
|
+ $sk = Db::name('good_stock')->save($instock);
|
|
|
+// $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
|
|
|
if ($sk==false) {
|
|
|
Db::rollback();
|
|
|
return error_show(1003, "入库验货更新失败");
|
|
|
}
|
|
|
- Db::commit();
|
|
|
- return error_show(0, "入库验货更新成功");
|
|
|
}
|
|
|
+ Db::commit();
|
|
|
+ return error_show(0, "入库验货更新成功");
|
|
|
}
|
|
|
Db::rollback();
|
|
|
return error_show(1002, "入库验货更新失败");
|
|
@@ -507,9 +523,8 @@ public function vesio(){
|
|
|
if($datainfo>0) {
|
|
|
foreach ($dain as $value) {
|
|
|
$st = Db::name("good_type")->alias("b")->join("good a", "a.good_code = b.good_code", "left")
|
|
|
- ->join("good_stock c", "c.good_type_code = b.type_code", "left")->where(['wsm_code' => $al['wsm_out'], 'good_type_code' => $value['good_code'], 'b.is_del' => 0, 'a.is_del' => 0])->where("c.is_del=0 or c.is_del is null")
|
|
|
+ ->join("good_stock c", "c.good_type_code = b.type_code", "left")->where(['wsm_code' => $al['wsm_in'], 'good_type_code' => $value['good_code'], 'b.is_del' => 0, 'a.is_del' => 0])->where("c.is_del=0 or c.is_del is null")
|
|
|
->field("b.type_code,a.good_name,c.wsm_code,c.usable_stock")->find();
|
|
|
- // var_dump(Db::name("good_type")->getLastSql());
|
|
|
if (empty($st)) {
|
|
|
Db::rollback();
|
|
|
return error_show(1003, "商品不能为空");
|
|
@@ -518,21 +533,31 @@ public function vesio(){
|
|
|
$temp['stock_num'] = $value['stock_num'];
|
|
|
$temp['updatetime'] = date("Y-m-d H:i:s");
|
|
|
$np = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code']])->save($temp);
|
|
|
- $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_code'],"wsm_code"=>$datainfo['wsm_in'],"is_del"=>0])->find();
|
|
|
- if($stock['wait_in_stock'<$np['allot_num']]){
|
|
|
- return error_show(1002,"超出库存数量");
|
|
|
+ if($np==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1001,"数据更新失败");
|
|
|
+ }
|
|
|
+ $p = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=>$al['allot_code']])->find();
|
|
|
+ if($p==""){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1002,"未找到数据");
|
|
|
+ }
|
|
|
+ $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_code'],"wsm_code"=>$al['wsm_in'],"is_del"=>0])->find();
|
|
|
+ if($stock['wait_in_stock']<$p['allot_num']){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1002,"超出待入库存数量");
|
|
|
}
|
|
|
- $stock['wait_in_stock']-=$np['allot_num'];
|
|
|
- $stock['usable_stock']+=$np['allot_num'];
|
|
|
+ $stock['wait_in_stock']-=$p['allot_num'];
|
|
|
+ $stock['usable_stock']+=$p['allot_num'];
|
|
|
$stock['updatetime']=date('Y-m-d H:i:s');
|
|
|
$stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
|
|
|
$dr = Db::name('good_stock')->update($stock);
|
|
|
if ($dr==false) {
|
|
|
Db::rollback();
|
|
|
- return error_show(0, "验货更新失败");
|
|
|
+ return error_show(1004, "验货更新失败");
|
|
|
}
|
|
|
Db::commit();
|
|
|
- return error_show(1003, "验货更新成功");
|
|
|
+ return error_show(0, "验货更新成功");
|
|
|
}
|
|
|
}
|
|
|
Db::rollback();
|
|
@@ -542,4 +567,4 @@ public function vesio(){
|
|
|
return error_show(1005,$e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|