Browse Source

Merge remote-tracking branch 'origin/dev' into dev

master
chenlong 12 months ago
parent
commit
8ae0616ef6
  1. 4
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaEntity.java
  2. 12
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownStockUpAreaClient.java
  3. 26
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataPriceController.java
  4. 1
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java
  5. 10
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataPriceService.java
  6. 20
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataPriceServiceImpl.java
  7. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleStatisticsDTO.java
  8. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  9. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  10. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleStatisticsMapper.xml
  11. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  12. 19
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  13. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleStatisticsServiceImpl.java
  14. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  15. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java
  16. 11
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/enums/NodeNeedEnums.java
  17. 2
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/resources/application-dev.yml
  18. 1
      blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/OrderPackageStatusFallJob.java
  19. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java
  20. 13
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownStockupAreaClient.java
  21. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillClient.java
  22. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillReceivedRecordClient.java
  23. 10
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java
  24. 55
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java
  25. 206
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

4
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaEntity.java

@ -61,8 +61,8 @@ public class WarehouseUpdownStockupAreaEntity extends TenantEntity {
/** 关联值 */
@ApiModelProperty(name = "关联值",notes = "")
private String associationValue ;
/** 关联类型;1.订单号 2运单号 3包件码 */
@ApiModelProperty(name = "关联类型",notes = "1.订单号 2运单号 3包件码 4库存品")
/** 1.包件 2库存品 3订单 4托盘 */
@ApiModelProperty(name = "关联类型",notes = "1.包件 2库存品 3订单 4托盘")
private String associationType ;
/** 货物名称 */
@ApiModelProperty(name = "货物名称",notes = "")

12
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownStockUpAreaClient.java

@ -46,4 +46,16 @@ public interface IWarehouseUpdownStockUpAreaClient {
@GetMapping(TOP+"/upStockUpShelf")
Boolean upStockUpShelf(@RequestParam String code,@RequestParam Long stockUpAllocationId,@RequestParam Long warehouseId,@RequestParam Integer type,@RequestParam Integer num);
/**
* 备货库位下架接口
* @param code
* @param warehouseId
* @param type
* @param num
* @return
*/
@GetMapping(TOP+"/downStockUpShelf")
Boolean downStockUpShelf(@RequestParam String code,@RequestParam Long warehouseId,@RequestParam Integer type,@RequestParam Integer num);
}

26
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataPriceController.java

@ -23,6 +23,8 @@ import com.logpm.basicdata.vo.BasicdataPriceBasicUpdateVO;
import com.logpm.basicdata.vo.BasicdataPricePageVO;
import com.logpm.basicdata.vo.PriceVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
@ -32,12 +34,16 @@ import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.InputStream;
/**
* 基础价格表 控制器
@ -90,12 +96,30 @@ public class BasicdataPriceController extends BladeController {
* 基础价格表 修改
*/
@PutMapping
@ApiOperationSupport(order = 3)
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入basicdataPrice")
public R<Boolean> update(@Valid @RequestBody PriceVO vo) {
Boolean res = basicdataPriceService.updatePrice(vo);
return R.status(res);
}
/**
* 基础价格表 导入
*/
@PostMapping("upload")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "导入", notes = "导入")
@ApiImplicitParams({
@ApiImplicitParam(name = "file", value = "文件", dataType = "MultipartFile")
})
public R<String> upload(@RequestPart("file") MultipartFile file) {
try (InputStream inputStream = file.getInputStream()) {
String res = basicdataPriceService.upload(inputStream);
return R.data(res);
} catch (Exception e) {
e.printStackTrace();
}
return R.data("上传失败");
}
}

1
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java

@ -41,6 +41,7 @@ public class BasicdataFactoryCategoryImporter implements ExcelImporter<Basicdata
LambdaQueryWrapper<BasicdataFactoryCategoryEntity> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
lambdaQueryWrapper1.eq(BasicdataFactoryCategoryEntity::getIsDeleted, 0);
List<BasicdataFactoryCategoryEntity> allBasicdataFactoryCategoryEntities = basicdataFactoryCategoryService.list(lambdaQueryWrapper1);
//todo 这里的优化 是最好能进行品牌分组 获取对应的品牌数据 来进行匹配 这样可以减少循环次数
List<BasicdataFactoryCategoryEntity> basicdataFactoryCategoryEntities = new ArrayList<>();

10
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataPriceService.java

@ -26,7 +26,9 @@ import com.logpm.basicdata.vo.BasicdataPricePageVO;
import com.logpm.basicdata.vo.PriceClientVO;
import com.logpm.basicdata.vo.PriceVO;
import org.springblade.core.mp.base.BaseService;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.util.List;
/**
@ -68,4 +70,12 @@ public interface IBasicdataPriceService extends BaseService<BasicdataPriceEntity
* @return
*/
PriceClientVO price(BasicdatPriceApiVO param);
/**
* 导入价格
*
* @param file 需要上传的文件类型为MultipartFile
* @return 返回上传结果一般为上传成功或失败的信息
*/
String upload(InputStream file);
}

20
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataPriceServiceImpl.java

@ -23,6 +23,8 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -76,7 +78,9 @@ import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@ -373,6 +377,20 @@ public class BasicdataPriceServiceImpl extends BaseServiceImpl<BasicdataPriceMap
return priceClientVO;
}
@Override
public String upload(InputStream file) {
StringBuilder message = new StringBuilder();
ExcelReader build = null;
try {
build = EasyExcel.read(file).build();
// 从build中获取5个sheet的数据
}catch (Exception e){
}
return null;
}
private void buildDetailMap(BasicdataPriceEntity priceEntity, Map<Integer, List<BasicdataPriceFullVehicleEntity>> fullMap, Map<Integer, List<BasicdataPriceCategoryBasicEntity>> basicMap, Map<Integer, List<BasicdataPriceCategoryWarehouseEntity>> warehouseMap, Map<Integer, List<BasicdataPriceCategoryDispatchEntity>> dispatchMap, Map<Integer, List<BasicdataPriceGeneralEntity>> generalMap) {
// 获取整车数据
List<BasicdataPriceFullVehicleEntity> list = fullVehicleService.list(Wrappers.<BasicdataPriceFullVehicleEntity>lambdaQuery()
@ -737,7 +755,7 @@ public class BasicdataPriceServiceImpl extends BaseServiceImpl<BasicdataPriceMap
// fullVehicleEntities转为BasicdataPriceFullVehicleVO
String pickupPricingType = templateEntity.getPickupPricingType();
if (pickupPricingType.contains(PickupPricingTypeEnums.COMPLETE_VEHICLE.getCode().toString())) {
if(CollUtil.isNotEmpty(fullVehicleEntities)){
if (CollUtil.isNotEmpty(fullVehicleEntities)) {
List<BasicdataPriceFullVehicleVO> fullVehicleVOS = fullVehicleEntities.stream().map(item -> {
BasicdataPriceFullVehicleVO basicdataPriceFullVehicleVO = new BasicdataPriceFullVehicleVO();
BeanUtil.copyProperties(item, basicdataPriceFullVehicleVO);

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleStatisticsDTO.java

@ -16,7 +16,7 @@ public class DistributionStockArticleStatisticsDTO {
/**
* 运单总数
*/
private Long WaybillNum;
private Long waybillNum;
/**
* 包件总数

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

@ -1221,9 +1221,12 @@
<select id="getCategoryByStockArticleIdAndReservationId" resultType="java.util.Map">
select IFNULL(ldpl.third_product,'其他') thirdProduct,
IFNULL(count( ldl.id ) ,0) AS aaa,
count(ldpl.id) num
from logpm_distribution_reservation_package ldrp
left join logpm_distribution_parcel_list ldpl on ldpl.id = ldrp.parce_list_id and ldpl.is_deleted = 0
LEFT JOIN logpm_distribution_loadscan AS ldl ON ldpl.id = ldl.package_id AND ldrp.reservation_id = ldl.reservation_id AND ldl.is_deleted = 0 AND ldl.scan_status != 1
where 1=1
and ldrp.reservation_id = #{reservationId}
and ldrp.stock_article_id = #{stockArticleId}

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

@ -841,12 +841,12 @@
group_concat(DISTINCT lwt.pallet_name) as trays,
group_concat(DISTINCT lwug.position_code) as allocation
from logpm_platform.logpm_distribution_stock_article ldsa
left join logpm_platform.logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id and ldpl.tenant_id = '627683'
left join logpm_platform.logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id
left join logpm_platform.logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id
left join logpm_platform.logpm_warehouse_updown_goods lwug on lwug.association_id = ldpl.id
left JOIN logpm_warehouse_tray lwt on lwtg.tray_id= lwt.id
<where>
ldsa.is_deleted = 0 and ldsa.order_status != '80'
ldsa.is_deleted = 0 and ldsa.order_status IN ( 10, 20, 30, 40, 50, 60, 70 )
<if test="paramMap.warehouseId != null and paramMap.warehouseId != ''">
and ldsa.warehouse_id = #{paramMap.warehouseId}
</if>
@ -859,9 +859,7 @@
<if test="paramMap.trainNumber != null and paramMap.trainNumber != ''"> and ldsa.train_number = #{paramMap.trainNumber} </if>
<if test="paramMap.acceptWarehouseName != null and paramMap.acceptWarehouseName != ''"> and ldsa.accept_warehouse_name = #{paramMap.acceptWarehouseName} </if>
<if test="paramMap.tenantId != null and paramMap.tenantId != ''">
and ldsa.tenant_id = #{paramMap.tenantId}
</if>
<if test="paramMap.serviceNumber != null and paramMap.serviceNumber != ''">
and ldsa.servic_nNumber = #{paramMap.serviceNumber}
</if>

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleStatisticsMapper.xml

@ -3,7 +3,7 @@
<mapper namespace="com.logpm.distribution.mapper.DistributionStockArticleStatisticsMapper">
<select id="collect" resultType="com.logpm.distribution.dto.DistributionStockArticleStatisticsDTO">
select
count(distinct ldsa.waybill_id) WaybillNum,
count(distinct ldsa.waybill_id) waybillNum,
count(distinct ldsa.order_code) orderNum,
count(distinct ldpl.id) packageCodeNum
from logpm_distribution_stock_article ldsa

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

@ -6577,17 +6577,22 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
for (Map<String, Object> m : mapList) {
String thirdProduct = (String) m.get("thirdProduct");
Long num = (Long) m.get("num");
Long signNum = (Long) m.get("aaa");
if (thirdProduct.equals(key)) {
numObj.put(key, num);
tn = tn + num.intValue();
}
orderMap.put("签收件数", signNum);
}
}
}
orderMap.put("合计数量", tn);
orderMap.put("产品明细", numObj);
orderMap.put("产品明细长度", numObj.size());
//通过订单id和预约id查询对应包件的物料信息
List<String> materialNameStrList = distributionReservationMapper.getMaterialNameByStockArticleIdAndReservationId(stockArticleId, reservationId);
String materialNameStr = StringUtils.join(materialNameStrList, ",");

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

@ -2816,6 +2816,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (parcelListEntity.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) {
return Resp.scanFail("操作失败", "该包件已签收");
}
//确认该包件确实不属于该配送任务
List<DistributionParcelListEntity> parcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
boolean flag = parcelListEntities.stream().anyMatch(p -> p.getOrderPackageStatus().equals(distrilbutionloadingscanDTO.getBarcode()));
@ -2840,11 +2841,23 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//查询装车扫描表
DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId())
.eq(DistributionLoadscanEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
// .eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId())
// .eq(DistributionLoadscanEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())
.eq(DistributionLoadscanEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
DistributionLoadscanEntity loadscanEntity = null;
if (loadscanEntityList.isEmpty()){
if (loadscanEntityList.size() > 1){
log.error("##############异常签收包件在其他车次进行装车reservationId:{}", loadscanEntityList.stream().map(DistributionLoadscanEntity::getReservationId).map(String::valueOf).collect(Collectors.joining(",")));
return Resp.scanFail("操作失败", "包件已出库");
}
if (loadscanEntityList.size() == 1){
loadscanEntity = loadscanEntityList.get(0);
}
}
if (Func.isNotEmpty(loadscanEntity)) {
if (loadscanEntity.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())) {
return Resp.scanFail("重复操作!!", "重复操作");

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleStatisticsServiceImpl.java

@ -25,9 +25,9 @@ import java.util.stream.Collectors;
@Slf4j
public class DistributionStockArticleStatisticsServiceImpl implements IDistributionStockArticleStatisticsService {
private DistributionStockArticleStatisticsMapper distributionStockArticleStatisticsMapper;
private final DistributionStockArticleStatisticsMapper distributionStockArticleStatisticsMapper;
private IBasicdataWarehouseClient warehouseClient;
private final IBasicdataWarehouseClient warehouseClient;
@Override
public DistributionStockArticleStatisticsDTO collect(DistributionStockArticleOweDTO distributionStockArticleOweDTO) {

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -2720,7 +2720,8 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
handQuantity = handQuantity - sum;
for (WarehouseUpdownGoodsEntity updownGoodsEntity : locationStockListInformation) {
Map<String,Object> map = new HashMap<>();
map.put("allocation",updownGoodsEntity.getPositionCode());
map.put("allocationName",updownGoodsEntity.getPositionCode());
map.put("allocationid",updownGoodsEntity.getAllocationId());
map.put("num",updownGoodsEntity.getNum());
allocationMapList.add(map);
}
@ -2744,6 +2745,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
BasicdataTrayEntity trayByTrayCode = basicdataTrayClient.getTrayByTrayCode(next.getTrayCode());
Map<String,Object> map = new HashMap<>();
map.put("trayCode",next.getTrayCode());
map.put("trayId",next.getTrayId());
map.put("trayName",trayByTrayCode.getPalletName());
map.put("num",next.getNum());
trayMapList.add(map);

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java

@ -36,6 +36,7 @@ import com.logpm.distribution.vo.*;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.DictBizCache;
@ -47,6 +48,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 提货单订单信息关联 服务实现类
@ -110,7 +112,6 @@ public class DistrilbutionBillStockServiceImpl extends BaseServiceImpl<Distrilbu
i.setStockupCreateUser(userR.getData().getRealName());
}
}
});
return billOrderPack;
}

11
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/enums/NodeNeedEnums.java

@ -13,11 +13,12 @@ import java.io.Serializable;
@Getter
public enum NodeNeedEnums implements Serializable {
INITIAL_WAREHOUSE_DEPART(40, "始发仓发车"),
TRANSFER_WAREHOUSE_UNLOADING(50, "中转仓卸车确认"),
TRANSFER_WAREHOUSE_DEPART(60, "中转仓发车"),
END_WAREHOUSE_UNLOADING(70, "末端仓卸车确认"),
CLERK_REVIEW(140, "文员复核");
INITIAL_WAREHOUSE_DEPART(60, "始发仓发车"),
TRANSFER_WAREHOUSE_UNLOADING(110, "中转仓卸车确认"),
TRANSFER_WAREHOUSE_DEPART(120, "中转仓发车"),
SIGN_DIRECT_SHIPPER(160,"直发商家签收"),
END_WAREHOUSE_UNLOADING(170, "末端仓卸车确认"),
CLERK_REVIEW(290, "文员复核");
private Integer code;
private String value;

2
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/resources/application-dev.yml

@ -2,6 +2,8 @@
server:
port: 18910
zb:
enable: false
#数据源配置
#spring:
# datasource:

1
blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/OrderPackageStatusFallJob.java

@ -47,6 +47,7 @@ public class OrderPackageStatusFallJob {
orderPackageStatusPushFailLogEntity.setDataStatus(1);
}catch (CustomerException e){
XxlJobLogger.log(e);
log.error("##################getOrderPackageFromOldSystem: 处理推送失败数据",e);

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java

@ -16,7 +16,7 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
@NonDS
//@NonDS
@ApiIgnore
@RestController
@AllArgsConstructor

13
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownStockupAreaClient.java

@ -40,4 +40,17 @@ public class WarehouseUpdownStockupAreaClient implements IWarehouseUpdownStockUp
return warehouseUpdownStockupAreaService.upStockUpShelf(code,stockUpAllocationId,warehouseId,type,num);
}
/**
* @param code
* @param warehouseId
* @param type
* @param num
* @return
*/
@Override
public Boolean downStockUpShelf(String code, Long warehouseId, Integer type, Integer num) {
return warehouseUpdownStockupAreaService.downStockUpShelf(code,warehouseId,type,num);
}
}

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillClient.java

@ -15,7 +15,7 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
@NonDS
//@NonDS
@ApiIgnore
@RestController
@AllArgsConstructor

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillReceivedRecordClient.java

@ -31,7 +31,7 @@ import java.util.List;
* @author zhy
* @since 2023-07-28
*/
@NonDS
//@NonDS
@ApiIgnore
@RestController
@AllArgsConstructor

10
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java

@ -56,4 +56,14 @@ public interface IWarehouseUpdownStockupAreaService extends BaseService<Warehous
Boolean upStockUpShelf(String code, Long stockUpAllocationId, Long warehouseId, Integer type,Integer num);
BasicdataGoodsAllocationEntity upShelfScanAllocation(Long allocationId, Long warehouseId);
/**
* 备货库位下架
* @param code
* @param warehouseId
* @param type
* @param num
* @return
*/
Boolean downStockUpShelf(String code, Long warehouseId, Integer type, Integer num);
}

55
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java

@ -230,4 +230,59 @@ public class WarehouseUpdownStockupAreaServiceImpl extends BaseServiceImpl<Wareh
BasicdataGoodsAllocationEntity stockUpAllocationById = basicdataGoodsAllocationClient.findStockUpAllocationById(warehouseId, allocationId);
return stockUpAllocationById;
}
/**
* @param code
* @param warehouseId
* @param type
* @param num
* @return
*/
@Override
@Transactional
public Boolean downStockUpShelf(String code, Long warehouseId, Integer type, Integer num) {
String method = "######################WarehouseUpdownStockupAreaServiceImpl.upStockUpShelf";
//查询上架货物
List<WarehouseUpdownStockupAreaEntity> warehouseUpdownStockupAreaEntityList = this.list(Wrappers.<WarehouseUpdownStockupAreaEntity>query().lambda()
.eq(WarehouseUpdownStockupAreaEntity::getAssociationValue, code)
.eq(WarehouseUpdownStockupAreaEntity::getWarehouseId, warehouseId)
);
if (warehouseUpdownStockupAreaEntityList.isEmpty()){
log.error(method+"无上架记录AssociationValue:{},warehouseId:{}",code,warehouseId);
return false;
}
if (warehouseUpdownStockupAreaEntityList.size() > 1){
log.error(method+"多条上架记录AssociationValue:{},warehouseId:{}",code,warehouseId);
return false;
}
WarehouseUpdownStockupAreaEntity warehouseUpdownStockupArea = warehouseUpdownStockupAreaEntityList.get(0);
switch (warehouseUpdownStockupArea.getAssociationType()){
case "1" :
case "2" :
case "4" :
//库存品包件
//订制品
this.removeById(warehouseUpdownStockupArea.getId());
break;
case "3":
//零担
int i = warehouseUpdownStockupArea.getNum() - num;
warehouseUpdownStockupArea.setNum(i);
if (i == 0){
this.removeById(warehouseUpdownStockupArea.getId());
}else {
this.updateById(warehouseUpdownStockupArea);
}
break;
default:
log.error(method+"type错误type:{}",type);
return false;
}
WarehouseUpdownStockupAreaLogEntity warehouseUpdownStockupAreaLogEntity = Func.copy(warehouseUpdownStockupArea, WarehouseUpdownStockupAreaLogEntity.class);
warehouseUpdownStockupAreaLogEntity.setNum(num);
warehouseUpdownStockupAreaLogEntity.setBindingType(2);
warehouseUpdownStockupAreaLogService.save(warehouseUpdownStockupAreaLogEntity);
return true;
}
}

206
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

@ -87,8 +87,6 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
private final IBasicdataWarehouseClient warehouseClient;
@Override
public IPage<WarehouseWarehousingEntryVO> selectWarehouseWarehousingEntryPage(IPage<WarehouseWarehousingEntryVO> page, WarehouseWarehousingEntryVO warehouseWarehousingEntry) {
return page.setRecords(baseMapper.selectWarehouseWarehousingEntryPage(page, warehouseWarehousingEntry));
@ -107,16 +105,16 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean saveOrUpdateOwn(WarehouseWarehousingEntryDTO warehouseWarehousingEntryDTO) {
if(ObjectUtils.isNull(warehouseWarehousingEntryDTO.getType())){
if (ObjectUtils.isNull(warehouseWarehousingEntryDTO.getType())) {
throw new ServiceException("入库类型不能为空!!");
}
if("2".equals(warehouseWarehousingEntryDTO.getType())){
if ("2".equals(warehouseWarehousingEntryDTO.getType())) {
//直接入库
List<WarehouseWarehousingDetailEntity> list = warehouseWarehousingEntryDTO.getList();
WarehouseWarehousingEntryEntity warehouseWarehousingEntry = new WarehouseWarehousingEntryEntity();
BeanUtil.copyProperties(warehouseWarehousingEntryDTO,warehouseWarehousingEntry);
BeanUtil.copyProperties(warehouseWarehousingEntryDTO, warehouseWarehousingEntry);
//入库批次号
if(ObjectUtils.isNull( warehouseWarehousingEntry.getReceiptBatch() )){
if (ObjectUtils.isNull(warehouseWarehousingEntry.getReceiptBatch())) {
long time = new Date().getTime();
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
String s = "RK" + myCurrentWarehouse.getWarehouseCode() + time;
@ -126,21 +124,21 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
}
WarehouseWarehousingEntryEntity entryEntity = new WarehouseWarehousingEntryEntity();
entryEntity.setId(warehouseWarehousingEntryDTO.getId());
//添加
//获取当前登录人仓库
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("#####操作人,当前未查询到仓库信息");
return false;
}
warehouseWarehousingEntry.setWarehouseId(basicdataWarehouseEntity.getId());
warehouseWarehousingEntry.setWarehouse(basicdataWarehouseEntity.getName());
warehouseWarehousingEntry.setSource("添加");
warehouseWarehousingEntry.setConditions("3");
this.save(warehouseWarehousingEntry);
list.forEach( i ->{
//添加
//获取当前登录人仓库
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("#####操作人,当前未查询到仓库信息");
return false;
}
warehouseWarehousingEntry.setWarehouseId(basicdataWarehouseEntity.getId());
warehouseWarehousingEntry.setWarehouse(basicdataWarehouseEntity.getName());
warehouseWarehousingEntry.setSource("添加");
warehouseWarehousingEntry.setConditions("3");
this.save(warehouseWarehousingEntry);
list.forEach(i -> {
//添加库存品
addInventory(i.getCreateInventory(),warehouseWarehousingEntryDTO,i);
addInventory(i.getCreateInventory(), warehouseWarehousingEntryDTO, i);
});
//添加入库明细
// Iterator<WarehouseWarehousingDetailEntity> iterator = list.iterator();
@ -149,8 +147,8 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
// iterator.remove();
// }
// }
if(!list.isEmpty()){
list.forEach(i ->{
if (!list.isEmpty()) {
list.forEach(i -> {
i.setWarehousingEntryId(warehouseWarehousingEntry.getId());
i.setConditions("3");
}
@ -158,46 +156,46 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
warehouseWarehousingDetailService.saveBatch(list);
}
return true;
}else if("1".equals(warehouseWarehousingEntryDTO.getType())){
} else if ("1".equals(warehouseWarehousingEntryDTO.getType())) {
//预计入库
List<WarehouseWarehousingDetailEntity> list = warehouseWarehousingEntryDTO.getList();
WarehouseWarehousingEntryEntity warehouseWarehousingEntry = new WarehouseWarehousingEntryEntity();
BeanUtil.copyProperties(warehouseWarehousingEntryDTO,warehouseWarehousingEntry);
BeanUtil.copyProperties(warehouseWarehousingEntryDTO, warehouseWarehousingEntry);
WarehouseWarehousingEntryEntity entryEntity = new WarehouseWarehousingEntryEntity();
BeanUtil.copyProperties(warehouseWarehousingEntryDTO,entryEntity);
BeanUtil.copyProperties(warehouseWarehousingEntryDTO, entryEntity);
//入库批次号
if(ObjectUtils.isNull( warehouseWarehousingEntry.getReceiptBatch() )){
if (ObjectUtils.isNull(warehouseWarehousingEntry.getReceiptBatch())) {
long time = new Date().getTime();
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
warehouseWarehousingEntry.setReceiptBatch("RK"+myCurrentWarehouse.getWarehouseCode()+time);
warehouseWarehousingEntry.setReceiptBatch("RK" + myCurrentWarehouse.getWarehouseCode() + time);
}
entryEntity.setId(warehouseWarehousingEntryDTO.getId());
if(ObjectUtils.isNotNull(warehouseWarehousingEntryDTO.getId())){
if (ObjectUtils.isNotNull(warehouseWarehousingEntryDTO.getId())) {
//修改
List<Long> detailEntityList = new ArrayList<>();
List<WarehouseWarehousingDetailEntity> list1 = warehouseWarehousingDetailService.list(Wrappers.<WarehouseWarehousingDetailEntity>query().lambda()
.eq(WarehouseWarehousingDetailEntity::getWarehousingEntryId, warehouseWarehousingEntry.getId())
.apply("conditions in (1,2) ")
);//查询不是确定的数据
if(!list1.isEmpty()){
if (!list1.isEmpty()) {
AtomicReference<Integer> num = new AtomicReference<>(0);
list1.forEach( i ->{
list1.forEach(i -> {
boolean b = list.stream().anyMatch(w -> w.getMaterialId().equals(i.getMaterialId()));
if(b){
if (b) {
//存在
Iterator<WarehouseWarehousingDetailEntity> iterator = list.iterator();
while (iterator.hasNext()){
while (iterator.hasNext()) {
WarehouseWarehousingDetailEntity next = iterator.next();
if(next.getMaterialId().equals(i.getMaterialId())){
if (next.getMaterialId().equals(i.getMaterialId())) {
//修改
WarehouseWarehousingDetailEntity detailEntity = new WarehouseWarehousingDetailEntity();
detailEntity.setId(i.getId());
detailEntity.setActualReceipt(next.getActualReceipt()); //实际
if(next.getActualReceipt().equals(i.getCreateInventory()) || next.getActualReceipt() > i.getCreateInventory()){
if (next.getActualReceipt().equals(i.getCreateInventory()) || next.getActualReceipt() > i.getCreateInventory()) {
detailEntity.setConditions("3");
num.updateAndGet(v -> v + 1);
}else if(next.getActualReceipt() > 0 ){
} else if (next.getActualReceipt() > 0) {
detailEntity.setConditions("2");
entryEntity.setConditions("2");
warehouseWarehousingEntry.setConditions("2");
@ -206,13 +204,13 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
//当前入库数量
int i1 = next.getActualReceipt() - i.getActualReceipt();
//添加库存品
addInventory(i1,warehouseWarehousingEntryDTO,i);
addInventory(i1, warehouseWarehousingEntryDTO, i);
iterator.remove();
}
}
}else{
if("1".equals(i.getConditions())){
} else {
if ("1".equals(i.getConditions())) {
//删除
detailEntityList.add(i.getId());
}
@ -220,18 +218,18 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
}
});
Integer teger = num.get();
if(list1.size() == teger){
if (list1.size() == teger) {
//完成这个任务
entryEntity.setConditions("3");
}
baseMapper.updateById(entryEntity);
if(!detailEntityList.isEmpty()){
if (!detailEntityList.isEmpty()) {
//删除多余的
warehouseWarehousingDetailService.deleteLogic(detailEntityList);
}
}
}else{
} else {
//添加
//获取当前登录人仓库
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getMyCurrentWarehouse();
@ -247,14 +245,14 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
}
//添加入库明细
Iterator<WarehouseWarehousingDetailEntity> iterator = list.iterator();
while (iterator.hasNext()){
while (iterator.hasNext()) {
WarehouseWarehousingDetailEntity next = iterator.next();
if(ObjectUtils.isNotNull(next.getConditions() ) && "3".equals(next.getConditions())){
if (ObjectUtils.isNotNull(next.getConditions()) && "3".equals(next.getConditions())) {
iterator.remove();
}
}
if(!list.isEmpty()){
list.forEach(i ->{
if (!list.isEmpty()) {
list.forEach(i -> {
i.setWarehousingEntryId(warehouseWarehousingEntry.getId());
i.setConditions("1");
}
@ -262,7 +260,7 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
warehouseWarehousingDetailService.saveBatch(list);
}
return true;
}else{
} else {
return false;
}
@ -270,19 +268,20 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
/**
* 添加库存品
* @param num 添加数量
*
* @param num 添加数量
* @param warehousingEntryDTO 客户信息
* @param warehousingDetail 物品信息
* @param warehousingDetail 物品信息
* @return
*/
public Boolean addInventory(Integer num,WarehouseWarehousingEntryDTO warehousingEntryDTO,WarehouseWarehousingDetailEntity warehousingDetail){
public Boolean addInventory(Integer num, WarehouseWarehousingEntryDTO warehousingEntryDTO, WarehouseWarehousingDetailEntity warehousingDetail) {
// DistributionStockListEntity distributionStockList = new DistributionStockListEntity();
// distributionStockList.setStoreId(warehousingEntryDTO.getStoreId()); //门店
// distributionStockList.setMarketId(warehousingEntryDTO.getClientId()); //客户id
// distributionStockList.setMaterialId(warehousingDetail.getMaterialId()); //物料id
if(num < 1){
if (num < 1) {
return true;
}else{
} else {
//查询库存品信息
DistributionStockListEntity stockListEntity = new DistributionStockListEntity();
stockListEntity.setStoreId(warehousingEntryDTO.getStoreId());
@ -306,10 +305,10 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
distributionStockListEntity.setCargoUnit(warehousingDetail.getProductUnit()); //货物单位
distributionStockListEntity.setWarehousingTime(warehousingEntryDTO.getReceiptDate()); //入库时间
distributionStockListEntity.setLicensePlate(Optional.ofNullable(warehousingEntryDTO.getLicensePlate()).orElse(null)); //车牌
if(Func.isNotEmpty(warehousingEntryDTO.getStoreId())){
if (Func.isNotEmpty(warehousingEntryDTO.getStoreId())) {
distributionStockListEntity.setStoreId(warehousingEntryDTO.getStoreId()); //门店
}
if(Func.isNotEmpty(warehousingEntryDTO.getLicensePlate())){
if (Func.isNotEmpty(warehousingEntryDTO.getLicensePlate())) {
distributionStockListEntity.setDespatch(warehousingEntryDTO.getTrainNumber());//车次号运单
}
distributionStockListEntity.setServiceType(warehousingEntryDTO.getServiceType());
@ -328,7 +327,7 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
distributionStockListEntity.setBrandId(warehousingDetail.getBrandId());//品牌ID
// distributionStockListEntity.setFactory("工厂车次");//工厂车次
// distributionStockListEntity.setCategory("品分类");//品分类
distributionStockListEntity.setMaterialId( warehousingDetail.getMaterialId());//货物ID
distributionStockListEntity.setMaterialId(warehousingDetail.getMaterialId());//货物ID
// distributionStockListEntity.setStoreName("门店名称");//门店名称
// distributionStockListEntity.setParcelListId(distributionParcelList.getId());//包件id
distributionStockListEntity.setQuantityOccupied(0);//冻结数量
@ -338,57 +337,54 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
distributionStockListEntity.setSku(warehousingDetail.getSku());
distributionStockListEntity.setSourceType("2");//导入
if(Func.isNotEmpty(queryData)){
if (Func.isNotEmpty(queryData)) {
// distributionStockListEntity.setQuantityStock( queryData.getQuantityStock()+num ); //库存数量
// distributionStockListEntity.setOutboundQuantity(queryData.getOutboundQuantity()); //出库数量
//修改
DistributionStockListEntity distributionStockList = new DistributionStockListEntity();
distributionStockList.setQuantityStock(queryData.getQuantityStock()+num );
distributionStockList.setQuantityStock(queryData.getQuantityStock() + num);
distributionStockList.setOutboundQuantity(queryData.getOutboundQuantity());
distributionStockList.setId(queryData.getId());
distributionStockListClient.getUpdateStockList(distributionStockList);
}else{
} else {
distributionStockListClient.getAddStockList(distributionStockListEntity);
}
DistributionStockListInfoEntity distributionStockListInfo = new DistributionStockListInfoEntity();
BeanUtil.copyProperties(distributionStockListEntity,distributionStockListInfo);
BeanUtil.copyProperties(distributionStockListEntity, distributionStockListInfo);
distributionStockListInfo.setSourceType("2");//导入
return distributionStockListInfoClient.addStockListInfoEntity(distributionStockListInfo);
}
}
/**
*
* @param warehouseWarehousingEntry
* @return
*/
@Override
public WarehouseWarehousingEntryVO getOneOwn(WarehouseWarehousingEntryEntity warehouseWarehousingEntry) {
WarehouseWarehousingEntryEntity one = this.getOne(Condition.getQueryWrapper(warehouseWarehousingEntry));
log.info("one>>>>>>>>>>>>{}",one);
if(ObjectUtils.isNotNull(one) && ObjectUtils.isNotNull(one.getId())){
log.info("one>>>>>>>>>>>>{}", one);
if (ObjectUtils.isNotNull(one) && ObjectUtils.isNotNull(one.getId())) {
List<WarehouseWarehousingDetailEntity> list = warehouseWarehousingDetailService.list(Wrappers.<WarehouseWarehousingDetailEntity>query().lambda()
.eq(WarehouseWarehousingDetailEntity::getWarehousingEntryId, one.getId())
);
WarehouseWarehousingEntryVO warehouseWarehousingEntryVO = new WarehouseWarehousingEntryVO();
BeanUtils.copyProperties(one,warehouseWarehousingEntryVO);
BeanUtils.copyProperties(one, warehouseWarehousingEntryVO);
warehouseWarehousingEntryVO.setList(list);
return warehouseWarehousingEntryVO;
}else{
} else {
return null;
}
}
/**
* 导入
*
* @param data
* @param isCovered
*/
@ -398,51 +394,51 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
//分组
Map<String, List<WarehousingEntryDetailExcel>> collect = data.stream().map(x -> {
return x;
}).collect(Collectors.groupingBy(o ->{
System.out.println("====<<<<<<<<"+o);
if(ObjectUtils.isEmpty(o) || ObjectUtils.isNull(o.getCustomerName()) || ObjectUtils.isNull(o.getCustomerCode()) ){
}).collect(Collectors.groupingBy(o -> {
System.out.println("====<<<<<<<<" + o);
if (ObjectUtils.isEmpty(o) || ObjectUtils.isNull(o.getCustomerName()) || ObjectUtils.isNull(o.getCustomerCode())) {
return "";
}else{
} else {
WarehouseWarehousingEntryEntity entryEntity = new WarehouseWarehousingEntryEntity();
if(ObjectUtils.isNull(o.getReceiptBatch())){
if (ObjectUtils.isNull(o.getReceiptBatch())) {
long time = new Date().getTime();
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
entryEntity.setReceiptBatch("RK"+myCurrentWarehouse.getWarehouseCode()+time);
}else{
entryEntity.setReceiptBatch("RK" + myCurrentWarehouse.getWarehouseCode() + time);
} else {
entryEntity.setReceiptBatch(o.getReceiptBatch());
}
entryEntity.setReceiptDate(o.getReceiptDate());
//入库批次号
if(ObjectUtils.isNull( o.getReceiptBatch() )){
if (ObjectUtils.isNull(o.getReceiptBatch())) {
long time = new Date().getTime();
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
entryEntity.setReceiptBatch("RK"+myCurrentWarehouse.getWarehouseCode()+time);
entryEntity.setReceiptBatch("RK" + myCurrentWarehouse.getWarehouseCode() + time);
}
entryEntity.setConditions("1");
// entryEntity.setReceiptBatch("1");
BasicdataClientEntity customer = basicdataClientClient.getCustomer(o.getCustomerName(), o.getCustomerCode());
if(ObjectUtils.isNotEmpty(customer) ){
if(StringUtils.isNotBlank(o.getStoreName())){
if (ObjectUtils.isNotEmpty(customer)) {
if (StringUtils.isNotBlank(o.getStoreName())) {
BasicdataClientEntity customer1 = basicdataClientClient.findByName(o.getStoreName());
if(Func.isNotEmpty(customer1)){
if (Func.isNotEmpty(customer1)) {
entryEntity.setStoreId(customer1.getId());
entryEntity.setStoreName(o.getStoreName());
}else{
throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"门店信息不存在!!请维护门店数据!!!");
} else {
throw new ServiceException(o.getCustomerName() + o.getCustomerCode() + "门店信息不存在!!请维护门店数据!!!");
}
}
entryEntity.setClientId(customer.getId());//客户id
entryEntity.setCustomerName(o.getCustomerName());
entryEntity.setCustomerCode(o.getCustomerCode());
}else{
throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"客户信息不存在!!请维护客户数据!!!");
} else {
throw new ServiceException(o.getCustomerName() + o.getCustomerCode() + "客户信息不存在!!请维护客户数据!!!");
}
BasicdataWarehouseEntity warehouse = basicdataWarehouseClient.getWarehouse(o.getWarehouse(), o.getWarehouseCode());
if(Func.isNotEmpty(warehouse)){
if (Func.isNotEmpty(warehouse)) {
entryEntity.setWarehouseId(warehouse.getId());//仓库id
entryEntity.setWarehouse(o.getWarehouse());//仓库名称
}else{
throw new ServiceException(o.getCustomerName()+o.getCustomerCode()+"仓库信息不存在!!请维护仓库数据!!!");
} else {
throw new ServiceException(o.getCustomerName() + o.getCustomerCode() + "仓库信息不存在!!请维护仓库数据!!!");
}
entryEntity.setLogisticsCompany(Optional.ofNullable(o.getLogisticsCompany()).orElse(null));
entryEntity.setTrainNumber(Optional.ofNullable(o.getTrainNumber()).orElse(null)); //仓库名称
@ -451,7 +447,7 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
entryEntity.setRemark(Optional.ofNullable(o.getRemark()).orElse(null)); //备注
entryEntity.setSource("导入");
R<List<DictBiz>> distriType = dictBizClient.getList("distribution_type");
if(ObjectUtils.isNotNull(distriType)){
if (ObjectUtils.isNotNull(distriType)) {
List<DictBiz> data1 = distriType.getData();
// data1.forEach( a ->{
// if(o.getServiceType().equals(a.getDictValue())){
@ -469,15 +465,15 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
return s;
}
} , Collectors.toList()));
}, Collectors.toList()));
collect.forEach((k,v) ->{
collect.forEach((k, v) -> {
// System.out.println(">>>>>>>>>>>+++++"+k+v);
WarehouseWarehousingEntryEntity entryEntity = JSON.parseObject(k, WarehouseWarehousingEntryEntity.class);
// WarehouseWarehousingEntryEntity entryEntity = JSONObject.parseObject(JSONObject.toJSONString(k), WarehouseWarehousingEntryEntity.class);
this.save(entryEntity);
List<WarehouseWarehousingDetailEntity> detailEntityList = new ArrayList<>();
v.forEach( i ->{
v.forEach(i -> {
WarehouseWarehousingDetailEntity detail = new WarehouseWarehousingDetailEntity();
detail.setConditions("1");
detail.setSku(i.getSku());
@ -492,28 +488,28 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
detail.setActualReceipt(0);
//品牌
BasicdataStoreBrandEntity brandList = basicdataStoreBrandClient.getBrandList(entryEntity.getClientId(), i.getBrandName());
if(Func.isNotEmpty(brandList)){
if (Func.isNotEmpty(brandList)) {
detail.setBrandName(brandList.getBrandName());
detail.setBrandId(brandList.getBrandId());
}else{
throw new ServiceException(i.getProductName()+i.getProductCode()+i.getSku()+"品牌信息不存在!!请维护客户品牌数据!!!");
} else {
throw new ServiceException(i.getProductName() + i.getProductCode() + i.getSku() + "品牌信息不存在!!请维护客户品牌数据!!!");
}
BasicMaterialEntity materialOwn = basicMaterialClient.getMaterialOwn(detail.getProductCode(), detail.getProductName(), detail.getSku());
if(Func.isNotEmpty(materialOwn)){
if (Func.isNotEmpty(materialOwn)) {
detail.setMaterialId(materialOwn.getId());//物料ID
}else{
throw new ServiceException(i.getProductName()+i.getProductCode()+i.getSku()+"物料信息不存在!!请维护基础数据!!!");
} else {
throw new ServiceException(i.getProductName() + i.getProductCode() + i.getSku() + "物料信息不存在!!请维护基础数据!!!");
}
if(!detailEntityList.isEmpty()){
if (!detailEntityList.isEmpty()) {
boolean b = detailEntityList.stream().anyMatch(a -> a.getProductCode().equals(detail.getProductCode()) && a.getProductName().equals(detail.getProductName()) && a.getSku().equals(detail.getSku()));
if(b){
detailEntityList.stream().filter(a -> a.getProductCode().equals(detail.getProductCode()) && a.getProductName().equals(detail.getProductName()) && a.getSku().equals(detail.getSku())).forEach( f->f.setCreateInventory(f.getCreateInventory()+detail.getCreateInventory()));
}else{
if (b) {
detailEntityList.stream().filter(a -> a.getProductCode().equals(detail.getProductCode()) && a.getProductName().equals(detail.getProductName()) && a.getSku().equals(detail.getSku())).forEach(f -> f.setCreateInventory(f.getCreateInventory() + detail.getCreateInventory()));
} else {
detailEntityList.add(detail);
}
}else{
} else {
detailEntityList.add(detail);
}
});
@ -525,13 +521,13 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
public List<WarehouseWarehousingEntryExcel> exportWarehouseWarehousing(Map<String, Object> paramMap) {
// 获取当前登录的仓库信息
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(ObjectUtils.isNull(myCurrentWarehouse)){
if (ObjectUtils.isNull(myCurrentWarehouse)) {
throw new ServiceException("没有仓库信息!");
}
// 用户勾选数据的ids
Object ids = paramMap.get("ids");
List<String> idArr = null;
if (null != ids && !ids.toString().isEmpty()){
if (null != ids && !ids.toString().isEmpty()) {
idArr = Arrays.asList(paramMap.get("ids").toString().split(","));
}
@ -539,9 +535,9 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
List<WarehouseWarehousingEntryEntity> list = baseMapper.exportWarehouseWarehousing(paramMap, idArr);
List<WarehouseWarehousingEntryExcel> listExcel = new ArrayList<>();
list.forEach(s->{
list.forEach(s -> {
WarehouseWarehousingEntryExcel excel = new WarehouseWarehousingEntryExcel();
switch (s.getConditions()){
switch (s.getConditions()) {
case "1":
s.setConditions("待确定");
break;
@ -552,7 +548,7 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
s.setConditions("已确定");
break;
}
BeanUtil.copyProperties(s,excel);
BeanUtil.copyProperties(s, excel);
listExcel.add(excel);
});

Loading…
Cancel
Save