Browse Source

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

# Conflicts:
#	blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
training
caoyizhong 2 years ago
parent
commit
7282d6cf13
  1. 48
      blade-biz-common/src/main/java/org/springblade/common/constant/stockup/StockupTypeConstant.java
  2. 5
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockupEntity.java
  3. 98
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java
  4. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java
  5. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java
  6. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistrilbutionBillLadingController.java
  7. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java
  8. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java
  9. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillLadingService.java
  10. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryInfoServiceImpl.java
  11. 58
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  12. 118
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  13. 390
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java
  14. 30
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistributionStockArticleWrapper.java
  15. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistrilbutionBillLadingWrapper.java

48
blade-biz-common/src/main/java/org/springblade/common/constant/stockup/StockupTypeConstant.java

@ -0,0 +1,48 @@
package org.springblade.common.constant.stockup;
/**
* 备货任务类型
* 对应码表
* stockup_status
* @author pref
*/
public enum StockupTypeConstant {
shipei("市配","1"),
shangpei("商配","2"),
ziti("自提","3");
/**
* 状态
*/
private String name;
/**
*
*/
private String value;
private StockupTypeConstant(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

5
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockupEntity.java

@ -128,7 +128,7 @@ public class DistributionStockupEntity extends TenantEntity {
/**
* 叉车司机
*/
@ApiModelProperty(value = "叉车司机")
@ApiModelProperty(value = "叉车司机名称")
private String forkliftName;
/**
* 装卸班组
@ -193,6 +193,9 @@ public class DistributionStockupEntity extends TenantEntity {
@ApiModelProperty(value = "备货编号")
private String stockupCode;
@ApiModelProperty(value = "仓库Id")
private Long warehouseId;

98
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java

@ -120,107 +120,13 @@ public class DistrilbutionBillLadingEntity extends TenantEntity {
@TableField(exist = false)
private Map<String,String> fei;
/**
* 叉车司机
*/
@ApiModelProperty(value = "叉车司机")
private Long forkliftId;
/**
* 装卸班组
*/
@ApiModelProperty(value = "装卸班组")
private Long loaderId;
/**
* 叉车司机
*/
@ApiModelProperty(value = "叉车司机")
private String forkliftName;
/**
* 装卸班组
*/
@ApiModelProperty(value = "装卸班组")
private String loaderName;
/**
* 备货人id
*/
@ApiModelProperty(value = "备货人id")
private Long stockupUserId;
/**
* 确认完成备货时间
*/
@ApiModelProperty(value = "确认完成备货时间")
private Date fixTime;
/**
* 指派时间
*/
@ApiModelProperty(value = "指派时间")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
private Date assignTime;
/**
* 出库时间
*/
@ApiModelProperty(value = "出库时间")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
private Date outboundDate;
/**
* 备货状态 1待指派 2 待备货 3备货中 4已备货
*/
@ApiModelProperty(value = "备货状态")
private String stockupStatus;
/**
* 备货区
*/
@ApiModelProperty(value = "备货区")
private String stockupArea;
/**
* 指派状态;1-未指派2-已指派
*/
@ApiModelProperty(value = "指派状态;1-未指派、2-已指派")
private String assignStatus;
/**
* 备货库位
*/
@ApiModelProperty(value = "备货库位")
private String stockipAllocation;
/**
* 备货时间
*/
@ApiModelProperty(value = "备货时间")
private Date stockupDate;
/**
* 备货人
*/
@ApiModelProperty(value = "备货人")
private String stockupUser;
/**
* 备货人
*/
@ApiModelProperty(value = "备货人")
@TableField(exist = false)
private String startDate;
/**
* 备货人
*/
@ApiModelProperty(value = "备货人")
@TableField(exist = false)
private String entDate;
/**
* 备货编码
*/
@ApiModelProperty(value = "备货编码")
private String stockupCode;
/**
* 备货人
*/
@ApiModelProperty(value = "备货人")
private String goodsAreaId;
@ApiModelProperty(value = "提货状态")
private String conditions; //提货状态
}

2
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java

@ -36,8 +36,6 @@ public class DistributionStockupVO extends DistributionStockupEntity {
private String headline;
private String groupName;
//备货编码
private String stockupCode;
//备货人
private String stockupUser;
private String stockupStatusName;

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockupController.java

@ -81,6 +81,19 @@ public class DistributionStockupController extends BladeController {
return R.data(detail);
}
/**
* 备货信息表 提货 详情
*/
@GetMapping("/detailOwnSelf")
@ApiOperation(value = "详情", notes = "传入distributionStockup")
public R<DistributionStockupVO> detailOwnSelf(DistributionStockupEntity distributionStockup) {
DistributionStockupVO detail = distributionStockupService.detailOwnSelf(distributionStockup.getId());
return R.data(detail);
}
/**
* 备货信息表 预约信息 详情
*/

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistrilbutionBillLadingController.java

@ -169,7 +169,9 @@ public class DistrilbutionBillLadingController extends BladeController {
/**
* 备货信息表 详情
* 废弃
*/
@GetMapping("/detailOwn")
@ApiOperation(value = "详情", notes = "传入distributionStockup")
public R<DistrilbutionBillLadingVO> detailOwn(DistrilbutionBillLadingEntity distrilbutionBillLading) {

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

@ -77,6 +77,8 @@ public interface IDistributionReservationService extends BaseService<Distributio
*/
boolean insertReservation(DistributionReservationDTO distributionReservationDTO);
String bianMa();
/**
* 批量预约转备货任务
* @param stockUpInfo 备货信息

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

@ -101,4 +101,6 @@ public interface IDistributionStockupService extends BaseService<DistributionSto
List<String> createPackageCode(Long reservationId, Long stockListId, Integer packageNum);
String selectStockupAreaByReservationId(Long id);
DistributionStockupVO detailOwnSelf(Long id);
}

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

@ -136,4 +136,5 @@ public interface IDistrilbutionBillLadingService extends BaseService<Distrilbuti
List<DistrilbutionBillLadingViewVO> getViewDetailOwn(String id);
}

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

@ -36,6 +36,7 @@ import com.logpm.distribution.vo.DistributionStockListVO;
import com.logpm.distribution.vo.app.*;
import com.logpm.distribution.wrapper.DistributionParcelListAppWrapper;
import com.logpm.distribution.wrapper.DistributionParcelListWrapper;
import com.logpm.distribution.wrapper.DistributionStockArticleWrapper;
import lombok.AllArgsConstructor;
import org.checkerframework.checker.units.qual.A;
import org.springblade.core.tool.utils.BeanUtil;
@ -101,6 +102,9 @@ public class DistributionDeliveryInfoServiceImpl extends BaseServiceImpl<Distrib
@Override
public IPage<DistributionStockArticleVO> selectDistributionDeliveryorder(IPage<DistributionStockArticleVO> page, DistributionDeliveryInfoDTO distributionDeliveryInfoDTO) {
List<DistributionStockArticleVO> distributionDeliveryInfoVOS = baseMapper.selectDistributionDeliveryOrderPage(page, distributionDeliveryInfoDTO);
for (DistributionStockArticleVO distributionDeliveryInfoVO : distributionDeliveryInfoVOS) {
DistributionStockArticleWrapper.build().buildVoInfor(distributionDeliveryInfoVO);
}
return page.setRecords(distributionDeliveryInfoVOS);
}

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

@ -146,9 +146,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
private IBasicdataWarehouseClient basicdataWarehouseClient;
@Autowired
private BladeRedis bladeRedis;
private BladeRedis bladeRedis;
@Override
@ -357,9 +355,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// str = str.replaceFirst(",","");
//拼接在库和库存订单编号
reservationEntity.setStockArticleId(str);
reservationEntity.setWarehouseName(String.join(",",warehouseNames));
reservationEntity.setMallName(String.join(",",mallName));
reservationEntity.setStoreName(String.join(",",storeName));
reservationEntity.setWarehouseName(String.join(",", warehouseNames));
reservationEntity.setMallName(String.join(",", mallName));
reservationEntity.setStoreName(String.join(",", storeName));
//统计数量
BigDecimal fee = initTotal.get().add(reservationEntity.getOtherFee());
reservationEntity.setFee(fee);
@ -378,7 +376,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationMapper.updateById(reservationEntity);
return true;
}
public String bianMa(){
@Override
public String bianMa() {
// String code ="BH";
StringBuilder sb = new StringBuilder();
sb.append("BH");
@ -386,13 +386,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String format1 = format.format(new Date());
BasicdataWarehouseEntity warehouseByDepartment = basicdataWarehouseClient.getWarehouseByDepartment(user.getDeptId());
if(ObjectUtil.isNotEmpty(warehouseByDepartment)){
if (ObjectUtil.isNotEmpty(warehouseByDepartment)) {
sb.append(warehouseByDepartment.getWarehouseCode());
sb.append(format1);
String s = "BH" + warehouseByDepartment.getWarehouseCode();
String s1 = jiShuan(s);
sb.append(s1);
}else{
} else {
sb.append("00000");
sb.append(format1);
String s = "BH" + "00000";
@ -404,43 +404,43 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
private String jiShuan(String s) {
String n = "00001";
if(Func.notNull(bladeRedis.get(s))){
if (Func.notNull(bladeRedis.get(s))) {
Object o1 = bladeRedis.get(s);
int anInt = Integer.parseInt(String.valueOf(o1));
if (anInt < 10) {
if(anInt + 1 == 10){
if (anInt + 1 == 10) {
n = String.format("000%d", anInt + 1);
}else{
} else {
n = String.format("0000%d", anInt + 1);
}
} else if (anInt < 100) {
if(anInt + 1 == 100){
if (anInt + 1 == 100) {
n = String.format("00%d", anInt + 1);
}else{
} else {
n = String.format("000%d", anInt + 1);
}
} else if (anInt < 1000) {
if(anInt + 1 == 1000){
if (anInt + 1 == 1000) {
n = String.format("0%d", anInt + 1);
}else{
} else {
n = String.format("00%d", anInt + 1);
}
} else if (anInt < 10000) {
if(anInt + 1 == 10000){
if (anInt + 1 == 10000) {
n = String.format("%d", anInt + 1);
}else{
} else {
n = String.format("0%d", anInt + 1);
}
}else {
} else {
n = String.valueOf(anInt + 1);
}
bladeRedis.set(s,n);
bladeRedis.set(s, n);
return n;
}else{
bladeRedis.set(s,n);
} else {
bladeRedis.set(s, n);
return n;
}
}
@ -758,14 +758,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionDeliveryListEntity.setDriverName(driverNames.deleteCharAt(driverNames.length() - 1).toString());
distributionDeliveryListEntity.setVehicleName(vehicleNubs.deleteCharAt(vehicleNubs.length() - 1).toString());
}
distributionDeliveryListEntity.setWarehouseName(String.join(",",warehouseNames));
distributionDeliveryListEntity.setWarehouseName(String.join(",", warehouseNames));
distributionDeliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.daipeisong.getValue());
distributionDeliveryListEntity.setCustomersNumber(reservationIds.split(",").length);
distributionDeliveryListEntity.setOrderNumber(orderNum.get());
distributionDeliveryListEntity.setType(DistributionTypeConstant.shipie.getValue());
distributionDeliveryListEntity.setOrderCode(String.join(",", hashSet));
distributionDeliveryListEntity.setTaskTime(allocationDTO.getTaskTime());
distributionDeliveryListEntity.setNoteNumber(Func.random(13,RandomType.INT));
distributionDeliveryListEntity.setNoteNumber(Func.random(13, RandomType.INT));
// if (orderIds.length() > 1) {
// distributionDeliveryListEntity.setOrderId(orderIds.deleteCharAt(orderIds.length() - 1).toString());
// }
@ -990,13 +990,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionReservationEntity reservationEntity = this.getById(id);
Integer reservationNum = reservationEntity.getReservationNum();
reservationEntity.setOtherFee(distributionReservationDTO.getOtherFee());
reservationEntity.setWarehouseName(String.join(",",warehouseNames));
reservationEntity.setWarehouseName(String.join(",", warehouseNames));
reservationEntity.setDeliveryType(DistributionTypeConstant.shipie.getValue());
reservationEntity.setDeliveryWay(distributionReservationDTO.getDeliveryWay());
reservationEntity.setServeType(distributionReservationDTO.getServeType());
reservationEntity.setReservationNum(packTotal.get());
reservationEntity.setMallName(String.join(",",mallName));
reservationEntity.setStoreName(String.join(",",storeName));
reservationEntity.setMallName(String.join(",", mallName));
reservationEntity.setStoreName(String.join(",", storeName));
reservationEntity.setReservationStockListNum(inventorTotal.get());
reservationEntity.setReservationDate(distributionReservationDTO.getReservationDate());
reservationEntity.setPeriodOfTime(distributionReservationDTO.getPeriodOfTime());
@ -1254,10 +1254,10 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (!Func.isEmpty(taskTime)) {
distributionDeliveryListEntity.setTaskTime(taskTime);
}
distributionDeliveryListEntity.setWarehouseName(String.join(",",deliveryWarehouseName));
distributionDeliveryListEntity.setWarehouseName(String.join(",", deliveryWarehouseName));
distributionDeliveryListEntity.setOrderCode(String.join(",", orderNumber));
distributionDeliveryListEntity.setOrderNumber(orderTotal.get());
distributionDeliveryListEntity.setNoteNumber(Func.random(13,RandomType.INT));
distributionDeliveryListEntity.setNoteNumber(Func.random(13, RandomType.INT));
distributionDeliveryListEntity.setCustomersNumber(clientNum.get());
distributionDeliveryListService.updateById(distributionDeliveryListEntity);
return R.status(true);

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

@ -34,6 +34,7 @@ import com.logpm.distribution.excel.DistributionStockupExcel;
import com.logpm.distribution.mapper.DistributionStockupMapper;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.wrapper.DistributionStockupWrapper;
import org.springblade.common.constant.CodeDesEnum;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.stockup.StockAssignStatusConstant;
@ -105,12 +106,12 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean saveAssign(DistributionStockupEntity distributionStockup) {
if(StringUtils.isNotBlank(distributionStockup.getIds())){
if (StringUtils.isNotBlank(distributionStockup.getIds())) {
String[] split = distributionStockup.getIds().split(",");
for (String s : split) {
BladeUser user = AuthUtil.getUser();
DistributionStockupEntity distributionStockupEntity =new DistributionStockupEntity();
BeanUtils.copyProperties(distributionStockup,distributionStockupEntity);
DistributionStockupEntity distributionStockupEntity = new DistributionStockupEntity();
BeanUtils.copyProperties(distributionStockup, distributionStockupEntity);
distributionStockupEntity.setId(Long.parseLong(s));
distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.yizhipai.getValue());
distributionStockupEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
@ -129,7 +130,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
public IPage<DistributionStockupEntity> pageList(IPage<Object> page, Map<String, Object> distributionStockup) {
DistributionStockupEntity distributionStockupEntity = JSON.parseObject(JSON.toJSONString(distributionStockup), DistributionStockupEntity.class);
distributionStockupEntity.setTenantId(AuthUtil.getTenantId());
return baseMapper.pageList(page,distributionStockupEntity);
return baseMapper.pageList(page, distributionStockupEntity);
}
@Override
@ -140,7 +141,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
stockupDTO.setUserId(AuthUtil.getUserId());
IPage<DistributionStockupListVO> distributionStockupEntityIPage = baseMapper.selectStockupPage(page, stockupDTO);
List<DistributionStockupListVO> records = distributionStockupEntityIPage.getRecords();
for (DistributionStockupListVO vo:records) {
for (DistributionStockupListVO vo : records) {
intToStrDistributionStockupListVO(vo);
//查询库位信息
//1.通过预约单号查询所有包件的库位信息
@ -148,13 +149,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
List<String> packageAllocation = distributionParcelListService.selectWarehouseAreaByReservationId(reservationId);
//2.通过预约单查询所有库存品的库位信息
List<String> stockListAllocation = distributionStockListService.selectWarehouseAreaByReservationId(reservationId);
String allocation = dealwithAllocation(packageAllocation,stockListAllocation);
String allocation = dealwithAllocation(packageAllocation, stockListAllocation);
//查询托盘信息
//1.查询包件托盘信息`
List<String> packagePallet = distributionParcelListService.selectPalletByReservationId(reservationId);
//2.查询库存品托盘信息
List<String> stockListPallet = distributionStockListService.selectPalletByReservationId(reservationId);
String pallet = deakwithPallet(packagePallet,stockListPallet);
String pallet = deakwithPallet(packagePallet, stockListPallet);
//查询对应预约单的订单总数
Integer orderNum = distributionReservationService.selectOrderNumByReservationId(reservationId);
@ -167,9 +168,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
Integer realNum = distributionStockService.selectRealNum(reservationId);
//备货任务是否完成通过扫描表中的记录数量和计划数量对比
if(realNum.equals(planNum)){
if (realNum.equals(planNum)) {
vo.setStockupStatusStr("是");
}else{
} else {
vo.setStockupStatusStr("否");
}
vo.setWarehouseArea(allocation);
@ -199,15 +200,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
// }
}
private String deakwithPallet(List<String> packagePallet, List<String> stockListPallet) {
Set<String> set = new HashSet<>();
set.addAll(packagePallet);
for (String pallet:stockListPallet){
if(StringUtil.isBlank(pallet)){
for (String pallet : stockListPallet) {
if (StringUtil.isBlank(pallet)) {
continue;
}
//因为库存品的数据可能会有拼接
@ -216,10 +216,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
StringBuilder stringBuilder = new StringBuilder();
for (String s:set){
if(!StringUtil.hasLength(stringBuilder.toString())){
for (String s : set) {
if (!StringUtil.hasLength(stringBuilder.toString())) {
stringBuilder.append(s);
}else{
} else {
stringBuilder.append(",").append(s);
}
}
@ -232,8 +232,8 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
Set<String> set = new HashSet<>();
set.addAll(packageAllocation);
for (String allocation:stockListAllocation){
if(StringUtil.isBlank(allocation)){
for (String allocation : stockListAllocation) {
if (StringUtil.isBlank(allocation)) {
continue;
}
//因为库存品的数据可能会有拼接
@ -242,10 +242,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
StringBuilder stringBuilder = new StringBuilder();
for (String s:set){
if(!StringUtil.hasLength(stringBuilder.toString())){
for (String s : set) {
if (!StringUtil.hasLength(stringBuilder.toString())) {
stringBuilder.append(s);
}else{
} else {
stringBuilder.append(",").append(s);
}
}
@ -253,42 +253,42 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
return stringBuilder.toString();
}
private Map<String,Integer> getNums(List<DistributionReservationEntity> reservationEntities){
Map<String,Integer> map = new HashMap<>();
private Map<String, Integer> getNums(List<DistributionReservationEntity> reservationEntities) {
Map<String, Integer> map = new HashMap<>();
Set<String> set = new TreeSet();
Integer packageNum = 0;
Integer stockNum = 0;
for (DistributionReservationEntity reservationEntity:reservationEntities){
for (DistributionReservationEntity reservationEntity : reservationEntities) {
String stockArticleId = reservationEntity.getStockArticleId();
Long reservationId = reservationEntity.getId();
String[] split = stockArticleId.split(",");
List<String> list = new ArrayList<>();
boolean b = Collections.addAll(list, split);
if(b){
if (b) {
set.addAll(list);
}
//查询所有包件数量
packageNum = packageNum + baseMapper.getAllPackageNum(reservationId);
stockNum = stockNum + baseMapper.getAllStockNum(reservationId);
}
map.put("orderNum",set.size());
map.put("planNum",packageNum+stockNum);
map.put("orderNum", set.size());
map.put("planNum", packageNum + stockNum);
return map;
}
private String getTrays(List<DistributionReservationEntity> reservationEntities){
private String getTrays(List<DistributionReservationEntity> reservationEntities) {
Set<String> set = new TreeSet<>();
StringBuilder sb = new StringBuilder();
for (DistributionReservationEntity reservationEntity:reservationEntities){
for (DistributionReservationEntity reservationEntity : reservationEntities) {
List<String> list = distributionReservationService.getAllPackagePallet(reservationEntity.getId());
set.addAll(list);
}
for (String pallet:set){
if(StringUtil.hasLength(sb.toString())){
for (String pallet : set) {
if (StringUtil.hasLength(sb.toString())) {
sb.append(pallet);
}else{
} else {
sb.append(",").append(pallet);
}
}
@ -296,13 +296,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
private String getCustomer(List<DistributionReservationEntity> reservationEntities){
private String getCustomer(List<DistributionReservationEntity> reservationEntities) {
StringBuilder customerSb = new StringBuilder();
for (DistributionReservationEntity reservationEntity:reservationEntities){
for (DistributionReservationEntity reservationEntity : reservationEntities) {
//循环拼接所有客户的名称
if(!StringUtil.hasLength(customerSb.toString())){
if (!StringUtil.hasLength(customerSb.toString())) {
customerSb.append(reservationEntity.getConsignee());
}else{
} else {
customerSb.append(",").append(reservationEntity.getConsignee());
}
}
@ -310,7 +310,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
private void intToStrDistributionStockupListVO(DistributionStockupListVO vo){
private void intToStrDistributionStockupListVO(DistributionStockupListVO vo) {
String typeServiceStr = DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE, vo.getTypeService());
vo.setTypeServiceStr(typeServiceStr);
}
@ -339,20 +339,20 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
DistributionReservationEntity reservationEntity = distributionReservationService.getById(reservationId);
//通过订单id和库位心系,托盘信息查询对应的包件列表
List<PackageStockupVO> list = distributionParcelListService.selectOrderInfoList(reservationId,stockArticleId,allocation,pallet);
List<PackageStockupVO> list = distributionParcelListService.selectOrderInfoList(reservationId, stockArticleId, allocation, pallet);
int size = list.size();
Integer scanNum = 0;
for (PackageStockupVO vo:list){
if(!Objects.isNull(vo.getScanId())){
for (PackageStockupVO vo : list) {
if (!Objects.isNull(vo.getScanId())) {
scanNum++;
}
String orderPackageCode = vo.getPackageBarCode();
QueryWrapper<DistributionParcelDetailsEntity> qw = new QueryWrapper<>();
qw.eq("package_code",orderPackageCode);
qw.eq("package_code", orderPackageCode);
List<DistributionParcelDetailsEntity> parcelDetailsEntityList = distributionParcelDetailsService.list(qw);
vo.setDetailsEntities(parcelDetailsEntityList);
}
DistributionStockupOrderInfoVO vo = new DistributionStockupOrderInfoVO();
DistributionStockupOrderInfoVO vo = new DistributionStockupOrderInfoVO();
vo.setReservationId(reservationId);
vo.setCustomer(reservationEntity.getConsignee());
vo.setAddress(reservationEntity.getDeliveryAddress());
@ -367,11 +367,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
/**
* 查询备货信息
*
* @param id
* @return
*/
@Override
public DistributionStockupVO getOneOwn(Long id) {
return baseMapper.getOneOwn(id);
}
@ -383,10 +386,12 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
o.setNumber(integer);
});
return distributionStockupVOIPage;
return baseMapper.detailOrderOwn(page, id);
}
/**
* 查询库存品详细
*
* @param page
* @param id
* @return
@ -396,16 +401,15 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
IPage<DistributionStockupVO> l = new Page<>();
List<DistributionStockupVO> inventoryChe = baseMapper.getInventoryChe(id);
boolean b = inventoryChe.stream().anyMatch(i -> i.getReservationStockListNum() > 0);
if(b){
if (b) {
//查询库存品
return baseMapper.getInventoryOwn(page,id);
}else{
return baseMapper.getInventoryOwn(page, id);
} else {
return l;
}
}
/**
* 查询预约信息
*
@ -416,8 +420,8 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
@Override
public IPage<DistributionStockupVO> detailReservationOwn(IPage page, Long id) {
IPage<DistributionStockupVO> iPage = baseMapper.detailReservationOwn(page, id);
iPage.getRecords().forEach(i ->{
i.setStockupStatusName(DictBizCache.getValue(DictBizConstant.STOCKUP_STATUS,i.getStockupStatus()));
iPage.getRecords().forEach(i -> {
i.setStockupStatusName(DictBizCache.getValue(DictBizConstant.STOCKUP_STATUS, i.getStockupStatus()));
});
return iPage;
}
@ -428,9 +432,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
// DistributionReservationEntity reservationEntity = distributionReservationService.getById(reservationId);
//通过订单id和库位心系,托盘信息查询对应的库存品列表
DistributionStockupStockListInfoVO entity = distributionStockListService.selectStockListInfo(reservationId,stockListId);
DistributionStockupStockListInfoVO entity = distributionStockListService.selectStockListInfo(reservationId, stockListId);
List<StockListInfoListVO> list = distributionStockListService.selectStockListInfoList(reservationId,stockListId);
List<StockListInfoListVO> list = distributionStockListService.selectStockListInfoList(reservationId, stockListId);
entity.setStockList(list);
@ -442,19 +446,19 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
public List<String> createPackageCode(Long reservationId, Long stockListId, Integer packageNum) {
//通过预约单id和订单
Integer num = distributionReservationService.getReservationNumByReservationIdAndStockListId(reservationId,stockListId);
if(packageNum.compareTo(num) > 0){
Integer num = distributionReservationService.getReservationNumByReservationIdAndStockListId(reservationId, stockListId);
if (packageNum.compareTo(num) > 0) {
log.warn("###################createPackageCode: 包条数量与预约数量不正确");
throw new CustomerException(405,"包条数量与预约数量不正确");
throw new CustomerException(405, "包条数量与预约数量不正确");
}
String deptId = AuthUtil.getDeptId();
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getWarehouseByDepartment(deptId);
List<String> ls = new ArrayList<>();
for (int i = 0 ; i < packageNum ; i++){
for (int i = 0; i < packageNum; i++) {
String packageCode = basicDataCodeClient.getCodeByType(CodeDesEnum.PACKAGE.getCodeNum(), basicdataWarehouseEntity.getWarehouseCode(),null);//TODO 这个滴地方需要传入订单编号来区别是哪个订单的包件
String packageCode = basicDataCodeClient.getCodeByType(CodeDesEnum.PACKAGE.getCodeNum(), basicdataWarehouseEntity.getWarehouseCode(), null);//TODO 这个滴地方需要传入订单编号来区别是哪个订单的包件
ls.add(packageCode);
}
@ -466,4 +470,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
return baseMapper.selectStockupAreaByReservationId(id);
}
@Override
public DistributionStockupVO detailOwnSelf(Long id) {
DistributionStockupEntity distributionStockupEntity = baseMapper.selectById(id);
DistributionStockupVO distributionStockupVO =DistributionStockupWrapper.build().entityVO(distributionStockupEntity);
return distributionStockupVO;
}
}

390
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -25,6 +25,8 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.DistributionStockListDTO;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.dto.app.BillLadingAppDTO;
@ -45,6 +47,7 @@ import org.springblade.common.constant.order.OrderReservationStatusConstant;
import org.springblade.common.constant.order.OrderStatusConstant;
import org.springblade.common.constant.stockup.StockAssignStatusConstant;
import org.springblade.common.constant.stockup.StockupStatusConstant;
import org.springblade.common.constant.stockup.StockupTypeConstant;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
@ -76,7 +79,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
private final IDistributionDeliveryDetailsService distributionDeliveryDetailsService;
private final DistributionReservationServiceImpl distributionReservationService;
private final IDistributionReservationService distributionReservationService;
private final IDistributionPrintService distributionPrintService;
@ -90,9 +93,13 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
private final IDistributionStockupScanService distributionStockupScanService;
private final IDistributionStockListService distributionStockListService;
private final IDistributionAsyncService distributionAsyncService;
private final IDistributionStockService distributionStockService;
private final IDistributionStockListService distributionStockListService;
private final IDistributionAsyncService distributionAsyncService;
private final IDistributionStockService distributionStockService;
private final IDistributionStockupService distributionStockupService;
private final IDistributionStockupInfoService distributionStockupInfoService;
private final IBasicdataWarehouseClient basicdataWarehouseClient;
@Override
@ -120,13 +127,13 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
this.updateById(distrilbutionBillLading);
//修改图片
List<DistributionPrintEntity> printEntityList = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda().eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLading.getId()));
if(printEntityList.size() > 0){
if(distrilbutionBillLading.getMark()){
if (printEntityList.size() > 0) {
if (distrilbutionBillLading.getMark()) {
//要删除
List<Long> collect = printEntityList.stream().map(DistributionPrintEntity::getId).collect(Collectors.toList());
distributionPrintService.deleteLogic(collect);
//操作图片
if(distrilbutionBillLading.getPrintList().size() > 0){
if (distrilbutionBillLading.getPrintList().size() > 0) {
addPrint(distrilbutionBillLading);
}
}
@ -135,7 +142,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List<DistributionDeliveryChargeEntity> list = distributionDeliveryChargeService.list(Wrappers.<DistributionDeliveryChargeEntity>query().lambda()
.eq(DistributionDeliveryChargeEntity::getBillLading, distrilbutionBillLading.getId())
);
if(list.size() > 0){
if (list.size() > 0) {
list.forEach(i -> {
String s = distrilbutionBillLading.getFei().get(i.getCost());
if (StringUtils.isNotBlank(s)) {
@ -152,9 +159,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
});
}
//修改订单数据
if(distrilbutionBillLading.getStockArticleList().size() > 0){
if (distrilbutionBillLading.getStockArticleList().size() > 0) {
boolean order = getOrder(distrilbutionBillLading.getStockArticleList(), distrilbutionBillLading.getId());
if(!order){
if (!order) {
throw new ServiceException("修改失败!!");
}
}
@ -180,7 +187,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
if (b) {
//有
Iterator<DistributionStockListDTO> iterator = distrilbutionBillLading.getStockDTOList().iterator();
while (iterator.hasNext()){
while (iterator.hasNext()) {
DistributionStockListDTO next = iterator.next();
if (i.getStockListId().equals(next.getId())) {
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity();
@ -191,10 +198,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Integer quantity = i.getQuantity();//原来的数量
Integer num = 0;
if(inventoryQuantity > quantity){
if (inventoryQuantity > quantity) {
num = inventoryQuantity - quantity; //多 添加了数量
//修改库存占用数量
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),num,1);
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), num, 1);
//kk备货
if (i.getConditions().equals("2")) {
//xiugai
@ -203,7 +210,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
d.setConditions("1");
distributionDeliveryDetailsService.updateById(d);
}
}else if(inventoryQuantity < quantity){
} else if (inventoryQuantity < quantity) {
num = quantity - inventoryQuantity; //少 减少了数量
/*if(list1.size() < 1){
@ -211,18 +218,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//有备货
}*/
if(i.getConditions().equals("2")){
if (i.getConditions().equals("2")) {
//todo 已完成
}else{
} else {
//todo 未完成
int size = list1.size(); //扫描的数量
int i1 = quantity - size; //未扫的数量
if(i1 > num){
if (i1 > num) {
//可以减少
//修改库存占用数量
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),num,2);
}else{
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), num, 2);
} else {
//todo 未扫小于减少
}
@ -236,9 +243,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
} else {
if(list1.size() < 1){
if (list1.size() < 1) {
//取消库存占用数量
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),i.getQuantity(),2);
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), i.getQuantity(), 2);
}
//没有 删除
ids.add(i.getId());
@ -246,8 +253,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
});
//删除没有的库存品
if(ids.size() > 0){
ids.forEach( a ->{
if (ids.size() > 0) {
ids.forEach(a -> {
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity();
deliveryDetails.setId(a);
deliveryDetails.setInventoryStatus("3");
@ -258,14 +265,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
} else {
//新增
distrilbutionBillLading.setAssignStatus(StockAssignStatusConstant.weizhipai.getValue());
distrilbutionBillLading.setStockupStatus(StockupStatusConstant.weibeihuo.getValue());
distrilbutionBillLading.setConsignee("1");
distrilbutionBillLading.setStockupCode(distributionReservationService.bianMa());
this.save(distrilbutionBillLading);
this.saveDistrilbutionBillLading(distrilbutionBillLading);
//修改订单状态
if(StringUtils.isNotBlank(distrilbutionBillLading.getStockArticleId())){
if (StringUtils.isNotBlank(distrilbutionBillLading.getStockArticleId())) {
String[] split = distrilbutionBillLading.getStockArticleId().split(",");
for (String s : split) {
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity();
@ -284,14 +289,15 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
}
//操作图片
if(distrilbutionBillLading.getPrintList().size() > 0){
if (distrilbutionBillLading.getPrintList().size() > 0) {
addPrint(distrilbutionBillLading);
}
}
//添加库存品信息
if(distrilbutionBillLading.getStockDTOList().size() > 0){
if (distrilbutionBillLading.getStockDTOList().size() > 0) {
//没有
List<DistributionDeliveryDetailsEntity> detailsEntities = new ArrayList<>();
Boolean finalLas = las;
@ -301,20 +307,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
details.setStockListId(i.getId());
details.setQuantity(i.getInventoryQuantity());
details.setConditions("1");
if(finalLas){
if (finalLas) {
details.setInventoryStatus("2");
}else{
} else {
details.setInventoryStatus("1");
}
detailsEntities.add(details);
//修改库存数量
distributionAsyncService.getInventoryNumUpdate(i.getId(),i.getInventoryQuantity(),1);
distributionAsyncService.getInventoryNumUpdate(i.getId(), i.getInventoryQuantity(), 1);
});
distributionDeliveryDetailsService.saveBatch(detailsEntities);
}
//添加费用
if(distrilbutionBillLading.getFei().size() > 0){
if (distrilbutionBillLading.getFei().size() > 0) {
List<DistributionDeliveryChargeEntity> listEntity = new ArrayList<>();
distrilbutionBillLading.getFei().forEach((k, v) -> {
DistributionDeliveryChargeEntity distributionDeliveryCharge = new DistributionDeliveryChargeEntity();
@ -331,11 +337,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 修改操作订单数据
*
* @param orderList
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean getOrder(List<DistributionStockArticleEntity> orderList,Long id){
public boolean getOrder(List<DistributionStockArticleEntity> orderList, Long id) {
//查询已有的数据
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, id)
@ -343,18 +350,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.or(wp -> wp.eq(DistrilbutionBillStockEntity::getBillLadingId, id).eq(DistrilbutionBillStockEntity::getOrderStatus, "2"))
);
List<DistrilbutionBillStockEntity> deList = new ArrayList<>();
list.forEach( i ->{
list.forEach(i -> {
boolean b = orderList.stream().anyMatch(o -> o.getId().equals(i.getStockArticleId()));
if(b){
if (b) {
//存在
Iterator<DistributionStockArticleEntity> iterator = orderList.iterator();
while (iterator.hasNext()){
while (iterator.hasNext()) {
DistributionStockArticleEntity next = iterator.next();
if(next.getId().equals( i.getStockArticleId())){
if (next.getId().equals(i.getStockArticleId())) {
iterator.remove();
}
}
}else{
} else {
//不存在
DistrilbutionBillStockEntity stockEntity = new DistrilbutionBillStockVO();
stockEntity.setId(i.getId());
@ -366,12 +373,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
});
//删除提货订单状态
deList.forEach( i ->{
deList.forEach(i -> {
//查询数据是否已备货
if(!i.getConditions().equals("2")){
if (!i.getConditions().equals("2")) {
//未
List<DistributionStockEntity> list1 = distributionStockService.list(Wrappers.<DistributionStockEntity>query().lambda().eq(DistributionStockEntity::getStockArticle, i.getStockArticleId()));
if(list1.size() == 0){
if (list1.size() == 0) {
//取消
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
stockArticleEntity.setId(i.getStockArticleId());
@ -384,7 +391,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
});
List<DistrilbutionBillStockEntity> list1 = new ArrayList<>();
//添加订单关联
orderList.forEach( i ->{
orderList.forEach(i -> {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
stockArticleEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
@ -402,26 +409,28 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distrilbutionBillStockService.saveBatch(list1);
//查询当前备货任务
DistrilbutionBillLadingEntity billLading = baseMapper.selectById(id);
if(billLading.getConditions().equals("5")){
if (billLading.getConditions().equals("5")) {
//修改
billLading.setConsignee("4");
baseMapper.updateById(billLading);
}
return true;
};
}
;
@Override
public IPage<DistrilbutionBillLadingVO> pageList(IPage<Object> page, Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingDTO distrilbutionBillLadingDTO = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingDTO.class);
IPage<DistrilbutionBillLadingVO> distrilbutionBillLadingVOIPage = baseMapper.pageList(page, distrilbutionBillLadingDTO);
List<DistrilbutionBillLadingVO> records =distrilbutionBillLadingVOIPage.getRecords();
List<DistrilbutionBillLadingVO> records = distrilbutionBillLadingVOIPage.getRecords();
records.forEach( i -> {
records.forEach(i -> {
List<DistributionDeliveryChargeEntity> list = distributionDeliveryChargeService.list(Wrappers.<DistributionDeliveryChargeEntity>query().lambda()
.eq(DistributionDeliveryChargeEntity::getBillLading, i.getId())
);
list.forEach( ii ->{
ii.setCostName(DictBizCache.getValue(DictBizConstant.DELIVERY_COST,ii.getCost()));
list.forEach(ii -> {
ii.setCostName(DictBizCache.getValue(DictBizConstant.DELIVERY_COST, ii.getCost()));
});
i.setList(list);
});
@ -433,7 +442,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 添加提货图片
*/
public Boolean addPrint(DistrilbutionBillLadingDTO distrilbutionBillLadingDTO){
public Boolean addPrint(DistrilbutionBillLadingDTO distrilbutionBillLadingDTO) {
// List<DistributionPrintEntity> list = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda()
// .eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLadingDTO.getId())
// );
@ -463,7 +472,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public IPage<DistrilbutionBillLadingAppVO> pageListApp(IPage<Object> page, BillLadingAppDTO billLadingAppDTO) {
IPage<DistrilbutionBillLadingAppVO> pageList = baseMapper.pageListApp(page, billLadingAppDTO);
List<DistrilbutionBillLadingAppVO> records = pageList.getRecords();
for (DistrilbutionBillLadingAppVO vo : records){
for (DistrilbutionBillLadingAppVO vo : records) {
//有可能存在多个订单所以需要拆分
String stockArticleId = vo.getStockArticleId();
@ -471,33 +480,33 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Integer planNum = 0;
Integer signedNum = 0;
String[] split = stockArticleId.split(",");
for (String s:split){
if(StringUtil.isBlank(s)){
for (String s : split) {
if (StringUtil.isBlank(s)) {
continue;
}
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
int pn = list.size();
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
signedNum = signedNum +sn;
signedNum = signedNum + sn;
}
//查询库存品的件数量
DistributionDeliveryDetailsVO list = distributionDeliveryDetailsService.oneListNum(vo.getBillLadingId());
if(ObjectUtils.isNotNull(list)){
if (ObjectUtils.isNotNull(list)) {
planNum += list.getWholeNum();
signedNum += list.getEsauNum();
vo.setInventoryNum(list.getWholeNum());
}else{
} else {
vo.setInventoryNum(0);
}
vo.setOrderNum(orderNum);
@ -510,9 +519,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
@Override
public DistrilbutionAppBillLadingOrderMainVO selectOrderList(Long billLadingId, Integer orderStatus,String orderSelfNumbering) {
public DistrilbutionAppBillLadingOrderMainVO selectOrderList(Long billLadingId, Integer orderStatus, String orderSelfNumbering) {
DistrilbutionBillLadingAppVO main = baseMapper.selectDataByBillLadingId(billLadingId);
if(Objects.isNull(main)){
if (Objects.isNull(main)) {
return null;
}
@ -526,8 +535,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
String[] split = stockArticleId.split(",");
List<DistrilbutionAppBillLadingOrderVO> l = new ArrayList<>();
for (String s:split){
if(StringUtil.isBlank(s)){
for (String s : split) {
if (StringUtil.isBlank(s)) {
continue;
}
DistrilbutionAppBillLadingOrderVO vo = new DistrilbutionAppBillLadingOrderVO();
@ -536,10 +545,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
if(!StringUtil.isBlank(orderSelfNumbering)){
queryWrapper.ne("order_self_numbering",orderSelfNumbering);
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
if (!StringUtil.isBlank(orderSelfNumbering)) {
queryWrapper.ne("order_self_numbering", orderSelfNumbering);
}
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
vo.setOrderSelfNumbering(list.get(0).getOrderCode());
@ -548,38 +557,38 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
vo.setSignedNum(sn);
signedNum = signedNum +sn;
signedNum = signedNum + sn;
if(pn == sn){
if (pn == sn) {
conpleteNum++;
}
if(pn == sn){
if (pn == sn) {
vo.setOrderStatusStr("齐套");
}else if(sn<pn && sn > 0){
} else if (sn < pn && sn > 0) {
vo.setOrderStatusStr("部分扫");
}else if(sn == 0){
} else if (sn == 0) {
vo.setOrderStatusStr("未扫");
}
//0 全部 1 齐套 2部分扫 3未扫
if(orderStatus == 0){
if (orderStatus == 0) {
l.add(vo);
}else if(orderStatus == 1){
if(pn == sn){
} else if (orderStatus == 1) {
if (pn == sn) {
l.add(vo);
}
}else if(orderStatus == 2){
if(sn<pn && sn > 0){
} else if (orderStatus == 2) {
if (sn < pn && sn > 0) {
l.add(vo);
}
}else if(orderStatus == 3){
if(sn == 0){
} else if (orderStatus == 3) {
if (sn == 0) {
l.add(vo);
}
}
@ -592,7 +601,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List<DistributionDeliveryDetailsEntity> list1 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, billLadingId)
);
if(list1.size() > 0){
if (list1.size() > 0) {
long count = list1.stream().filter(i -> i.getConditions().equals("2")).count();
signedNum += (int) count;
}
@ -601,11 +610,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getMaterialType, "1")
);
if(list2.size() > 0){
if (list2.size() > 0) {
signedNum += list2.size();
}
planNum += list.stream().mapToInt( DistributionDeliveryDetailsEntity::getQuantity ).sum();
planNum += list.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum();
DistrilbutionAppBillLadingOrderMainVO mainVO = new DistrilbutionAppBillLadingOrderMainVO();
mainVO.setOrderNum(orderNum);
mainVO.setPlanNum(planNum);
@ -617,9 +626,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
@Override
public DistrilbutionBillLadingAppVO selectDetailList(Long billLadingId, Integer scanStatus,String orderSelfNumbering) {
public DistrilbutionBillLadingAppVO selectDetailList(Long billLadingId, Integer scanStatus, String orderSelfNumbering) {
DistrilbutionBillLadingAppVO main = baseMapper.selectDataByBillLadingId(billLadingId);
if(Objects.isNull(main)){
if (Objects.isNull(main)) {
return null;
}
@ -632,24 +641,24 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Integer signedNum = 0;
String[] split = stockArticleId.split(",");
for (String s:split){
if(StringUtil.isBlank(s)){
for (String s : split) {
if (StringUtil.isBlank(s)) {
continue;
}
//查询所有的包件列表并且附带状态
List<DistrilbutionAppBillLadingDetailVO> details = baseMapper.selectDetailList(Long.parseLong(s),scanStatus,orderSelfNumbering);
for (DistrilbutionAppBillLadingDetailVO detailVO : details){
List<DistrilbutionAppBillLadingDetailVO> details = baseMapper.selectDetailList(Long.parseLong(s), scanStatus, orderSelfNumbering);
for (DistrilbutionAppBillLadingDetailVO detailVO : details) {
Integer ss = detailVO.getScanStatus();
Integer errorStatus = detailVO.getErrorStatus();
if(ss == 1){
if (ss == 1) {
detailVO.setScanStatusStr("未扫描");
}else{
} else {
detailVO.setScanStatusStr("已扫描");
}
if(errorStatus == 0){
if (errorStatus == 0) {
detailVO.setErrorStatusStr("无异常");
}else{
} else {
detailVO.setErrorStatusStr("有异常");
}
}
@ -657,20 +666,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
int pn = list.size();
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
signedNum = signedNum +sn;
signedNum = signedNum + sn;
if(pn == sn){
if (pn == sn) {
conpleteNum++;
}
}
@ -686,23 +695,24 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 修改提货数据
*
* @param distrilbutionBillLading
* @return
*/
@Override
public Boolean saveAssign(DistrilbutionBillLadingEntity distrilbutionBillLading) {
if(StringUtils.isNotBlank(distrilbutionBillLading.getIds())){
if (StringUtils.isNotBlank(distrilbutionBillLading.getIds())) {
String[] split = distrilbutionBillLading.getIds().split(",");
for (String s : split) {
BladeUser user = AuthUtil.getUser();
DistrilbutionBillLadingEntity distributionStockupEntity =new DistrilbutionBillLadingEntity();
BeanUtils.copyProperties(distrilbutionBillLading,distributionStockupEntity);
DistrilbutionBillLadingEntity distributionStockupEntity = new DistrilbutionBillLadingEntity();
BeanUtils.copyProperties(distrilbutionBillLading, distributionStockupEntity);
distributionStockupEntity.setId(Long.parseLong(s));
distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.yizhipai.getValue());
distributionStockupEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
distributionStockupEntity.setAssignTime(new Date());
distributionStockupEntity.setStockupUser(user.getUserName());
distributionStockupEntity.setStockupUserId(user.getUserId());
// distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.yizhipai.getValue());
// distributionStockupEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
// distributionStockupEntity.setAssignTime(new Date());
// distributionStockupEntity.setStockupUser(user.getUserName());
// distributionStockupEntity.setStockupUserId(user.getUserId());
baseMapper.updateById(distributionStockupEntity);
}
return true;
@ -712,6 +722,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 提货基本信息
*
* @param id
* @return
*/
@ -722,6 +733,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 提货内查询包件
*
* @param page
* @param id
* @return
@ -729,18 +741,19 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
@Override
public IPage<DistrilbutionBillLadingOwnVO> detailReservationOwn(IPage<Object> page, long id) {
IPage<DistrilbutionBillLadingOwnVO> distrilbutionBillLadingOwnVOIPage = baseMapper.detailReservationOwn(page, id);
distrilbutionBillLadingOwnVOIPage.getRecords().forEach( i ->{
distrilbutionBillLadingOwnVOIPage.getRecords().forEach(i -> {
List<DistributionStockupScanEntity> list = distributionStockupScanService.list(Wrappers.<DistributionStockupScanEntity>query().lambda()
.eq(DistributionStockupScanEntity::getPackageType, '1')
.eq(DistributionStockupScanEntity::getParcelListId, i.getId())
);
i.setStockUp(list.size() > 0 ? "已备货": "未备货");
i.setStockUp(list.size() > 0 ? "已备货" : "未备货");
});
return distrilbutionBillLadingOwnVOIPage;
}
/**
* 提货库存品
*
* @param page
* @param id
* @return
@ -749,28 +762,28 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public IPage<DistrilbutionBillLadingOwnVO> getInventoryOwn(IPage<Object> page, long id) {
IPage<DistrilbutionBillLadingOwnVO> l = new Page<>();
IPage<DistrilbutionBillLadingOwnVO> inventoryOwn = baseMapper.getInventoryOwn(page, id);
if(inventoryOwn.getRecords().size()> 0){
if (inventoryOwn.getRecords().size() > 0) {
//查询库存品
inventoryOwn.getRecords().forEach( i ->{
inventoryOwn.getRecords().forEach(i -> {
//是否备货
List<DistributionStockupScanEntity> list = distributionStockupScanService.list(Wrappers.<DistributionStockupScanEntity>query().lambda()
.eq(DistributionStockupScanEntity::getPackageType, "2")
.eq(DistributionStockupScanEntity::getStockListId, i.getId())
);
String s = "";
if(list.size() > 0 && i.getQuantity() > list.size()){
if (list.size() > 0 && i.getQuantity() > list.size()) {
s = "备货中";
}else if(list.size() > 0 && i.getQuantity() == list.size()){
} else if (list.size() > 0 && i.getQuantity() == list.size()) {
s = "备货完成";
}else{
} else {
s = "未备货";
}
i.setStockUp(s);
i.setNumber(list.size() > 0 ? list.size() : 0);
});
return inventoryOwn;
}else{
return l;
} else {
return l;
}
@ -778,6 +791,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 查询订单
*
* @param page
* @param id
* @return
@ -790,6 +804,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 根据id查询提货的全部数据
*
* @param distrilbutionBillLadingEntity
* @return
*/
@ -806,12 +821,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//查询提货信息
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
.eq(DistrilbutionBillStockEntity::getOrderStatus,"1")
.or( eq ->eq.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()).eq(DistrilbutionBillStockEntity::getOrderStatus,"2"))
.eq(DistrilbutionBillStockEntity::getOrderStatus, "1")
.or(eq -> eq.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()).eq(DistrilbutionBillStockEntity::getOrderStatus, "2"))
);
list.forEach( i ->{
list.forEach(i -> {
List<DistributionStockArticleEntity> list2 = distributionStockArticleService.list(Wrappers.<DistributionStockArticleEntity>query().lambda().eq(DistributionStockArticleEntity::getId, i.getStockArticleId()));
if(list2.size() > 0){
if (list2.size() > 0) {
list1.addAll(DistributionStockArticleWrapper.build().listVO(list2));
}
@ -826,14 +841,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List<DistributionDeliveryDetailsEntity> list3 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
);
if(list3.size() > 0){
list3.forEach( i ->{
if (list3.size() > 0) {
list3.forEach(i -> {
DistributionStockListEntity one = distributionStockListService.getOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(DistributionStockListEntity::getId, i.getStockListId())
);
if(ObjectUtils.isNotNull(one)){
if (ObjectUtils.isNotNull(one)) {
DistributionStockListVO distributionStockListVO = new DistributionStockListVO();
BeanUtils.copyProperties(one,distributionStockListVO);
BeanUtils.copyProperties(one, distributionStockListVO);
distributionStockListVO.setInventoryQuantity(i.getQuantity());
stockListEntities.add(distributionStockListVO);
}
@ -846,6 +861,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 查询自提任务库存品
*
* @param page
* @param distrilbutionBillLading
* @return
@ -854,16 +870,16 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public IPage<DistrilbutionBillLadingAppVO> getInventory(IPage<Object> page, Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingEntity.class);
IPage<DistrilbutionBillLadingAppVO> inventory = baseMapper.getInventory(page, distrilbutionBillLadingEntity);
inventory.getRecords().forEach( i ->{
inventory.getRecords().forEach(i -> {
if(i.getQuantity().equals(i.getDeliveryNum())){
if (i.getQuantity().equals(i.getDeliveryNum())) {
//已备货
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
.eq(DistributionBillLadingScanEntity::getMaterialType, '1')
);
i.setEsauInventoryNum(list.size());
}else{
} else {
//没有备货完成
i.setEsauInventoryNum(-1);
}
@ -874,6 +890,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* pda扫描
*
* @param distrilbutionBillLading
* @return
*/
@ -883,34 +900,34 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Object billLadingId = distrilbutionBillLading.get("id"); //提货ID
Object coding = distrilbutionBillLading.get("coding"); //包条码
Object type = distrilbutionBillLading.get("type"); //类型 2 订单 1 库存品
if(Func.isNull(billLadingId) || Func.isNull(coding ) || Func.isNull(type) ){
return R.fail(3000,"参数不完整,你干啥呢!!");
}else{
if (Func.isNull(billLadingId) || Func.isNull(coding) || Func.isNull(type)) {
return R.fail(3000, "参数不完整,你干啥呢!!");
} else {
//查询是否签收
List<DistributionBillLadingScanEntity> list3 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getMaterialType, type)
.eq(DistributionBillLadingScanEntity::getPacketBarCode, coding)
);
if(list3.size() > 0){
return R.fail(3001,"已签收!");
if (list3.size() > 0) {
return R.fail(3001, "已签收!");
}
//添加扫描记录
DistributionBillLadingScanEntity distributionBillLadingScan = new DistributionBillLadingScanEntity();
distributionBillLadingScan.setMaterialType((String) type);
distributionBillLadingScan.setBillLadingId(Long.parseLong(billLadingId.toString()));
if(type.equals("1")){
if (type.equals("1")) {
//库存品
DistrilbutionBillLadingInventoryAppVO inventoryAppVO = distributionDeliveryDetailsService.listCode(String.valueOf(billLadingId), String.valueOf(coding));
if(ObjectUtils.isNotNull(inventoryAppVO)){
if (ObjectUtils.isNotNull(inventoryAppVO)) {
//查询签收数量
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getMaterialType, "1")
.eq(DistributionBillLadingScanEntity::getStockListId, inventoryAppVO.getStockListId())
);
if(list.size() == inventoryAppVO.getQuantity()+1){
if (list.size() == inventoryAppVO.getQuantity() + 1) {
//修改完成状态
distributionAsyncService.getInventoryOrderSelfPickup(inventoryAppVO.getLdddId());
}
@ -919,25 +936,25 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distributionBillLadingScan.setPacketBarCode((String) coding);
distributionBillLadingScan.setStockListId(inventoryAppVO.getStockListId());
distributionBillLadingScanService.save(distributionBillLadingScan);
}else {
return R.fail(3000,"包件信息不存在");
} else {
return R.fail(3000, "包件信息不存在");
}
}else{
} else {
//查询订单存在吗
List<DistrilbutionBillStockEntity> list= distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
);
if(list.size() < 1){
return R.fail(3000,"当前提货任务,订单不存在!");
}else{
if (list.size() < 1) {
return R.fail(3000, "当前提货任务,订单不存在!");
} else {
AtomicBoolean n = new AtomicBoolean(false);
list.forEach(so ->{
list.forEach(so -> {
//查询包件信息
List<DistributionParcelListEntity> list1 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getStockArticleId, so.getStockArticleId())
.eq(DistributionParcelListEntity::getOrderPackageCode, coding)
);
if(list1.size() > 0){
if (list1.size() > 0) {
n.set(true);
//查询订单包件数量签收的信息
DistributionStockArticleEntity one = distributionStockArticleService.getOne(Wrappers.<DistributionStockArticleEntity>query().lambda()
@ -949,7 +966,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
);
//判断当前签收数
if(one.getTotalNumber().equals(list2.size()+1)){
if (one.getTotalNumber().equals(list2.size() + 1)) {
DistrilbutionBillStockEntity one1 = distrilbutionBillStockService.getOne(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
@ -962,17 +979,17 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//修改包件状态
distributionAsyncService.getSelfPickup(list1.get(0).getId());
distributionBillLadingScan.setParcelListId(list1.get(0).getId());
distributionBillLadingScan.setPacketBarCode(String.valueOf(coding) );
distributionBillLadingScan.setPacketBarCode(String.valueOf(coding));
//订单
distributionBillLadingScan.setStockArticleId(one.getId());
distributionBillLadingScan.setBillLadingId(Long.parseLong((String) billLadingId));
}
});
if(n.get()){
if (n.get()) {
distributionBillLadingScanService.save(distributionBillLadingScan);
}else{
return R.fail(3000,"当前订单,包件不存在!!");
} else {
return R.fail(3000, "当前订单,包件不存在!!");
}
}
@ -986,19 +1003,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
);
long count = list.stream().filter(e -> e.getConditions().equals("2")).count();
long count2 = list1.stream().filter(e -> e.getConditions().equals("2")).count();
if(Integer.parseInt(String.valueOf(count)) == list.size() && Integer.parseInt(String.valueOf(count2)) == list1.size()){
if (Integer.parseInt(String.valueOf(count)) == list.size() && Integer.parseInt(String.valueOf(count2)) == list1.size()) {
//修改提货任务状态
DistrilbutionBillLadingEntity billLadingEntity = new DistrilbutionBillLadingEntity();
billLadingEntity.setId((Long) billLadingId);
billLadingEntity.setConsignee("2");
baseMapper.updateById(billLadingEntity);
}
return R.fail(200,"签收成功");
return R.fail(200, "签收成功");
}
}
/**
* 查询包件
*
* @param page
* @param distrilbutionBillLading
* @return
@ -1007,8 +1025,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public IPage<DistrilbutionBillLadingAppVO> getInventoryNum(IPage<Object> page, Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingEntity.class);
IPage<DistrilbutionBillLadingAppVO> inventory = baseMapper.getInventory(page, distrilbutionBillLadingEntity);
inventory.getRecords().forEach( i ->{
if(i.getQuantity().equals(i.getDeliveryNum())){
inventory.getRecords().forEach(i -> {
if (i.getQuantity().equals(i.getDeliveryNum())) {
//已备货
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
@ -1020,11 +1038,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
.eq(DistributionStockEntity::getType, "2")
);
list1.forEach( di ->{
list1.forEach(di -> {
DistrilbutionAppBillLadingDetailVO billLadingDetailVO = new DistrilbutionAppBillLadingDetailVO();
billLadingDetailVO.setOrderPackageCode(di.getCoding());
billLadingDetailVO.setScanStatus(Integer.parseInt(di.getConditions()));
switch (di.getConditions()){
switch (di.getConditions()) {
case "2":
billLadingDetailVO.setScanStatusStr("待签收");
break;
@ -1035,7 +1053,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
ladingDetailVOS.add(billLadingDetailVO);
});
i.setList(ladingDetailVOS);
}else{
} else {
//没有备货完成
i.setEsauInventoryNum(-1);
}
@ -1045,6 +1063,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 签收
*
* @param ids
* @return
*/
@ -1065,8 +1084,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistrilbutionBillStockEntity::getOrderStatus, "1")
.or(ew -> ew.eq(DistrilbutionBillStockEntity::getBillLadingId, s).eq(DistrilbutionBillStockEntity::getOrderStatus, "2"))
);
if(list.size() > 0){
list.forEach( li ->{
if (list.size() > 0) {
list.forEach(li -> {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
stockArticleEntity.setOrderStatus(OrderStatusConstant.qianshou.getValue());
stockArticleEntity.setId(li.getStockArticleId());
@ -1082,13 +1101,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public DistrilbutionBillLadingVO listNum(Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingDTO billLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingDTO.class);
DistrilbutionBillLadingVO billLadingVO = baseMapper.getBillLadingNum(billLadingEntity); //查询
DistrilbutionBillLadingVO billLadingVO = baseMapper.getBillLadingNum(billLadingEntity); //查询
return billLadingVO;
}
/**
* 查询详细信息
*
* @param id
* @return
*/
@ -1098,4 +1118,52 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return baseMapper.getViewDetailOwn(id);
}
public void saveDistrilbutionBillLading(DistrilbutionBillLadingEntity distrilbutionBillLading) {
this.save(distrilbutionBillLading);
// 创建备货任务
DistributionStockupEntity distributionStockupEntity = buildDistributionStockupEntityBydistrilbutionBillLading(distrilbutionBillLading);
// 保存备货任务
distributionStockupService.save(distributionStockupEntity);
// 创建备货任务的关联
DistributionStockupInfoEntity distributionStockupInfoEntity = new DistributionStockupInfoEntity();
distributionStockupInfoEntity.setStockUpType(StockupTypeConstant.ziti.getValue());
distributionStockupInfoEntity.setReservationId(distrilbutionBillLading.getId());
distributionStockupInfoEntity.setStockupId(distributionStockupEntity.getId());
distributionStockupInfoService.save(distributionStockupInfoEntity);
}
/**
* 根据自提单创建备货任务的实体
*
* @param distrilbutionBillLading
* @return
*/
private DistributionStockupEntity buildDistributionStockupEntityBydistrilbutionBillLading(DistrilbutionBillLadingEntity distrilbutionBillLading) {
DistributionStockupEntity distributionStockupEntity = new DistributionStockupEntity();
distributionStockupEntity.setTypeService("3");
distributionStockupEntity.setStockupDate(distrilbutionBillLading.getPickUpTime());
// 调用方法
distributionStockupEntity.setStockupCode(distributionReservationService.bianMa());
distributionStockupEntity.setStockupStatus(StockupStatusConstant.weibeihuo.getValue());
distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.weizhipai.getValue());
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getWarehouseByDepartment(AuthUtil.getDeptId());
if (ObjectUtils.isNotNull(basicdataWarehouseEntity)){
distributionStockupEntity.setWarehouseId(basicdataWarehouseEntity.getId());
}
//todo 库位 获取自提任务的ID 查询下面的订单 包件 库存品信息 的货位信息
// distributionStockupEntity.setStockipAllocation();
return distributionStockupEntity;
}
}

30
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistributionStockArticleWrapper.java

@ -17,9 +17,11 @@ import java.util.Objects;
*/
public class DistributionStockArticleWrapper extends BaseEntityWrapper<DistributionStockArticleEntity
, DistributionStockArticleVO> {
private IUserClient userCliient = SpringUtil.getBean(IUserClient.class);
public static DistributionStockArticleWrapper build() {
return new DistributionStockArticleWrapper();
}
@ -27,16 +29,11 @@ public class DistributionStockArticleWrapper extends BaseEntityWrapper<Distribut
public DistributionStockArticleVO entityVO(DistributionStockArticleEntity entity) {
DistributionStockArticleVO distributionStockupVO = Objects.requireNonNull(BeanUtil.copy(entity, DistributionStockArticleVO.class));
IUserClient userCliient = SpringUtil.getBean(IUserClient.class);
//计算在库天数
long time1 = entity.getWarehouseEntryTime().getTime(); //入库
long time2 = new Date().getTime(); // 现在
int days = (int) ((time2 - time1) / (1000 * 60 * 60 * 24));
// int hours = (int) ((time2 - time1) / (1000 * 60 * 60));
// int minutes = (int) ((time2 - time1) / (1000 * 60));
// i.setStoreTime(days+"天"+hours+"小时"+minutes+"分钟");
if (days == 0) {
days = 1;
}
@ -49,15 +46,22 @@ public class DistributionStockArticleWrapper extends BaseEntityWrapper<Distribut
distributionStockupVO.setCompleteSetName("是");
break;
}
distributionStockupVO.setTypeServerName(DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE, entity.getTypeService()));
distributionStockupVO.setOrderStatusName(DictBizCache.getValue(DictBizConstant.DELIVERY_ORDER_STATUS, entity.getOrderStatus()));
distributionStockupVO.setGroundingStatusName(DictBizCache.getValue(DictBizConstant.BASIC_GROUNDING, entity.getGroundingStatus()));
distributionStockupVO.setFreezeStatusName(DictBizCache.getValue(DictBizConstant.FREEZE_STATUS,entity.getFreezeStatus()));
distributionStockupVO.setReservationStatusName(DictBizCache.getValue(DictBizConstant.ORDER_RESERVATION_STATUS,entity.getReservationStatus()));
distributionStockupVO.setStockupStatusName(DictBizCache.getValue(DictBizConstant.STOCKUP_STATUS,entity.getStockupStatus()));
distributionStockupVO.setCreateUserName(userCliient.userInfoById(distributionStockupVO.getCreateUser()).getData().getName());
distributionStockupVO.setOrderReceiveStatusName(DictBizCache.getValue(DictBizConstant.ORDER_RECEIVE_STATUS,entity.getOrderReceiveStatus()));
buildVoInfor(distributionStockupVO);
return distributionStockupVO;
}
public DistributionStockArticleVO buildVoInfor(DistributionStockArticleVO distributionStockupVO) {
distributionStockupVO.setTypeServerName(DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE, distributionStockupVO.getTypeService()));
distributionStockupVO.setOrderStatusName(DictBizCache.getValue(DictBizConstant.DELIVERY_ORDER_STATUS, distributionStockupVO.getOrderStatus()));
distributionStockupVO.setGroundingStatusName(DictBizCache.getValue(DictBizConstant.BASIC_GROUNDING, distributionStockupVO.getGroundingStatus()));
distributionStockupVO.setFreezeStatusName(DictBizCache.getValue(DictBizConstant.FREEZE_STATUS, distributionStockupVO.getFreezeStatus()));
distributionStockupVO.setReservationStatusName(DictBizCache.getValue(DictBizConstant.ORDER_RESERVATION_STATUS, distributionStockupVO.getReservationStatus()));
distributionStockupVO.setStockupStatusName(DictBizCache.getValue(DictBizConstant.STOCKUP_STATUS, distributionStockupVO.getStockupStatus()));
distributionStockupVO.setCreateUserName(userCliient.userInfoById(distributionStockupVO.getCreateUser()).getData().getName());
distributionStockupVO.setOrderReceiveStatusName(DictBizCache.getValue(DictBizConstant.ORDER_RECEIVE_STATUS, distributionStockupVO.getOrderReceiveStatus()));
return distributionStockupVO;
}
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistrilbutionBillLadingWrapper.java

@ -26,9 +26,7 @@ public class DistrilbutionBillLadingWrapper extends BaseEntityWrapper<Distrilbut
@Override
public DistrilbutionBillLadingVO entityVO(DistrilbutionBillLadingEntity entity) {
DistrilbutionBillLadingVO distrilbutionBillLadingVO = Objects.requireNonNull(BeanUtil.copy(entity, DistrilbutionBillLadingVO.class));
distrilbutionBillLadingVO.setTypeServiceName(DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE,entity.getStockupStatus()));
distrilbutionBillLadingVO.setAssignStatusName(DictBizCache.getValue(DictBizConstant.STOCK_ALLOCATION,entity.getAssignStatus()));
distrilbutionBillLadingVO.setStockupStatusName(DictBizCache.getValue(DictBizConstant.STOCKUP_STATUS,entity.getStockupStatus()));
return distrilbutionBillLadingVO;
}
}

Loading…
Cancel
Save