PurchaseOut.Class.php 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <?php
  2. /**
  3. * 采购退货订单
  4. * Created by PhpStorm.
  5. * User: XiaoMing
  6. * Date: 2019/11/11
  7. * Time: 17:51
  8. */
  9. namespace JinDouYun\Controller\Purchase;
  10. use JinDouYun\Controller\BaseController;
  11. use Mall\Framework\Core\ErrorCode;
  12. use JinDouYun\Model\Purchase\MPurchaseOut;
  13. class PurchaseOut extends BaseController
  14. {
  15. private $objMPurchaseOut;
  16. /**
  17. * Purchase constructor.
  18. * @param bool $isCheckAcl
  19. * @param bool $isMustLogin
  20. * @throws \Exception
  21. */
  22. public function __construct($isCheckAcl = true, $isMustLogin = true)
  23. {
  24. parent::__construct($isCheckAcl, $isMustLogin);
  25. $this->objMPurchaseOut = new MPurchaseOut($this->onlineUserId, $this->onlineEnterpriseId);
  26. }
  27. /**
  28. * 添加,编辑采购退货订单
  29. * @return array
  30. */
  31. public function commonFieldFilter()
  32. {
  33. $params = $this->request->getRawJson();
  34. if (empty($params)) {
  35. $this->sendOutput('参数为空', ErrorCode::$paramError);
  36. }
  37. $data = [
  38. 'originId' => isset($params['originId']) ? $params['originId'] : '',
  39. 'originNo' => isset($params['originNo']) ? $params['originNo'] : '',
  40. 'warehouseId' => isset($params['warehouseId']) ? $params['warehouseId'] : '',
  41. 'warehouseName' => isset($params['warehouseName']) ? $params['warehouseName'] : '',
  42. 'buyerId' => isset($params['buyerId']) ? $params['buyerId'] : '',
  43. 'buyerName' => isset($params['buyerName']) ? $params['buyerName'] : '',
  44. 'operatorId' => $this->onlineUserId,
  45. 'operatorName' => isset($params['operatorName']) ? $params['operatorName'] : '',
  46. 'couponAmount' => isset($params['couponAmount']) ? sprintf("%.4f", $params['couponAmount']) : '',
  47. 'otherAmount' => isset($params['otherAmount']) ? sprintf("%.4f", $params['otherAmount']) : '',
  48. ];
  49. $data['goodsData'] = [];
  50. foreach($params['goodsData'] as $value){
  51. $goodsData = [
  52. 'goodsId' => isset($value['goodsId']) ? $value['goodsId'] : '',
  53. 'skuId' => isset($value['skuId']) ? $value['skuId'] : '',
  54. 'unitName' => isset($value['unitName']) ? $value['unitName'] : '',
  55. 'skuName' => isset($value['skuName']) ? $value['skuName'] : '',
  56. 'goodsCode' => isset($value['goodsCode']) ? $value['goodsCode'] : '',
  57. 'goodsName' => isset($value['goodsName']) ? $value['goodsName'] : '',
  58. 'buyerNum' => isset($value['buyerNum']) ? abs($value['buyerNum']) : '',
  59. 'otherNum' => isset($value['otherNum']) ? abs($value['otherNum']) : '',
  60. 'buyerUnitPrice' => isset($value['buyerUnitPrice']) ? $value['buyerUnitPrice'] : '',
  61. 'subtotalPrice' => isset($value['subtotalPrice']) ? $value['subtotalPrice'] : '',
  62. 'couponAmount' => isset($value['couponAmount']) ? $value['couponAmount'] : '',
  63. 'otherAmount' => isset($value['otherAmount']) ? $value['otherAmount'] : '',
  64. ];
  65. if($value['buyerNum'] < 0){
  66. parent::sendOutput('退货数量参数错误', ErrorCode::$paramError);
  67. }
  68. isset($value['id']) && $goodsData['id'] = $value['id'];
  69. $data['goodsData'][] = $goodsData;
  70. }
  71. foreach ($data as $key => $value) {
  72. if (empty($value) && $value !== 0) {
  73. $this->sendOutput($key . '参数错误', ErrorCode::$paramError);
  74. }
  75. }
  76. $data['supplierId'] = isset($params['supplierId']) ? $params['supplierId'] : 0;
  77. $data['supplierName'] = isset($params['supplierName']) ? $params['supplierName'] : '';
  78. $data['merchantId'] = isset($params['merchantId']) ? $params['merchantId'] : 0;
  79. $data['merchantName'] = isset($params['merchantName']) ? $params['merchantName'] : '';
  80. $data['purchaseStatus'] = getArrayItem($params, 'purchaseStatus', 4);
  81. $data['deleteArray'] = isset($params['deleteArray']) ? $params['deleteArray'] : [];
  82. $data['remark'] = isset($params['remark']) ? $params['remark'] : null;
  83. return $data;
  84. }
  85. /**
  86. * 添加采购退货订单
  87. * @throws \Exception
  88. */
  89. public function addPurchaseOut()
  90. {
  91. $data = $this->commonFieldFilter();
  92. $result = $this->objMPurchaseOut->addPurchaseOut($data);
  93. if ($result->isSuccess()) {
  94. parent::sendOutput($result->getData());
  95. } else {
  96. parent::sendOutput($result->getData(), $result->getErrorCode());
  97. }
  98. }
  99. /**
  100. * 采购退货信息
  101. * @throws \Exception
  102. */
  103. public function getPurchaseOutInfoById()
  104. {
  105. $id = $this->request->param('request_id');
  106. if (!$id) {
  107. $this->sendOutput('参数错误', ErrorCode::$paramError);
  108. }
  109. $result = $this->objMPurchaseOut->getPurchaseOutInfoById($id);
  110. if ($result->isSuccess()) {
  111. $resultData = $result->getData();
  112. $this->sendOutput($resultData);
  113. }
  114. $this->sendOutput($result->getData(), $result->getErrorCode());
  115. }
  116. /**
  117. * 编辑采购退货
  118. * @throws \Exception
  119. */
  120. public function editPurchase()
  121. {
  122. $id = $this->request->param('request_id');
  123. if (empty($id)) {
  124. $this->sendOutput('参数错误', ErrorCode::$paramError);
  125. }
  126. $data = $this->commonFieldFilter();
  127. $data['id'] = $id;
  128. $result = $this->objMPurchaseOut->editPurchase($data);
  129. if ($result->isSuccess()) {
  130. parent::sendOutput($result->getData());
  131. } else {
  132. parent::sendOutput($result->getData(), $result->getErrorCode());
  133. }
  134. }
  135. /**
  136. * 更新审核状态
  137. */
  138. public function updateAuditStatus()
  139. {
  140. $id = $this->request->param('request_id');
  141. $params = $this->request->getRawJson();
  142. $data = [
  143. 'id' => $id,
  144. 'auditStatus' => $params['auditStatus'],
  145. 'auditName' => $params['auditName'],
  146. 'auditId' => $this->onlineUserId,
  147. 'auditTime' => time(),
  148. ];
  149. foreach ($data as $key => $value) {
  150. if (empty($value)) {
  151. $this->sendOutput($key . '参数错误', ErrorCode::$paramError);
  152. }
  153. }
  154. $result = $this->objMPurchaseOut->updateAuditStatus($data);
  155. if ($result->isSuccess()) {
  156. parent::sendOutput($result->getData());
  157. } else {
  158. parent::sendOutput($result->getData(), $result->getErrorCode());
  159. }
  160. }
  161. /**
  162. * 删除采购退货
  163. */
  164. public function delPurchaseOut()
  165. {
  166. $id = $this->request->param('request_id');
  167. if (!$id) {
  168. $this->sendOutput('参数错误', ErrorCode::$paramError);
  169. }
  170. if (!is_array($id)) {
  171. $id = [$id];
  172. }
  173. $result = $this->objMPurchaseOut->delPurchaseOut($id);
  174. if ($result->isSuccess()) {
  175. parent::sendOutput($result->getData());
  176. } else {
  177. parent::sendOutput($result->getData(), $result->getErrorCode());
  178. }
  179. }
  180. /**
  181. * 采购退货列表
  182. * @throws \Exception
  183. */
  184. public function getAllPurchaseOut()
  185. {
  186. $params = $this->request->getRawJson();
  187. $page = $params['page'] ?: 1;
  188. $pageSize = $params['pageSize'] ?: 10;
  189. $offset = ($page - 1) * $pageSize;
  190. $selectParams = [
  191. 'limit' => $pageSize,
  192. 'offset' => $offset,
  193. ];
  194. if(isset($params['auditStatus']) && !empty($params['auditStatus'])) $selectParams['auditStatus'] = $params['auditStatus'];
  195. if(isset($params['sourceNo']) && !empty($params['sourceNo'])) $selectParams['no'] = $params['sourceNo'];
  196. if(isset($params['shopId']) && !empty($params['shopId'])) $selectParams['shopId'] = $params['shopId'];
  197. if(isset($params['purchaseStatus']) && !empty($params['purchaseStatus'])) $selectParams['purchaseStatus'] = $params['purchaseStatus'];
  198. //判断是否是打印
  199. $export = isset($params['export']) ? $params['export'] : 0;
  200. $orderData = $this->objMPurchaseOut->getAllPurchaseOut($selectParams, $export);
  201. if ($orderData->isSuccess()) {
  202. $returnData = $orderData->getData();
  203. $pageData = [
  204. 'pageIndex' => $page,
  205. 'pageSize' => $pageSize,
  206. 'pageTotal' => $returnData['total'],
  207. ];
  208. parent::sendOutput($returnData['data'], 0, $pageData);
  209. } else {
  210. parent::sendOutput($orderData->getData(), ErrorCode::$dberror);
  211. }
  212. }
  213. }