FrmOrderDelverEdate.xml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc="调整交货期">
  3. <query id="FrmOrderDelverEdate.doQuery" desc="查询">
  4. <![CDATA[
  5. SELECT T2.ORD_PK,
  6. T2.ORD_LN_PK,
  7. T2.ORD_LN_DLY_PK,
  8. T.ORDER_NO,
  9. T1.ORDER_SEQ,
  10. T2.DELIVERY_NO,
  11. TO_CHAR(T1.DELVRY_EDATE, 'YYYY-MM-DD') DELVRY_EDATE_LINE,
  12. TO_CHAR(T2.DELVRY_EDATE, 'YYYY-MM-DD') DELVRY_EDATE,
  13. T3.REVIEW_ASK,
  14. C.BASENAME DELIVERY_STATUS,
  15. T.SALE_ORG,
  16. T.SALE_ORG_DESC
  17. FROM SLM_ORDER_HEAD T,
  18. SLM_ORDER_LINE T1,
  19. SLM_ORDER_LINE_DELIVERY T2,
  20. SLM_ORD_DESIGN_MSC_PL_PC_LST T3,
  21. COM_BASE_INFO C
  22. WHERE T.ORD_PK = T1.ORD_PK
  23. AND T1.ORD_PK = T2.ORD_PK
  24. AND T1.ORD_LN_PK = T2.ORD_LN_PK
  25. AND T2.ORD_LN_DLY_PK = T3.ORD_LN_DLY_PK(+)
  26. AND T3.PROCESS_CODE(+) = 'D'
  27. AND T2.DELIVERY_STATUS = C.BASECODE(+)
  28. AND T.VALIDFLAG = '1'
  29. AND T1.VALIDFLAG = '1'
  30. AND T2.VALIDFLAG = '1'
  31. AND T2.DELIVERY_STATUS IN ('12020301', '12020302','12020210')
  32. ]]>
  33. </query>
  34. <query id="FrmOrderDelverEdate.doQueryEdateRecord" desc="查询交货期调整记录">
  35. <![CDATA[
  36. select T.ORD_PK,
  37. T.ORD_LN_PK,
  38. T.ORD_LN_DLY_PK,
  39. T.ORDER_NO,
  40. T.ORDER_SEQ,
  41. T.DELIVERY_NO,
  42. DECODE(T.FLAG, '0', '前调', '1', '后调') FLAG,
  43. T.DAY_NO,
  44. DECODE(T.FLAG_LINE, '0', '调整交货期', '1', '仅调合同行交货期') FLAG_LINE,
  45. T.USER_ID,
  46. T.USER_NAME,
  47. T.COL_TIME
  48. from SLM_ORDER_DELVRY_EDATE_RECORD t
  49. WHERE 1 = 1
  50. ]]>
  51. </query>
  52. <query id="FrmOrderDelverEdate.updateDelvryEdate" desc="调整交货期">
  53. <![CDATA[
  54. DECLARE
  55. V_ORD_PK SLM_ORDER_LINE_DELIVERY.ORD_PK%type := ?;
  56. V_ORD_LN_PK SLM_ORDER_LINE_DELIVERY.ORD_LN_PK%type := ?;
  57. V_ORD_LN_DLY_PK SLM_ORDER_LINE_DELIVERY.ORD_LN_DLY_PK%type := ?;
  58. V_ORDER_NO SLM_ORDER_HEAD.ORDER_NO%type := ?;
  59. V_ORDER_SEQ SLM_ORDER_LINE.ORDER_SEQ%type := ?;
  60. V_DELIVERY_NO SLM_ORDER_LINE_DELIVERY.DELIVERY_NO%type := ?;
  61. V_USER_NAME SLM_ORDER_DELVRY_EDATE_RECORD.USER_NAME%type := ?;
  62. V_USER_ID SLM_ORDER_DELVRY_EDATE_RECORD.USER_ID%type := ?;
  63. V_FLAG SLM_ORDER_DELVRY_EDATE_RECORD.FLAG%type := ?;
  64. V_DAY_NO SLM_ORDER_DELVRY_EDATE_RECORD.DAY_NO%type := ?;
  65. BEGIN
  66. UPDATE SLM_ORDER_LINE_DELIVERY T
  67. SET T.DELVRY_EDATE = T.DELVRY_EDATE + DECODE(V_FLAG,'0',- V_DAY_NO,'1',V_DAY_NO)
  68. WHERE T.ORD_PK = V_ORD_PK
  69. AND T.ORD_LN_PK = V_ORD_LN_PK
  70. AND T.ORD_LN_DLY_PK = V_ORD_LN_DLY_PK;
  71. UPDATE SLM_ORD_DESIGN_MSC_PL_PC_LST T
  72. SET T.REVIEW_ASK = TO_CHAR(TO_DATE(T.REVIEW_ASK, 'YYYY-MM-DD') +
  73. DECODE(V_FLAG, '0', -V_DAY_NO, '1', V_DAY_NO),
  74. 'YYYY-MM-DD')
  75. WHERE T.ORD_LN_DLY_PK = V_ORD_LN_DLY_PK;
  76. UPDATE SLM_ORD_DESIGN_MSC_PL_PC T
  77. SET T.DELVRY_EDATE = T.DELVRY_EDATE + DECODE(V_FLAG,'0',- V_DAY_NO,'1',V_DAY_NO)
  78. WHERE T.ORD_LN_DLY_PK = V_ORD_LN_DLY_PK;
  79. INSERT INTO SLM_ORDER_DELVRY_EDATE_RECORD(
  80. ORD_PK,
  81. ORD_LN_PK,
  82. ORD_LN_DLY_PK,
  83. ORDER_NO,
  84. ORDER_SEQ,
  85. DELIVERY_NO,
  86. FLAG,
  87. DAY_NO,
  88. FLAG_LINE,
  89. USER_ID,
  90. USER_NAME,
  91. COL_TIME)
  92. VALUES(
  93. V_ORD_PK,
  94. V_ORD_LN_PK,
  95. V_ORD_LN_DLY_PK,
  96. V_ORDER_NO,
  97. V_ORDER_SEQ,
  98. V_DELIVERY_NO,
  99. V_FLAG,
  100. V_DAY_NO,
  101. '0',
  102. V_USER_ID,
  103. V_USER_NAME,
  104. SYSDATE);
  105. END;
  106. ]]>
  107. </query>
  108. <query id="FrmOrderDelverEdate.updateDelvryEdateLine" desc="仅调合同行交货期">
  109. <![CDATA[
  110. DECLARE
  111. V_ORD_PK SLM_ORDER_LINE_DELIVERY.ORD_PK%type := ?;
  112. V_ORD_LN_PK SLM_ORDER_LINE_DELIVERY.ORD_LN_PK%type := ?;
  113. V_ORD_LN_DLY_PK SLM_ORDER_LINE_DELIVERY.ORD_LN_DLY_PK%type := ?;
  114. V_ORDER_NO SLM_ORDER_HEAD.ORDER_NO%type := ?;
  115. V_ORDER_SEQ SLM_ORDER_LINE.ORDER_SEQ%type := ?;
  116. V_DELIVERY_NO SLM_ORDER_LINE_DELIVERY.DELIVERY_NO%type := ?;
  117. V_USER_NAME SLM_ORDER_DELVRY_EDATE_RECORD.USER_NAME%type := ?;
  118. V_USER_ID SLM_ORDER_DELVRY_EDATE_RECORD.USER_ID%type := ?;
  119. V_FLAG SLM_ORDER_DELVRY_EDATE_RECORD.FLAG%type := ?;
  120. V_DAY_NO SLM_ORDER_DELVRY_EDATE_RECORD.DAY_NO%type := ?;
  121. V_FLAG_LINE SLM_ORDER_DELVRY_EDATE_RECORD.FLAG_LINE%type := ?;
  122. BEGIN
  123. UPDATE SLM_ORDER_LINE T
  124. SET T.DELVRY_EDATE = T.DELVRY_EDATE +
  125. DECODE(V_FLAG, '0', -V_DAY_NO, '1', V_DAY_NO),
  126. T.DELVRY_DESC = REPLACE(T.DELVRY_DESC,
  127. TO_CHAR(T.DELVRY_EDATE, 'YYYY-MM-DD'),
  128. TO_CHAR(T.DELVRY_EDATE +
  129. DECODE(V_FLAG,
  130. '0',
  131. -V_DAY_NO,
  132. '1',
  133. V_DAY_NO),
  134. 'YYYY-MM-DD'))
  135. WHERE T.ORD_PK = V_ORD_PK
  136. AND T.ORD_LN_PK = V_ORD_LN_PK;
  137. IF (V_FLAG_LINE = '1') THEN
  138. INSERT INTO SLM_ORDER_DELVRY_EDATE_RECORD
  139. (ORD_PK,
  140. ORD_LN_PK,
  141. ORD_LN_DLY_PK,
  142. ORDER_NO,
  143. ORDER_SEQ,
  144. DELIVERY_NO,
  145. FLAG,
  146. DAY_NO,
  147. FLAG_LINE,
  148. USER_ID,
  149. USER_NAME,
  150. COL_TIME)
  151. VALUES
  152. (V_ORD_PK,
  153. V_ORD_LN_PK,
  154. V_ORD_LN_DLY_PK,
  155. V_ORDER_NO,
  156. V_ORDER_SEQ,
  157. V_DELIVERY_NO,
  158. V_FLAG,
  159. V_DAY_NO,
  160. '1',
  161. V_USER_ID,
  162. V_USER_NAME,
  163. SYSDATE);
  164. END IF;
  165. END;
  166. ]]>
  167. </query>
  168. </queryMap>