Browse Source

预约转备货、批量预约

dev-warehouse
kilo 2 years ago
parent
commit
6fbae02433
  1. 20
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationEntity.java
  2. 8
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionReservationVO.java
  3. 67
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java
  4. 61
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionReservationDTO.java
  5. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionReservationExcel.java
  6. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java
  7. 57
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java
  8. 38
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  9. 184
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

20
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/ReservationEntity.java → blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationEntity.java

@ -35,7 +35,7 @@ import org.springblade.core.tenant.mp.TenantEntity;
@TableName("logpm_distribution_reservation")
@ApiModel(value = "reservation对象", description = "预约列表")
@EqualsAndHashCode(callSuper = true)
public class ReservationEntity extends TenantEntity {
public class DistributionReservationEntity extends TenantEntity {
/**
* 订单自编号;订单自编号关联订单表
@ -56,7 +56,7 @@ public class ReservationEntity extends TenantEntity {
* 预约时间
*/
@ApiModelProperty(value = "预约时间")
private Date reservationData;
private Date reservationDate;
/**
* 服务类型;预约服务类型1-上楼2-超区3-拆样4-平移5-分拣6-搬运7-返货
*/
@ -81,7 +81,7 @@ public class ReservationEntity extends TenantEntity {
* 代付运费
*/
@ApiModelProperty(value = "代付运费")
private String replaceFee;
private BigDecimal replaceFee;
/**
* 收件人电话
*/
@ -91,7 +91,7 @@ public class ReservationEntity extends TenantEntity {
* 预约信息状态;预约列表信息状态1-待确认2-已确认
*/
@ApiModelProperty(value = "预约信息状态;预约列表信息状态;1-待确认、2-已确认")
private String resvervationStatus;
private String reservationStatus;
/**
* 订单来源
*/
@ -106,7 +106,17 @@ public class ReservationEntity extends TenantEntity {
* 备货区编号
*/
@ApiModelProperty(value = "备货区编号")
private String goodsShelfId;
private String goodsAreaId;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 预约单编号系统构建生成
*/
@ApiModelProperty(value = "预约单编号")
private String reservationId;
/**
* 预留1
*/

8
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/ReservationVO.java → blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionReservationVO.java

@ -16,7 +16,7 @@
*/
package com.logpm.distribution.vo;
import com.logpm.distribution.entity.ReservationEntity;
import com.logpm.distribution.entity.DistributionReservationEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -28,7 +28,11 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ReservationVO extends ReservationEntity {
public class DistributionReservationVO extends DistributionReservationEntity {
private static final long serialVersionUID = 1L;
//增值服务信息
//订单信息
}

67
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/ReservationController.java → blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java

@ -16,10 +16,11 @@
*/
package com.logpm.distribution.controller;
import com.logpm.distribution.entity.ReservationEntity;
import com.logpm.distribution.excel.ReservationExcel;
import com.logpm.distribution.service.IReservationService;
import com.logpm.distribution.vo.ReservationVO;
import com.logpm.distribution.dto.DistributionReservationDTO;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.excel.DistributionReservationExcel;
import com.logpm.distribution.service.IDistributionReservationService;
import com.logpm.distribution.vo.DistributionReservationVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -54,9 +55,9 @@ import javax.servlet.http.HttpServletResponse;
@AllArgsConstructor
@RequestMapping("/reservation")
@Api(value = "预约列表", tags = "预约列表接口")
public class ReservationController extends BladeController {
public class DistributionReservationController extends BladeController {
private final IReservationService reservationService;
private final IDistributionReservationService reservationService;
/**
* 预约列表 详情
@ -64,9 +65,10 @@ public class ReservationController extends BladeController {
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "详情", notes = "传入distrbutionReservation")
public R<ReservationEntity> detail(ReservationEntity distrbutionReservation) {
ReservationEntity detail = reservationService.getOne(Condition.getQueryWrapper(distrbutionReservation));
return R.data(detail);
public R<DistributionReservationVO> detail(@ApiIgnore @RequestParam String reservationId) {
DistributionReservationVO distributionReservationVO = reservationService.getReservationDetail(reservationId);
// ReservationEntity detail = reservationService.getOne(Condition.getQueryWrapper(distrbutionReservation));
return R.data(distributionReservationVO);
}
/**
* 预约列表 分页
@ -74,8 +76,8 @@ public class ReservationController extends BladeController {
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入distrbutionReservation")
public R<IPage<ReservationEntity>> list(@ApiIgnore @RequestParam Map<String, Object> distrbutionReservation, Query query) {
IPage<ReservationEntity> pages = reservationService.page(Condition.getPage(query), Condition.getQueryWrapper(distrbutionReservation, ReservationEntity.class));
public R<IPage<DistributionReservationEntity>> list(@ApiIgnore @RequestParam Map<String, Object> distrbutionReservation, Query query) {
IPage<DistributionReservationEntity> pages = reservationService.page(Condition.getPage(query), Condition.getQueryWrapper(distrbutionReservation, DistributionReservationEntity.class));
return R.data(pages);
}
@ -85,8 +87,9 @@ public class ReservationController extends BladeController {
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入distrbutionReservation")
public R<IPage<ReservationVO>> page(ReservationVO distrbutionReservation, Query query) {
IPage<ReservationVO> pages = reservationService.selectDistrbutionReservationPage(Condition.getPage(query), distrbutionReservation);
public R<IPage<DistributionReservationVO>> page(DistributionReservationVO distrbutionReservation, Query query) {
IPage<DistributionReservationVO> page = Condition.getPage(query);
IPage<DistributionReservationVO> pages = reservationService.selectDistrbutionReservationPage(page, distrbutionReservation);
return R.data(pages);
}
@ -96,8 +99,9 @@ public class ReservationController extends BladeController {
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入distrbutionReservation")
public R save(@Valid @RequestBody ReservationEntity distrbutionReservation) {
return R.status(reservationService.save(distrbutionReservation));
public R save(@Valid @RequestBody DistributionReservationDTO distributionReservationDTO) {
boolean result = reservationService.insertReservation(distributionReservationDTO);
return R.status(reservationService.save(distributionReservationDTO));
}
/**
@ -106,7 +110,7 @@ public class ReservationController extends BladeController {
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入distrbutionReservation")
public R update(@Valid @RequestBody ReservationEntity distrbutionReservation) {
public R update(@Valid @RequestBody DistributionReservationEntity distrbutionReservation) {
return R.status(reservationService.updateById(distrbutionReservation));
}
@ -116,7 +120,7 @@ public class ReservationController extends BladeController {
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入distrbutionReservation")
public R submit(@Valid @RequestBody ReservationEntity distrbutionReservation) {
public R submit(@Valid @RequestBody DistributionReservationEntity distrbutionReservation) {
return R.status(reservationService.saveOrUpdate(distrbutionReservation));
}
@ -138,26 +142,35 @@ public class ReservationController extends BladeController {
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出数据", notes = "传入distrbutionReservation")
public void exportDistrbutionReservation(@ApiIgnore @RequestParam Map<String, Object> distrbutionReservation, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<ReservationEntity> queryWrapper = Condition.getQueryWrapper(distrbutionReservation, ReservationEntity.class);
QueryWrapper<DistributionReservationEntity> queryWrapper = Condition.getQueryWrapper(distrbutionReservation, DistributionReservationEntity.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(DistrbutionReservation::getTenantId, bladeUser.getTenantId());
//}
queryWrapper.lambda().eq(ReservationEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<ReservationExcel> list = reservationService.exportDistrbutionReservation(queryWrapper);
ExcelUtil.export(response, "预约列表数据" + DateUtil.time(), "预约列表数据表", list, ReservationExcel.class);
queryWrapper.lambda().eq(DistributionReservationEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<DistributionReservationExcel> list = reservationService.exportDistrbutionReservation(queryWrapper);
ExcelUtil.export(response, "预约列表数据" + DateUtil.time(), "预约列表数据表", list, DistributionReservationExcel.class);
}
/**
* 批量确认预约
*/
@PostMapping("/addIds")
@PostMapping("/confirmReservations")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "逻辑删除", notes = "传入ids")
public R addIds(@ApiParam(value = "主键集合", required = true) @RequestBody String ids) {
R result = reservationService.addReservations(Func.toLongList(ids));
return R.status(reservationService.deleteLogic(Func.toLongList(ids)));
@ApiOperation(value = "批量确认预约", notes = "传入ids")
public R addIds(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
R result = reservationService.addReservations(ids);
return result;
}
/**
* 批量预约转备货任务
*/
@PostMapping("/stockUpTask")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "批量预约转备货任务")
public R stockUpTask(@ApiParam(value = "主键集合", required = true)@RequestBody Map<String,Object> stockUpInfo) {
R<?> result = reservationService.stockUpTask(stockUpInfo);
return result;
}
}

61
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionReservationDTO.java

@ -0,0 +1,61 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.dto;
import com.logpm.distribution.entity.DistributionReservationEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 预约列表 数据传输对象实体类
*
* @author TJJ
* @since 2023-06-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DistributionReservationDTO extends DistributionReservationEntity {
private static final long serialVersionUID = 1L;
/**
* 备货区编号
*/
@ApiModelProperty(value = "备货区编号")
private String goddsAreaId;
/**
* 备货时间
*/
@ApiModelProperty(value = "备货时间")
private Date stockupDate;
/**
* 增值服务
*/
@ApiModelProperty(value = "增值服务")
private List<?> addvalueInfo;
}

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/ReservationExcel.java → blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionReservationExcel.java

@ -38,7 +38,7 @@ import java.io.Serializable;
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class ReservationExcel implements Serializable {
public class DistributionReservationExcel implements Serializable {
private static final long serialVersionUID = 1L;

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/ReservationClient.java → blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java

@ -17,8 +17,8 @@
package com.logpm.distribution.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.ReservationEntity;
import com.logpm.distribution.service.IReservationService;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.service.IDistributionReservationService;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
@ -36,17 +36,17 @@ import springfox.documentation.annotations.ApiIgnore;
@ApiIgnore()
@RestController
@AllArgsConstructor
public class ReservationClient implements IReservationClient {
public class DistributionReservationClient implements IDistributionReservationClient {
private final IReservationService reservationService;
private final IDistributionReservationService reservationService;
@Override
@GetMapping(TOP)
public BladePage<ReservationEntity> reservationTop(Integer current, Integer size) {
public BladePage<DistributionReservationEntity> reservationTop(Integer current, Integer size) {
Query query = new Query();
query.setCurrent(current);
query.setSize(size);
IPage<ReservationEntity> page = reservationService.page(Condition.getPage(query));
IPage<DistributionReservationEntity> page = reservationService.page(Condition.getPage(query));
return BladePage.of(page);
}

57
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java

@ -0,0 +1,57 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.mapper;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.excel.DistributionReservationExcel;
import com.logpm.distribution.vo.DistributionReservationVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 预约列表 Mapper 接口
*
* @author TJJ
* @since 2023-06-12
*/
public interface DistributionReservationMapper extends BaseMapper<DistributionReservationEntity> {
/**
* 自定义分页
*
* @param page
* @param distrbutionReservation
* @return
*/
List<DistributionReservationVO> selectDistrbutionReservationPage(IPage page, DistributionReservationVO distrbutionReservation);
/**
* 获取导出数据
*
* @param queryWrapper
* @return
*/
List<DistributionReservationExcel> exportDistrbutionReservation(@Param("ew") Wrapper<DistributionReservationEntity> queryWrapper);
Integer addReservations(@Param("list")List<Long> toLongList);
DistributionReservationVO getReservationDetail(String reservationId);
}

38
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/ReservationMapper.xml → blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.distribution.mapper.ReservationMapper">
<mapper namespace="com.logpm.distribution.mapper.DistributionReservationMapper">
<!-- 通用查询映射结果 -->
<resultMap id="reservationResultMap" type="com.logpm.distribution.entity.ReservationEntity">
<resultMap id="reservationResultMap" type="com.logpm.distribution.entity.DistributionReservationEntity">
<result column="id" property="id"/>
<result column="tenant_id" property="tenantId"/>
<result column="create_user" property="createUser"/>
@ -16,23 +16,36 @@
<result column="order_id" property="orderId"/>
<result column="consignee" property="consignee"/>
<result column="delivery_address" property="deliveryAddress"/>
<result column="reservation_data" property="reservationData"/>
<result column="reservation_data" property="reservationDate"/>
<result column="serve_type" property="serveType"/>
<result column="delivery_type" property="deliveryType"/>
<result column="collect_fee" property="collectFee"/>
<result column="other_fee" property="otherFee"/>
<result column="replace_fee" property="replaceFee"/>
<result column="delivery_phone" property="deliveryPhone"/>
<result column="resvervation_status" property="resvervationStatus"/>
<result column="reservation_status" property="reservationStatus"/>
<result column="order_source" property="orderSource"/>
<result column="stockup_status" property="stockupStatus"/>
<result column="goods_shelf_id" property="goodsShelfId"/>
<result column="goods_shelf_id" property="goodsAreaId"/>
<result column="reservation_id" property="reservationId"/>
<result column="reserve1" property="reserve1"/>
<result column="reserve2" property="reserve2"/>
<result column="reserve3" property="reserve3"/>
<result column="reserve4" property="reserve4"/>
<result column="reserve5" property="reserve5"/>
</resultMap>
<update id="addReservations" parameterType="java.util.List">
UPDATE logpm_distribution_reservation
<set>
reservation_status='2'
</set>
WHERE is_deleted=0
and
id in
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
<select id="selectDistrbutionReservationPage" resultMap="reservationResultMap">
@ -40,8 +53,21 @@
</select>
<select id="exportDistrbutionReservation" resultType="com.logpm.distribution.excel.ReservationExcel">
<select id="exportDistrbutionReservation" resultType="com.logpm.distribution.excel.DistributionReservationExcel">
SELECT * FROM logpm_distrbution_reservation ${ew.customSqlSegment}
</select>
<!-- 查询预约列表详情,包含订单信息,详细的增值服务-->
<select id="getReservationDetail" resultType="com.logpm.distribution.vo.DistributionReservationVO">
SELECT
*
FROM
logpm_distribution_reservation AS reservation
INNER JOIN logpm_distribution_reservation_addvalue AS ra ON reservation.id = ra.reservation_id
INNER JOIN logpm_distribution_addvalue AS addvalue ON ra.addvalue_id = addvalue.id
WHERE
reservation.is_deleted = '0'
AND
reservation.reservation.id=#{reservationId}
</select>
</mapper>

184
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

@ -0,0 +1,184 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.service.impl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.logpm.distribution.dto.DistributionReservationDTO;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.entity.DistributionStockupEntity;
import com.logpm.distribution.entity.ReservationStockupEntity;
import com.logpm.distribution.excel.DistributionReservationExcel;
import com.logpm.distribution.mapper.DistributionReservationMapper;
import com.logpm.distribution.mapper.DistributionStockupMapper;
import com.logpm.distribution.mapper.ReservationStockupMapper;
import com.logpm.distribution.service.IDistributionReservationService;
import com.logpm.distribution.service.IDistributionStockupService;
import com.logpm.distribution.vo.DistributionReservationVO;
import lombok.AllArgsConstructor;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 预约列表 服务实现类
*
* @author TJJ
* @since 2023-06-12
*/
@Service
@AllArgsConstructor
public class DistributionReservationServiceImpl extends BaseServiceImpl<DistributionReservationMapper, DistributionReservationEntity> implements IDistributionReservationService {
private DistributionReservationMapper distributionReservationMapper;
private IDistributionStockupService distributionStockupService;
private ReservationStockupMapper reservationStockupMapper;
@Override
public IPage<DistributionReservationVO> selectDistrbutionReservationPage(IPage<DistributionReservationVO> page, DistributionReservationVO distrbutionReservation) {
return page.setRecords(baseMapper.selectDistrbutionReservationPage(page, distrbutionReservation));
}
@Override
public List<DistributionReservationExcel> exportDistrbutionReservation(Wrapper<DistributionReservationEntity> queryWrapper) {
List<DistributionReservationExcel> distrbutionReservationList = baseMapper.exportDistrbutionReservation(queryWrapper);
//distrbutionReservationList.forEach(distrbutionReservation -> {
// distrbutionReservation.setTypeName(DictCache.getValue(DictEnum.YES_NO, DistrbutionReservation.getType()));
//});
return distrbutionReservationList;
}
@Override
public R<?> addReservations(String ids) {
//对参数进行校验
List<Long> longs = Func.toLongList(ids);
if (Func.isEmpty(longs)){
log.error("参数异常:+{"+longs+"}");
R.fail("服务器异常,请重新添加!!");
}
//这里就对预约信息列表进行批量的确认状态修改
boolean result = SqlHelper.retBool(distributionReservationMapper.addReservations(longs));
if (result){
return R.status(result);
}else {
log.error("sql执行错误+{"+result+"}");
return null;
}
}
@Override
public DistributionReservationVO getReservationDetail(String reservationId) {
DistributionReservationVO distributionReservationVO = distributionReservationMapper.getReservationDetail(reservationId);
return distributionReservationVO;
}
@Override
@Transactional
public boolean insertReservation(DistributionReservationDTO distributionReservationDTO) {
if (Func.isEmpty(distributionReservationDTO)){
log.error("参数错误+{"+ distributionReservationDTO +"}");
return false;
}
DistributionReservationEntity distributionReservationEntity = new DistributionReservationEntity();
BeanUtils.copyProperties(distributionReservationDTO, distributionReservationEntity);
//这里还需要对DTO中的服务内容进行保存
return false;
}
@Transactional
@Override
public R<?> stockUpTask(Map<String,Object> stockUpInfo) {
if (Func.isEmpty(stockUpInfo)){
log.error("参数异常:+{"+stockUpInfo+"}");
return R.fail("服务器正忙!!!");
}
boolean result = false;
try {
//获取前端携带批量转备货的id
String ids = (String) stockUpInfo.get("ids");
//完成对备货表数据的保存
String stockUpDate = (String) stockUpInfo.get("stockupDate");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = format.parse(stockUpDate);
String goddsAreaId = (String) stockUpInfo.get("goodsAreaId");
DistributionStockupEntity stockupEntity = new DistributionStockupEntity();
stockupEntity.setGoodsAreaId(goddsAreaId);
//设置备货任务指派状态---未指派
stockupEntity.setAssignStatus("1");
//设置备货任务状态---待备货
stockupEntity.setStockupStatus("2");
//设置备货任务备货时间
stockupEntity.setStockupDate(date);
//保存备货任务数据获取备货数据ID
result = distributionStockupService.save(stockupEntity);
Long id = stockupEntity.getId();
List<Long> reservationIds = Func.toLongList(ids);
for (Long reservationId : reservationIds) {
DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(reservationId);
if (Func.isEmpty(reservationEntity) || !reservationEntity.getReservationStatus().equals("2")){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
log.error("reservationEntity参数异常:+{"+reservationEntity+"}");
return R.fail("服务器正忙!!!");
}
//修改预约备货状态
reservationEntity.setStockupStatus("2");
result = SqlHelper.retBool(distributionReservationMapper.updateById(reservationEntity));
//构建中间表信息
ReservationStockupEntity reservationStockupEntity = new ReservationStockupEntity();
reservationStockupEntity.setStockupId(id.toString());
reservationStockupEntity.setReservationId(reservationEntity.getId().toString());
result = SqlHelper.retBool(reservationStockupMapper.insert(reservationStockupEntity));
if (!result){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
log.error("sql执行异常:+{"+result+"}");
return R.fail("请稍后再试");
}
}
} catch (ParseException e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
log.error("执行异常:+{"+e.getMessage()+"}");
return R.fail("请稍后再试");
}
//批量备货,循环多条预约信息数据
return R.status(result);
}
}
Loading…
Cancel
Save