Browse Source

物流优化

dev
wangfukang 1 year ago
parent
commit
6c17755618
  1. 16
      hiver-admin/test-output/test-report.html
  2. 155
      hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java
  3. 34
      hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java
  4. 4
      hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java
  5. 4
      hiver-core/src/main/java/cc/hiver/core/logisticsorder/vo/StatisticsVo.java
  6. 12
      hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
  7. 11
      hiver-core/src/main/resources/mapper/LogisticsStationMapper.xml

16
hiver-admin/test-output/test-report.html

@ -35,7 +35,7 @@
<a href="#"><span class="badge badge-primary">Hiver</span></a> <a href="#"><span class="badge badge-primary">Hiver</span></a>
</li> </li>
<li class="m-r-10"> <li class="m-r-10">
<a href="#"><span class="badge badge-primary">十一月 18, 2024 00:59:02</span></a> <a href="#"><span class="badge badge-primary">十一月 18, 2024 20:21:08</span></a>
</li> </li>
</ul> </ul>
</div> </div>
@ -84,7 +84,7 @@
<div class="test-detail"> <div class="test-detail">
<span class="meta text-white badge badge-sm"></span> <span class="meta text-white badge badge-sm"></span>
<p class="name">passTest</p> <p class="name">passTest</p>
<p class="text-sm"><span>00:59:03 上</span> / <span>0.024 secs</span></p> <p class="text-sm"><span>20:21:09 下</span> / <span>0.016 secs</span></p>
</div> </div>
<div class="test-contents d-none"> <div class="test-contents d-none">
<div class="detail-head"> <div class="detail-head">
@ -92,9 +92,9 @@
<div class="info"> <div class="info">
<div class='float-right'><span class='badge badge-default'>#test-id=1</span></div> <div class='float-right'><span class='badge badge-default'>#test-id=1</span></div>
<h5 class="test-status text-pass">passTest</h5> <h5 class="test-status text-pass">passTest</h5>
<span class='badge badge-success'>11.18.2024 00:59:03</span> <span class='badge badge-success'>11.18.2024 20:21:09</span>
<span class='badge badge-danger'>11.18.2024 00:59:03</span> <span class='badge badge-danger'>11.18.2024 20:21:09</span>
<span class='badge badge-default'>0.024 secs</span> <span class='badge badge-default'>0.016 secs</span>
</div> </div>
<div class="m-t-10 m-l-5"></div> <div class="m-t-10 m-l-5"></div>
</div> </div>
@ -104,7 +104,7 @@
<tbody> <tbody>
<tr class="event-row"> <tr class="event-row">
<td><span class="badge log pass-bg">Pass</span></td> <td><span class="badge log pass-bg">Pass</span></td>
<td>0:59:03</td> <td>20:21:09</td>
<td> <td>
Test passed Test passed
</td> </td>
@ -128,13 +128,13 @@
<div class="col-md-3"> <div class="col-md-3">
<div class="card"><div class="card-body"> <div class="card"><div class="card-body">
<p class="m-b-0">Started</p> <p class="m-b-0">Started</p>
<h3>十一月 18, 2024 00:59:02</h3> <h3>十一月 18, 2024 20:21:08</h3>
</div></div> </div></div>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="card"><div class="card-body"> <div class="card"><div class="card-body">
<p class="m-b-0">Ended</p> <p class="m-b-0">Ended</p>
<h3>十一月 18, 2024 00:59:03</h3> <h3>十一月 18, 2024 20:21:09</h3>
</div></div> </div></div>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">

155
hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java

@ -27,7 +27,7 @@ import java.util.Map;
* @Description: 收发货地址簿接口 * @Description: 收发货地址簿接口
*/ */
@Service @Service
public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddressBookMapper, LogisticsAddressBook>implements LogisticsAddressBookService { public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddressBookMapper, LogisticsAddressBook> implements LogisticsAddressBookService {
@Autowired @Autowired
@ -45,81 +45,74 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddres
final List<LogisticsAddressBook> list = new ArrayList<>(); final List<LogisticsAddressBook> list = new ArrayList<>();
//根据名称、电话、地址查询看是不是存在,如果不存在则新建一条 //根据名称、电话、地址查询看是不是存在,如果不存在则新建一条
if(StringUtils.isEmpty(logisticsOrder.getShipperId())){ if (StringUtils.isEmpty(logisticsOrder.getShipperId())) {
// 查询,然后判断新增 // 创建发货人地址簿
final LambdaQueryWrapper<LogisticsAddressBook> stuQuery = new LambdaQueryWrapper<>(); final LogisticsAddressBook shipperAddressBook = new LogisticsAddressBook();
stuQuery.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getShipperName()) // 设置发货人名称,从物流订单的发货人名称中获取
.eq(LogisticsAddressBook::getAddressType, 1) shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
.eq(LogisticsAddressBook::getMobile, logisticsOrder.getShipperMobile()) // 设置地址信息,从物流订单的发货人地址获取
.eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getShipperAddress()); shipperAddressBook.setAddressInfo(logisticsOrder.getShipperAddress());
final Long count = getBaseMapper().selectCount(stuQuery); // 设置地址类型,1表示发货人地址
shipperAddressBook.setAddressType(1);
if(count == 0){ // 设置公司ID,从物流订单中获取
// 创建发货人地址簿 shipperAddressBook.setCompanyId(logisticsOrder.getCompanyId());
final LogisticsAddressBook shipperAddressBook = new LogisticsAddressBook(); // 设置公司名称,从物流订单中获取
// 设置发货人名称,从物流订单的发货人名称中获取 shipperAddressBook.setCompanyName(logisticsOrder.getCompanyName());
shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); // 设置创建人,从物流订单中获取
// 设置地址信息,从物流订单的发货人地址获取 shipperAddressBook.setCreateBy(logisticsOrder.getCreateBy());
shipperAddressBook.setAddressInfo(logisticsOrder.getShipperAddress()); // 设置联系电话,从物流订单的发货人手机信息中获取
// 设置地址类型,1表示发货人地址 shipperAddressBook.setMobile(logisticsOrder.getShipperMobile());
shipperAddressBook.setAddressType(1); list.add(shipperAddressBook);
// 设置公司ID,从物流订单中获取 // 回填新增的发货人id
shipperAddressBook.setCompanyId(logisticsOrder.getCompanyId()); logisticsOrder.setShipperId(shipperAddressBook.getId());
// 设置公司名称,从物流订单中获取 } else {
shipperAddressBook.setCompanyName(logisticsOrder.getCompanyName());
// 设置创建人,从物流订单中获取
shipperAddressBook.setCreateBy(logisticsOrder.getCreateBy());
// 设置联系电话,从物流订单的发货人手机信息中获取
shipperAddressBook.setMobile(logisticsOrder.getShipperMobile());
// 设置收发货人名称,从物流订单的发货人名称中获取
shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
list.add(shipperAddressBook);
}
}else{
// 有id,查询,并更新名称 // 有id,查询,并更新名称
final LogisticsAddressBook oldLogisticsAddressBook = logisticsAddressBookMapper.selectById(logisticsOrder.getShipperId()); final LogisticsAddressBook oldLogisticsAddressBook = logisticsAddressBookMapper.selectById(logisticsOrder.getShipperId());
oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName());
// 地址
oldLogisticsAddressBook.setAddressInfo(logisticsOrder.getShipperAddress());
// 电话
oldLogisticsAddressBook.setMobile(logisticsOrder.getShipperMobile());
list.add(oldLogisticsAddressBook); list.add(oldLogisticsAddressBook);
} }
if(StringUtils.isEmpty(logisticsOrder.getReceiverId())){ if (StringUtils.isEmpty(logisticsOrder.getReceiverId())) {
final LambdaQueryWrapper<LogisticsAddressBook> stuQuery2 = new LambdaQueryWrapper<>(); // 创建收货人地址簿
stuQuery2.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getReceiverName()) final LogisticsAddressBook reciverAddressBook = new LogisticsAddressBook();
.eq(LogisticsAddressBook::getAddressType, 2) // 设置收货人名称,从物流订单的收货人名称中获取
.eq(LogisticsAddressBook::getMobile, logisticsOrder.getReceiverMobile()) reciverAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName());
.eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getReceiverAddress()); // 设置地址信息,从物流订单的发货人地址获取
final Long count2 = getBaseMapper().selectCount(stuQuery2); reciverAddressBook.setAddressInfo(logisticsOrder.getReceiverAddress());
// 设置地址类型,1表示发货人地址
if(count2 == 0 && StringUtils.isEmpty(logisticsOrder.getReceiverId())) { reciverAddressBook.setAddressType(2);
// 创建收货人地址簿 // 设置公司ID,从物流订单中获取
final LogisticsAddressBook reciverAddressBook = new LogisticsAddressBook(); reciverAddressBook.setCompanyId(logisticsOrder.getCompanyId());
// 设置收货人名称,从物流订单的收货人名称中获取 // 设置公司名称,从物流订单中获取
reciverAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName()); reciverAddressBook.setCompanyName(logisticsOrder.getCompanyName());
// 设置地址信息,从物流订单的发货人地址获取 // 设置创建人,从物流订单中获取
reciverAddressBook.setAddressInfo(logisticsOrder.getReceiverAddress()); reciverAddressBook.setCreateBy(logisticsOrder.getCreateBy());
// 设置地址类型,1表示发货人地址 // 设置联系电话,从物流订单的发货人手机信息中获取
reciverAddressBook.setAddressType(2); reciverAddressBook.setMobile(logisticsOrder.getReceiverMobile());
// 设置公司ID,从物流订单中获取 list.add(reciverAddressBook);
reciverAddressBook.setCompanyId(logisticsOrder.getCompanyId());
// 设置公司名称,从物流订单中获取 // 回填新增的收货人id
reciverAddressBook.setCompanyName(logisticsOrder.getCompanyName()); logisticsOrder.setReceiverId(reciverAddressBook.getId());
// 设置创建人,从物流订单中获取 } else {
reciverAddressBook.setCreateBy(logisticsOrder.getCreateBy());
// 设置联系电话,从物流订单的发货人手机信息中获取
reciverAddressBook.setMobile(logisticsOrder.getReceiverMobile());
list.add(reciverAddressBook);
}
}else{
// 有id,查询,并更新名称 // 有id,查询,并更新名称
final LogisticsAddressBook oldLogisticsAddressBook = logisticsAddressBookMapper.selectById(logisticsOrder.getReceiverId()); final LogisticsAddressBook oldLogisticsAddressBook = logisticsAddressBookMapper.selectById(logisticsOrder.getReceiverId());
oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); // 名称
oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName());
// 地址
oldLogisticsAddressBook.setAddressInfo(logisticsOrder.getReceiverAddress());
// 电话
oldLogisticsAddressBook.setMobile(logisticsOrder.getReceiverMobile());
list.add(oldLogisticsAddressBook); list.add(oldLogisticsAddressBook);
} }
// 调用save方法保存地址簿信息,返回保存结果 // 调用save方法保存地址簿信息,返回保存结果
final Gson gson = new Gson(); final Gson gson = new Gson();
System.out.println(gson.toJson(list)); System.out.println(gson.toJson(list));
if(list.isEmpty()){ if (list.isEmpty()) {
return true; return true;
} }
return saveOrUpdateBatch(list); return saveOrUpdateBatch(list);
@ -129,42 +122,46 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddres
public IPage<LogisticsAddressBook> getLogisticsAddressBookPageList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) { public IPage<LogisticsAddressBook> getLogisticsAddressBookPageList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) {
final Page<LogisticsAddressBook> page = new Page<>(); final Page<LogisticsAddressBook> page = new Page<>();
final LambdaQueryWrapper<LogisticsAddressBook> wrapper = new LambdaQueryWrapper<>(); final LambdaQueryWrapper<LogisticsAddressBook> wrapper = new LambdaQueryWrapper<>();
if(logisticsAddressBookQueryVo != null && StringUtils.isNotEmpty(logisticsAddressBookQueryVo.getKeyWord())){ if (logisticsAddressBookQueryVo != null && StringUtils.isNotEmpty(logisticsAddressBookQueryVo.getKeyWord())) {
wrapper.like(LogisticsAddressBook::getShipperOrReceiverName, logisticsAddressBookQueryVo.getKeyWord()).or() wrapper.like(LogisticsAddressBook::getShipperOrReceiverName, logisticsAddressBookQueryVo.getKeyWord()).or()
.like(LogisticsAddressBook::getMobile, logisticsAddressBookQueryVo.getKeyWord()); .like(LogisticsAddressBook::getMobile, logisticsAddressBookQueryVo.getKeyWord());
} }
if(logisticsAddressBookQueryVo != null && logisticsAddressBookQueryVo.getAddressType() !=null ){ if (logisticsAddressBookQueryVo != null && logisticsAddressBookQueryVo.getAddressType() != null) {
wrapper.eq(LogisticsAddressBook::getAddressType, logisticsAddressBookQueryVo.getAddressType()); wrapper.eq(LogisticsAddressBook::getAddressType, logisticsAddressBookQueryVo.getAddressType());
} }
if (logisticsAddressBookQueryVo != null && logisticsAddressBookQueryVo.getCompanyId() != null) {
wrapper.eq(LogisticsAddressBook::getCompanyId, logisticsAddressBookQueryVo.getCompanyId());
}
page.setCurrent(logisticsAddressBookQueryVo.getPageNum()); page.setCurrent(logisticsAddressBookQueryVo.getPageNum());
page.setSize(logisticsAddressBookQueryVo.getPageSize()); page.setSize(logisticsAddressBookQueryVo.getPageSize());
return logisticsAddressBookMapper.selectPage(page,wrapper); return logisticsAddressBookMapper.selectPage(page, wrapper);
} }
/** /**
* 根据名称支持拼音模糊匹配及手机号查询列表 * 根据名称支持拼音模糊匹配及手机号查询列表
* @author 王富康 *
* @date 2024/10/8
* @param logisticsAddressBookQueryVo * @param logisticsAddressBookQueryVo
* @return List<LogisticsAddressBook> * @return List<LogisticsAddressBook>
* @author 王富康
* @date 2024/10/8
*/ */
@Override @Override
public JSONObject getLogisticsAddressBookList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) { public JSONObject getLogisticsAddressBookList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) {
final JSONObject jsonObject = new JSONObject(); final JSONObject jsonObject = new JSONObject();
// 必须包含addressType, // 必须包含addressType,
if(logisticsAddressBookQueryVo.getAddressType() == null){ if (logisticsAddressBookQueryVo.getAddressType() == null) {
jsonObject.set("flag","0"); jsonObject.set("flag", "0");
jsonObject.set("msg","addressType参数为空"); jsonObject.set("msg", "addressType参数为空");
return jsonObject; return jsonObject;
} }
if(StringUtils.isEmpty(logisticsAddressBookQueryVo.getShipperOrReceiverName()) && StringUtils.isEmpty(logisticsAddressBookQueryVo.getMobile())){ if (StringUtils.isEmpty(logisticsAddressBookQueryVo.getShipperOrReceiverName()) && StringUtils.isEmpty(logisticsAddressBookQueryVo.getMobile())) {
jsonObject.set("flag","0"); jsonObject.set("flag", "0");
jsonObject.set("msg","姓名及电话必须传一个!"); jsonObject.set("msg", "姓名及电话必须传一个!");
return jsonObject; return jsonObject;
} }
final List<LogisticsAddressBook> logisticsAddressBookList = logisticsAddressBookMapper.getLogisticsAddressBookList(logisticsAddressBookQueryVo); final List<LogisticsAddressBook> logisticsAddressBookList = logisticsAddressBookMapper.getLogisticsAddressBookList(logisticsAddressBookQueryVo);
jsonObject.set("data",logisticsAddressBookList); jsonObject.set("data", logisticsAddressBookList);
jsonObject.set("flag","1"); jsonObject.set("flag", "1");
return jsonObject; return jsonObject;
} }
@ -179,8 +176,8 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddres
.eq(LogisticsAddressBook::getMobile, logisticsOrder.getShipperMobile()) .eq(LogisticsAddressBook::getMobile, logisticsOrder.getShipperMobile())
.eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getShipperAddress()); .eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getShipperAddress());
final LogisticsAddressBook shipperLogisticsAddressBook = getBaseMapper().selectOne(stuQuery); final LogisticsAddressBook shipperLogisticsAddressBook = getBaseMapper().selectOne(stuQuery);
if(shipperLogisticsAddressBook != null ){ if (shipperLogisticsAddressBook != null) {
logisticsAddressBookMap.put("shipperLogisticsAddressBook",shipperLogisticsAddressBook); logisticsAddressBookMap.put("shipperLogisticsAddressBook", shipperLogisticsAddressBook);
} }
// 收货人 // 收货人
@ -191,8 +188,8 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddres
.eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getReceiverAddress()); .eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getReceiverAddress());
final LogisticsAddressBook receiverLogisticsAddressBook = getBaseMapper().selectOne(stuQuery2); final LogisticsAddressBook receiverLogisticsAddressBook = getBaseMapper().selectOne(stuQuery2);
if(receiverLogisticsAddressBook != null ){ if (receiverLogisticsAddressBook != null) {
logisticsAddressBookMap.put("receiverLogisticsAddressBook",receiverLogisticsAddressBook); logisticsAddressBookMap.put("receiverLogisticsAddressBook", receiverLogisticsAddressBook);
} }
return logisticsAddressBookMap; return logisticsAddressBookMap;
} }

34
hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java

@ -5,7 +5,6 @@ import cc.hiver.core.common.utils.ResultUtil;
import cc.hiver.core.common.utils.SecurityUtil; import cc.hiver.core.common.utils.SecurityUtil;
import cc.hiver.core.common.vo.Result; import cc.hiver.core.common.vo.Result;
import cc.hiver.core.entity.LogiticsCompany; import cc.hiver.core.entity.LogiticsCompany;
import cc.hiver.core.logisticsaddressbook.entity.LogisticsAddressBook;
import cc.hiver.core.logisticsaddressbook.service.LogisticsAddressBookService; import cc.hiver.core.logisticsaddressbook.service.LogisticsAddressBookService;
import cc.hiver.core.logisticsorder.entity.LogisticsOrder; import cc.hiver.core.logisticsorder.entity.LogisticsOrder;
import cc.hiver.core.logisticsorder.entity.LogisticsOrderChangeLog; import cc.hiver.core.logisticsorder.entity.LogisticsOrderChangeLog;
@ -26,7 +25,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 物流订单控制器 * 物流订单控制器
@ -71,15 +69,6 @@ public class LogisticsOrderController {
// 20241015 保存收发货人地址簿,先保存地址簿,方便后边获取收发货人id // 20241015 保存收发货人地址簿,先保存地址簿,方便后边获取收发货人id
final boolean b = logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder); final boolean b = logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder);
if (b) { if (b) {
// 获取收货人id
final Map<String, LogisticsAddressBook> logisticsAddressBook = logisticsAddressBookService.getByOrder(logisticsOrder);
if (logisticsAddressBook.containsKey("shipperLogisticsAddressBook")) {
logisticsOrder.setShipperId(logisticsAddressBook.get("shipperLogisticsAddressBook").getId());
}
if (logisticsAddressBook.containsKey("receiverLogisticsAddressBook")) {
logisticsOrder.setReceiverId(logisticsAddressBook.get("receiverLogisticsAddressBook").getId());
}
logisticsOrderService.saveOrUpdate(logisticsOrder); logisticsOrderService.saveOrUpdate(logisticsOrder);
return ResultUtil.data(logisticsOrder); return ResultUtil.data(logisticsOrder);
} else { } else {
@ -105,23 +94,16 @@ public class LogisticsOrderController {
final LogisticsOrder oldLogisticsOrder = logisticsOrderService.getById(logisticsOrder.getId()); final LogisticsOrder oldLogisticsOrder = logisticsOrderService.getById(logisticsOrder.getId());
// 设置创建人姓名 // 设置创建人姓名
final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany(); final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany();
logisticsOrder.setUpdateBy(logiticsCompany.getId()); if(logiticsCompany != null){
// 根据收发货人获取信息,如果名字变了,那么修改收发货人的信息 logisticsOrder.setUpdateBy(logiticsCompany.getId());
// 设置创建人姓名 // 根据收发货人获取信息,如果名字变了,那么修改收发货人的信息
logisticsOrder.setCreateBy(logiticsCompany.getId()); // 设置创建人姓名
logisticsOrder.setCreateByName(logiticsCompany.getContacts()); logisticsOrder.setCreateBy(logiticsCompany.getId());
logisticsOrder.setCreateByName(logiticsCompany.getContacts());
}
// 20241015 保存收发货人地址簿,先保存地址簿,方便后边获取收发货人id // 20241015 保存收发货人地址簿,先保存地址簿,方便后边获取收发货人id
final boolean b = logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder); final boolean b = logisticsAddressBookService.saveLogisticsAddressBook(logisticsOrder);
if (b) { if (b) {
// 获取收货人id
final Map<String, LogisticsAddressBook> logisticsAddressBook = logisticsAddressBookService.getByOrder(logisticsOrder);
if (logisticsAddressBook.containsKey("shipperLogisticsAddressBook")) {
logisticsOrder.setShipperId(logisticsAddressBook.get("shipperLogisticsAddressBook").getId());
}
if (logisticsAddressBook.containsKey("receiverLogisticsAddressBook")) {
logisticsOrder.setReceiverId(logisticsAddressBook.get("receiverLogisticsAddressBook").getId());
}
final boolean a = logisticsOrderService.saveOrUpdate(logisticsOrder); final boolean a = logisticsOrderService.saveOrUpdate(logisticsOrder);
if (a) { if (a) {
//如果更新成功,把修改记录保存一下 //如果更新成功,把修改记录保存一下
@ -243,7 +225,7 @@ public class LogisticsOrderController {
} }
try { try {
logisticsOrderService.batchUpdateOrderStatus(orderIds, status); logisticsOrderService.batchUpdateOrderStatus(orderIds, status);
return ResultUtil.error("批量更新订单状态成功!"); return ResultUtil.success("批量更新订单状态成功!");
} catch (Exception e) { } catch (Exception e) {
return ResultUtil.error("批量更新订单状态失败!"); return ResultUtil.error("批量更新订单状态失败!");
} }

4
hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java

@ -203,6 +203,10 @@ public class LogisticsOrder{
@ApiModelProperty(value = "订单状态") @ApiModelProperty(value = "订单状态")
private String orderStatus; private String orderStatus;
@CompareField(name = "重量历史")
@ApiModelProperty(value = "重量历史")
private String weightHistory;
@Transient @Transient
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "修改记录数") @ApiModelProperty(value = "修改记录数")

4
hiver-core/src/main/java/cc/hiver/core/logisticsorder/vo/StatisticsVo.java

@ -40,4 +40,8 @@ public class StatisticsVo {
// 保费 // 保费
@ApiModelProperty(value = "保费") @ApiModelProperty(value = "保费")
private BigDecimal totalInsuranceFee; private BigDecimal totalInsuranceFee;
// 总重量
@ApiModelProperty(value = "总重量")
private BigDecimal totalWeight;
} }

12
hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml

@ -43,6 +43,7 @@
<result column="order_status" jdbcType="VARCHAR" property="orderStatus" /> <result column="order_status" jdbcType="VARCHAR" property="orderStatus" />
<result column="shipper_id" jdbcType="VARCHAR" property="shipperId" /> <result column="shipper_id" jdbcType="VARCHAR" property="shipperId" />
<result column="receiver_id" jdbcType="VARCHAR" property="receiverId" /> <result column="receiver_id" jdbcType="VARCHAR" property="receiverId" />
<result column="weight_history" jdbcType="VARCHAR" property="weightHistory" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
@ -51,7 +52,7 @@
go_station_id, go_station_name, arrival_station_id, arrival_station_name, weight, count, freight, premium, go_station_id, go_station_name, arrival_station_id, arrival_station_name, weight, count, freight, premium,
transit_fee, tips, method_of_settlement, cost, all_cost, order_number, object_name, remark, receiving_user_id, transit_fee, tips, method_of_settlement, cost, all_cost, order_number, object_name, remark, receiving_user_id,
receiving_user_name,image_path, payment_for_goods, transfer_addition,order_status, receiving_user_name,image_path, payment_for_goods, transfer_addition,order_status,
shipper_id,receiver_id shipper_id,receiver_id,weight_history
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
@ -72,7 +73,7 @@
shipper_name, shipper_mobile, shipper_address, receiver_name, receiver_mobile, receiver_address, shipper_name, shipper_mobile, shipper_address, receiver_name, receiver_mobile, receiver_address,
go_station_id, go_station_name, arrival_station_id, arrival_station_name, weight, count, freight, premium, go_station_id, go_station_name, arrival_station_id, arrival_station_name, weight, count, freight, premium,
transit_fee, tips, method_of_settlement, cost, all_cost, order_number, object_name, remark, receiving_user_id, receiving_user_name, transit_fee, tips, method_of_settlement, cost, all_cost, order_number, object_name, remark, receiving_user_id, receiving_user_name,
image_path, payment_for_goods, transfer_addition,order_status,shipper_id,receiver_id) image_path, payment_for_goods, transfer_addition,order_status,shipper_id,receiver_id,weight_history)
values (#{id,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createByName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, values (#{id,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createByName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{delFlag,jdbcType=INTEGER}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{delFlag,jdbcType=INTEGER}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
#{companyId,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR}, #{circuitId,jdbcType=VARCHAR}, #{circuitName,jdbcType=VARCHAR}, #{companyId,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR}, #{circuitId,jdbcType=VARCHAR}, #{circuitName,jdbcType=VARCHAR},
@ -83,7 +84,7 @@
#{transitFee,jdbcType=DECIMAL}, #{tips,jdbcType=DECIMAL}, #{methodOfSettlement,jdbcType=VARCHAR}, #{cost,jdbcType=DECIMAL}, #{transitFee,jdbcType=DECIMAL}, #{tips,jdbcType=DECIMAL}, #{methodOfSettlement,jdbcType=VARCHAR}, #{cost,jdbcType=DECIMAL},
#{allCost,jdbcType=DECIMAL}, #{orderNumber,jdbcType=VARCHAR}, #{objectName,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{allCost,jdbcType=DECIMAL}, #{orderNumber,jdbcType=VARCHAR}, #{objectName,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR},
#{receivingUserId,jdbcType=VARCHAR}, #{receivingUserName,jdbcType=VARCHAR},#{imagePath,jdbcType=VARCHAR}, #{paymentForGoods,jdbcType=VARCHAR}, #{receivingUserId,jdbcType=VARCHAR}, #{receivingUserName,jdbcType=VARCHAR},#{imagePath,jdbcType=VARCHAR}, #{paymentForGoods,jdbcType=VARCHAR},
#{transferAddition,jdbcType=VARCHAR},#{orderStatus,jdbcType=VARCHAR},#{shipperId,jdbcType=VARCHAR},#{receiverId,jdbcType=VARCHAR}) #{transferAddition,jdbcType=VARCHAR},#{orderStatus,jdbcType=VARCHAR},#{shipperId,jdbcType=VARCHAR},#{receiverId,jdbcType=VARCHAR},#{weightHistory,jdbcType=VARCHAR})
</insert> </insert>
<!--管理商品分页列表--> <!--管理商品分页列表-->
@ -105,7 +106,7 @@
t.shipper_name, t.shipper_mobile, t.shipper_address, t.receiver_name, t.receiver_mobile, t.receiver_address, t.shipper_name, t.shipper_mobile, t.shipper_address, t.receiver_name, t.receiver_mobile, t.receiver_address,
t.go_station_id, t.go_station_name, t.arrival_station_id, t.arrival_station_name, t.weight, t.count, t.freight, t.premium, t.go_station_id, t.go_station_name, t.arrival_station_id, t.arrival_station_name, t.weight, t.count, t.freight, t.premium,
t.transit_fee, t.tips, t.method_of_settlement, t.cost, t.all_cost, t.order_number, t.object_name, t.remark, t.receiving_user_id, t.transit_fee, t.tips, t.method_of_settlement, t.cost, t.all_cost, t.order_number, t.object_name, t.remark, t.receiving_user_id,
t.receiving_user_name,t.image_path, t.payment_for_goods, t.transfer_addition,t.order_status,t.shipper_id,t.receiver_id, t.receiving_user_name,t.image_path, t.payment_for_goods, t.transfer_addition,t.order_status,t.shipper_id,t.receiver_id,t.weight_history,
COALESCE(occ.change_count, 0) AS change_count COALESCE(occ.change_count, 0) AS change_count
from t_logistics_order t from t_logistics_order t
LEFT JOIN LEFT JOIN
@ -215,7 +216,8 @@
SUM(t.all_cost) AS total_freight, SUM(t.all_cost) AS total_freight,
COUNT(*) AS total_order, COUNT(*) AS total_order,
SUM(t.tips) AS total_tips, SUM(t.tips) AS total_tips,
SUM(t.premium) AS total_insurance_fee SUM(t.premium) AS total_insurance_fee,
SUM(t.weight) AS total_weight
FROM FROM
t_logistics_order t t_logistics_order t
WHERE WHERE

11
hiver-core/src/main/resources/mapper/LogisticsStationMapper.xml

@ -169,9 +169,16 @@
select select
t.id, t.create_by,t.create_time,t.del_flag,t.update_by,t.update_time,t.circuit_id,t.station_name,t.freight_rules,t.landing_fee_rules,t.delivery_fee_rules t.id, t.create_by,t.create_time,t.del_flag,t.update_by,t.update_time,t.circuit_id,t.station_name,t.freight_rules,t.landing_fee_rules,t.delivery_fee_rules
from t_logistics_station t from t_logistics_station t
where circuit_id in ( <where>
select circuit_id from t_logistics_company_route t where company_id = #{queryParams.companyId} and circuit_id in (
select circuit_id from t_logistics_company_route t where company_id = #{queryParams.companyId}
) )
<if test='queryParams.stationName!=null and queryParams.stationName.trim() neq ""'>
AND (t.station_name LIKE CONCAT( '%', #{queryParams.stationName}, '%' )
OR to_pinyin ( t.station_name ) LIKE CONCAT( '%', to_pinyin ( #{queryParams.stationName} ), '%' )
OR to_initial_pinyin ( t.station_name ) LIKE CONCAT( '%', to_initial_pinyin (#{queryParams.stationName}), '%' ))
</if>
</where>
ORDER BY ORDER BY
t.create_time desc t.create_time desc
</select> </select>

Loading…
Cancel
Save