|
|
@@ -9,12 +9,14 @@ use App\InventoryCompare;
|
|
|
use App\Owner;
|
|
|
use App\Services\common\QueryService;
|
|
|
use Carbon\Carbon;
|
|
|
+use Illuminate\Support\Facades\Cache;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use Overtrue\Pinyin\Pinyin;
|
|
|
use Ramsey\Uuid\Uuid;
|
|
|
|
|
|
class InventoryCompareService
|
|
|
{
|
|
|
+ static private $missionCode;
|
|
|
private function conditionQuery($SKU,$LotAtt05,$descr_c){
|
|
|
$sql='select * from (select result.*,rownum rn from (';
|
|
|
$sql.=' select customer.Descr_C as 货主,storeStatus.CUSTOMERID 客户,storeStatus.LocationID 库位, sku.SKU 产品编码, sku.ALTERNATE_SKU1 产品条码, ';
|
|
|
@@ -37,10 +39,19 @@ class InventoryCompareService
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
+ public function getCreatingMissionCode($ownerName=''){
|
|
|
+ if(self::$missionCode)return self::$missionCode;
|
|
|
+ $sequence=Cache::get('InventoryCompareMissionSequence');
|
|
|
+ if(!$sequence||$sequence>998)$sequence=0;
|
|
|
+ $sequence++;
|
|
|
+ Cache::put('InventoryCompareMissionSequence',$sequence,300);
|
|
|
+ $pinyin=new Pinyin();
|
|
|
+ $ownerFirstLetter=strtoupper($pinyin->abbr($ownerName));
|
|
|
+ self::$missionCode= $ownerFirstLetter.date ("ymd").'KCBD'.str_pad($sequence,3,"0",STR_PAD_LEFT);
|
|
|
+ return self::$missionCode;
|
|
|
+ }
|
|
|
public function createInventoryCompare_underImport($SKU, $customLocation, $amount, $ownerId){
|
|
|
$owner=Owner::find($ownerId);
|
|
|
- $ownerName=$owner['name'];
|
|
|
$request=[
|
|
|
'产品编码'=>$SKU,
|
|
|
'属性仓'=>$customLocation,
|
|
|
@@ -51,8 +62,7 @@ class InventoryCompareService
|
|
|
$ccAmount=0;
|
|
|
$amountTotal=0;
|
|
|
|
|
|
- $pinyin=new Pinyin();
|
|
|
- $owner=strtoupper($pinyin->abbr($ownerName));
|
|
|
+ $creatingMissionCode = $this->getCreatingMissionCode($owner['name']);
|
|
|
$commodityId=Commodity::where('sku',$SKU)->where('owner_id',$ownerId)->value('id');
|
|
|
$inventoryCompare=new InventoryCompare();
|
|
|
$inventoryCompare->owner_id=$ownerId;
|
|
|
@@ -64,11 +74,9 @@ class InventoryCompareService
|
|
|
$inventoryCompare->amount_in_sys=0;
|
|
|
$inventoryCompare->amount_in_compare=$amount;
|
|
|
$inventoryCompare->differ=0-$amount;
|
|
|
+ $inventoryCompare->mission_code= $creatingMissionCode;
|
|
|
$inventoryCompare->save();
|
|
|
- Controller::logS(__METHOD__,"创建库存对比__".__FUNCTION__,json_encode($request));
|
|
|
- $mission_code =$owner.date ("ymd").'KCBD'.str_pad($inventoryCompare['id']>99999?$inventoryCompare['id']%99999:$inventoryCompare['id'],4,"0",STR_PAD_LEFT);
|
|
|
- $inventoryCompare->update(['mission_code' => $mission_code ]);
|
|
|
- Controller::logS(__METHOD__,"修改库存对比任务号__".__FUNCTION__,json_encode($mission_code));
|
|
|
+ Controller::logS(__METHOD__,"修改库存对比任务号__".__FUNCTION__,json_encode($creatingMissionCode));
|
|
|
return $inventoryCompare;
|
|
|
}
|
|
|
public function createInventoryCompare($SKU,$LotAtt05,$amount,$ownerId){
|
|
|
@@ -102,8 +110,7 @@ class InventoryCompareService
|
|
|
}
|
|
|
}
|
|
|
$unknownStatusAmount=$amountTotal-$ccAmount-$zpAmount;
|
|
|
- $pinyin=new Pinyin();
|
|
|
- $owner=strtoupper($pinyin->abbr($ownerName));
|
|
|
+ $creatingMissionCode = $this->getCreatingMissionCode($ownerName);
|
|
|
$commodityId=Commodity::where('sku',$SKU)->where('owner_id',$ownerId)->value('id');
|
|
|
$inventoryCompare=new InventoryCompare();
|
|
|
$inventoryCompare->owner_id=$ownerId;
|
|
|
@@ -111,35 +118,24 @@ class InventoryCompareService
|
|
|
$inventoryCompare->mission_code=Uuid::uuid1();
|
|
|
$inventoryCompare->custom_location=$LotAtt05;
|
|
|
$inventoryCompare->created_at=Carbon::now()->format('Y-m-d H:i:s');
|
|
|
+ $inventoryCompare->mission_code=$creatingMissionCode;
|
|
|
if ($zpAmount!=0){
|
|
|
$inventoryCompare->quality='正品';
|
|
|
$inventoryCompare->amount_in_sys=$zpAmount;
|
|
|
$inventoryCompare->amount_in_compare=$amount;
|
|
|
$inventoryCompare->differ=$zpAmount-$amount;
|
|
|
- $inventoryCompare->save();
|
|
|
- Controller::logS(__METHOD__,"创建库存对比__".__FUNCTION__,json_encode($request));
|
|
|
- $mission_code =$owner.date ("ymd").'KCBD'.str_pad($inventoryCompare['id']>99999?$inventoryCompare['id']%99999:$inventoryCompare['id'],4,"0",STR_PAD_LEFT);
|
|
|
- $inventoryCompare->update(['mission_code' => $mission_code ]);
|
|
|
- Controller::logS(__METHOD__,"修改库存对比任务号__".__FUNCTION__,json_encode($mission_code));
|
|
|
}
|
|
|
if ($ccAmount!=0){
|
|
|
$inventoryCompare->quality='次品';
|
|
|
$inventoryCompare['amount_in_sys']=$ccAmount;
|
|
|
- $inventoryCompare->save();
|
|
|
- Controller::logS(__METHOD__,"创建库存对比__".__FUNCTION__,json_encode($request));
|
|
|
- $mission_code =$owner.date ("ymd").'KCBD'.str_pad($inventoryCompare['id']>99999?$inventoryCompare['id']%99999:$inventoryCompare['id'],4,"0",STR_PAD_LEFT);
|
|
|
- $inventoryCompare->update(['mission_code' => $mission_code ]);
|
|
|
- Controller::logS(__METHOD__,"修改库存对比任务号__".__FUNCTION__,json_encode($mission_code));
|
|
|
}
|
|
|
if ($unknownStatusAmount!=0){
|
|
|
$inventoryCompare->quality='未知';
|
|
|
$inventoryCompare->amount_in_sys=$unknownStatusAmount;
|
|
|
- $inventoryCompare->save();
|
|
|
- Controller::logS(__METHOD__,"创建库存对比__".__FUNCTION__,json_encode($request));
|
|
|
- $mission_code =$owner.date ("ymd").'KCBD'.str_pad($inventoryCompare['id']>99999?$inventoryCompare['id']%99999:$inventoryCompare['id'],4,"0",STR_PAD_LEFT);
|
|
|
- $inventoryCompare->update(['mission_code' => $mission_code ]);
|
|
|
- Controller::logS(__METHOD__,"修改库存对比任务号__".__FUNCTION__,json_encode($mission_code));
|
|
|
}
|
|
|
+ $inventoryCompare->save();
|
|
|
+ Controller::logS(__METHOD__,"创建库存对比__".__FUNCTION__,json_encode($request));
|
|
|
+ Controller::logS(__METHOD__,"修改库存对比任务号__".__FUNCTION__,json_encode($creatingMissionCode));
|
|
|
return $inventoryCompare;
|
|
|
}
|
|
|
|