Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/CustomRecyclingApplicationAction.java =================================================================== diff -u -r14710 -r14751 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/CustomRecyclingApplicationAction.java (.../CustomRecyclingApplicationAction.java) (revision 14710) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/CustomRecyclingApplicationAction.java (.../CustomRecyclingApplicationAction.java) (revision 14751) @@ -2,8 +2,6 @@ import java.io.IOException; import java.io.PrintWriter; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -62,6 +60,9 @@ private TaskGroupManager taskGroupManager; + //用于临时缓存applicationTime,因为struts2设置date参数只会截取到年月日 + private Date tempApplicationTime; + public void setSupplyRoomConfigManager( SupplyRoomConfigManager supplyRoomConfigManager) { this.supplyRoomConfigManager = supplyRoomConfigManager; @@ -175,22 +176,13 @@ } // 设置申请时间 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - String applicationTime = StrutsParamUtils.getPraramValue( - "applicationTime", - dateFormat.format(Calendar.getInstance().getTime())); - try { - if (recyclingApplication.getId() == null) { - recyclingApplication.setApplicationTime(Calendar.getInstance() - .getTime()); - } else { - recyclingApplication.setApplicationTime(dateFormat - .parse(applicationTime)); - } - } catch (ParseException e1) { - e1.printStackTrace(); + if (recyclingApplication.getSubmitTime() == null) { + // if (recyclingApplication.getId() == null) { + recyclingApplication.setApplicationTime(Calendar.getInstance().getTime()); } - + else { + recyclingApplication.setApplicationTime(tempApplicationTime); + } List items = new ArrayList(); if (StringUtils.isNotBlank(customTousseInstanceIds)) { String[] tousseInstance = customTousseInstanceIds.split(";"); @@ -315,6 +307,9 @@ if (StringUtils.isNotBlank(id) && !id.equals("0")) { recyclingApplication = recyclingApplicationManager .getRecyclingApplicationById(id); + //struts2传参设值时hibernate更新invoicePlan,applicationTime会被截掉时分秒,所以要先把invoicePlan缓存在map中 + InvoicePlan ip = recyclingApplicationManager.getRecyclingApplicationByIdForRecycle(recyclingApplication.getId().toString()); + tempApplicationTime = ip.getApplicationTime(); } else { recyclingApplication = new RecyclingApplication(); }