1 package org.campware.cream.modules.actions; 2 3 42 43 import java.util.Date ; 44 import java.util.Enumeration ; 45 import org.apache.velocity.context.Context; 46 47 import org.apache.turbine.util.RunData; 48 import org.apache.turbine.util.parser.ParameterParser; 49 import org.apache.torque.util.Criteria; 50 import org.apache.torque.util.Transaction; 51 import java.sql.Connection ; 52 53 import org.campware.cream.om.Shipment; 54 import org.campware.cream.om.ShipmentPeer; 55 import org.campware.cream.om.ShipmentItem; 56 import org.campware.cream.om.ShipmentItemPeer; 57 58 62 public class ShipmentSQL extends CreamAction 63 { 64 protected void initScreen() 65 { 66 setModuleType(DOCUMENT); 67 setModuleName("SHIPMENT"); 68 } 69 70 80 public void doInsert(RunData data, Context context) 81 throws Exception 82 { 83 Shipment entry = new Shipment(); 84 data.getParameters().setProperties(entry); 85 86 entry.setShipmentCode(getTempCode()); 87 88 entry.setIssuedDate(parseDate(data.getParameters().getString("issueddate"))); 89 entry.setClosedDate(parseDate(data.getParameters().getString("closeddate"))); 90 entry.setCreatedBy(data.getUser().getName()); 91 entry.setCreated(new Date ()); 92 entry.setModifiedBy(data.getUser().getName()); 93 entry.setModified(new Date ()); 94 95 ParameterParser pp= data.getParameters(); 96 Enumeration paramKeys= pp.keys(); 97 int sordId = entry.getSorderId(); 98 int custId = entry.getCustomerId(); 99 int recpId = entry.getRecipientId(); 100 int projId = entry.getProjectId(); 101 102 while(paramKeys.hasMoreElements()) { 103 String paramName = paramKeys.nextElement().toString(); 104 if(paramName.startsWith("productid")) { 105 String suffix=paramName.substring(9, paramName.length()); 106 ShipmentItem entryItem= new ShipmentItem(); 107 108 entryItem.setProductId(pp.getInt("productid" + suffix)); 109 entryItem.setDescription(pp.getString("description" + suffix)); 110 entryItem.setQuantity(pp.getInt("quantity" + suffix)); 111 112 entryItem.setSorderId(sordId); 113 entryItem.setCustomerId(custId); 114 entryItem.setRecipientId(recpId); 115 entryItem.setProjectId(projId); 116 117 entry.addShipmentItem(entryItem); 118 } 119 } 120 121 Connection conn = Transaction.begin(ShipmentPeer.DATABASE_NAME); 122 boolean success = false; 123 try { 124 entry.save(conn); 125 entry.setShipmentCode(getRowCode("SH", entry.getShipmentId())); 126 entry.save(conn); 127 Transaction.commit(conn); 128 success = true; 129 130 } finally { 131 if (!success) Transaction.safeRollback(conn); 132 } 133 } 134 135 143 public void doUpdate(RunData data, Context context) 144 throws Exception 145 { 146 Shipment entry = new Shipment(); 147 data.getParameters().setProperties(entry); 148 149 entry.setIssuedDate(parseDate(data.getParameters().getString("issueddate"))); 150 entry.setClosedDate(parseDate(data.getParameters().getString("closeddate"))); 151 entry.setCreated(parseDateTime(data.getParameters().getString("created"))); 152 entry.setModifiedBy(data.getUser().getName()); 153 entry.setModified(new Date ()); 154 155 ParameterParser pp= data.getParameters(); 156 Enumeration paramKeys= pp.keys(); 157 int sordId = entry.getSorderId(); 158 int custId = entry.getCustomerId(); 159 int recpId = entry.getRecipientId(); 160 int projId = entry.getProjectId(); 161 162 while(paramKeys.hasMoreElements()) { 163 String paramName = paramKeys.nextElement().toString(); 164 if(paramName.startsWith("productid")) { 165 String suffix=paramName.substring(9, paramName.length()); 166 ShipmentItem entryItem= new ShipmentItem(); 167 168 entryItem.setProductId(pp.getInt("productid" + suffix)); 169 entryItem.setDescription(pp.getString("description" + suffix)); 170 entryItem.setQuantity(pp.getInt("quantity" + suffix)); 171 172 entryItem.setSorderId(sordId); 173 entryItem.setCustomerId(custId); 174 entryItem.setRecipientId(recpId); 175 entryItem.setProjectId(projId); 176 177 entry.addShipmentItem(entryItem); 178 } 179 } 180 181 entry.setModified(true); 182 entry.setNew(false); 183 184 Criteria crit = new Criteria(); 185 crit.add(ShipmentItemPeer.SHIPMENT_ID, entry.getShipmentId()); 186 187 Connection conn = Transaction.begin(ShipmentPeer.DATABASE_NAME); 188 boolean success = false; 189 try { 190 ShipmentItemPeer.doDelete(crit, conn); 191 entry.save(conn); 192 Transaction.commit(conn); 193 success = true; 194 195 } finally { 196 if (!success) Transaction.safeRollback(conn); 197 } 198 } 199 200 204 public void doDelete(RunData data, Context context) 205 throws Exception 206 { 207 Criteria criteria = new Criteria(); 208 criteria.add(ShipmentPeer.SHIPMENT_ID, data.getParameters().getInt("shipmentid")); 209 ShipmentPeer.doDelete(criteria); 210 } 211 212 216 public void doDeleteselected(RunData data, Context context) 217 throws Exception 218 { 219 int[] delIds= data.getParameters().getInts("rowid"); 220 Criteria criteria = new Criteria(); 221 criteria.addIn(ShipmentPeer.SHIPMENT_ID, delIds); 222 ShipmentPeer.doDelete(criteria); 223 } 224 225 } 226 | Popular Tags |