2022首次更文挑战第18天 | ERP系统的开发03

171 阅读2分钟

「这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战

ERP系统中有个功能,历史订单数据统计功能,这个功能,能更加直观的查看每个客户曾经下过的订单,另外还会对每个客户,每个订单数据进行管理和统计。 实现效果: 在这里插入图片描述 主要的数据获取: 1、找出所有的订单,包括橱柜订单,门板订单和全屋订单,订单类型为这3种。

2、找出客户的信息,下订单的日期,订单编号,金额等。在这里,需要统计每个客户在橱柜订单,门板订单和全屋订单的所有订单,取个最早下单时间,group by order_date,那么对应的订单编号和金额都能找出来。

3、生产单日期,生产单单号,生产单金额,跟上面的订单是不一样的。生产单必定是晚于订单日期的,我下了订单,工人进行加工,生产产品结束,那么就是生产单日期,生产单单号和订单编号不能一样,避免混淆。根据订单编号,能找到生产单单号,对应的,也可以找到生产单日期和生产单金额。生产单金额一般会比订单金额多,毕竟经过加工了。

4、出货订单号,出货日期,出货金额。出货金额跟前面的两个金额,订单金额,生产单金额不一样,出货金额是运输金额,出货订单号跟订单关联,找到对应的出货日期和出货金额。

查询橱柜订单,门板订单和全屋订单

select ord.customer_no,ord.created_date_time,ord.order_no ord_no,quo_order.order_no,quo_order.actual_amount from
	 (
		--------柜体,门板表
	   select d.customer_no,d.created_date_time,d.order_no from  dp_order d where d.frozen = false
	   union 
	   select s.customer_no,s.created_date_time,s.order_no from  split_order s
	  )ord inner join 
	  ---------橱柜单
	  (select qu.order_no,quo.actual_amount
  from quotation_unified_order qu
  inner join quotation_unified_order_quotation_unified_bodies quo
  on qu.id = quo.quotation_unified_order_id
	  union
	  --------门板单
	  select dqo.order_no,dqo.final_amount from dp_quotation_order dqo) quo_order
	  on ord.order_no = quo_order.order_no	) order_quo
	on c.customer_no = order_quo.customer_no 

生产流程单(柜体,门板,单门板流程单记得要与订单关联)

select production.customer_no,production.make_date,production.order_no ord_no,quo_order.actual_amount from
	 (
		--------柜体,门板,单门板流程单
	   select g.ref_order_no,g.customer_no,g.make_date,g.order_no from  general_dp_pp_order g where g.frozen = false
	   union 
	   select p.ref_order_no,p.customer_no,p.document_make_date,p.order_no from  prod_process_cabinet_order p
		union 
	   select pr.ref_order_no,pr.customer_no,pr.document_make_date,pr.order_no from  prod_process_door_panel_order pr
	  )production inner join 
	  ---------橱柜单
	  (select qu.order_no,quo.actual_amount
  from quotation_unified_order qu
  left join quotation_unified_order_quotation_unified_bodies quo
  on qu.id = quo.quotation_unified_order_id
	  union
	  --------门板单
	  select dqo.order_no,dqo.final_amount from dp_quotation_order dqo) quo_order
	  on production.ref_order_no = quo_order.order_no

出货单(与订单关联)

select stock.customer_no,stock.stock_out_date,stock.order_no ord_no,quo_order.actual_amount from
	 (
		--------出库,单门板出库单
	   select g_stock.customer_no,g_stock.stock_out_date,g_stock.order_no from  gene_dp_stock_out_order g_stock where g_stock.frozen = false
	   union 
	   select s_stock.customer_no,s_stock.stock_out_date,s_stock.order_no from stock_out_order s_stock
		
	  )stock inner join 
	  ---------橱柜单
	  (select qu.order_no,quo.actual_amount
  from quotation_unified_order qu
  left join quotation_unified_order_quotation_unified_bodies quo
  on qu.id = quo.quotation_unified_order_id
	  union
	  --------门板单
	  select dqo.order_no,dqo.final_amount from dp_quotation_order dqo) quo_order
	  on stock.order_no = quo_order.order_no

上面是主要的sql语句,查询出来以后,直接被dao层调用就行了。