报表中的导入操作
程序代码:
function exportIn(){
with(document.getElementById("nameInfo")){
action = "<%=strContext%>/pretreament/exportAction.do?method=specExportIn";
method = "post";
enctype="multipart/form-data";
submit();
}
}
<input type="button" value=">>>开始 onclick="exportIn()" />
/** 通过specIn.jsp跳转 通过剂型标准化 Excel导入 (liyc添加) */
public ActionForward specExportIn(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("+++++++++++++++++++++++++++++++++++++++in_expore_action++++++++");
try {
String med_type = (String)request.getSession(true).getAttribute("med_type");
String taskId = (String) request.getSession(true).getAttribute("taskId");
String filePath = "" + request.getRealPath("/")
+ "\\jsp\\pretreament\\fileUpload";
String path = p.uploadFile(form, request, filePath); // 文件的路径
String result = biz.specExportIn(path, med_type,taskId); // 导入excel
int num_insert = 0;
int num_update = 0;
if(result!=null && !result.trim().equals("")&& !result.trim().equals("0,0")){
String[] temp = result.split(",");
num_insert = Integer.parseInt(temp[0]);
num_update = Integer.parseInt(temp[1]);
}
IStandardService sBiz = new StandardServiceImpl();
ParamUtils pu = new ParamUtils();
CriterionInfo c = new CriterionInfo();
String userName = (String) pu.getSessionObject(request, "userNm");
c.setUserId(userName);
c.setTitle("PRE_CRITERIONSPEC");
c.setTaskId(taskId);
c.setOpeLink("1");
c.setMedType(med_type);
c.setTotal(String.valueOf(num_update));
System.out.println("result===>>>>"+result);
// 如果插入结果返回值等于0,就不会插入
if (result!=null && !result.trim().equals("")&& !result.trim().equals("0,0")) {
sBiz.saveCriterionLog(c); // 添加规则导入日志
Cronlog cronlog = new Cronlog();
cronlog.setLogMisId(taskId);
cronlog.setLogContent("更新规则到剂型全匹配规则库,共添加数据"+num_insert+"条;更新数据"+num_update+"条");
cronlog.setLogUserId(userName);
cronlog.setLogModule("2"); // 2:剂型标准化
cronlog.setLogFlag("1");
cronlog.setMedType(med_type);
dLog.createDiary(cronlog);
}
/************ 删除服务器上缓存文件 ***********/
p.deleteFile(filePath, path);
/***************************/
} catch (Exception e) {
e.printStackTrace();
}
return new ActionForward(
"/standardAction.do?method=getCriterionLog&opeLink=1");
}
// 剂型标准化,导入Excel.【传入参数为:解读的文件路径和药品类型以及任务的ID】
public String specExprotIn(String filename, String med_type,String taskId) throws Exception {
Excel ex = new Excel();
// String[] list = null;
String[] array = null;
boolean result = false;
int number = 0;
int num_update = 0;
PreUtils pu = new PreUtils();
db = db.getDBTool();
conn = db.getConn(dbSource);
// excel总行数
System.out.println("+++++++++++++++++++++++++++++++++++++++in_spec_daoImpl++++++++");
int row = 0;
String sql = "insert into PRE_CRITERIONSPEC(REP_SPEC,MEDNAME,SPEC,CONTENT,CONTENTUNIT,DOSAGE,DOSAGEUNIT,SCALAR,"
+ "PRODUCE_COM,CHARACT,WRAPPER,REST,CREATE_USER,DEPARTMENT,med_type) values("
+ "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
/*增加一个更新语句*/
String sql_update = "UPDATE PRE_CRITERIONSPEC SET SPEC = ? WHERE PRE_CRITERIONSPEC.REP_SPEC= ? and PRE_CRITERIONSPEC.MED_TYPE='"+med_type+"'";
//增加一个剔除的语句
String sql_delete = "update pre_standarddata set w_flag='1' where (rep_spec=? or rep_spec is null) and standardtask_id="+taskId+" and (med_type=? or med_type is null)";
try {
// 打开excel文件
result = ex.openExcel(filename);
if (result) {
// 读excel文件0号工作薄
row = ex.getRowCount(0);
// 如果这个Excel行数 小于1 就返回.
if (row < 1) {
result = false;
} else {
// 执行SQL语句
System.out.println(row+"################################################ssss######################"+sql);
pst = conn.prepareStatement(sql);
//增加一个update预编译
pst_update = conn.prepareStatement(sql_update);
//增加一个update删除标识预编译
pst_delete =conn.prepareStatement(sql_delete);
for (int i = 1; i < row; i++) {
array = ex.getRowArray(i);
int len = array.length;
System.out.println(array[1] + "=1 " + array[2]
+ "=2 " + array[3] + "=3 " + array[4] + "=4 "
+ array[5] + " =5" + array[6] + "=6 "
+ array[7] + "=7 " + array[8] + "=8 "
+ array[9] + "=9 " + array[10] + "=10 "
+ array[11] + "=11 " + array[12] + " =12"
+ array[13]+"=13"+array[14]+"=14"+array[15]+"=15"+array[17]);
if (len > 0&&array[14]!=null&&!array[14].trim().equals("")) {
String mSql = "select * from PRE_CRITERIONSPEC where rep_spec='"
+ array[2] + "' and med_type='"+pu.format5(array[1])+"'";
System.out.println(len+"========ddddd=1");
int num = pu.getNum(mSql);
if (num > 0) {
System.out.println("num====="+num);
//看有没有删除标识,有的话执行删除规则库操作
if(array[15]!=null&&array[15].trim().equals("1")){
pst_delete.setString(1, pu.format4_yuchuli(array[2]));
pst_delete.setString(2, pu.format4_yuchuli(array[1]));
pst_delete.addBatch();
/*看有没有修改标示,有的话执行更新规则库操作*/
}else if(array[17]!=null&&array[17].trim().equals("1")){
System.out.println("*&*&*&*&");
pst_update.setString(1, pu.format4(array[4]));
pst_update.setString(2, pu.format4(array[2]));
pst_update.addBatch();
num_update++;
}
System.out.println(pu.format5(array[1])+"===="+array[2] + ":重复条目");
} else if (num == 0) {
number++;
pst.setString(1, pu.format3(array[2]));
pst.setString(2, pu.format4(array[3]));
pst.setString(3, pu.format4(array[4]));
pst.setString(4, pu.format4(array[5]));
pst.setString(5, pu.format4(array[6]));
pst.setString(6, pu.format4(array[7]));
pst.setString(7, pu.format4(array[8]));
pst.setString(8, pu.format4(array[9]));
pst.setString(9, pu.format4(array[10]));
pst.setString(10, pu.format4(array[11]));
pst.setString(11, pu.format4(array[12]));
pst.setString(12, pu.format4(array[13]));
pst.setString(13, pu.format4(array[14]));
pst.setString(14, pu.format4(array[15]));
pst.setString(15, pu.format5(array[1]));
pst.addBatch();
}
}
}
//piliang
pst_update.executeBatch();
pst.executeBatch();
pst_delete.executeBatch();
}
}
} catch (Exception e) {
number = 0;
e.printStackTrace();
} finally {
this.closeRs();
}
return number+","+num_update;
}
public final static String PRE_WHOLESALE_TOP[] = {"序号","上报药品名称","上报药品类别","医保序号","上报剂型","上报规格",
"生产企业名称","最小零售单位","销售数量","销售价格","购进数量","购进价格","批发报送单位","调查年度","地域","标准药品类别","标准医保序号","标准药品名称","标准剂型",
"标准含量", "标准含量单位", "标准装量","标准装量单位", "包装数量","包装数量单位", "标准生产企业名称", "性状", "包装材料", "其他",
"标准地域名称","处室","原研定价", "单独定价", "统一定价"};
with(document.getElementById("nameInfo")){
action = "<%=strContext%>/pretreament/exportAction.do?method=specExportIn";
method = "post";
enctype="multipart/form-data";
submit();
}
}
<input type="button" value=">>>开始 onclick="exportIn()" />
/** 通过specIn.jsp跳转 通过剂型标准化 Excel导入 (liyc添加) */
public ActionForward specExportIn(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("+++++++++++++++++++++++++++++++++++++++in_expore_action++++++++");
try {
String med_type = (String)request.getSession(true).getAttribute("med_type");
String taskId = (String) request.getSession(true).getAttribute("taskId");
String filePath = "" + request.getRealPath("/")
+ "\\jsp\\pretreament\\fileUpload";
String path = p.uploadFile(form, request, filePath); // 文件的路径
String result = biz.specExportIn(path, med_type,taskId); // 导入excel
int num_insert = 0;
int num_update = 0;
if(result!=null && !result.trim().equals("")&& !result.trim().equals("0,0")){
String[] temp = result.split(",");
num_insert = Integer.parseInt(temp[0]);
num_update = Integer.parseInt(temp[1]);
}
IStandardService sBiz = new StandardServiceImpl();
ParamUtils pu = new ParamUtils();
CriterionInfo c = new CriterionInfo();
String userName = (String) pu.getSessionObject(request, "userNm");
c.setUserId(userName);
c.setTitle("PRE_CRITERIONSPEC");
c.setTaskId(taskId);
c.setOpeLink("1");
c.setMedType(med_type);
c.setTotal(String.valueOf(num_update));
System.out.println("result===>>>>"+result);
// 如果插入结果返回值等于0,就不会插入
if (result!=null && !result.trim().equals("")&& !result.trim().equals("0,0")) {
sBiz.saveCriterionLog(c); // 添加规则导入日志
Cronlog cronlog = new Cronlog();
cronlog.setLogMisId(taskId);
cronlog.setLogContent("更新规则到剂型全匹配规则库,共添加数据"+num_insert+"条;更新数据"+num_update+"条");
cronlog.setLogUserId(userName);
cronlog.setLogModule("2"); // 2:剂型标准化
cronlog.setLogFlag("1");
cronlog.setMedType(med_type);
dLog.createDiary(cronlog);
}
/************ 删除服务器上缓存文件 ***********/
p.deleteFile(filePath, path);
/***************************/
} catch (Exception e) {
e.printStackTrace();
}
return new ActionForward(
"/standardAction.do?method=getCriterionLog&opeLink=1");
}
// 剂型标准化,导入Excel.【传入参数为:解读的文件路径和药品类型以及任务的ID】
public String specExprotIn(String filename, String med_type,String taskId) throws Exception {
Excel ex = new Excel();
// String[] list = null;
String[] array = null;
boolean result = false;
int number = 0;
int num_update = 0;
PreUtils pu = new PreUtils();
db = db.getDBTool();
conn = db.getConn(dbSource);
// excel总行数
System.out.println("+++++++++++++++++++++++++++++++++++++++in_spec_daoImpl++++++++");
int row = 0;
String sql = "insert into PRE_CRITERIONSPEC(REP_SPEC,MEDNAME,SPEC,CONTENT,CONTENTUNIT,DOSAGE,DOSAGEUNIT,SCALAR,"
+ "PRODUCE_COM,CHARACT,WRAPPER,REST,CREATE_USER,DEPARTMENT,med_type) values("
+ "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
/*增加一个更新语句*/
String sql_update = "UPDATE PRE_CRITERIONSPEC SET SPEC = ? WHERE PRE_CRITERIONSPEC.REP_SPEC= ? and PRE_CRITERIONSPEC.MED_TYPE='"+med_type+"'";
//增加一个剔除的语句
String sql_delete = "update pre_standarddata set w_flag='1' where (rep_spec=? or rep_spec is null) and standardtask_id="+taskId+" and (med_type=? or med_type is null)";
try {
// 打开excel文件
result = ex.openExcel(filename);
if (result) {
// 读excel文件0号工作薄
row = ex.getRowCount(0);
// 如果这个Excel行数 小于1 就返回.
if (row < 1) {
result = false;
} else {
// 执行SQL语句
System.out.println(row+"################################################ssss######################"+sql);
pst = conn.prepareStatement(sql);
//增加一个update预编译
pst_update = conn.prepareStatement(sql_update);
//增加一个update删除标识预编译
pst_delete =conn.prepareStatement(sql_delete);
for (int i = 1; i < row; i++) {
array = ex.getRowArray(i);
int len = array.length;
System.out.println(array[1] + "=1 " + array[2]
+ "=2 " + array[3] + "=3 " + array[4] + "=4 "
+ array[5] + " =5" + array[6] + "=6 "
+ array[7] + "=7 " + array[8] + "=8 "
+ array[9] + "=9 " + array[10] + "=10 "
+ array[11] + "=11 " + array[12] + " =12"
+ array[13]+"=13"+array[14]+"=14"+array[15]+"=15"+array[17]);
if (len > 0&&array[14]!=null&&!array[14].trim().equals("")) {
String mSql = "select * from PRE_CRITERIONSPEC where rep_spec='"
+ array[2] + "' and med_type='"+pu.format5(array[1])+"'";
System.out.println(len+"========ddddd=1");
int num = pu.getNum(mSql);
if (num > 0) {
System.out.println("num====="+num);
//看有没有删除标识,有的话执行删除规则库操作
if(array[15]!=null&&array[15].trim().equals("1")){
pst_delete.setString(1, pu.format4_yuchuli(array[2]));
pst_delete.setString(2, pu.format4_yuchuli(array[1]));
pst_delete.addBatch();
/*看有没有修改标示,有的话执行更新规则库操作*/
}else if(array[17]!=null&&array[17].trim().equals("1")){
System.out.println("*&*&*&*&");
pst_update.setString(1, pu.format4(array[4]));
pst_update.setString(2, pu.format4(array[2]));
pst_update.addBatch();
num_update++;
}
System.out.println(pu.format5(array[1])+"===="+array[2] + ":重复条目");
} else if (num == 0) {
number++;
pst.setString(1, pu.format3(array[2]));
pst.setString(2, pu.format4(array[3]));
pst.setString(3, pu.format4(array[4]));
pst.setString(4, pu.format4(array[5]));
pst.setString(5, pu.format4(array[6]));
pst.setString(6, pu.format4(array[7]));
pst.setString(7, pu.format4(array[8]));
pst.setString(8, pu.format4(array[9]));
pst.setString(9, pu.format4(array[10]));
pst.setString(10, pu.format4(array[11]));
pst.setString(11, pu.format4(array[12]));
pst.setString(12, pu.format4(array[13]));
pst.setString(13, pu.format4(array[14]));
pst.setString(14, pu.format4(array[15]));
pst.setString(15, pu.format5(array[1]));
pst.addBatch();
}
}
}
//piliang
pst_update.executeBatch();
pst.executeBatch();
pst_delete.executeBatch();
}
}
} catch (Exception e) {
number = 0;
e.printStackTrace();
} finally {
this.closeRs();
}
return number+","+num_update;
}
public final static String PRE_WHOLESALE_TOP[] = {"序号","上报药品名称","上报药品类别","医保序号","上报剂型","上报规格",
"生产企业名称","最小零售单位","销售数量","销售价格","购进数量","购进价格","批发报送单位","调查年度","地域","标准药品类别","标准医保序号","标准药品名称","标准剂型",
"标准含量", "标准含量单位", "标准装量","标准装量单位", "包装数量","包装数量单位", "标准生产企业名称", "性状", "包装材料", "其他",
"标准地域名称","处室","原研定价", "单独定价", "统一定价"};
资源共享,对大家有帮助的就顶下,谢谢了O(∩_∩)O~
搜索更多相关主题的帖子:
报表 function action button method
----------------解决方案--------------------------------------------------------
需要的包,在下载资源里面有
----------------解决方案--------------------------------------------------------