关于车辆派遣系统的总结(0805)
作者:互联网
关于车辆派遣系统的总结(0805)
燃尽图:
这部分更新内容,实现了派遣单的添加和派车单审核的两个功能。派遣单的添加,是录入相关人与车信息的;派遣单的审核,是在订单结束时,录入各项费用的。这里有个功能是财务统计,统计欠款金额的。在这里,把这三个功能的各项信息,设计为了一个表。统称为订单表(t_order),这样来做,方便后面的关于各项订单信息的统计。
数据库表的设计:
| t_order | CREATE TABLE `t_order` (
`oid` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单表主键',
`opcdh` varchar(20) NOT NULL COMMENT '派车单号',
`oycdw` varchar(50) NOT NULL COMMENT '用车单位',
`olxr` varchar(20) NOT NULL COMMENT '联系人',
`occrq` varchar(10) NOT NULL COMMENT '出车日期',
`oyear` varchar(4) DEFAULT NULL,
`omonth` varchar(2) DEFAULT NULL,
`oday` varchar(2) DEFAULT NULL,
`occsj` varchar(10) NOT NULL COMMENT '出车时间',
`oqsdd` varchar(100) NOT NULL COMMENT '起始地点',
`oclhm` varchar(20) NOT NULL COMMENT '车辆号码',
`ojsy` varchar(20) NOT NULL COMMENT '驾驶员',
`oywy` varchar(20) NOT NULL COMMENT '业务员',
`ozcf` int(11) NOT NULL COMMENT '租车费',
`ozffs` varchar(20) NOT NULL COMMENT '支付方式',
`osslb` varchar(20) NOT NULL COMMENT '所属类型',
`ophone` varchar(20) DEFAULT NULL,
`oend` int(11) DEFAULT '0' COMMENT '派车单结束与否',
`oyf` int(11) DEFAULT '0' COMMENT '油费',
`ogqf` int(11) DEFAULT '0' COMMENT '桥费过',
`otcf` int(11) DEFAULT '0' COMMENT '车费停',
`oxlf` int(11) DEFAULT '0' COMMENT '理费修',
`oltf` int(11) DEFAULT '0' COMMENT '轮胎费',
`ocbt` int(11) DEFAULT '0' COMMENT '补贴车',
`oxsgls` int(11) DEFAULT '0' COMMENT '行驶公里数',
`oqkje` int(11) DEFAULT '0' COMMENT '单结束的欠款金额',
PRIMARY KEY (`oid`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 |
这里有个oend列,以此为界,上面的部分是,添加订单是的内容,下面的部分是审核时,要输入对应的各项费用信息的。
前端页面设计:
在车辆号码和驾驶员的下拉选中,要实时查询没有被预定的车辆和驾驶员。页面每次提交数据前,都要实时刷新这两个数据,异步查询。
审核时,update数据到制定的数据库表的位置没什么难度,不过要提前查询到没有被审核的订单列表信息。这里用oend字段来区别这两种情况:为1时,是已被审核过的,这个1是在添加各项费用后,再修改oend字段得来的。为0时,是未被审核的,可以通过条件查询,进而得到未被审核的订单列表。
controller层代码:
@RequestMapping("/register.do")
@ResponseBody
public ResponseResult<Void> register(String opcdh,String oycdw,String olxr,String occrq,String occsj,
String oqsdd,String oclhm,String ojsy,String oywy,Integer ozcf,String ozffs,String osslb
){
System.out.println("-->/order/register.do");
ResponseResult<Void> rr = new ResponseResult<Void>();
String[] arr = occrq.split("-");
Order order = new Order(opcdh, oycdw, olxr, occrq, arr[0], arr[1], arr[2], occsj, oqsdd, oclhm, ojsy, oywy, ozcf, ozffs, osslb);
System.out.println(order);
orderService.addOrder(order);//判断受影响行数的值,进行if判断比较合理
Integer count = carService.changeState(1,oclhm);//car是否已被派遣
Integer count2 = driverService.changeState(1,ojsy);//driver是否被派遣
rr.setState(1);
rr.setMessage("添加派车单成功");
System.out.println("<--/order/register.do");
return rr;
}
这里面调用了car和driver的两个service方法,在完成订单添加后,要修改对应的car和driver信息的状态。这样在订单添加页面,就能通过异步,获取到新的能用的car和driver信息列表。
//审核之前,要获取未被审核的订单信息列表
//获取所有要审核的派单
@RequestMapping("/getAllCheck.do")
@ResponseBody
public ResponseResult<List<Order>> getAllCheck(){
ResponseResult<List<Order>> rr = new ResponseResult<List<Order>>();
List<Order> orderList = orderService.getAllCheck();
rr.setState(1);
rr.setMessage("获取全部审核派遣单成功");
rr.setData(orderList);
return rr;
}
//通过页面的超链接,在新的页面,添加对应订单的各项费用信息到数据库。
//审核派遣单
@RequestMapping("/check.do")
@ResponseBody
public ResponseResult<Void> check(
Integer oyf,Integer ogqf,Integer otcf,Integer oxlf,Integer oltf,Integer ocbt,Integer oxsgls,Integer oqkje,Integer oid
){
System.out.println("-->/order/check.do");
System.out.println("oyf="+oyf+",ogqf="+ogqf+",otcf="+otcf+",oxlf="+oxlf+",oltf="+oltf+",ocbt="+ocbt+",oxsgls="+oxsgls+",oqkje="+oqkje+",oid="+oid);
ResponseResult<Void> rr = new ResponseResult<Void>();
Integer count = orderService.change(oyf,ogqf, otcf, oxlf, oltf, ocbt, oxsgls, oqkje, oid);
//需要修改车辆和驾驶员的状态
Order order = orderService.getOrderByOid(oid);
System.out.println(order);
//修改其他表数据
String oclhm = order.getOclhm();
Integer count2 = carService.changeState(0, oclhm);
String ojsy = order.getOjsy();
Integer count3 = driverService.changeState(0, ojsy);
rr.setState(1);
rr.setMessage("审核完成");
System.out.println("<--/order/check.do");
return rr;
}
//同样的是,这里进行完了订单的审核后,要“释放”对应的car和driver的状态,让它们都可以再被派遣,所以这里也调用了car和driver的两个service方法。另外,这里还要把oend字段的状态给修改为1,改为已审核,这样使这条派遣单信息,从未被审核的列表中剔除出来。
到此,派遣单的添加和审核功能已实现。下面剩余的就是统计信息了,应该不会再牵涉到新的数据库表了。
百度云:
链接:https://pan.baidu.com/s/1mVpZO20hUnzpb7AnXP9xug
提取码:hajc
标签:总结,COMMENT,NULL,varchar,String,DEFAULT,0805,Integer,派遣 来源: https://www.cnblogs.com/hao20200708/p/13443080.html