ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于车辆派遣系统的总结(0805)

2020-08-05 22:01:08  阅读:308  来源: 互联网

标签:总结 COMMENT NULL varchar String DEFAULT 0805 Integer 派遣


关于车辆派遣系统的总结(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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有