1a46aba375ed73939c71aa35149a4d495f6e746a.svn-base 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. package xin.glue.ui.H.H05;
  2. import java.sql.CallableStatement;
  3. import java.sql.SQLException;
  4. import com.posdata.glue.PosException;
  5. import com.posdata.glue.biz.activity.PosActivity;
  6. import com.posdata.glue.biz.constants.PosBizControlConstants;
  7. import com.posdata.glue.biz.control.PosBizControlIF;
  8. import com.posdata.glue.biz.control.PosBizProvider;
  9. import com.posdata.glue.component.PosConstants;
  10. import com.posdata.glue.context.PosContext;
  11. import com.posdata.glue.dao.vo.PosParameter;
  12. import com.posdata.glue.dao.vo.PosRow;
  13. import com.posdata.glue.dao.vo.PosRowSet;
  14. import com.posdata.glue.msg.PosMESMessageImpl;
  15. import com.posdata.glue.msg.PosMessage;
  16. /****
  17. * 这里专门做一个类在发货明细发行后修改卷重,这里只能修改一次。
  18. * 并且修改完之后还需要把卷重发送给销售
  19. * *****/
  20. public class CoilWGTSEND extends PosActivity{
  21. public String runActivity(PosContext context) {
  22. //磅重
  23. String[] ACT_WGT = (String[])context.get("ACT_WGT");
  24. //理论重量
  25. String[] CAL_WGT = (String[])context.get("CAL_WGT");
  26. // 操作人
  27. String[] REG_ID = (String[])context.get("REG_ID");
  28. //钢卷号
  29. String[] coil_no = (String[])context.get("coil_no");
  30. PosParameter param1 = new PosParameter();
  31. String sql2 = "select a.CUR_PROG_CD,a.SHIP_PROG_CD,a.COIL_STAT,a.SEND_WGT from tbh02_coil_comm a where a.old_sampl_no = ?";
  32. param1.setWhereClauseParameter(0,coil_no[0] );
  33. PosRowSet CoilVo = getDao("mesdao").findByQueryStatement(sql2, param1);
  34. String CUR_PROG_CD = null;
  35. String SHIP_PROG_CD = null;
  36. String COIL_STAT = null;
  37. String SEND_WGT = null;
  38. if(CoilVo.hasNext()){
  39. PosRow CoilRow = CoilVo.next();
  40. CUR_PROG_CD = (String) CoilRow.getAttribute("CUR_PROG_CD");
  41. SHIP_PROG_CD = (String) CoilRow.getAttribute("SHIP_PROG_CD");
  42. COIL_STAT = (String) CoilRow.getAttribute("COIL_STAT");
  43. SEND_WGT = (String) CoilRow.getAttribute("SEND_WGT");
  44. if(null != CUR_PROG_CD && CUR_PROG_CD.equals("SFF")){
  45. //这里判断钢卷公共表的是否发送状态,并且给出相应的修改提示
  46. if(!SEND_WGT.equals("0")){
  47. //重量重新发送过不能再次进行发送
  48. logger.logDebug("CoilWGTSEND 发货明细发行后已经修改过重量,修改标志为:"+SEND_WGT+" ;卷号为; "+coil_no[0]);
  49. String vtemp="SEND_WGT";
  50. context.put("rs", vtemp);
  51. }else{
  52. //钢卷公共表,这里修改过后需要把重量修改标志置为1
  53. PosParameter param2 = new PosParameter();
  54. param2.setWhereClauseParameter(0, ACT_WGT[0]);
  55. param2.setWhereClauseParameter(1, REG_ID[0]);
  56. param2.setWhereClauseParameter(2, coil_no[0]);
  57. getDao("mesdao").update("UIH051500_02.update", param2);
  58. //这里还需要更新接口表的重量字段
  59. PosParameter param4 = new PosParameter();
  60. //String.valueOf(Float.valueOf(ACT_WGT[0])/1000)
  61. param4.setWhereClauseParameter(0, ACT_WGT[0]);
  62. param4.setWhereClauseParameter(1, coil_no[0]);
  63. getDao("mesdao").update("UIH051500_03.update", param4);
  64. //这里还需要进行订单整理,因为重量进行了改变会影响到订单发货量
  65. SendProg_NIE012080();
  66. }
  67. }else{
  68. //没有发行明细的卷,不能在此改重量
  69. logger.logDebug("CoilWGTSEND 钢卷状态没有到发货完成,不能修改重量:"+CUR_PROG_CD+" ;卷号为; "+coil_no[0]);
  70. String vtemp="CUR_PROG_CD";
  71. context.put("rs", vtemp);
  72. }
  73. }else{
  74. //此卷在库中没有,给出相应的提示
  75. logger.logDebug("CoilWGTSEND 钢卷在公共表中不存在,卷号为; "+coil_no[0]);
  76. String vtemp="old_sampl_no";
  77. context.put("rs", vtemp);
  78. }
  79. return PosBizControlConstants.SUCCESS;
  80. }
  81. public void SendProg_NIE012080()
  82. {
  83. PosContext context = new PosContext();
  84. PosMessage message = new PosMESMessageImpl();
  85. String TcId = "NIE012080";
  86. message.setTCID(TcId);
  87. message.setObject("MSG_ID",TcId);
  88. message.setObject("AA",null);
  89. context.setMessage(message);
  90. this.processComponent(PosConstants.CREATE_MESSAGE, context);
  91. String transactionCode = context.getMessage().getTC();
  92. message.setTCID(TcId);
  93. String serviceName = "NIE012080";
  94. String SERVICE_POSTFIX = "-service";
  95. context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
  96. context.setMessage(message);
  97. PosBizControlIF controller = PosBizProvider.getController();
  98. controller.doSubController(context,false);
  99. }
  100. }