Browse Source

Merge branch 'pre-production'

master
pref_mail@163.com 1 year ago
parent
commit
8cd0ad746d
  1. 5
      blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java
  2. 17
      blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java
  3. 11
      blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java
  4. 2
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.xml
  5. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleOweDTO.java
  6. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  7. 16
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  8. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  9. 46
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java
  10. 5
      blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java
  11. 4
      blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java
  12. 20
      blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java
  13. 3
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java
  14. 45
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml
  15. 36
      blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java
  16. 4
      blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java
  17. 20
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java
  18. 71
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java

5
blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java

@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/** /**
* 物料基础信息 Feign接口类 * 物料基础信息 Feign接口类
* *
@ -84,4 +86,7 @@ public interface IBasicMaterialClient {
@GetMapping(API_PREFIX+"/findEntityByName") @GetMapping(API_PREFIX+"/findEntityByName")
BasicMaterialEntity findEntityByName(@RequestParam String productName); BasicMaterialEntity findEntityByName(@RequestParam String productName);
@GetMapping(API_PREFIX+"/findEntityByPid")
List<BasicMaterialEntity> findEntityByPid(@RequestParam Long pid);
} }

17
blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java

@ -90,6 +90,23 @@ public class BasicMaterialController extends BladeController {
} }
/**
* 查询子物料
*/
@GetMapping("/findPidList")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入basicMaterial")
public R<List<BasicMaterialEntity>> findPidList(@ApiIgnore @RequestParam Map<String, Object> basicMaterial) {
QueryWrapper<BasicMaterialEntity> queryWrapper = Condition.getQueryWrapper(basicMaterial, BasicMaterialEntity.class);
queryWrapper.orderByDesc("create_time");
if (Func.isNotEmpty(basicMaterial.get("pid"))){
queryWrapper.lambda().eq(BasicMaterialEntity::getPid, Long.parseLong((String) basicMaterial.get("pid")));
}
List<BasicMaterialEntity> pages = basicMaterialService.list( queryWrapper);
return R.data(pages);
}
/** /**
* 物料基础信息 自定义分页 * 物料基础信息 自定义分页
*/ */

11
blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java

@ -31,6 +31,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
/** /**
* 物料基础信息 Feign实现类 * 物料基础信息 Feign实现类
* *
@ -119,4 +121,13 @@ public class BasicMaterialClient implements IBasicMaterialClient {
return one; return one;
} }
/**
* @param pid
* @return
*/
@Override
public List<BasicMaterialEntity> findEntityByPid(Long pid) {
return basicMaterialService.list(Wrappers.<BasicMaterialEntity>query().lambda().eq(BasicMaterialEntity::getPid,pid));
}
} }

2
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.xml

@ -88,7 +88,7 @@
lbda.carrier_id carrierId, lbda.carrier_id carrierId,
lbda.transportation_agreement transportationAgreement, lbda.transportation_agreement transportationAgreement,
lbda.user_id userId, lbda.user_id userId,
(SELECT GROUP_CONCAT(brand_id SEPARATOR ',') from logpm_basicdata_drivermiddle lbd WHERE lbd.driver_id = lbda.id and lbd.is_deleted = 0) bindVehicles (SELECT GROUP_CONCAT(lbv.vehicle_nub SEPARATOR ',') from logpm_basicdata_drivermiddle lbd LEFT JOIN logpm_basicdata_vehicle AS lbv ON lbd.brand_id = lbv.id WHERE lbd.driver_id = lbda.id and lbd.is_deleted = 0) bindVehicles
FROM FROM
logpm_basicdata_driver_artery lbda logpm_basicdata_driver_artery lbda
<where> <where>

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

@ -28,5 +28,6 @@ public class DistributionStockArticleOweDTO extends DistributionStockArticleEnti
private String reservation; private String reservation;
private String startDate; private String startDate;
private String entDate; private String entDate;
private String isAll;
private List<Long> warehouseIdList; private List<Long> warehouseIdList;
} }

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml

@ -473,6 +473,8 @@
<if test=" param.startDate != null ">and ldsa.warehouse_entry_time between #{param.startDate} and <if test=" param.startDate != null ">and ldsa.warehouse_entry_time between #{param.startDate} and
#{param.entDate} #{param.entDate}
</if> </if>
<if test=" param.isAll != null ">and ldsa.hand_quantity > 0
</if>
<if test=" param.warehouseEntryTime != null ">and DATE(ldsa.warehouse_entry_time) = <if test=" param.warehouseEntryTime != null ">and DATE(ldsa.warehouse_entry_time) =
#{param.warehouseEntryTime} #{param.warehouseEntryTime}
</if> </if>
@ -518,6 +520,8 @@
</if> </if>
<if test=" param.typeService != null and param.groundingStatus != '' ">and ldsa.type_service like concat('%',#{param.typeService},'%') <if test=" param.typeService != null and param.groundingStatus != '' ">and ldsa.type_service like concat('%',#{param.typeService},'%')
</if> </if>
<if test=" param.typeService != null and param.typeService = '3' ">and ldsa.type_service like concat('%',#{param.typeService},'%')
</if>
<if test=" param.customerName != null and param.customerName != '' ">and ldsa.customer_name like <if test=" param.customerName != null and param.customerName != '' ">and ldsa.customer_name like
concat('%',#{param.customerName},'%') concat('%',#{param.customerName},'%')
</if> </if>

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

@ -559,9 +559,12 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
} }
//查询当前扫描的包件是否进行了装车 //查询当前扫描的包件是否进行了装车
DistributionParcelListEntity parcelList = distributionParcelListService.selectByOrderPackageCode(distrilbutionloadingscanDTO.getBarcode(), myCurrentWarehouse.getId()); DistributionParcelListEntity parcelList = distributionParcelListService.selectByOrderPackageCode(distrilbutionloadingscanDTO.getBarcode(), myCurrentWarehouse.getId());
if (Func.isEmpty(parcelList)){
return Resp.scanFail("系统无编码", "系统无编码");
}
if (!Objects.isNull(parcelList)) { if (!Objects.isNull(parcelList)) {
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelList.getOrderPackageLoadingStatus())) { if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelList.getOrderPackageLoadingStatus())) {
return Resp.scanFail("操作失败", "包件已装车"); return Resp.scanFail("包件已装车", "包件已装车");
} }
} }
//获取当前用户司机 //获取当前用户司机
@ -585,7 +588,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
if (distrilbutionloadingscanDTO.getType() == 1) { if (distrilbutionloadingscanDTO.getType() == 1) {
if (!Objects.isNull(parcelList)) { if (!Objects.isNull(parcelList)) {
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelList.getOrderPackageLoadingStatus())) { if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelList.getOrderPackageLoadingStatus())) {
return Resp.scanFail("操作失败", "包件已装车"); return Resp.scanFail("包件已装车", "包件已装车");
} }
} }
List<DistributionParcelListEntity> distributionParcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId()); List<DistributionParcelListEntity> distributionParcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
@ -678,7 +681,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionReservationEntity> reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId()); List<DistributionReservationEntity> reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
boolean shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())); boolean shangpeiFlag = reservationEntityList.stream().allMatch(r -> r.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue()));
if (Func.isEmpty(parcelListEntity)) { if (Func.isEmpty(parcelListEntity)) {
return Resp.scanFail("操作失败", "无包件信息"); return Resp.scanFail("无包件信息", "无包件信息");
} }
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); DistributionStockArticleEntity stockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId());
if (shangpeiFlag) { if (shangpeiFlag) {
@ -696,7 +699,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
return Resp.scanFail("此包件不是订制品", "此包件不是订制品"); return Resp.scanFail("此包件不是订制品", "此包件不是订制品");
} else { } else {
return Resp.scanFail("装车失败", "窜货"); return Resp.scanFail("窜货", "窜货");
} }
} }
} else { } else {
@ -713,7 +716,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
} }
return R.fail(5000, "异常装车"); return R.fail(5000, "异常装车");
} else { } else {
return Resp.scanFail("装车失败", "窜货"); return Resp.scanFail("窜货", "窜货");
} }
} else { } else {
log.error("配送计划预约类型错误:{}", reservationEntityList); log.error("配送计划预约类型错误:{}", reservationEntityList);
@ -747,7 +750,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
} }
log.info("#########!!!!!!!!!!!!!!!!!--------- 444444444 parcelListEntities={}", parcelListEntities); log.info("#########!!!!!!!!!!!!!!!!!--------- 444444444 parcelListEntities={}", parcelListEntities);
if (Func.isEmpty(parcelListEntities) || parcelListEntities.size() <= 0) { if (Func.isEmpty(parcelListEntities) || parcelListEntities.size() <= 0) {
return Resp.scanFail("操作失败", "该托盘上无货物信息"); return Resp.scanFail("该托盘上无货物信息", "该托盘上无货物信息");
} }
log.info("#########!!!!!!!!!!!!!!!!!--------- 55555555555 distrilbutionloadingscanDTO={}", distrilbutionloadingscanDTO); log.info("#########!!!!!!!!!!!!!!!!!--------- 55555555555 distrilbutionloadingscanDTO={}", distrilbutionloadingscanDTO);
if (Func.isNotEmpty(distrilbutionloadingscanDTO.getReservationId())) { if (Func.isNotEmpty(distrilbutionloadingscanDTO.getReservationId())) {
@ -6842,6 +6845,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.yizhuangche.getValue()); deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.yizhuangche.getValue());
} else { } else {
deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.bunfenzhuangche.getValue()); deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.bunfenzhuangche.getValue());
deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.peisongzhong.getValue());
} }
if (loadingNum == 0) { if (loadingNum == 0) {
deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.weizhuangche.getValue()); deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.weizhuangche.getValue());

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

@ -1853,7 +1853,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
DistributionParcelListEntity parcelListEntity = distributionParcelListService.selectByOrderPackageCode(distrilbutionloadingscanDTO.getBarcode(), myCurrentWarehouse.getId()); DistributionParcelListEntity parcelListEntity = distributionParcelListService.selectByOrderPackageCode(distrilbutionloadingscanDTO.getBarcode(), myCurrentWarehouse.getId());
if (Func.isEmpty(parcelListEntity)) { if (Func.isEmpty(parcelListEntity)) {
return Resp.scanFail("包件信息不存在", "包件信息不存在"); return Resp.scanFail("系统无编码", "系统无编码");
} }
DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distrilbutionloadingscanDTO.getReservationId()); DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distrilbutionloadingscanDTO.getReservationId());
if (Func.isEmpty(distributionReservationEntity)) { if (Func.isEmpty(distributionReservationEntity)) {
@ -2921,7 +2921,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscaninvnEntity.setInventoryPackageId(inventory.get(0).getId()); distributionLoadscaninvnEntity.setInventoryPackageId(inventory.get(0).getId());
distributionLoadscaninvnEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId()); distributionLoadscaninvnEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId());
distributionLoadscaninvnEntity.setReservationId(distrilbutionloadingscanDTO.getReservationId()); distributionLoadscaninvnEntity.setReservationId(distrilbutionloadingscanDTO.getReservationId());
distributionLoadscaninvnEntity.setScanUser(user.getUserName()); distributionLoadscaninvnEntity.setScanUser(user.getNickName());
distributionLoadscaninvnEntity.setScanTime(simpleDateFormat.format(new Date())); distributionLoadscaninvnEntity.setScanTime(simpleDateFormat.format(new Date()));
distributionLoadscaninvnEntity.setPackageNub(inventory.get(0).getNum()); distributionLoadscaninvnEntity.setPackageNub(inventory.get(0).getNum());
distributionLoadscaninvnEntity.setScanStatus(LoadingStatusConstant.yijianzhuangche.getValue()); distributionLoadscaninvnEntity.setScanStatus(LoadingStatusConstant.yijianzhuangche.getValue());
@ -2934,7 +2934,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscaninvnEntity.setOneClick(1); distributionLoadscaninvnEntity.setOneClick(1);
distributionLoadscaninvnEntity.setOneQclick(1); distributionLoadscaninvnEntity.setOneQclick(1);
distributionLoadscaninvnEntity.setLoadedNub(1); distributionLoadscaninvnEntity.setLoadedNub(1);
distributionLoadscaninvnEntity.setSigningUser(user.getUserName()); distributionLoadscaninvnEntity.setSigningUser(user.getNickName());
distributionLoadscaninvnEntity.setSigningUserId(user.getUserId()); distributionLoadscaninvnEntity.setSigningUserId(user.getUserId());
distributionLoadscaninvnEntity.setSigningTime(simpleDateFormat.format(new Date())); distributionLoadscaninvnEntity.setSigningTime(simpleDateFormat.format(new Date()));
distributionLoadscaninvnService.save(distributionLoadscaninvnEntity); distributionLoadscaninvnService.save(distributionLoadscaninvnEntity);
@ -2955,6 +2955,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//进行库存品包件状态维护 //进行库存品包件状态维护
DisStockListDetailEntity disStockListDetailEntity = new DisStockListDetailEntity(); DisStockListDetailEntity disStockListDetailEntity = new DisStockListDetailEntity();
disStockListDetailEntity.setId(inventory.get(0).getId()); disStockListDetailEntity.setId(inventory.get(0).getId());
log.info("#################修改库存品包件完成状态:{},",inventory.get(0).getId());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.yizhuangche.getValue()); disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.yizhuangche.getValue());
disStockListDetailEntity.setStockSignfoStatus(InventorySigningStatusConstant.yiqianshou.getValue()); disStockListDetailEntity.setStockSignfoStatus(InventorySigningStatusConstant.yiqianshou.getValue());
disStockListDetailService.updateById(disStockListDetailEntity); disStockListDetailService.updateById(disStockListDetailEntity);

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

@ -234,7 +234,7 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
} }
DistributionStockListEntity one2 = this.getOne(Wrappers.<DistributionStockListEntity>query().lambda() DistributionStockListEntity one2 = this.getOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getMaterialId()),DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId()) .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getMaterialId()),DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId())
.eq(DistributionStockListEntity::getPid, distributionStockListDTO.getId()) .eq(DistributionStockListEntity::getPid, distributionStockListDTO.getId())
.eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId()) .eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId())
@ -261,6 +261,8 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
d.setWarehouseId(myCurrentWarehouse.getId()); d.setWarehouseId(myCurrentWarehouse.getId());
d.setWarehouseName(myCurrentWarehouse.getName()); d.setWarehouseName(myCurrentWarehouse.getName());
this.updateById(d); this.updateById(d);
//新增入库记录 //新增入库记录
BeanUtil.copyProperties(d, distributionStockListInfo); BeanUtil.copyProperties(d, distributionStockListInfo);
distributionStockListInfo.setId(null); distributionStockListInfo.setId(null);
@ -289,19 +291,30 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
return false; return false;
} }
//查询物是否是新增的,如果是新增物料则需要进行物料信息的保存 //查询物是否是新增的,如果是新增物料则需要进行物料信息的保存
BasicMaterialEntity materialByProductCode = basicMaterialClient.getMaterialByProductCode(distributionStockListDTO.getCargoNumber()); //查询此物料存在多少子集
if (Func.isEmpty(materialByProductCode)) { int a =1;
basicMaterialEntity.setName(distributionStockListDTO.getMaterialIdName()); if (Func.isEmpty(distributionStockListDTO.getCargoNumber())) {
basicMaterialEntity.setProductCode(distributionStockListDTO.getCargoNumber()); List<BasicMaterialEntity> materialByProductCode = basicMaterialClient.findEntityByPid(distributionStockListDTO.getId());
if (Func.isEmpty(materialByProductCode)){
a = materialByProductCode.size()+1;
}
basicMaterialEntity.setName(one.getDescriptionGoods()+"-"+a);
basicMaterialEntity.setProductCode(one.getCargoNumber()+"-"+a);
basicMaterialEntity.setPackingSpecification(distributionStockListDTO.getCargoNorms()); basicMaterialEntity.setPackingSpecification(distributionStockListDTO.getCargoNorms());
basicMaterialEntity.setSku(distributionStockListDTO.getSku()); basicMaterialEntity.setSku(distributionStockListDTO.getSku());
basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum() + ""); basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum() + "");
basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum() + "");
basicMaterialEntity.setLogpmUnit(distributionStockListDTO.getCargoUnit()); basicMaterialEntity.setLogpmUnit(distributionStockListDTO.getCargoUnit());
basicMaterialEntity.setPid(distributionStockListDTO.getMaterialId()); basicMaterialEntity.setSpecification(distributionStockListDTO.getCargoNorms());
basicMaterialEntity.setExtent("0");
basicMaterialEntity.setBreadth("0");
basicMaterialEntity.setAltitude("0");
basicMaterialEntity.setVolume("0");
basicMaterialEntity.setWeight("0");
basicMaterialEntity.setPid(one.getMaterialId());
aLong = basicMaterialClient.addMaterial(basicMaterialEntity); aLong = basicMaterialClient.addMaterial(basicMaterialEntity);
}else { }else {
aLong = materialByProductCode.getId(); basicMaterialEntity = basicMaterialClient.getMaterialByProductCode(distributionStockListDTO.getCargoNumber());
aLong = basicMaterialEntity.getId();
} }
if (Func.isNotEmpty(one)) { if (Func.isNotEmpty(one)) {
//生成新的库存品信息 //生成新的库存品信息
@ -309,6 +322,7 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
BeanUtils.copyProperties(one, distributionStockListEntity); BeanUtils.copyProperties(one, distributionStockListEntity);
distributionStockListEntity.setIncomingBatch("CB_" + new Date().getTime()); distributionStockListEntity.setIncomingBatch("CB_" + new Date().getTime());
distributionStockListEntity.setPid(one.getId()); distributionStockListEntity.setPid(one.getId());
distributionStockListEntity.setCargoNumber(basicMaterialEntity.getProductCode());
distributionStockListEntity.setSku(distributionStockListDTO.getSku()); distributionStockListEntity.setSku(distributionStockListDTO.getSku());
distributionStockListEntity.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum()))); distributionStockListEntity.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum())));
distributionStockListEntity.setUnpackingQuantity(0); distributionStockListEntity.setUnpackingQuantity(0);
@ -333,12 +347,6 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
distributionStockListInfo.setSourceType("2"); distributionStockListInfo.setSourceType("2");
distributionStockListInfo.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum()))); distributionStockListInfo.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum())));
distributionStockListInfoService.save(distributionStockListInfo); 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 { } else {
log.error("#################查询库存品失败"); log.error("#################查询库存品失败");
return false; return false;
@ -348,8 +356,14 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
distributionStockListInfo.setId(null); distributionStockListInfo.setId(null);
distributionUnpackingDetailsService.save(distributionUnpackingDetails); distributionUnpackingDetailsService.save(distributionUnpackingDetails);
//对原来的库存品进行数据维护 //对原来的库存品进行数据维护
one.setQuantityStock(one.getQuantityStock() - distributionStockListDTO.getStoreNum()); one.setQuantityStock(one.getQuantityStock() - Integer.parseInt(distributionStockListDTO.getPackageNum()));
this.updateById(one); this.updateById(one);
//添加拆包记录
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));
return true; return true;
} }
@ -723,7 +737,7 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
throw new ServiceException("查询库存品信息失败"); throw new ServiceException("查询库存品信息失败");
} }
for (DisStockListDetailEntity disStockListDetailEntity : stockUpStockListPack) { for (DisStockListDetailEntity disStockListDetailEntity : stockUpStockListPack) {
Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(stockListEntity), Map.class); Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(stockListEntity), Map.class);
map.put("id",disStockListDetailEntity.getId()); map.put("id",disStockListDetailEntity.getId());
map.put("customerName",distributionReservationEntity.getConsignee()); map.put("customerName",distributionReservationEntity.getConsignee());
map.put("customerTelephone",distributionReservationEntity.getDeliveryPhone()); map.put("customerTelephone",distributionReservationEntity.getDeliveryPhone());

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

@ -12,7 +12,6 @@ import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.system.feign.IUserClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@ -34,10 +33,6 @@ public class ReportBillLoadingController {
private IReportBillLoadingAsyncService reportBillLoadingAsyncService; private IReportBillLoadingAsyncService reportBillLoadingAsyncService;
/** /**
* 导出数据 * 导出数据
*/ */

4
blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java

@ -88,7 +88,7 @@ public class ReportDeliveryController extends BladeController {
} }
@GetMapping("/details") @GetMapping("/details")
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 5)
@ApiOperation(value = "配送明细报表", notes = "配送明细报表") @ApiOperation(value = "配送明细报表", notes = "配送明细报表")
public R<IPage<ReportDetailVO>> detailsPage(ReportDetailVO vo, Query query) { public R<IPage<ReportDetailVO>> detailsPage(ReportDetailVO vo, Query query) {
IPage<ReportDetailVO> pages = reportDeliverService.detailsPage(vo, query); IPage<ReportDetailVO> pages = reportDeliverService.detailsPage(vo, query);
@ -96,7 +96,7 @@ public class ReportDeliveryController extends BladeController {
} }
@GetMapping("/exportDetails") @GetMapping("/exportDetails")
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 6)
@ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表") @ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表")
public void exportDetails(HttpServletResponse response, ReportDetailVO vo) { public void exportDetails(HttpServletResponse response, ReportDetailVO vo) {
try { try {

20
blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java

@ -19,6 +19,7 @@ package com.logpm.report.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.report.service.ReportStockService; import com.logpm.report.service.ReportStockService;
import com.logpm.report.vo.ReportInStockVO;
import com.logpm.report.vo.StockDetailsVO; import com.logpm.report.vo.StockDetailsVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -65,4 +66,23 @@ public class ReportStockController extends BladeController {
} }
} }
@GetMapping("/inStocks")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "库存入库明细", notes = "库存入库明细")
public R<IPage<ReportInStockVO>> inStocks(ReportInStockVO vo, Query query) {
IPage<ReportInStockVO> pages = stockService.inStocks(vo, query);
return R.data(pages);
}
@GetMapping("/exportInStocks")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表")
public void exportInStocks(HttpServletResponse response, ReportInStockVO vo) {
try {
stockService.exportInStocks(response, vo);
} catch (Exception e) {
e.printStackTrace();
}
}
} }

3
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java

@ -3,6 +3,7 @@ package com.logpm.report.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.report.vo.ReportInStockVO;
import com.logpm.report.vo.StockDetailsVO; import com.logpm.report.vo.StockDetailsVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -18,4 +19,6 @@ public interface ReportStockMapeer extends BaseMapper {
List<StockDetailsVO> getDetailPage(IPage<StockDetailsVO> page,@Param("ew") QueryWrapper<StockDetailsVO> queryWrapper); List<StockDetailsVO> getDetailPage(IPage<StockDetailsVO> page,@Param("ew") QueryWrapper<StockDetailsVO> queryWrapper);
List<ReportInStockVO> getInStocks(IPage<ReportInStockVO> page,@Param("ew") QueryWrapper<ReportInStockVO> queryWrapper);
} }

45
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml

@ -3,7 +3,17 @@
<mapper namespace="com.logpm.report.mapper.ReportStockMapeer"> <mapper namespace="com.logpm.report.mapper.ReportStockMapeer">
<select id="getDetailPage" resultType="com.logpm.report.vo.StockDetailsVO"> <select id="getDetailPage" resultType="com.logpm.report.vo.StockDetailsVO">
select * select warehouse_name,
market_name,
service_type,
cargo_number,
description_goods,
quantity_stock,
outbound_quantity,
current_quantity,
quantity_occupied,
usable_quantity,
allocation_title
from (select t.warehouse_name, from (select t.warehouse_name,
t.market_name, t.market_name,
case case
@ -22,6 +32,39 @@
from logpm_warehouse_updown_goods t from logpm_warehouse_updown_goods t
where t.association_type = 4 where t.association_type = 4
group by t.association_value) lwug on lwug.association_value = t.cargo_number group by t.association_value) lwug on lwug.association_value = t.cargo_number
) t
${ew.customSqlSegment}
</select>
<select id="getInStocks" resultType="com.logpm.report.vo.ReportInStockVO">
select warehouse_name,
market_name,
service_type,
cargo_number,
description_goods,
warehousing_time,
despatch,
order_code,
package_code,
quantity_stock,
allocation_title
from (select t.warehouse_name,
t.market_name,
case
when t.service_type = 2 then '市内库存品'
when t.service_type = 3 then '自提库存品' end service_type,
t.cargo_number,
t.description_goods,
t.warehousing_time,
t.despatch,
t.order_code,
'' package_code,
t.quantity_stock,
lwug.allocation_title
from logpm_distribution_stock_list t
left join (select group_concat(t.allocation_title) allocation_title, t.association_value
from logpm_warehouse_updown_goods t
where t.association_type = 4
group by t.association_value) lwug on lwug.association_value = t.cargo_number
) t ${ew.customSqlSegment} ) t ${ew.customSqlSegment}
</select> </select>
</mapper> </mapper>

36
blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java

@ -0,0 +1,36 @@
package com.logpm.report.reader;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.report.mapper.ReportStockMapeer;
import com.logpm.report.service.ExportReaderService;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
*
* @author zhaoqiaobo
* @create 2024-03-08 9:50
*/
@Component
public class DeliveryInStocksReader implements ExportReaderService {
@Resource
private ReportStockMapeer reportStockMapeer;
@Override
public Long getCount(QueryWrapper query) {
Page page = new Page(1, 1);
reportStockMapeer.getInStocks(page, query);
return page.getTotal();
}
@Override
public List<T> findList(Page page, QueryWrapper query) {
return reportStockMapeer.getInStocks(page,query);
}
}

4
blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java

@ -1,6 +1,7 @@
package com.logpm.report.service; package com.logpm.report.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.report.vo.ReportInStockVO;
import com.logpm.report.vo.StockDetailsVO; import com.logpm.report.vo.StockDetailsVO;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
@ -17,4 +18,7 @@ public interface ReportStockService {
void exportDetails(HttpServletResponse response, StockDetailsVO vo) throws InterruptedException, IOException; void exportDetails(HttpServletResponse response, StockDetailsVO vo) throws InterruptedException, IOException;
IPage<ReportInStockVO> inStocks(ReportInStockVO vo, Query query);
void exportInStocks(HttpServletResponse response, ReportInStockVO vo) throws InterruptedException, IOException;
} }

20
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java

@ -4,9 +4,11 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.report.mapper.ReportStockMapeer; import com.logpm.report.mapper.ReportStockMapeer;
import com.logpm.report.reader.DeliveryInStocksReader;
import com.logpm.report.reader.DeliveryStockReader; import com.logpm.report.reader.DeliveryStockReader;
import com.logpm.report.service.ReportStockService; import com.logpm.report.service.ReportStockService;
import com.logpm.report.util.ReportExcelUtil; import com.logpm.report.util.ReportExcelUtil;
import com.logpm.report.vo.ReportInStockVO;
import com.logpm.report.vo.StockDetailsVO; import com.logpm.report.vo.StockDetailsVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
@ -27,6 +29,7 @@ public class ReportStockServiceImpl implements ReportStockService {
private final ReportStockMapeer reportStockMapeer; private final ReportStockMapeer reportStockMapeer;
private final DeliveryStockReader deliveryStockReader; private final DeliveryStockReader deliveryStockReader;
private final DeliveryInStocksReader inStocksReader;
@Override @Override
public IPage<StockDetailsVO> detailsPage(StockDetailsVO vo, Query query) { public IPage<StockDetailsVO> detailsPage(StockDetailsVO vo, Query query) {
@ -37,10 +40,25 @@ public class ReportStockServiceImpl implements ReportStockService {
} }
@Override @Override
public void exportDetails(HttpServletResponse response,StockDetailsVO vo) throws InterruptedException, IOException { public void exportDetails(HttpServletResponse response, StockDetailsVO vo) throws InterruptedException, IOException {
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(vo); Map<String, Object> stringObjectMap = BeanUtil.beanToMap(vo);
QueryWrapper<StockDetailsVO> queryWrapper = Condition.getQueryWrapper(stringObjectMap, StockDetailsVO.class); QueryWrapper<StockDetailsVO> queryWrapper = Condition.getQueryWrapper(stringObjectMap, StockDetailsVO.class);
new ReportExcelUtil().export(response, deliveryStockReader, StockDetailsVO.class, queryWrapper, "库存品表"); new ReportExcelUtil().export(response, deliveryStockReader, StockDetailsVO.class, queryWrapper, "库存品表");
} }
@Override
public IPage<ReportInStockVO> inStocks(ReportInStockVO vo, Query query) {
IPage<ReportInStockVO> page = Condition.getPage(query);
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(vo);
QueryWrapper<ReportInStockVO> queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportInStockVO.class);
return page.setRecords(reportStockMapeer.getInStocks(page, queryWrapper));
}
@Override
public void exportInStocks(HttpServletResponse response, ReportInStockVO vo) throws InterruptedException, IOException {
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(vo);
QueryWrapper<ReportInStockVO> queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportInStockVO.class);
new ReportExcelUtil().export(response, inStocksReader, ReportInStockVO.class, queryWrapper, "库存入库表");
}
} }

71
blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java

@ -0,0 +1,71 @@
package com.logpm.report.vo;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 库存入库明细
* @author zhaoqiaobo
* @create 2024-03-06 16:02
*/
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
@ApiModel(value = "库存入库明细", description = "库存入库明细")
@Data
public class ReportInStockVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "仓库")
@ExcelProperty("仓库")
private String warehouseName;
@ApiModelProperty(value = "商场名称")
@ExcelProperty("商场名称")
private String marketName;
@ApiModelProperty(value = "类型")
@ExcelProperty("类型")
private String serviceType;
@ApiModelProperty(value = "物料编码")
@ExcelProperty("物料编码")
private String cargoNumber;
@ApiModelProperty(value = "物料名称")
@ExcelProperty("物料名称")
private String descriptionGoods;
@ApiModelProperty(value = "入库时间")
@ExcelProperty("入库时间")
private String warehousingTime;
@ApiModelProperty(value = "运单号")
@ExcelProperty("运单号")
private String despatch;
@ApiModelProperty(value = "订单自编码")
@ExcelProperty("订单自编码")
private String orderCode;
@ApiModelProperty(value = "包条码")
@ExcelProperty("包条码")
private String packageCode;
@ApiModelProperty(value = "入库数")
@ExcelProperty("入库数")
private String quantityStock;
@ApiModelProperty(value = "货位信息")
@ExcelProperty("货位信息")
private String allocationTitle;
}
Loading…
Cancel
Save