提交 bb25824e authored 作者: huyufan's avatar huyufan

货单编辑接口

上级 163100c5
......@@ -27,5 +27,5 @@ public class UpdateEditOrderGoodsParam {
@Valid
@Converted(isDynamic = true)
private List<OrderGoodsEditParams> orderGoodsChildParams;
private OrderGoodsEditParams orderGoodsParams;
}
......@@ -38,5 +38,5 @@ public class OrderGoodsEditVO {
@ApiModelProperty("1:可以全部编辑 0:不能全部编辑")
private boolean editAllFlag;
private List<OrderGoodsVO> orderGoodsVOList;
private OrderGoodsVO orderGoodsVO;
}
......@@ -130,8 +130,8 @@ public class GoodsOrderController {
@ApiOperation(value = "货单编辑查询", notes = "<br>By:胡宇帆")
@GetMapping("/findOrderGoodsByBatchNumber")
public Result<OrderGoodsEditVO> findOrderGoodsByBatchNumber(@RequestParam(value = "batchNumber") Long batchNumber){
OrderGoodsEditVO orderGoodsVO = orderGoodsService.findOrderGoodsByBatchNumber(batchNumber);
public Result<OrderGoodsEditVO> findOrderGoodsByBatchNumber(@RequestParam(value = "id") Integer id){
OrderGoodsEditVO orderGoodsVO = orderGoodsService.findOrderGoodsById(id);
return Result.ok(orderGoodsVO);
}
......
......@@ -64,7 +64,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
Integer updateOrderGoodsSetResidueWeight(BigDecimal residueWeight, Integer id);
List<OrderGoodsVO> findOrderGoodsByBatchNumber(Long batchNumber);
OrderGoodsVO findOrderGoodsById(Integer id);
List<OrderGoods> selectListByOrderGoodsList(List<String> orderNos);
......
......@@ -170,8 +170,8 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
}
@Override
public List<OrderGoodsVO> findOrderGoodsByBatchNumber(Long batchNumber) {
return baseMapper.findOrderGoodsByBatchNumber(batchNumber);
public OrderGoodsVO findOrderGoodsById(Integer id) {
return baseMapper.findOrderGoodsById(id);
}
@Override
......
......@@ -59,8 +59,8 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@UpdateProvider(type = OrderGoodsSqlProvider.class, method = "updateOrderGoodsSetResidueWeight")
Integer updateOrderGoodsSetResidueWeight(@Param(value = "residueWeight") BigDecimal residueWeight, @Param(value = "id") Integer id);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "findOrderGoodsByBatchNumber")
List<OrderGoodsVO> findOrderGoodsByBatchNumber(Long batchNumber);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "findOrderGoodsById")
OrderGoodsVO findOrderGoodsById(Integer id);
@UpdateProvider(type = OrderGoodsSqlProvider.class, method = "updateOrderGoods")
Integer updateOrderGoods(@Param(value = "param") OrderGoodsEditParams orderGoodsEditParams);
......
......@@ -77,8 +77,8 @@ public interface OrderGoodsService {
/**
* 编辑货单查询
* @param batchNumber
* @param id
* @return
*/
OrderGoodsEditVO findOrderGoodsByBatchNumber(Long batchNumber);
OrderGoodsEditVO findOrderGoodsById(Integer id);
}
......@@ -236,7 +236,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
childResidueWeight = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
BigDecimal orderGoodsResidueWeight = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo).stream().map(OrderGoods::getResidueTransportWeight).reduce(BigDecimal.ZERO,BigDecimal::add);
BigDecimal orderGoodsResidueWeight = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo).stream().map(OrderGoods::getResidueTransportWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
return new BigDecimal(residueWeight).add(orderGoodsResidueWeight).add(childResidueWeight);
}
......@@ -246,32 +246,28 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
/**
* 编辑货单提交
*
* @param param
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void updateEditOrderGoods(UpdateEditOrderGoodsParam param) {
List<OrderGoodsEditParams> childParamsList = param.getOrderGoodsChildParams();
List<String> orderGoodsNos = childParamsList.stream().map(OrderGoodsEditParams::getOrderGoodsNo).collect(Collectors.toList());
List<OrderGoods> orderGoodsList = orderGoodsDao.selectListByOrderGoodsList(orderGoodsNos);
OrderGoodsEditParams orderGoodsParams = param.getOrderGoodsParams();
OrderGoods oldOrderGoods = orderGoodsDao.getByOrderGoodsNo(orderGoodsParams.getOrderGoodsNo()).get();
Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream()
.collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo));
for (OrderGoodsEditParams orderGoodsEditParams : childParamsList) {
String orderGoodsNo = orderGoodsEditParams.getOrderGoodsNo();
OrderGoods oldOrderGoods = orderGoodsMap.get(orderGoodsNo).get(0);
List<OrderChild> orderChildList = orderChildDao.selectListByOrderGoodsList(orderGoodsNos);
String orderGoodsNo = orderGoodsParams.getOrderGoodsNo();
List<OrderChild> orderChildList = orderChildDao.getOrderChildInfoByOrderGoodsNo(orderGoodsNo).get();
boolean pendingOrderWayFlag = CollectionUtils.isNotEmpty(orderChildList);
if (pendingOrderWayFlag) {
Integer pendingOrderWay = oldOrderGoods.getPendingOrderWay();
if (!pendingOrderWay.equals(orderGoodsEditParams.getPendingOrderWay())) {
if (!pendingOrderWay.equals(orderGoodsParams.getPendingOrderWay())) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "当前货单不允许更改挂单方式");
}
}
if (oldOrderGoods.getAlreadyTransportWeight().compareTo(orderGoodsEditParams.getExtractWeight()) > 0 ) {
if (oldOrderGoods.getAlreadyTransportWeight().compareTo(orderGoodsParams.getExtractWeight()) > 0) {
//修改后的货单提取吨数小于已拉运的吨数
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "当前货单提取吨数不应小于已经拉运的吨数");
}
......@@ -293,7 +289,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
LocalDateTime now = LocalDateTime.now();
List<String> truckList = orderGoodsEditParams.getTruckList();
List<String> truckList = orderGoodsParams.getTruckList();
if (CollectionUtil.isNotEmpty(truckList)) {
if (CollectionUtil.isNotEmpty(getChildList)) {
truckList.retainAll(getChildList.stream().map(OrderGoodsTruckBind::getTruckNo).collect(Collectors.toList()));
......@@ -305,11 +301,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderGoodsStatusLazyComponent.deleteRedisRecordForLastOrderTime(orderGoodsNo);
orderGoodsStatusLazyComponent.deleteRedisRecordForLastArriveSendTime(orderGoodsNo);
orderGoodsStatusLazyComponent.expireProduceByLastOrderTime(DateUtils.parseDateTime(orderGoodsEditParams.getLastOrderTime(), "yyyy-MM-dd HH:mm:ss").get(), orderGoodsNo);
orderGoodsStatusLazyComponent.expireProduceByLastArriveSendTime(DateUtils.parseDateTime(orderGoodsEditParams.getLastArriveSendTime(), "yyyy-MM-dd HH:mm:ss").get(), orderGoodsNo);
orderGoodsStatusLazyComponent.expireProduceByLastOrderTime(DateUtils.parseDateTime(orderGoodsParams.getLastOrderTime(), "yyyy-MM-dd HH:mm:ss").get(), orderGoodsNo);
orderGoodsStatusLazyComponent.expireProduceByLastArriveSendTime(DateUtils.parseDateTime(orderGoodsParams.getLastArriveSendTime(), "yyyy-MM-dd HH:mm:ss").get(), orderGoodsNo);
orderGoodsDao.updateOrderGoods(orderGoodsParams);
orderGoodsDao.updateOrderGoods(orderGoodsEditParams);
}
}
......@@ -355,7 +351,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
BigDecimal sum = BigDecimal.ZERO;
RollbackOrderWeightParam param = new RollbackOrderWeightParam();
Integer cancelOperateType = goodsCancelParam.getCancelOperateType();
switch (cancelOperateType){
switch (cancelOperateType) {
case 1:
orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), null);
if (CollectionUtils.isNotEmpty(orderChildList)) {
......@@ -457,7 +453,6 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
}
@Override
......@@ -473,7 +468,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
BigDecimal sum = BigDecimal.ZERO;
RollbackOrderWeightParam param = new RollbackOrderWeightParam();
Integer cancelOperateType = goodsCancelParam.getCancelOperateType();
switch (cancelOperateType){
switch (cancelOperateType) {
case 1:
case 2:
......@@ -498,7 +493,6 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
}
......@@ -512,10 +506,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
@Override
public OrderGoodsEditVO findOrderGoodsByBatchNumber(Long batchNumber) {
public OrderGoodsEditVO findOrderGoodsById(Integer id) {
OrderGoodsEditVO result = new OrderGoodsEditVO();
List<OrderGoodsVO> orderGoodsVOList = orderGoodsDao.findOrderGoodsByBatchNumber(batchNumber);
String orderNo = orderGoodsVOList.get(0).getOrderNo();
OrderGoodsVO orderGoodsVO = orderGoodsDao.findOrderGoodsById(id);
String orderNo = orderGoodsVO.getOrderNo();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
result.setOrderNo(orderInfoFeign.getOrderNo());
result.setTransportWeight(orderInfoFeign.getTransportWeight());
......@@ -530,14 +524,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
result.setStopFlag(orderInfoFeign.getStopFlag());
result.setSettlementAccountPeriod(orderInfoFeign.getSettlementAccountPeriod());
List<String> orderGoodsList = orderGoodsVOList.stream().map(OrderGoodsVO::getOrderGoodsNo).collect(Collectors.toList());
List<OrderChild> orderChildList = orderChildDao.selectListByOrderGoodsList(orderGoodsList);
List<OrderChild> orderChildList = orderChildDao.selectListByOrderGoodsNo(orderGoodsVO.getOrderGoodsNo());
if (CollectionUtils.isNotEmpty(orderChildList)) {
result.setEditAllFlag(false);
} else {
result.setEditAllFlag(true);
}
result.setOrderGoodsVOList(orderGoodsVOList);
result.setOrderGoodsVO(orderGoodsVO);
return result;
}
......
......@@ -184,7 +184,7 @@ public class OrderGoodsSqlProvider {
return sql;
}
public String findOrderGoodsByBatchNumber(@Param("batchNumber") Long batchNumber) {
public String findOrderGoodsById(@Param("id") Integer id) {
String sql = new SQL() {{
SELECT("a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status, a.extract_weight, " +
......@@ -200,8 +200,8 @@ public class OrderGoodsSqlProvider {
"a.user_no,a.user_name,batch_number,last_arrive_receive_time,last_load_time,last_order_time");
FROM("order_goods a");
if (Objects.nonNull(batchNumber)) {
WHERE("a.batch_number = #{batchNumber}");
if (Objects.nonNull(id)) {
WHERE("a.id = #{id}");
}
ORDER_BY("a.create_time desc");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论