package com.r3321.roomprice;
import com.r3321.db.Condb;
import com.r3321.time.Time;
import java.util.Date;
import java.sql.*;
import java.io.*;
import java.text.SimpleDateFormat;
import java.text.ParseException;public class Rprice{
Condb con=new Condb();
Time time1=new Time();
Date date=new Date();
String Lb_price="病房费";
String Zg_id="系统自动";
String Master_id="系统自动"; //生成消费单编号
int year=date.getYear()+1900;
int month=date.getMonth()+1;
int dat=date.getDate();
int hour=date.getHours();
int min=date.getMinutes();
int second=date.getSeconds();
long time=date.getTime()/600000000;
String yea=String.valueOf(year);
String mon=String.valueOf(month);
String da=String.valueOf(dat);
String hou=String.valueOf(hour);
String mi=String.valueOf(min);
String sec=String.valueOf(second);
String tim=String.valueOf(time);
String sub=yea+mon+da+hou+mi+sec+tim; public Rprice(){}//构造器
public static String getDate(){//格式化当前时间
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
Date dd = new Date();
return ft.format(dd);
}
public static long getQuot(String time1, String time2){//计算时间天数差
long quot = 0;
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date1 = ft.parse( time1 );
Date date2 = ft.parse( time2 );
quot = date2.getTime() - date1.getTime();//Date的getTime()方法返回自1970年1月1日午夜(通用时间)以来的毫秒数
quot = quot / 1000 / 60 / 60 / 24;
} catch (ParseException e) {
e.printStackTrace();
}
return quot;
} public void addroomprice(String Patient_id){
String sql = "", str = "";
try{//查询出入住时间和房间价格
str = "select a.In_date,b.Price from info as a,room as b where a.Room_id=b.Room_id and a.Patient_id='" + Patient_id + "'";
ResultSet rs = con.executeQuery(str);
if (rs.next()) {
String date1 = rs.getString(1);//入住时间
int Pri=rs.getInt(2);//房间价格
String date2 = getDate();//取现在日期
long day = getQuot(date1,date2);//计算天数
long Price=day*Pri;//总住房费=天数*价格
sql = "insert into price(Price_id,Patient_id,Lb_price,Price,Set_date,Zg_id,Master_id)values('"+sub+"','"+Patient_id+"','"+Lb_price+"','"+Price+"','"+time1.getYMD()+"','"+Zg_id+"','"+Master_id+"')";
int temp = con.executeUpdate(sql);//将这笔消费插入消费表中 }
}catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
--------------------------
我上面这个东西想用来计算天数之差,然后乘上价格计算出病人的在院期间的住房费用,将消费插入消费表中,编译没错,放到JSP中也能向表中插入数据,但是数据条目中的金钱字段(Price)却总是为0,可能是数据类型不对,大家帮忙看看,我头都大了,运行时不会报错。谢谢大家。
import com.r3321.db.Condb;
import com.r3321.time.Time;
import java.util.Date;
import java.sql.*;
import java.io.*;
import java.text.SimpleDateFormat;
import java.text.ParseException;public class Rprice{
Condb con=new Condb();
Time time1=new Time();
Date date=new Date();
String Lb_price="病房费";
String Zg_id="系统自动";
String Master_id="系统自动"; //生成消费单编号
int year=date.getYear()+1900;
int month=date.getMonth()+1;
int dat=date.getDate();
int hour=date.getHours();
int min=date.getMinutes();
int second=date.getSeconds();
long time=date.getTime()/600000000;
String yea=String.valueOf(year);
String mon=String.valueOf(month);
String da=String.valueOf(dat);
String hou=String.valueOf(hour);
String mi=String.valueOf(min);
String sec=String.valueOf(second);
String tim=String.valueOf(time);
String sub=yea+mon+da+hou+mi+sec+tim; public Rprice(){}//构造器
public static String getDate(){//格式化当前时间
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
Date dd = new Date();
return ft.format(dd);
}
public static long getQuot(String time1, String time2){//计算时间天数差
long quot = 0;
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date1 = ft.parse( time1 );
Date date2 = ft.parse( time2 );
quot = date2.getTime() - date1.getTime();//Date的getTime()方法返回自1970年1月1日午夜(通用时间)以来的毫秒数
quot = quot / 1000 / 60 / 60 / 24;
} catch (ParseException e) {
e.printStackTrace();
}
return quot;
} public void addroomprice(String Patient_id){
String sql = "", str = "";
try{//查询出入住时间和房间价格
str = "select a.In_date,b.Price from info as a,room as b where a.Room_id=b.Room_id and a.Patient_id='" + Patient_id + "'";
ResultSet rs = con.executeQuery(str);
if (rs.next()) {
String date1 = rs.getString(1);//入住时间
int Pri=rs.getInt(2);//房间价格
String date2 = getDate();//取现在日期
long day = getQuot(date1,date2);//计算天数
long Price=day*Pri;//总住房费=天数*价格
sql = "insert into price(Price_id,Patient_id,Lb_price,Price,Set_date,Zg_id,Master_id)values('"+sub+"','"+Patient_id+"','"+Lb_price+"','"+Price+"','"+time1.getYMD()+"','"+Zg_id+"','"+Master_id+"')";
int temp = con.executeUpdate(sql);//将这笔消费插入消费表中 }
}catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
--------------------------
我上面这个东西想用来计算天数之差,然后乘上价格计算出病人的在院期间的住房费用,将消费插入消费表中,编译没错,放到JSP中也能向表中插入数据,但是数据条目中的金钱字段(Price)却总是为0,可能是数据类型不对,大家帮忙看看,我头都大了,运行时不会报错。谢谢大家。
解决方案 »
- tuscany:implementation.script 如何识别 c++ 的脚本语言
- 求助servlet问题.
- 如何根据返回值设置select标签的选中项
- 救命啊!!!!!!!!!!!!!!为什么JSP中的<%%>不起作用??
- 数据类型转换!!帮帮忙!
- 请问在JDK1.3.1环境下分割字符串
- help me 高分相送
- 这个错误困扰了我两天了,我还不敢确认是不是服务器的错误,痛苦~~~~~~~~~~~
- 有没有人知道哪儿可以下载关于JSP的书,是手册那一种的,比较详细的覆盖了所有知识点。
- 【求大神解答】SSM框架用jackson的@JsonProperty注解属性名,序列化后为什么会返回两个参数啊??
- 培训了六个月日语,出来找工作了
- 提示在"standard.jar"里找不到"META-INF/c.tld"。到底应该如何配置?
看看結果是不是對的,然后再去sql里面調試你的 insert 語句看看