StoreOutReviewController.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. class StoreOutReviewController extends Controller
  6. {
  7. public function index(Request $request)
  8. {
  9. return view("storeOut.storeOutReview.index");
  10. }
  11. public function apiGetOrderDetail(Request $request)
  12. {
  13. $orderno = $request->input('orderno');
  14. $orderDetail = DB::connection("oracle")->select(
  15. "
  16. SELECT
  17. rtrim( 'ACT_ALLOCATION_DETAILS.SKU=' || cast( act_allocation_details.SKU AS VARCHAR2 ( 100 ) ) ) || ',' || rtrim( 'ACT_ALLOCATION_DETAILS.ALLOCATIONDETAILSID=' || cast( act_allocation_details.ALLOCATIONDETAILSID AS VARCHAR2 ( 100 ) ) ) PKEY,
  18. act_allocation_details.OrderNo,
  19. act_allocation_details.Orderlineno,
  20. act_allocation_details.skulineno,
  21. act_allocation_details.customerId,
  22. act_allocation_details.SKU,
  23. bas_sku.DESCR_C SKUDESCRC,
  24. bas_sku.DESCR_E SKUDESCRE,
  25. doc_order_header.ROUTE,
  26. DOC_Order_Details.ERPCancelFlag,
  27. act_allocation_details.PACKID,
  28. b1.descr UOM_EACH_NAME,
  29. act_allocation_details.Palletize,
  30. doc_order_header.notes AS ORDERNOTES,
  31. doc_order_header.CarrierID,
  32. doc_order_header.OrderType,
  33. rdc.CartonGroup AS CARTONGROUP1,
  34. act_allocation_details.PICKTOTRACEID,
  35. act_allocation_details.LOCATION,
  36. act_allocation_details.AllocationDetailsID,
  37. bas_sku.SerialNoCatch,
  38. bas_sku.OutboundSerialNoQtyControl,
  39. bas_sku.SecondSerialNoCatch,
  40. bas_sku.CHK_SCN_UOM,
  41. bas_sku.ScanWhenCasePicking,
  42. bas_sku.SCANWHENCHECK,
  43. bas_sku.SKU_Group1,
  44. bas_sku.GROSSWEIGHT,
  45. bas_sku.ScanWhenReceive,
  46. bas_sku.ScanWhenPutaway,
  47. bcf.SerialNo_RuleID,
  48. bcf.SubSerialNo_RuleID,
  49. bcf.SN_BCH,
  50. bcf.SN_INC,
  51. doc_order_header.SerialNoCatch AS ORDERSERIALNOCATCH,
  52. doc_order_header.InvoicePrintFlag,
  53. doc_order_header.OrderHandleInstruction,
  54. doc_order_header.CartonGroup AS CARTONGROUPORDERHEADER,
  55. doc_order_header.CartonID AS CARTONIDORDERHEADER,
  56. act_allocation_details.LOTNUM,
  57. act_allocation_details.qty_each AS QTY,
  58. act_allocation_details.LOTNUM,
  59. act_allocation_details.qty_each AS UNCHECKQTY,
  60. act_allocation_details.notes,
  61. bas_sku.CARTONGROUP,
  62. act_allocation_details.status,
  63. c5.CODENAME_C AS ROUTE_NAME,
  64. c.CODENAME_C AS STATUS_NAME,
  65. bas_sku.ALTERNATE_SKU1,
  66. bas_sku.ALTERNATE_SKU2,
  67. bas_sku.ALTERNATE_SKU3,
  68. bas_sku.ALTERNATE_SKU4,
  69. bas_sku.ALTERNATE_SKU5,
  70. act_allocation_details.PACKFLAG,
  71. bas_sku.ImageAddress,
  72. bas_sku.cube,
  73. '' AS SKU_LABEL,
  74. SUM( CASE WHEN act_allocation_details.PackFlag = 'Y' THEN act_allocation_details.Qty_Each ELSE 0 END ) over ( partition BY act_allocation_details.orderno ) AS PACKEDQTY,
  75. SUM( CASE WHEN act_allocation_details.PackFlag = 'Y' THEN 0 ELSE act_allocation_details.Qty_Each END ) over ( partition BY act_allocation_details.orderno ) AS UNPACKQTY,
  76. SUM( CASE WHEN act_allocation_details.PackFlag = 'Y' THEN 0 ELSE act_allocation_details.Cubic END ) over ( partition BY act_allocation_details.orderno ) AS TOTALCUBIC,
  77. INV_LOT_ATT.QCREPORTFILENAME AS QCREPORTFILENAME,
  78. INV_LOT_ATT.LotAtt01 AS LotAtt01,
  79. INV_LOT_ATT.LotAtt02 AS LotAtt02,
  80. INV_LOT_ATT.LotAtt03 AS LotAtt03,
  81. INV_LOT_ATT.LotAtt04 AS LotAtt04,
  82. INV_LOT_ATT.LotAtt05 AS LotAtt05,
  83. INV_LOT_ATT.LotAtt06 AS LotAtt06,
  84. INV_LOT_ATT.LotAtt07 AS LotAtt07,
  85. INV_LOT_ATT.LotAtt08 AS LotAtt08,
  86. INV_LOT_ATT.LotAtt09 AS LotAtt09,
  87. INV_LOT_ATT.LotAtt10 AS LotAtt10,
  88. INV_LOT_ATT.LotAtt11 AS LotAtt11,
  89. INV_LOT_ATT.LotAtt12 AS LotAtt12,
  90. doc_order_header.CONSIGNEEID,
  91. doc_order_header.CONSIGNEENAME CONSIGNEEID_NAME,
  92. BAS_Customer.IMAGEADDRESS AS CONSIGNEEIMAGEADDRESS,
  93. act_allocation_details.uom,
  94. doc_order_header.CustomerID,
  95. BAS_Customer_OW.Descr_C AS CUSTOMERID_NAME,
  96. doc_order_header.CONSIGNEENAME AS CONSIGNEENAME,
  97. doc_order_header.C_Address1 AS C_ADDRESS1,
  98. doc_order_header.C_Contact AS CONSIGNEECONTACT,
  99. doc_order_header.C_Tel1 AS CONSIGNEETEL1,
  100. doc_order_header.SOREFERENCE1,
  101. doc_order_header.SOREFERENCE2,
  102. doc_order_header.SOREFERENCE3,
  103. doc_order_header.SOREFERENCE4,
  104. doc_order_header.SOREFERENCE5,
  105. BAS_Customer_OW.SKUANALYSISFIELDS,
  106. bas_sku.LotID,
  107. DOC_Order_Details.FreeGift,
  108. doc_order_header.Warehouseid,
  109. doc_order_header.waveNo,
  110. act_allocation_details.pickedWho,
  111. TO_CHAR( act_allocation_details.pickedtime, 'yyyy-MM-dd HH24:MI' ) AS PICKEDTIME,
  112. BAS_Location.WorkingArea
  113. FROM
  114. ACT_Allocation_Details act_allocation_details
  115. LEFT JOIN BAS_SKU bas_sku ON bas_sku.SKU = act_allocation_details.SKU
  116. AND bas_sku.CUSTOMERID = act_allocation_details.CUSTOMERID
  117. LEFT JOIN INV_LOT_ATT INV_LOT_ATT ON INV_LOT_ATT.LOTNUM = act_allocation_details.LOTNUM
  118. LEFT JOIN view_cod_so_sts c ON act_allocation_details.status = c.code
  119. LEFT JOIN doc_order_header doc_order_header ON doc_order_header.OrderNo = act_allocation_details.OrderNo
  120. LEFT JOIN DOC_Order_Details DOC_Order_Details ON act_allocation_details.OrderNo = DOC_Order_Details.OrderNo
  121. AND act_allocation_details.OrderLineNo = DOC_Order_Details.OrderLineNo
  122. LEFT JOIN BAS_Customer BAS_Customer ON doc_order_header.CONSIGNEEID = BAS_Customer.CustomerID
  123. AND BAS_Customer.Customer_Type = 'CO'
  124. LEFT JOIN BAS_Customer BAS_Customer_OW ON doc_order_header.CustomerID = BAS_Customer_OW.CustomerID
  125. AND BAS_Customer_OW.Customer_Type = 'OW'
  126. LEFT JOIN VIEW_COD_ROU_COD c5 ON doc_order_header.ROUTE = c5.code
  127. LEFT JOIN view_uom b1 ON b1.uom = 'EA'
  128. AND act_allocation_details.packid = b1.packid
  129. LEFT JOIN BAS_CustomerFreight bcf ON bas_sku.customerid = bcf.customerid
  130. AND bas_sku.FreightClass = bcf.FreightCode
  131. LEFT JOIN RUL_Delivery_Config rdc ON doc_order_header.Warehouseid = rdc.WarehouseID
  132. AND doc_order_header.CustomerID = rdc.CustomerID
  133. AND doc_order_header.CarrierID = rdc.CarrierID
  134. LEFT JOIN BAS_Location BAS_Location ON act_allocation_details.Location = BAS_Location.locationId
  135. WHERE
  136. 1 = 1
  137. AND ( act_allocation_details.Status >= '40' AND act_allocation_details.Status <= '60' ) --分配完成 | 部分拣货 |拣货完成
  138. AND act_allocation_details.ORDERNO = ?
  139. AND act_allocation_details.PackFlag <> 'Y'
  140. ORDER BY
  141. act_allocation_details.PACKFLAG,
  142. act_allocation_details.status DESC,
  143. act_allocation_details.sku,
  144. act_allocation_details.ALLOCATIONDETAILSID
  145. ", [$orderno]);
  146. return ['success' => true, 'data' => $orderDetail];
  147. }
  148. public function review(Request $request)
  149. {
  150. DB::transaction(function ($request) {
  151. //普通复核的长宽高由WAS回写
  152. // ('202108160001','SO21081000004','',1.00000,3,0,0,0,1.00000,sysdate,'liutengfei',sysdate,'liutengfei')
  153. $TRACEID = $request->input('traceid');
  154. $ORDERNO = $request->input('orderno');
  155. $CARTONGROUP = '';
  156. $GROSSWEIGHT = $request->input('grossweight');//总重
  157. $QTY = $request->input('qty');//数量
  158. $LENGTH = 0;
  159. $WIDTH = 0;
  160. $HEIGHT = 0;
  161. $STANDARDWEIGHT = $request->input('standardweight');
  162. $ADDTIME = now()->toDateTimeString();
  163. $ADDWHO = auth()->user()->name;
  164. $EDITTIME = now()->toDateTimeString();
  165. $EDITWHO = auth()->user()->name;
  166. DB::insert("
  167. INSERT INTO DOC_Order_Packing_Summary
  168. (TRACEID,ORDERNO,CARTONGROUP,GROSSWEIGHT,QTY,LENGTH,WIDTH,HEIGHT,STANDARDWEIGHT,ADDTIME,ADDWHO,EDITTIME,EDITWHO)
  169. VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)", [$TRACEID, $ORDERNO, $CARTONGROUP, $GROSSWEIGHT, $QTY, $LENGTH, $WIDTH, $HEIGHT, $STANDARDWEIGHT, $ADDTIME, $ADDWHO, $EDITTIME, $EDITWHO,]);
  170. });
  171. }
  172. }