123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- <?php
- namespace JinDouYun\Controller\Stock;
- use Mall\Framework\Core\ErrorCode;
- use Mall\Framework\Core\StatusCode;
- use JinDouYun\Controller\BaseController;
- use JinDouYun\Model\Stock\MPicking;
- class Picking extends BaseController
- {
- private $objPicking;
- private $loginUserCenterId;
-
- public function __construct($isCheckAcl = true, $isMustLogin = true)
- {
- parent::__construct($isCheckAcl, $isMustLogin);
- $this->loginUserCenterId = $this->onlineUserId;
- $userCenterId = $this->request->param('request_id');
- $this->onlineUserId = empty($userCenterId) ? $this->onlineUserId : $userCenterId;
- $this->objPicking = new MPicking($this->onlineUserId, $this->onlineEnterpriseId, $this->loginUserCenterId);
- }
-
- public function commonFieldFilter()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- parent::sendOutput('参数为空', ErrorCode::$paramError);
- }
-
- $pickingDate = [
- 'shopId' => isset($params['shopId']) ? $params['shopId'] : 0,
- 'shopName' => isset($params['shopName']) ? $params['shopName'] : '',
- 'merchantId' => isset($params['merchantId']) ? $params['merchantId'] : 0,
- 'originId' => isset($params['originId']) ? $params['originId'] : 0,
- 'originNo' => isset($params['originNo']) ? $params['originNo'] : '',
- 'personnel' => isset($params['personnel']) ? $params['personnel'] : 0,
- 'personnelName' => isset($params['personnelName']) ? $params['personnelName'] : '',
- 'currentUnitId' => isset($params['currentUnitId']) ? $params['currentUnitId'] : 0,
- 'currentUnit' => isset($params['currentUnit']) ? $params['currentUnit'] : '',
- 'deliveryType' => isset($params['deliveryType']) ? $params['deliveryType'] : '',
- 'managerId' => isset($params['managerId']) ? $params['managerId'] : 0,
- 'managerName' => isset($params['managerName']) ? $params['managerName'] : 0,
- 'goodsData' => getArrayItem($params,'goodsData', [])
- ];
- foreach ($pickingDate as $key => $value) {
- if (empty($value) && $value !== 0) {
- parent::sendOutput($key . '参数错误', ErrorCode::$paramError);
- }
- }
- return $pickingDate;
- }
-
- public function addPicking()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- parent::sendOutput('参数为空', ErrorCode::$paramError);
- }
-
- $pickingDate = $this->commonFieldFilter();
- $pickingDate['sort'] = getArrayItem($params,'sort',0);
- $pickingDate['number'] = 0;
- $pickingDate['goodsLine'] = count($pickingDate['goodsData']);
- $pickingDate['totalMoney'] = 0;
- $pickingDate['notPickingNum'] = 0;
- $pickingDate['pickingNum'] = 0;
- $pickingDate['InspectionNum'] = 0;
- $pickingDate['InspectionedNum'] = 0;
- $pickingDate['outNum'] = 0;
- $pickingDate['notOutNum'] = 0;
- $pickingDate['outTime'] = 0;
- $pickingDate['address'] = getArrayItem($params,'address','');
- $pickingDate['pickingStatus'] = 4;
- $pickingDate['pickingType'] = 1;
-
- foreach ($pickingDate['goodsData'] as $key =>$value ){
- $pickingDate['number'] = bcadd($pickingDate['number'],$value['orderNum']);
- $pickingDate['notPickingNum'] = bcadd($pickingDate['notPickingNum'],$value['orderNum']);
- $pickingDate['totalMoney'] = bcadd($pickingDate['totalMoney'],$value['totalMoney']);
- $pickingDate['notOutNum'] = bcadd($pickingDate['notOutNum'],$value['orderNum']);
- $pickingDate['InspectionNum'] = bcadd($pickingDate['InspectionNum'],$value['orderNum']);
- }
- $pickingDate['remark'] = isset($params['remark']) ? $params['remark'] : '';
- $pickingDate['createTime'] = time();
-
- $pickingDate['goodsData'] = self::formatGoodsDate($pickingDate,$pickingDate['goodsData']);
- $result = $this->objPicking->addPicking($pickingDate);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function getAllPicking()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $pageParams = pageToOffset($params['page'] ?: 1, $params['pageSize'] ?: 10);
- $selectParams['limit'] = $pageParams['limit'];
- $selectParams['offset'] = $pageParams['offset'];
- $selectParams['no'] = getArrayItem($params,'no','');
- $selectParams['warehouseId'] = getArrayItem($params,'warehouseId','');
- $selectParams['personnel'] = getArrayItem($params,'personnel','');
- $selectParams['originId'] = getArrayItem($params,'originId','');
- $selectParams['originNo'] = getArrayItem($params,'originNo','');
- $selectParams['currentUnitId'] = getArrayItem($params,'currentUnitId','');
- $selectParams['managerId'] = getArrayItem($params,'managerId','');
- $selectParams['timeName'] = getArrayItem($params,'timeName','');
- $selectParams['start'] = getArrayItem($params,'start','');
- $selectParams['end'] = getArrayItem($params,'end','');
- if( isset($selectParams['no']) || !empty($selectParams['no']) ){
- $tmpSelectParams['no'] = explode('-',$selectParams['no']);
- if(count($tmpSelectParams['no'])==3){
- $selectParams['no'] = $tmpSelectParams['no'][1].'-'.$tmpSelectParams['no'][2];
- }
- }
- if( isset($selectParams['originNo']) || !empty($selectParams['originNo']) ){
- $tmpSelectParams['originNo'] = explode('-',$selectParams['originNo']);
- if(count($tmpSelectParams['originNo'])==3){
- $selectParams['originNo'] = $tmpSelectParams['originNo'][1].'-'.$tmpSelectParams['originNo'][2];
- }
- }
- $result = $this->objPicking->getAllPicking($selectParams);
- if ($result->isSuccess()) {
- $returnData = $result->getData();
- $pageData = [
- 'pageIndex' => $params['page'],
- 'pageSize' => $params['pageSize'],
- 'pageTotal' => $returnData['total'],
- ];
- parent::sendOutput($returnData['data'], 0, $pageData);
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function getPickingInfo()
- {
- $pickingId = $this->request->param('request_id');
- if (!$pickingId) {
- $this->sendOutput('参数错误', ErrorCode::$paramError);
- }
- $result = $this->objPicking->getPickingInfo($pickingId);
- if ($result->isSuccess()) {
- $this->sendOutput($result->getData());
- } else {
- $this->sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function getAllPickingGoodsDetail()
- {
- $params = $this->request->getRawJson();
- if (empty($params)) {
- $this->sendOutput('参数为空', ErrorCode::$paramError);
- }
- $pageParams = pageToOffset($params['page'] ?: 1, $params['pageSize'] ?: 10);
- $selectParams['limit'] = $pageParams['limit'];
- $selectParams['offset'] = $pageParams['offset'];
- $selectParams['no'] = getArrayItem($params,'no','');
- $selectParams['goodsName'] = getArrayItem($params,'goodsName','');
- $selectParams['originId'] = getArrayItem($params,'originId','');
- $selectParams['originNo'] = getArrayItem($params,'originNo','');
- $selectParams['pickingStatus'] = getArrayItem($params,'pickingStatus',[]);
- $selectParams['warehouseId'] = getArrayItem($params,'warehouseId','');
- $selectParams['personnel'] = getArrayItem($params,'personnel','');
- $selectParams['currentUnitId'] = getArrayItem($params,'currentUnitId','');
- $selectParams['managerId'] = getArrayItem($params,'managerId','');
- $selectParams['timeName'] = getArrayItem($params,'timeName','');
- $selectParams['start'] = getArrayItem($params,'start','');
- $selectParams['end'] = getArrayItem($params,'end','');
- if( isset($selectParams['no']) || !empty($selectParams['no']) ){
- $tmpSelectParams['no'] = explode('-',$selectParams['no']);
- if(count($tmpSelectParams['no'])==3){
- $selectParams['no'] = $tmpSelectParams['no'][1].'-'.$tmpSelectParams['no'][2];
- }
- }
- if( isset($selectParams['originNo']) || !empty($selectParams['originNo']) ){
- $tmpSelectParams['originNo'] = explode('-',$selectParams['originNo']);
- if(count($tmpSelectParams['originNo'])==3){
- $selectParams['originNo'] = $tmpSelectParams['originNo'][1].'-'.$tmpSelectParams['originNo'][2];
- }
- }
- $result = $this->objPicking->getAllPickingGoodsDetail($selectParams);
- if ($result->isSuccess()) {
- $returnData = $result->getData();
- $pageData = [
- 'pageIndex' => $params['page'],
- 'pageSize' => $params['pageSize'],
- 'pageTotal' => $returnData['total'],
- ];
- parent::sendOutput($returnData['data'], 0, $pageData);
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function editPicking()
- {
- $pickingId = $this->request->param('request_id');
- if(empty($pickingId)){
- $this->sendOutput('参数错误', ErrorCode::$paramError);
- }
- $params = $this->request->getRawJson();
- if (empty($params)) {
- parent::sendOutput('参数为空', ErrorCode::$paramError);
- }
- $params['id'] = $pickingId;
- $result = $this->objPicking->editPicking($params);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function updatePicking()
- {
- $params = $this->request->getRawJson();
- if (empty($params['id'])) {
- parent::sendOutput('参数为空', ErrorCode::$paramError);
- }
- $result = $this->objPicking->updatePicking($params);
- if ($result->isSuccess()) {
- parent::sendOutput($result->getData());
- } else {
- parent::sendOutput($result->getData(), $result->getErrorCode());
- }
- }
-
- public function formatGoodsDate($pickingDate,$goodsDate){
- foreach($goodsDate as $key =>$value){
- $goodsDate[$key]['shopId'] = $pickingDate['shopId'];
- $goodsDate[$key]['shopName'] = $pickingDate['shopName'];
- $goodsDate[$key]['merchantId'] = $pickingDate['merchantId'];
- $goodsDate[$key]['price'] = getArrayItem($goodsDate[$key],'price',0);
- $goodsDate[$key]['originPrice'] = getArrayItem($goodsDate[$key],'price',$goodsDate[$key]['price']);
- $goodsDate[$key]['orderNum'] = getArrayItem($goodsDate[$key],'orderNum',0);
- $goodsDate[$key]['pickingNum'] = $goodsDate[$key]['orderNum'];
- $goodsDate[$key]['otherNum'] = getArrayItem($goodsDate[$key],'otherNum',0);
- $goodsDate[$key]['totalMoney'] = bcmul($goodsDate[$key]['price'],$goodsDate[$key]['orderNum']);
- $goodsDate[$key]['goodsBasicId'] = getArrayItem($goodsDate[$key],'goodsBasicId',0);
- $goodsDate[$key]['unitName'] = getArrayItem($goodsDate[$key],'unitName','');
- $goodsDate[$key]['conversion'] = getArrayItem($goodsDate[$key],'conversion','');
- $goodsDate[$key]['outCostPrice'] = getArrayItem($goodsDate[$key],'outCostPrice','');
- $goodsDate[$key]['pickingStatus'] = getArrayItem($goodsDate[$key],'pickingStatus',1);
- $goodsDate[$key]['isGiveaway'] = getArrayItem($goodsDate[$key],'isGiveaway',4);
- $goodsDate[$key]['barCode'] = getArrayItem($goodsDate[$key],'barCode',"");
- $goodsDate[$key]['isEq'] = getArrayItem($goodsDate[$key],'isEq',4);
- $goodsDate[$key]['categoryPath'] = getArrayItem($goodsDate[$key],'categoryPath','');
- $goodsDate[$key]['pickingedNum'] = getArrayItem($goodsDate[$key],'pickingedNum',0);
- $goodsDate[$key]['InspectionNum'] = getArrayItem($goodsDate[$key],'InspectionNum',$goodsDate[$key]['orderNum']);
- $goodsDate[$key]['InspectionedNum'] = getArrayItem($goodsDate[$key],'InspectionedNum',0);
- $goodsDate[$key]['InspectionStatus'] = getArrayItem($goodsDate[$key],'InspectionStatus',4);
- $goodsDate[$key]['specGroup'] = isset($goodsDate[$key]['specGroup']) ? json_encode($goodsDate[$key]['specGroup']): null;
- $goodsDate[$key]['goodsImages'] = getArrayItem($goodsDate[$key],'goodsImages','');
- $goodsDate[$key]['remark'] = getArrayItem($goodsDate[$key],'remark','');
- $goodsDate[$key]['extends'] = isset($goodsDate[$key]['extends']) ? json_encode($goodsDate[$key]['extends']) : null;
- $goodsDate[$key]['createTime'] = time();
- }
- return $goodsDate;
- }
- }
|