公司框架使用大概

1.model 层
/**
* @Entity
* @Table(name = "要操作的表")
* 对表中已存在的字段封装(get,set)就可以通过方法对表中信息进行增,删,改,查.
* id的使用
* @Id
* @GenericGenerator(name = "idGenerator", strategy = "uuid")
* @GeneratedValue(generator = "idGenerator")
*
* id自增长使用
* @Id
* @GeneratedValue(strategy = GenerationType.AUTO)
*/

 


2.dao 层
/**
* 方法名()中,使用的属性可以声明成任何名字,但是在service层中使用,必须与已经声明的属性相同并且位置一样
* public List<Map<String, Object>> 方法名(String a,String b,String c)
*
* List<Object> params = new ArrayList<Object>(); 声明一个dbject类型的list集合
*
* sql语句:
* 用mobel层中使用表以外,其他表的信息
* a表id 和 b表id 关联
* select,sum(s) sum(s)代表s里的数据相加
* select a表字段 from a表 where id = (b表.id) as 别名
*
* 获取属于两个值(a,b)之间的信息使用:
* if判断
* if(null != a && !"".equals(a) && null != b && !"".equals(b)){
* sql拼写
* sql += "and 要获取的信息 between ? and ? "
* 输出
* params.add(a);
* params.add(b);
* }
*
* 根据jsp页面的点击获取一个相对应的信息
* if判断
* if(null != c && !"".equals(c)){
* sql拼写
* sql += "and c = ?"
* 输出
* params.add(c);
* }
*
* group by b表.id order by 某字段 desc
* order by 字段(c) desc 为根据字段(c)的信息进行降序(从多到少)
*
* List<Map<String, Object>> results = this.sqlQueryMap(sql, 0, 0,params.toArray());
* return results;
*/

/**
* 公司
* @param id
* @param compent_name
* @return
*/
public List<Map<String, Object>> thecompany() {
final String sql = "select id,company_name from v_company where user_type = 1 and company_name != '进酒宝' ";
List<Shipment> naemlist = new ArrayList<Shipment>();
try {
List<Object> params = new ArrayList<Object>();
List<Map<String, Object>> results = this.sqlQueryMap(sql, 0, 0,params.toArray());
return results;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

/**
* 信息
* @param start_time
* @param end_time
* @param company_id
* @return
*/
public List<Map<String, Object>> statistical(String start_time,String end_time,String company_id) {
String sql = "select company_id,pay_time,sum(product_banlance_total_money) as product_banlance_total_money,sum(delivery_num) as delivery_num ,sum(product_total_money) as product_total_money,"
+ " (select wine_title from v_product where id = (v_shipment_order.product_id)) as wine_title,"
+ " (select company_name from v_company where id = (v_shipment_order.company_id)) as company_name,"
+ " (select spec from v_product where Id = (v_shipment_order.product_id)) as spec"
+ " from v_shipment_order where 1=1 ";
List<Shipment> naemlist = new ArrayList<Shipment>();
try {
List<Object> params = new ArrayList<Object>();
//时间
if(null != start_time && !"".equals(start_time) && null != end_time && !"".equals(end_time) ){
sql += " and pay_time between ? and ? ";
params.add(start_time);
params.add(end_time);
}
//公司id
if(null != company_id && !"".equals(company_id)){
sql += " and company_id = ?";
params.add(company_id);
}
sql +=" GROUP BY product_id,company_id order by sum(product_total_money) desc ";
List<Map<String, Object>> results = this.sqlQueryMap(sql, 0, 0,params.toArray());
return results;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}

 

 

3.service 层
/**
* 方法名()中,使用的属性和dao层一样,return返回的必须与已经声明的属性相同并且位置一样
* public List 方法名(String a,String b,String c) {
* return shipmentDao.statistical(a,b,c);
* }
*/

@Component
@Service
public class ShipmentService {
private static Logger log = Logger.getLogger(ShipmentService.class);
public static final String DOWNLOAD_PATH = "download/excel/";
@Resource
private ShipmentDao shipmentDao;
/**
* 查看信息
* @return
*/
//方法名()中,使用的属性和dao层一样,return返回的必须与已经声明的属性相同并且位置一样
public List shipment(String start_time,String end_time,String company_id) {
return shipmentDao.statistical(start_time,end_time,company_id);
}

/**
* 公司
* @return
*/
public List compent(){
return shipmentDao.thecompany();
}
}

 

 

 

4.action 层

/**
* @Resource
* private ***(首字母大写)Service ***(首字母小写)Service;
*
* 接收jsp页面传来的数据
* 多者在jsp中使用: '对象.属性名':属性值 (对象名.属性)一般放在单引号,也可以使用双引号
* 少者在action方法中使用: 属性(数据)类型 属性名 = request().getParameter();
* 对象 = set(属性名首字母大写)(属性名);
*
* 接收信息在jsp页面声明的信息 需要在使用这个信息来对比的,
* SUCCESS 默认是处理数据完成,成功跳转.
*
*
*/

 

/**
* 公司
* @return
*/
public String compent() {
orderList = shipmentService.compent();
JSONObject json = new JSONObject();
json.put("records", orderList);
result = json.toString();
return SUCCESS;
}


/**
* 查看信息
* @return
*/
public String information() {
String startDay = request.getParameter("startDay");
String endDay = request.getParameter("endDay");
String company_id = request.getParameter("company_id");
orderList = shipmentService.shipment(startDay,endDay,company_id);
JSONObject json = new JSONObject();
json.put("records", orderList);
result = json.toString();
return SUCCESS;
}

 

5.jsp 页面

 jsp动态下拉框,css,信息为表格显示.

posted @ 2017-12-22 18:03  一个来自不知道什么地方的菜鸟  阅读(170)  评论(0编辑  收藏  举报