626fca5874d4f7dc3bebba5d61f0f08a7da089d5.svn-base 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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.context.PosContext;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRow;
  10. import com.posdata.glue.dao.vo.PosRowSet;
  11. /*****************************
  12. * 这个类专门用于给销售重新发送重量信息,前提是销售先进行退结算操作。
  13. * TL 090829
  14. * ********************************/
  15. public class SendWgt extends PosActivity{
  16. public String runActivity(PosContext context) {
  17. //磅重
  18. String[] ACT_WGT = (String[])context.get("ACT_WGT");
  19. //理论重量
  20. String[] CAL_WGT = (String[])context.get("CAL_WGT");
  21. // 操作人
  22. String[] REG_ID = (String[])context.get("REG_ID");
  23. //钢卷号
  24. String[] coil_no = (String[])context.get("coil_no");
  25. PosParameter param1 = new PosParameter();
  26. String sql2 = "select a.CUR_PROG_CD,a.SHIP_PROG_CD,a.COIL_STAT,a.SEND_WGT,a.DLIV_DIRNO from tbh02_coil_comm a where a.old_sampl_no = ?";
  27. param1.setWhereClauseParameter(0,coil_no[0] );
  28. PosRowSet CoilVo = getDao("mesdao").findByQueryStatement(sql2, param1);
  29. String CUR_PROG_CD = null;
  30. String SHIP_PROG_CD = null;
  31. String COIL_STAT = null;
  32. String SEND_WGT = null;
  33. String DLIV_DIRNO = null;
  34. if(CoilVo.hasNext()){
  35. PosRow CoilRow = CoilVo.next();
  36. CUR_PROG_CD = (String) CoilRow.getAttribute("CUR_PROG_CD");
  37. SHIP_PROG_CD = (String) CoilRow.getAttribute("SHIP_PROG_CD");
  38. COIL_STAT = (String) CoilRow.getAttribute("COIL_STAT");
  39. SEND_WGT = (String) CoilRow.getAttribute("SEND_WGT");
  40. DLIV_DIRNO = (String) CoilRow.getAttribute("DLIV_DIRNO");
  41. if(null != CUR_PROG_CD && CUR_PROG_CD.equals("SFF")){
  42. //这里需要判断卷重修改标志是否修改,以及销售的回退标志是否置为1.
  43. PosParameter param2 = new PosParameter();
  44. String sql22 = "select max(a.ISCHANGEWGT) ISCHANGEWGT from tbj02_coil_comm a,tbh02_coil_comm b where a.DLIV_DIRNO = b.DLIV_DIRNO and a.DLIV_DIRNO = ?";
  45. param2.setWhereClauseParameter(0,DLIV_DIRNO);
  46. PosRowSet ISCHANGEWGTVo = getDao("mesdao").findByQueryStatement(sql22, param2);
  47. String ISCHANGEWGT = null;
  48. if(ISCHANGEWGTVo.hasNext()){
  49. PosRow ISCHANGEWGTRow = ISCHANGEWGTVo.next();
  50. ISCHANGEWGT = (String) ISCHANGEWGTRow.getAttribute("ISCHANGEWGT");
  51. if(null != ISCHANGEWGT && !ISCHANGEWGT.equals("0")){
  52. // 如果标志为1的情况下,说明结算已经进行了退结算操作。这里可以进行发送操作
  53. if(SEND_WGT.equals("1")){
  54. //必须先进行明细后的重量修改,才能进行重量的再次发送
  55. PosParameter param3 = new PosParameter();
  56. param3.setWhereClauseParameter(0, DLIV_DIRNO);
  57. getDao("mesdao").update("UIH051500_04.update", param3);
  58. }else{
  59. //没有进行卷重修改操作不能再次进行卷重发送
  60. logger.logDebug("SendWgt 没有对打完明细的卷进行卷重修改不能进行卷重发送,卷重修改标志为; "+SEND_WGT+" 卷号为: "+coil_no[0]);
  61. String vtemp="SEND_WGT";
  62. context.put("rs", vtemp);
  63. }
  64. }else{
  65. //结算没有进行相应的退结算操作,这里提示发送不成功
  66. logger.logDebug("SendWgt 结算科没有进行退结算操作,成品不能点击发送按钮。退结算标志为; "+ISCHANGEWGT+" 卷号为: "+coil_no[0]);
  67. String vtemp="ISCHANGEWGT";
  68. context.put("rs", vtemp);
  69. }
  70. }else{
  71. //卷号信息在接口表中不存在
  72. logger.logDebug("SendWgt 接口表中不存在卷号为; "+coil_no[0]+" 的数据");
  73. String vtemp="coil_no";
  74. context.put("rs", vtemp);
  75. }
  76. }else{
  77. //没有发行明细的卷,不能在此改重量
  78. logger.logDebug("SendWgt 钢卷状态没有到发货完成,不能再次发送卷重:"+CUR_PROG_CD+" ;卷号为; "+coil_no[0]);
  79. String vtemp="CUR_PROG_CD";
  80. context.put("rs", vtemp);
  81. }
  82. }else{
  83. //此卷在库中没有,给出相应的提示
  84. logger.logDebug("SendWgt 钢卷在公共表中不存在,卷号为; "+coil_no[0]);
  85. String vtemp="old_sampl_no";
  86. context.put("rs", vtemp);
  87. }
  88. return PosBizControlConstants.SUCCESS;
  89. }
  90. }