Browse Source

Merge branch 'pre-production'

master
zhenghaoyu 1 year ago
parent
commit
fbb3c3f44a
  1. 7
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListInfoEntity.java
  2. 24
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java
  3. 8
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceEntity.java
  4. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListInfoController.java
  5. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforOwnExcel.java
  6. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java
  7. 83
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  8. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  9. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java
  10. 16
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  11. 39
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  12. 293
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java
  13. 25
      blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java
  14. 55
      blade-service/logpm-report/src/main/java/com/logpm/report/excel/BillLoadingReportExcel.java
  15. 7
      blade-service/logpm-report/src/main/java/com/logpm/report/service/IReportBillLoadingAsyncService.java
  16. 19
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportBillLoadingAsyncService.java

7
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListInfoEntity.java

@ -107,6 +107,13 @@ public class DistributionStockListInfoEntity extends TenantEntity {
*/
@ApiModelProperty(value = "仓库ID")
private Long warehouseId;
/**
* 仓库ID
*/
@ApiModelProperty(value = "仓库ID")
private Long stockListId;
/**
* 仓库名称
*/

24
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java

@ -97,6 +97,30 @@ public class DistributionSignforVO extends DistributionSignforEntity {
@ApiModelProperty(value = "装车件数")
private Integer loadingNum;
/**
* 包件装车件数
*/
@ApiModelProperty(value = "包件装车件数")
private Integer packageLoadingNum;
/**
* 库存品装车件数
*/
@ApiModelProperty(value = "库存品装车件数")
private Integer inventoryLoadingNum;
/**
* 库存品签收数
*/
@ApiModelProperty(value = "库存品签收数")
private Integer inventorySigningNum;
/**
* 包件签收件数
*/
@ApiModelProperty(value = "包件签收件数")
private Integer packageSigningNum;
/**
* 未装车件数
*/

8
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceEntity.java

@ -36,14 +36,6 @@ public class TrunklineAdvanceEntity extends TenantEntity {
/** 仓库名称 */
@ApiModelProperty(name = "仓库名称",notes = "")
private String warehouseName ;
/** 入库仓库id */
@ApiModelProperty(name = "入库仓库id",notes = "")
private Long incomingWarehouseId ;
/** 入库仓库名称 */
@ApiModelProperty(name = "入库仓库名称",notes = "")
private String incomingWarehouseName ;
/** 订单自编码 */
@ApiModelProperty(name = "订单自编码",notes = "")
private String orderCode ;

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListInfoController.java

@ -77,10 +77,6 @@ public class DistributionStockListInfoController extends BladeController {
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入distributionStockListInfo")
public R<IPage<DistributionStockListInfoVO>> list(@ApiIgnore @RequestParam Map<String, Object> distributionStockListInfo, Query query) {
Object o = distributionStockListInfo.get("incomingBatch");
if(ObjectUtils.isNull(o)){
return R.fail("入库批次号不能为空!!");
}
IPage<DistributionStockListInfoEntity> pages = distributionStockListInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(distributionStockListInfo, DistributionStockListInfoEntity.class));
return R.data(DistributionStockListInfoWrapper.build().pageVO(pages));
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforOwnExcel.java

@ -176,7 +176,7 @@ public class DistributionSignforOwnExcel implements Serializable {
@ApiModelProperty(value = "装车未扫数")
@ColumnWidth(20)
@ExcelProperty("装车未扫数")
private String withoutScanning;
private Integer withoutScanning;
/**
* 未签收数目
@ -184,7 +184,7 @@ public class DistributionSignforOwnExcel implements Serializable {
@ApiModelProperty(value = "未签收数目")
@ColumnWidth(20)
@ExcelProperty("未签收数目")
private String unsigneds;
private Integer unsigneds;

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java

@ -25,6 +25,7 @@ import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.excel.DistributionSignforOwnExcel;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.app.*;
import com.logpm.oldproject.dto.SignPushDataUnitDTO;

83
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -1043,46 +1043,58 @@
lddl.vehicle_name AS vehicleName,
lddl.task_time AS taskTime,
lddl.loading_time AS loadingTime,
IF(ldr.reservation_num > 0,GROUP_CONCAT(ldsa.order_code),'') AS orderCode,
lds.signee_name AS signeeName,
ldr.warehouse_id AS warehouseId,
<!-- ldr.warehouse_id AS warehouseId,-->
ldr.consignee AS consigne,
ldr.delivery_phone AS driverPhone,
ldr.delivery_address AS deliveryAddress,
ldr.warehouse_name AS warehouseName,
GROUP_CONCAT(ldsa.order_code) AS orderCode,
CASE
ldr.delivery_type
WHEN 1 THEN
'商配'
WHEN 2 THEN
'市配'
WHEN 3 THEN
'自提'
END AS deliveryTypeName,
ldr.consignee AS consignee,
ldr.delivery_phone AS deliveryPhone,
ldr.delivery_address AS deliveryAddress,
CASE ldr.delivery_type
WHEN 1 THEN '商配'
WHEN 2 THEN '市配'
WHEN 3 THEN '自提'
END deliveryTypeName,
(ldr.reservation_num + ldr.reservation_stock_list_num ) AS totalNum,
(COUNT(ldl.id) + COUNT(ldll.id) ) AS loadingNum,
lds.received_quantity AS signingNum,
((ldr.reservation_num + ldr.reservation_stock_list_num ) - (COUNT(ldl.id) + COUNT(ldll.id) )) AS unLoadingNum,
((ldr.reservation_num + ldr.reservation_stock_list_num ) - lds.received_quantity) AS unsigneds,
ldr.reservation_num + ldr.reservation_stock_list_num AS totalNum,
lds.loaded_number AS packageLoadingNum,
lds.loadedin_number AS inventoryLoadingNum,
lds.received_quantity AS packageSigningNum,
lds.receivedin_quantity AS inventorySigningNum,
lds.signing_time AS signingTime,
lds.sjsigning_time AS sjsigningTime,
lds.signee_name AS signeeName,
lds.examine_user_name AS examineUserName,
CASE lddl.delivery_status
WHEN 1 THEN '待配送'
WHEN 2 THEN '配送中'
WHEN 3 THEN '已完成'
END deliveryStatusName,
CASE lds.signing_status
WHEN 1 THEN '文员待审核'
WHEN 2 THEN '文员已审核'
END signingStatusName,
IF(lddl.kind = 1,ldds.driver_phone,lddt.driver_phone) AS driverPhone
CASE
lddl.delivery_status
WHEN 1 THEN
'待配送'
WHEN 2 THEN
'配送中'
WHEN 3 THEN
'已完成'
END AS deliveryStatusName,
CASE
lds.signing_status
WHEN 1 THEN
'文员待审核'
WHEN 2 THEN
'文员已审核'
END AS signingStatusName,
IF
( lddl.kind = 1, ldds.driver_phone, lddt.driver_phone ) AS deliveryPhone
FROM
logpm_distribution_signfor lds
JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id
JOIN logpm_distribution_reservation ldr ON ldr.id = lds.reservation_id
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldr.id = ldrs.reservation_id
LEFT JOIN logpm_distribution_stock_article ldsa on ldsa.id = ldrs.stock_article_id
LEFT JOIN logpm_distribution_loadscan AS ldl ON ldr.id = ldl.reservation_id AND ldl.delivery_id = ldl.delivery_id
LEFT JOIN logpm_distribution_loadscaninvn AS ldll ON ldr.id = ldll.reservation_id AND ldll.delivery_id = ldl.delivery_id
LEFT JOIN logpm_distribution_delivery_self AS ldds ON ldds.delivery_id = lddl.id AND ldds.is_master = 2
LEFT JOIN logpm_distribution_delivery_tripartite AS lddt ON lddt.delivery_id = lddl.id
left JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id
left JOIN logpm_distribution_reservation ldr ON ldr.id = lds.reservation_id
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs ON ldr.id = ldrs.reservation_id
LEFT JOIN logpm_distribution_stock_article ldsa ON ldsa.id = ldrs.stock_article_id
LEFT JOIN logpm_distribution_delivery_self ldds ON ldds.delivery_id = lddl.id
AND ldds.is_master = 2
LEFT JOIN logpm_distribution_delivery_tripartite lddt ON lddt.delivery_id = lddl.id
<where>
lds.is_deleted = 0
<if test="param.mallName != null and param.mallName!=''">
@ -1140,7 +1152,12 @@
<if test="param.signingStatus != null and param.signingStatus!=''">
and lds.signing_status = #{param.signingStatus}
</if>
<if test="param.warehouseId != null and param.warehouseId!=''">
and ldr.warehouse_id = #{param.warehouseId} AND lddl.warehouse_id =#{param.warehouseId}
</if>
</where>
GROUP BY
ldr.id
</select>
<select id="selectPushOldPackage" resultType="com.logpm.oldproject.dto.SignPushDataUnitDTO">
SELECT

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java

@ -196,4 +196,5 @@ public interface IDistributionParcelListService extends BaseService<Distribution
List<DistributionParcelListEntity> findEntityListByOrderCodeAndStatus(String orderCode, Long warehouseId, String packageStatus);
}

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java

@ -212,4 +212,11 @@ public interface IDistributionStockArticleService extends BaseService<Distributi
*/
UpDownStockupAreaVO findUpDownStockupZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId);
/**
* 查询订单配送信息
* @param type
* @param code
* @return
*/
R getOrderDeliveryInfo(Integer type, String code);
}

16
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -1433,6 +1433,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (ObjectUtils.isNotNull(o)) {
distributionSignfor.remove("ids");
}
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Func.isNotEmpty(myCurrentWarehouse)){
distributionSignfor.put("warehouseId",myCurrentWarehouse.getId());
}
DistributionSignforVO distributionSignforVO = JSON.parseObject(JSON.toJSONString(distributionSignfor), DistributionSignforVO.class);
if (ObjectUtils.isNotNull(o)) {
@ -1450,15 +1454,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
signforExcel.setDeliveryDriverPhone(d.getDriverPhone());
signforExcel.setDeliveryDriverName(d.getDriverName());
signforExcel.setReservationNum(d.getTotalNum());
signforExcel.setLoadedNumber(d.getLoadingNum());
signforExcel.setReceivedQuantity(d.getSigningNum());
signforExcel.setWithoutScanning(d.getUnLoadingNum());
signforExcel.setUnsigneds(d.getUnsigneds());
signforExcel.setLoadedNumber(d.getPackageLoadingNum() + d.getInventoryLoadingNum());
signforExcel.setReceivedQuantity(d.getPackageSigningNum()+d.getInventorySigningNum());
signforExcel.setDeliveryStatusName(d.getDeliveryStatusName());
signforExcel.setDeliveryPhone(d.getDeliveryPhone());
//查询仓库
BasicdataWarehouseEntity entityWarehouseId = basicdataWarehouseClient.getEntityWarehouseId(d.getWarehouseId());
signforExcel.setWarehouseName(entityWarehouseId.getName());;
signforExcel.setWithoutScanning(d.getTotalNum() - (d.getPackageLoadingNum() + d.getInventoryLoadingNum()));
signforExcel.setUnsigneds(d.getTotalNum() - (d.getPackageSigningNum()+d.getInventorySigningNum()));
signforExcel.setConsignee(d.getConsignee());
list.add(signforExcel);
});
return list;

39
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

@ -55,6 +55,8 @@ import org.springblade.common.constant.orderpackage.OrderPackageLoadingStatusCon
import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant;
import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant;
import org.springblade.common.constant.reservation.ReservationOrderStatusConstant;
import org.springblade.common.constant.reservation.ReservationPackageStatusConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.utils.CommonUtil;
import org.springblade.common.utils.FileUtil;
@ -126,6 +128,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
private final DistributionParcelNumberMapper distributionParcelNumberMapper;
private final IWarehouseTrayGoodsClient warehouseTrayGoodsClient;
private final IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient;
private final IDistributionReservationPackageService distributionReservationPackageService;
private final IUserClient userClient;
@Override
@ -1588,6 +1591,42 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
return baseMapper.findUpDownStockupZeroByOrderCodeAndWarehouseId(orderCode,warehouseId);
}
/**
* @param type
* @param code
* @return
*/
@Override
public R getOrderDeliveryInfo(Integer type, String code) {
switch (type){
//运单
case 1:
List<DistributionStockArticleEntity> list = this.list(Wrappers.<DistributionStockArticleEntity>query().lambda().eq(DistributionStockArticleEntity::getOrderCode, code));
if (Func.isNotEmpty(list) && list.size()>0){
//查询配送数量
for (DistributionStockArticleEntity stockArticleEntity : list) {
//查询配送数量
List<DistributionReservationPackageEntity> packageEntityList = distributionReservationPackageService.list(Wrappers.<DistributionReservationPackageEntity>query().lambda()
.eq(DistributionReservationPackageEntity::getStockArticleId, stockArticleEntity.getId())
.ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
if (Func.isNotEmpty(packageEntityList)){
long count = packageEntityList.stream().count();
}
//查询签收数量
}
}
break;
case 2:
break;
default:
return R.fail("查无此信息");
//订单
}
return null;
}
@Override
public DistributionStockArticleEntity findZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId) {

293
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

@ -223,95 +223,240 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean parcels(DistributionStockListDTO distributionStockListDTO) {
DistributionStockListEntity one2 = new DistributionStockListEntity();
// DistributionStockListEntity one2 = new DistributionStockListEntity();
BasicMaterialEntity basicMaterialEntity = new BasicMaterialEntity();
List<DistributionStockListEntity> list = new ArrayList<>();
Long aLong = 0L;
if(ObjectUtil.isNotEmpty(distributionStockListDTO.getDescriptionGoods())){
//选择的
//查询客户是不是有该物资的拆包
one2 = this.getOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialIdName())
.eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId())
.eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId())
);
}else{
//新增物料信息
basicMaterialEntity.setName(distributionStockListDTO.getMaterialIdName());
basicMaterialEntity.setProductCode(distributionStockListDTO.getCargoNumber());
basicMaterialEntity.setPackingSpecification(distributionStockListDTO.getCargoNorms());
basicMaterialEntity.setSku(distributionStockListDTO.getSku());
basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum());
basicMaterialEntity.setLogpmUnit(distributionStockListDTO.getCargoUnit());
basicMaterialEntity.setPid(distributionStockListDTO.getMaterialId());
aLong = basicMaterialClient.addMaterial(basicMaterialEntity);
//客户物资信息
list = this.list(Wrappers.<DistributionStockListEntity>query().lambda()
// .eq(DistributionStockListEntity::getId, distributionStockListDTO.getId())
.eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId())
.eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId())
.eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId())
);
}
if (list.get(0).getCargoNumber().equals(distributionStockListDTO.getCargoNumber())){
log.error("库存品拆包选择目标物料一致:{}",distributionStockListDTO.getCargoNumber());
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
log.error("##################拆包未授权myCurrentWarehouse:{}",myCurrentWarehouse);
return false;
}
//没有新增
DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity();
BeanUtils.copyProperties(list.get(0),distributionStockListEntity);
distributionStockListEntity.setIncomingBatch("CB_"+new Date().getTime());
distributionStockListEntity.setPid(list.get(0).getId());
distributionStockListEntity.setSku(distributionStockListDTO.getSku());
distributionStockListEntity.setQuantityStock(distributionStockListDTO.getStoreNum());
distributionStockListEntity.setUnpackingQuantity(0);
distributionStockListEntity.setCargoUnit(DictBizCache.getValue(DictBizConstant.LOGPM_UNIT,distributionStockListDTO.getCargoUnit()) );
distributionStockListEntity.setMaterialId(aLong);
distributionStockListEntity.setDescriptionGoods(distributionStockListDTO.getMaterialIdName());
distributionStockListEntity.setCargoNumber(distributionStockListDTO.getCargoNumber());
distributionStockListEntity.setCargoNorms(distributionStockListDTO.getCargoNorms());
distributionStockListEntity.setQuantityOccupied(0);
distributionStockListEntity.setId(null);
if(ObjectUtils.isNotNull(one2.getId())){
DistributionStockListEntity one2 = this.getOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getMaterialId()),DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId())
.eq(DistributionStockListEntity::getPid, distributionStockListDTO.getId())
.eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId())
.eq(DistributionStockListEntity::getWarehouseId, myCurrentWarehouse.getId())
.eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId())
);
DistributionStockListInfoEntity distributionStockListInfo = new DistributionStockListInfoEntity();
DistributionUnpackingDetailsEntity distributionUnpackingDetails = new DistributionUnpackingDetailsEntity();
DistributionStockListEntity one = this.getOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(DistributionStockListEntity::getId, distributionStockListDTO.getId())
.eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId())
// .eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId())
.eq(DistributionStockListEntity::getWarehouseId, myCurrentWarehouse.getId())
.eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId())
);
if (Func.isNotEmpty(one2)) {
//查询是否存在有拆包产物
//存在则是进行数量的累加
//有修改
DistributionStockListEntity d = new DistributionStockListEntity();
DistributionStockListEntity d = one2;
d.setId(one2.getId());
int i = one2.getQuantityStock() + distributionStockListDTO.getStoreNum();
int i = one2.getQuantityStock() + (distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum()));
d.setQuantityStock(i);
d.setWarehouseId(myCurrentWarehouse.getId());
d.setWarehouseName(myCurrentWarehouse.getName());
this.updateById(d);
//新增入库记录
BeanUtil.copyProperties(d, distributionStockListInfo);
distributionStockListInfo.setId(null);
distributionStockListInfo.setStockListId(d.getId());
distributionStockListInfo.setOutboundQuantity(0);
distributionStockListInfo.setGroundingTime(new Date());
distributionStockListInfo.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum())));
// distributionStockListInfo.setOrderCode(one.getOrderCode());
// distributionStockListInfo.setIncomingBatch(one.getIncomingBatch());
// distributionStockListInfo.setServiceNumber(one.getServiceNumber());
// distributionStockListInfo.setMallName(one.getMallName());
// distributionStockListInfo.setMarketId(one.getMarketId());
// distributionStockListInfo.setMarketId(one.getMarketId());
distributionStockListInfo.setPid(distributionStockListDTO.getId());
distributionStockListInfo.setSourceType("2");
distributionStockListInfoService.save(distributionStockListInfo);
//添加拆包记录
distributionUnpackingDetails.setStockArticleId(Optional.ofNullable(one2.getStockArticleId()).orElse(null));
distributionUnpackingDetails.setOrderSelfNumber(Optional.ofNullable(one2.getOrderCode()).orElse(null));
distributionUnpackingDetails.setItemName(Optional.ofNullable(one2.getDescriptionGoods()).orElse(null));
distributionUnpackingDetails.setUnpackingQuantity(Optional.ofNullable(one2.getUnpackingQuantity()).orElse(null));
distributionUnpackingDetails.setStockListId(Optional.ofNullable(distributionStockListDTO.getId()).orElse(null));
} else {
if (one.getCargoNumber().equals(distributionStockListDTO.getCargoNumber())) {
log.error("库存品拆包选择目标物料一致:{}", distributionStockListDTO.getCargoNumber());
return false;
}
//查询物是否是新增的,如果是新增物料则需要进行物料信息的保存
BasicMaterialEntity materialByProductCode = basicMaterialClient.getMaterialByProductCode(distributionStockListDTO.getCargoNumber());
if (Func.isEmpty(materialByProductCode)) {
basicMaterialEntity.setName(distributionStockListDTO.getMaterialIdName());
basicMaterialEntity.setProductCode(distributionStockListDTO.getCargoNumber());
basicMaterialEntity.setPackingSpecification(distributionStockListDTO.getCargoNorms());
basicMaterialEntity.setSku(distributionStockListDTO.getSku());
basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum() + "");
basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum() + "");
basicMaterialEntity.setLogpmUnit(distributionStockListDTO.getCargoUnit());
basicMaterialEntity.setPid(distributionStockListDTO.getMaterialId());
aLong = basicMaterialClient.addMaterial(basicMaterialEntity);
}else {
aLong = materialByProductCode.getId();
}
if (Func.isNotEmpty(one)) {
//生成新的库存品信息
DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity();
BeanUtils.copyProperties(one, distributionStockListEntity);
distributionStockListEntity.setIncomingBatch("CB_" + new Date().getTime());
distributionStockListEntity.setPid(one.getId());
distributionStockListEntity.setSku(distributionStockListDTO.getSku());
distributionStockListEntity.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum())));
distributionStockListEntity.setUnpackingQuantity(0);
distributionStockListEntity.setOutboundQuantity(0);
distributionStockListEntity.setMaterialId(aLong);
distributionStockListEntity.setCargoUnit(DictBizCache.getValue(DictBizConstant.LOGPM_UNIT, distributionStockListDTO.getCargoUnit()));
distributionStockListEntity.setDescriptionGoods(distributionStockListDTO.getMaterialIdName());
distributionStockListEntity.setCargoNumber(distributionStockListDTO.getCargoNumber());
distributionStockListEntity.setCargoNorms(distributionStockListDTO.getCargoNorms());
distributionStockListEntity.setQuantityOccupied(0);
distributionStockListEntity.setIncomingBatch(one.getIncomingBatch());
distributionStockListEntity.setId(null);
this.save(distributionStockListEntity);
//新增入库记录
BeanUtil.copyProperties(distributionStockListEntity, distributionStockListInfo);
distributionStockListInfo.setId(null);
distributionStockListInfo.setStockListId(distributionStockListEntity.getId());
distributionStockListInfo.setOutboundQuantity(0);
distributionStockListInfo.setGroundingTime(new Date());
distributionStockListInfo.setPid(distributionStockListDTO.getId());
distributionStockListInfo.setSourceType("2");
distributionStockListInfo.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum())));
distributionStockListInfoService.save(distributionStockListInfo);
//添加拆包记录
distributionUnpackingDetails.setStockArticleId(Optional.ofNullable(one.getStockArticleId()).orElse(null));
distributionUnpackingDetails.setOrderSelfNumber(Optional.ofNullable(one.getOrderCode()).orElse(null));
distributionUnpackingDetails.setItemName(Optional.ofNullable(one.getDescriptionGoods()).orElse(null));
distributionUnpackingDetails.setUnpackingQuantity(Optional.ofNullable(one.getUnpackingQuantity()).orElse(null));
distributionUnpackingDetails.setStockListId(Optional.ofNullable(distributionStockListDTO.getId()).orElse(null));
} else {
log.error("#################查询库存品失败");
return false;
}
}else{
this.save(distributionStockListEntity);
}
//新增入库记录
DistributionStockListInfoEntity distributionStockListInfo = new DistributionStockListInfoEntity();
BeanUtil.copyProperties(distributionStockListEntity,distributionStockListInfo);
distributionStockListInfo.setGroundingTime(new Date());
distributionStockListInfoService.save(distributionStockListInfo);
//修改客户物资记录
DistributionStockListEntity stockListEntity = new DistributionStockListEntity();
stockListEntity.setId(list.get(0).getId());
stockListEntity.setQuantityStock(list.get(0).getQuantityStock()-distributionStockListDTO.getUnpackingQuantity());
stockListEntity.setUnpackingQuantity( list.get(0).getUnpackingQuantity() + distributionStockListDTO.getUnpackingQuantity());
this.updateById(stockListEntity);
//添加拆包记录
DistributionUnpackingDetailsEntity distributionUnpackingDetails= new DistributionUnpackingDetailsEntity();
distributionUnpackingDetails.setStockArticleId(Optional.ofNullable(list.get(0).getStockArticleId()).orElse(null));
distributionUnpackingDetails.setOrderSelfNumber(Optional.ofNullable(list.get(0).getOrderCode()).orElse(null));
distributionUnpackingDetails.setItemName(Optional.ofNullable(list.get(0).getDescriptionGoods()).orElse(null));
distributionUnpackingDetails.setUnpackingQuantity(Optional.ofNullable(list.get(0).getUnpackingQuantity()).orElse(null));
distributionUnpackingDetails.setStockListId(Optional.ofNullable(distributionStockListDTO.getId()).orElse(null));
distributionStockListInfo.setId(null);
distributionUnpackingDetailsService.save(distributionUnpackingDetails);
//对原来的库存品进行数据维护
one.setQuantityStock(one.getQuantityStock() - distributionStockListDTO.getStoreNum());
this.updateById(one);
return true;
}
// //不存在拆包产物
// //添加新的库存品信息
// list = this.list(Wrappers.<DistributionStockListEntity>query().lambda()
//// .eq(DistributionStockListEntity::getId, distributionStockListDTO.getId())
// .eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId())
// .eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId())
// .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId())
// );
// }
// if(ObjectUtil.isNotEmpty(distributionStockListDTO.getDescriptionGoods())){
// //选择的
// //查询客户是不是有该物资的拆包
// one2 = this.getOne(Wrappers.<DistributionStockListEntity>query().lambda()
// .eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId())
// .eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId())
// .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId())
// );
// }else{
// //新增物料信息
// basicMaterialEntity.setName(distributionStockListDTO.getMaterialIdName());
// basicMaterialEntity.setProductCode(distributionStockListDTO.getCargoNumber());
// basicMaterialEntity.setPackingSpecification(distributionStockListDTO.getCargoNorms());
// basicMaterialEntity.setSku(distributionStockListDTO.getSku());
// basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum()+"");
// basicMaterialEntity.setLogpmUnit(distributionStockListDTO.getCargoUnit());
// basicMaterialEntity.setPid(distributionStockListDTO.getMaterialId());
// aLong = basicMaterialClient.addMaterial(basicMaterialEntity);
// //客户物资信息
// list = this.list(Wrappers.<DistributionStockListEntity>query().lambda()
//// .eq(DistributionStockListEntity::getId, distributionStockListDTO.getId())
// .eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId())
// .eq(DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId())
// .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getStoreId()), DistributionStockListEntity::getStoreId, distributionStockListDTO.getStoreId())
// );
//
// }
// if (list.get(0).getCargoNumber().equals(distributionStockListDTO.getCargoNumber())){
// log.error("库存品拆包选择目标物料一致:{}",distributionStockListDTO.getCargoNumber());
// return false;
// }
// DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity();
// if (Func.isNotEmpty(list)&& list.size()>0){
// //没有新增
// distributionStockListEntity = new DistributionStockListEntity();
// BeanUtils.copyProperties(list.get(0),distributionStockListEntity);
// distributionStockListEntity.setIncomingBatch("CB_"+new Date().getTime());
// distributionStockListEntity.setPid(list.get(0).getId());
// distributionStockListEntity.setSku(distributionStockListDTO.getSku());
// distributionStockListEntity.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum())));
// distributionStockListEntity.setUnpackingQuantity(0);
// distributionStockListEntity.setCargoUnit(DictBizCache.getValue(DictBizConstant.LOGPM_UNIT,distributionStockListDTO.getCargoUnit()) );
// distributionStockListEntity.setMaterialId(aLong);
// distributionStockListEntity.setDescriptionGoods(distributionStockListDTO.getMaterialIdName());
// distributionStockListEntity.setCargoNumber(distributionStockListDTO.getCargoNumber());
// distributionStockListEntity.setCargoNorms(distributionStockListDTO.getCargoNorms());
// distributionStockListEntity.setQuantityOccupied(0);
// distributionStockListEntity.setId(null);
// }else {
// list.add(one2);
// }
// if(ObjectUtils.isNotNull(one2.getId())){
// //有修改
// DistributionStockListEntity d = new DistributionStockListEntity();
// d.setId(one2.getId());
// int i = one2.getQuantityStock() + (distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum()));
// d.setQuantityStock(i);
// this.updateById(d);
//
// }else{
// this.save(distributionStockListEntity);
// }
// //新增入库记录
// DistributionStockListInfoEntity distributionStockListInfo = new DistributionStockListInfoEntity();
// BeanUtil.copyProperties(distributionStockListEntity,distributionStockListInfo);
// distributionStockListInfo.setGroundingTime(new Date());
// distributionStockListInfoService.save(distributionStockListInfo);
//
// //修改客户物资记录
// DistributionStockListEntity stockListEntity = new DistributionStockListEntity();
// stockListEntity.setId(list.get(0).getId());
// stockListEntity.setQuantityStock(list.get(0).getQuantityStock()-distributionStockListDTO.getUnpackingQuantity());
// stockListEntity.setUnpackingQuantity( list.get(0).getUnpackingQuantity() + distributionStockListDTO.getUnpackingQuantity());
// this.updateById(stockListEntity);
//
//
// //添加拆包记录
// DistributionUnpackingDetailsEntity distributionUnpackingDetails= new DistributionUnpackingDetailsEntity();
// distributionUnpackingDetails.setStockArticleId(Optional.ofNullable(list.get(0).getStockArticleId()).orElse(null));
// distributionUnpackingDetails.setOrderSelfNumber(Optional.ofNullable(list.get(0).getOrderCode()).orElse(null));
// distributionUnpackingDetails.setItemName(Optional.ofNullable(list.get(0).getDescriptionGoods()).orElse(null));
// distributionUnpackingDetails.setUnpackingQuantity(Optional.ofNullable(list.get(0).getUnpackingQuantity()).orElse(null));
// distributionUnpackingDetails.setStockListId(Optional.ofNullable(distributionStockListDTO.getId()).orElse(null));
//
// distributionUnpackingDetailsService.save(distributionUnpackingDetails);
// return true;
// }
/**
* 查询客户信息
* @param

25
blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java

@ -0,0 +1,25 @@
package com.logpm.report.controller;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 自提单包条控制器
*/
@RestController
@AllArgsConstructor
@RequestMapping("/reportBillLoading")
@Api(value = "自提单报表", tags = "自提单报表接口")
public class ReportBillLoadingController {
}

55
blade-service/logpm-report/src/main/java/com/logpm/report/excel/BillLoadingReportExcel.java

@ -0,0 +1,55 @@
package com.logpm.report.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serializable;
/**
* 自提导出Excle实体
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class BillLoadingReportExcel implements Serializable {
private static final long serialVersionUID = 1L;
@ColumnWidth(20)
@ExcelProperty("提货件数")
private String stockupCode;
@ColumnWidth(20)
@ExcelProperty("到付运费")
private String collectPaymentFee;
@ColumnWidth(20)
@ExcelProperty("搬运费")
private String transportFee;
@ColumnWidth(20)
@ExcelProperty("仓储费")
private String storageFee;
@ColumnWidth(20)
@ExcelProperty("叉车费")
private String forkliftFee;
@ColumnWidth(20)
@ExcelProperty("增值费")
private String addValueFee;
@ColumnWidth(20)
@ExcelProperty("增值费")
private String amountToFee;
@ColumnWidth(20)
@ExcelProperty("创建时间")
private String createdTime;
}

7
blade-service/logpm-report/src/main/java/com/logpm/report/service/IReportBillLoadingAsyncService.java

@ -0,0 +1,7 @@
package com.logpm.report.service;
public interface IReportBillLoadingAsyncService {
}

19
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportBillLoadingAsyncService.java

@ -0,0 +1,19 @@
package com.logpm.report.service.impl;
import com.logpm.report.service.IReportBillLoadingAsyncService;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
@Log4j2
@Service
@AllArgsConstructor
public class ReportBillLoadingAsyncService implements IReportBillLoadingAsyncService {
}
Loading…
Cancel
Save