You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
4.1 KiB

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.gaotao.modules.labelSplitMerge.dao.LabelSplitMergeMapper">
  4. <!-- 根据标签条码获取库存信息 -->
  5. <select id="getStockInfoByLabelCode" resultType="map">
  6. SELECT
  7. s.site,
  8. s.bu_no as buNo,
  9. s.warehouse_id as warehouseId,
  10. s.part_no as partNo,
  11. s.batch_no as batchNo,
  12. s.location_id as locationId,
  13. s.qty_on_hand as qtyOnHand,
  14. s.roll_no as labelCode,
  15. s.in_qty as labelQuantity,
  16. s.status,
  17. s.status_tb as statusTb,
  18. s.manufacture_date as productionDate,
  19. s.expired_date as expiryDate,
  20. s.freeze_flag as freezeFlag,
  21. s.label_type as labelType,
  22. s.label_type_tb as labelTypeTb,
  23. s.wdr,
  24. w.WareHouseName as warehouseName
  25. FROM inventory_stock s
  26. LEFT JOIN warehouse w ON s.warehouse_id = w.WareHouseID AND s.site = w.site
  27. WHERE s.roll_no = #{labelCode}
  28. AND s.site = #{site}
  29. AND s.warehouse_id = #{warehouseId}
  30. AND s.status = '在库'
  31. AND s.qty_on_hand > 0
  32. </select>
  33. <!-- 插入新的库存记录 -->
  34. <insert id="insertInventoryStock">
  35. INSERT INTO inventory_stock (
  36. site,
  37. bu_no,
  38. roll_no,
  39. parent_roll_no,
  40. part_no,
  41. label_type_tb,
  42. label_type,
  43. warehouse_id,
  44. location_id,
  45. batch_no,
  46. wdr,
  47. status_tb,
  48. status,
  49. first_in_date,
  50. latest_in_date,
  51. active_date,
  52. in_qty,
  53. out_qty,
  54. qty_on_hand,
  55. qty_reserved,
  56. freeze_flag,
  57. manufacture_date,
  58. expired_date,
  59. orderref1,
  60. orderref2,
  61. orderref3
  62. ) VALUES (
  63. #{params.site},
  64. #{params.buNo},
  65. #{params.rollNo},
  66. #{params.parentRollNo},
  67. #{params.partNo},
  68. #{params.labelTypeTb},
  69. #{params.labelType},
  70. #{params.warehouseId},
  71. #{params.locationId},
  72. #{params.batchNo},
  73. #{params.wdr},
  74. #{params.statusTb},
  75. #{params.status},
  76. #{params.firstInDate},
  77. #{params.latestInDate},
  78. #{params.activeDate},
  79. #{params.inQty},
  80. #{params.outQty},
  81. #{params.qtyOnHand},
  82. #{params.qtyReserved},
  83. #{params.freezeFlag},
  84. #{params.manufactureDate},
  85. #{params.expiredDate},
  86. #{params.orderref1},
  87. #{params.orderref2},
  88. #{params.orderref3}
  89. )
  90. </insert>
  91. <!-- 更新库存数量 -->
  92. <update id="updateInventoryQuantitySplit">
  93. UPDATE inventory_stock
  94. SET
  95. qty_on_hand = #{params.qtyOnHand},
  96. in_qty = #{params.inQty},
  97. latest_out_date = GETDATE()
  98. WHERE roll_no = #{params.rollNo}
  99. AND site = #{params.site}
  100. AND warehouse_id = #{params.warehouseId}
  101. </update>
  102. <!-- 更新库存数量 -->
  103. <update id="updateInventoryQuantityMerge">
  104. UPDATE inventory_stock
  105. SET
  106. qty_on_hand = #{params.qtyOnHand},
  107. in_qty = #{params.inQty},
  108. latest_in_date = GETDATE()
  109. WHERE roll_no = #{params.rollNo}
  110. AND site = #{params.site}
  111. AND warehouse_id = #{params.warehouseId}
  112. </update>
  113. <!-- 更新库存状态 -->
  114. <update id="updateInventoryStatus">
  115. UPDATE inventory_stock
  116. SET
  117. status = #{params.status},
  118. status_tb = #{params.statusTb},
  119. out_qty = ISNULL(out_qty, 0) + #{params.outQty},
  120. qty_on_hand = 0,
  121. latest_out_date = GETDATE()
  122. WHERE roll_no = #{params.rollNo}
  123. AND site = #{params.site}
  124. AND warehouse_id = #{params.warehouseId}
  125. </update>
  126. </mapper>