Index: forgon-tools/src/main/java/com/forgon/tools/util/ForgonDateUtils.java =================================================================== diff -u -r16050 -r16618 --- forgon-tools/src/main/java/com/forgon/tools/util/ForgonDateUtils.java (.../ForgonDateUtils.java) (revision 16050) +++ forgon-tools/src/main/java/com/forgon/tools/util/ForgonDateUtils.java (.../ForgonDateUtils.java) (revision 16618) @@ -12,13 +12,25 @@ import org.apache.commons.lang3.StringUtils; +import com.forgon.tools.Constants; + /** * @author jeffli * * 2015年12月3日 下午2:18:03 */ public class ForgonDateUtils { + /** + * 这里由于项目依赖关系,重新定义了一份,跟com.forgon.Constants中的定义是一样的 + */ + public final static SimpleDateFormat SIMPLEDATEFORMAT_YYYYMMDDHHMMSS = new SimpleDateFormat( + "yyyy-MM-dd HH:mm:ss"); + public final static SimpleDateFormat SIMPLEDATEFORMAT_YYYYMMDDHHMM = new SimpleDateFormat( + "yyyy-MM-dd HH:mm"); + public final static SimpleDateFormat SIMPLEDATEFORMAT_YYYYMMDD = new SimpleDateFormat( + "yyyy-MM-dd"); + public static Date safelyParseDate(String date,String fmt) { try { return safelyParseDate(date,new SimpleDateFormat(fmt)); @@ -40,6 +52,24 @@ } return date; } + /** + * 偿试用最大精度的日期格式转换,从有秒的到时分的再到日期的,如果都没有转换成功,返回当前时间 + * @param dateStr + * @return + */ + public static Date safelyParseDate(String dateStr){ + Date date = safelyParseDate(dateStr,SIMPLEDATEFORMAT_YYYYMMDDHHMMSS); + if(date == null){ + date = safelyParseDate(dateStr,SIMPLEDATEFORMAT_YYYYMMDDHHMM); + } + if(date == null){ + date = safelyParseDate(dateStr,SIMPLEDATEFORMAT_YYYYMMDD); + } + if(date == null){ + date = new Date(); + } + return date; + } public static String safelyFormatDate(Date date, String fmt, String defaultStr) { Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownOutToSupplyRoomView.js =================================================================== diff -u -r14638 -r16618 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownOutToSupplyRoomView.js (.../godownOutToSupplyRoomView.js) (revision 14638) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownOutToSupplyRoomView.js (.../godownOutToSupplyRoomView.js) (revision 16618) @@ -557,7 +557,7 @@ fieldLabel : '领用时间', id : 'time', name : 'time', - format : 'Y-m-d', + format : 'Y-m-d H:i', altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', value : new Date(), allowBlank : false, @@ -1008,7 +1008,7 @@ waitMsg : '正在加载数据,请稍候', params : {id : id}, success : function(form, action) { - top.Ext.getCmp("time").setValue(Ext.util.Format.date(new Date(action.result.data.time.time), 'Y-m-d')); + top.Ext.getCmp("time").setValue(Ext.util.Format.date(new Date(action.result.data.time.time), 'Y-m-d H:i')); //仓库赋值,物品与材料的下拉框启用 top.Ext.getCmp('warehouseId').setValue(action.result.data.warehouseId); top.Ext.getCmp('warehouseName').setValue(action.result.data.warehouseName); @@ -1054,7 +1054,7 @@ * 页面中需要定义 modify(v,data) 函数 */ function editLink(v,p,record){ - var value = myDateFormat(v,p,record); + var value = myDateFormatByMinute(v,p,record); return "" + value + ""; } Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownOutToSupplyRoomView.js =================================================================== diff -u -r16607 -r16618 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownOutToSupplyRoomView.js (.../godownOutToSupplyRoomView.js) (revision 16607) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownOutToSupplyRoomView.js (.../godownOutToSupplyRoomView.js) (revision 16618) @@ -1023,7 +1023,7 @@ waitMsg : '正在加载数据,请稍候', params : {id : id}, success : function(form, action) { - top.Ext.getCmp("time").setValue(Ext.util.Format.date(new Date(action.result.data.time.time), 'Y-m-d')); + top.Ext.getCmp("time").setValue(Ext.util.Format.date(new Date(action.result.data.time.time), 'Y-m-d H:i')); //仓库赋值,物品与材料的下拉框启用 top.Ext.getCmp('warehouseId').setValue(action.result.data.warehouseId); top.Ext.getCmp('warehouseName').setValue(action.result.data.warehouseName); @@ -1069,7 +1069,7 @@ * 页面中需要定义 modify(v,data) 函数 */ function editLink(v,p,record){ - var value = myDateFormat(v,p,record); + var value = myDateFormatByMinute(v,p,record); return "" + value + ""; } Index: ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/action/ReceiveRecordAction.java =================================================================== diff -u -r15918 -r16618 --- ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/action/ReceiveRecordAction.java (.../ReceiveRecordAction.java) (revision 15918) +++ ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/action/ReceiveRecordAction.java (.../ReceiveRecordAction.java) (revision 16618) @@ -16,6 +16,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; + import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -40,7 +41,9 @@ import com.forgon.disinfectsystem.receiverecord.vo.ReceiveRecordItemVo; import com.forgon.disinfectsystem.receiverecord.vo.ReceiveRecordVo; import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; import com.forgon.tools.json.JSONUtil; +import com.forgon.tools.util.ForgonDateUtils; import com.opensymphony.xwork2.ModelDriven; /** @@ -102,13 +105,7 @@ String timeStr = formParamsObj.optString("time"); entry.setId(id); entry.setRemark(remark); - Date time; - try { - time = Constants.SIMPLEDATEFORMAT_YYYYMMDD.parse(timeStr); - } catch (ParseException e) { - e.printStackTrace(); - throw new RuntimeException("日期格式错误!"); - } + Date time = ForgonDateUtils.safelyParseDate(timeStr); entry.setTime(time); } @@ -212,7 +209,9 @@ boolean success = false; try { String id = StrutsParamUtils.getPraramValue("id", ""); - + //这里不知道为什么,前台传递的字符串为有时分的,但是receiveRecord中却是没有时分的,调试setTime方法,发现参数就是没有时分的 + //不知道为什么,这里设置一下。谁如果知道了原因,告诉我一下(kzh) + receiveRecord.setTime(ForgonDateUtils.safelyParseDate(StrutsParamUtils.getPraramValue("time", null))); ReceiveRecord original = new ReceiveRecord(); ReceiveRecord modified = receiveRecord; @@ -387,12 +386,7 @@ map.put("success", true); map.put("data", recordVo); JSONObject jsonObject = JSONObject.fromObject(map); - StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); - try { - StrutsParamUtils.getResponse().getWriter().print(jsonObject.toString()); - } catch (IOException e) { - e.printStackTrace(); - } + StrutsResponseUtils.output(jsonObject); } // 删除领用记录