|
|
|
@ -21,8 +21,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
|
|
|
|
import com.logpm.basic.feign.IBasicTenantCodeClient; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataClientUserEntity; |
|
|
|
|
import com.logpm.basicdata.service.IBasicdataClientUserService; |
|
|
|
|
import com.logpm.basicdata.service.IBasicdataStorageServicesService; |
|
|
|
|
import com.logpm.distribution.dto.DistributionStockArticleDTO; |
|
|
|
|
import com.logpm.distribution.entity.*; |
|
|
|
|
import com.logpm.distribution.excel.DistributionStockArticleExcel; |
|
|
|
@ -34,11 +38,17 @@ import com.logpm.distribution.vo.DistributionStockArticleVO;
|
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.apache.poi.ss.formula.functions.T; |
|
|
|
|
import org.springblade.common.constant.DictBizConstant; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
|
import org.springblade.system.cache.DictBizCache; |
|
|
|
|
import org.springblade.system.entity.User; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
import wrapper.DistributionStockArticleWrapper; |
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
import java.nio.charset.StandardCharsets; |
|
|
|
@ -72,11 +82,19 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
|
|
|
|
|
private final IBasicTenantCodeClient basicTenantCodeClient; |
|
|
|
|
|
|
|
|
|
private final IBasicdataStorageServicesService basicdataStorageServicesService; |
|
|
|
|
|
|
|
|
|
private final IBasicdataClientUserService basicdataClientUserService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionStockArticleVO> selectDistributionStockArticlePage(IPage<DistributionStockArticleVO> page, DistributionStockArticleVO distributionStockArticle) { |
|
|
|
|
return page.setRecords(baseMapper.selectDistributionStockArticlePage(page, distributionStockArticle)); |
|
|
|
|
List<DistributionStockArticleVO> distributionStockArticleVOS = baseMapper.selectDistributionStockArticlePage(page, distributionStockArticle); |
|
|
|
|
distributionStockArticleVOS.forEach(t->{ |
|
|
|
|
t.setOrderStateName(DictBizCache.getValue(DictBizConstant.DELIVERY_ORDER_STATUS, t.getOrderStatus())); |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
return page.setRecords(distributionStockArticleVOS); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -92,21 +110,21 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
@Override |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public Boolean saveStock(String ids) { |
|
|
|
|
try{ |
|
|
|
|
if(StringUtils.isNotBlank(ids)){ |
|
|
|
|
try { |
|
|
|
|
if (StringUtils.isNotBlank(ids)) { |
|
|
|
|
//查询
|
|
|
|
|
List<DistributionParcelListEntity> list1 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda() |
|
|
|
|
.in(DistributionParcelListEntity::getStockArticleId, ids.split(",")) |
|
|
|
|
); |
|
|
|
|
if(list1.size() > 0){ |
|
|
|
|
list1.forEach( i ->{ |
|
|
|
|
if (list1.size() > 0) { |
|
|
|
|
list1.forEach(i -> { |
|
|
|
|
//查询库存品里面有没有一样的
|
|
|
|
|
// List<DistributionStockListEntity> list = distributionStockListService.list(Wrappers.<DistributionStockListEntity>query().lambda()
|
|
|
|
|
// .eq(DistributionStockListEntity::getServiceNumber,i.getServiceNumber())
|
|
|
|
|
// .eq(DistributionStockListEntity::getMaterial,i.getMaterial())
|
|
|
|
|
// );
|
|
|
|
|
// 添加库存品信息
|
|
|
|
|
addStockList(i,1); |
|
|
|
|
// 添加库存品信息
|
|
|
|
|
addStockList(i, 1); |
|
|
|
|
}); |
|
|
|
|
String[] split = ids.split(","); |
|
|
|
|
for (int i = 0; i < split.length; i++) { |
|
|
|
@ -120,8 +138,8 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
}catch (Exception e){ |
|
|
|
|
log.info("异常",e.getMessage()); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.info("异常", e.getMessage()); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -129,22 +147,22 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
@Override |
|
|
|
|
public R<?> addIncrement(Map<String, Object> addvalueInfo) { |
|
|
|
|
boolean result = false; |
|
|
|
|
if (Func.isNotEmpty(addvalueInfo)){ |
|
|
|
|
if (Func.isNotEmpty(addvalueInfo)) { |
|
|
|
|
String id = (String) addvalueInfo.get("id"); |
|
|
|
|
Integer relatedId = (Integer) addvalueInfo.get("relatedId"); |
|
|
|
|
DistributionDeliveryListEntity distributionDeliveryListEntity = null; |
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity =null; |
|
|
|
|
if (relatedId==2){ |
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = null; |
|
|
|
|
if (relatedId == 2) { |
|
|
|
|
SqlHelper.retBool(distributionAddvalueMapper.deleteAddvalueByDelivery(id)); |
|
|
|
|
distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(Long.parseLong(id)); |
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
SqlHelper.retBool(distributionAddvalueMapper.deleteAddvalueByStockArticle(id)); |
|
|
|
|
distributionStockArticleEntity = baseMapper.selectById(Long.parseLong(id)); |
|
|
|
|
} |
|
|
|
|
// //获取配送单增值服务费用
|
|
|
|
|
if (Func.isNotEmpty(distributionStockArticleEntity) || Func.isNotEmpty(distributionDeliveryListEntity)){ |
|
|
|
|
List<Map<String,Object>> addvalueEntities = (List<Map<String, Object>>) addvalueInfo.get("addvalue"); |
|
|
|
|
if (!Func.isEmpty(addvalueEntities)){ |
|
|
|
|
if (Func.isNotEmpty(distributionStockArticleEntity) || Func.isNotEmpty(distributionDeliveryListEntity)) { |
|
|
|
|
List<Map<String, Object>> addvalueEntities = (List<Map<String, Object>>) addvalueInfo.get("addvalue"); |
|
|
|
|
if (!Func.isEmpty(addvalueEntities)) { |
|
|
|
|
BigDecimal sum = BigDecimal.ZERO; |
|
|
|
|
for (Map<String, Object> addvalueEntityInfo : addvalueEntities) { |
|
|
|
|
//这里需要针对增值服务类型的价格进行查询并且进行累加,这里目前采取使用用户填写的方式
|
|
|
|
@ -153,11 +171,11 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
BigDecimal fee = new BigDecimal(feeStr); |
|
|
|
|
//这里还应该先将原表中的数据进行删除后再进行添加增值服务
|
|
|
|
|
DistributionAddvalueEntity addvalueEntity = Func.copy(addvalueEntityInfo, DistributionAddvalueEntity.class); |
|
|
|
|
if (relatedId==2){ |
|
|
|
|
if (relatedId == 2) { |
|
|
|
|
//设置关联的配送id
|
|
|
|
|
addvalueEntity.setDeliveryId(distributionDeliveryListEntity.getId()); |
|
|
|
|
addvalueEntity.setRelatedId(2); |
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
//设置关联的订单编号
|
|
|
|
|
addvalueEntity.setStockArticleId(distributionStockArticleEntity.getId()); |
|
|
|
|
} |
|
|
|
@ -167,15 +185,15 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
result = distributionAddvalueService.save(addvalueEntity); |
|
|
|
|
} |
|
|
|
|
//TODO 这里就应该对累加的增值服务费用和配送单本身费用进行累加并完成数据修改
|
|
|
|
|
if (relatedId==2){ |
|
|
|
|
if (relatedId == 2) { |
|
|
|
|
distributionDeliveryListEntity.setFee(sum); |
|
|
|
|
result = SqlHelper.retBool(distributionDeliveryListMapper.updateById(distributionDeliveryListEntity)); |
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
distributionStockArticleEntity.setFee(sum); |
|
|
|
|
result = SqlHelper.retBool(this.getBaseMapper().updateById(distributionStockArticleEntity)); |
|
|
|
|
result = SqlHelper.retBool(this.getBaseMapper().updateById(distributionStockArticleEntity)); |
|
|
|
|
} |
|
|
|
|
if (!result){ |
|
|
|
|
log.error("sql执行结果:+{"+result+"}"); |
|
|
|
|
if (!result) { |
|
|
|
|
log.error("sql执行结果:+{" + result + "}"); |
|
|
|
|
return R.fail("服务器正忙,请稍后再试!!!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -186,6 +204,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 把包件转库存品 |
|
|
|
|
* |
|
|
|
|
* @param distributionStockArticleDTO |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
@ -207,12 +226,12 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
List<DistributionStockListEntity> list1 = distributionStockListService.list(Wrappers.<DistributionStockListEntity>query().lambda() |
|
|
|
|
.eq(DistributionStockListEntity::getStockArticleId, distributionStockArticleDTO.getId()) |
|
|
|
|
); |
|
|
|
|
if(list1.size() > 0){ |
|
|
|
|
if (list1.size() > 0) { |
|
|
|
|
//存在
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
//不存在
|
|
|
|
|
addStockList(one,2); |
|
|
|
|
addStockList(one, 2); |
|
|
|
|
} |
|
|
|
|
// String s1 = basicTenantCodeClient.shelfCode(AuthUtil.getTenantId(), "7");
|
|
|
|
|
|
|
|
|
@ -233,15 +252,14 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
}*/ |
|
|
|
|
} |
|
|
|
|
// return distributionStockService.saveBatch(stockEntityList);
|
|
|
|
|
return true; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* |
|
|
|
|
* @param distributionParcelList 包件信息 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public DistributionStockArticleEntity addStockList(DistributionParcelListEntity distributionParcelList,Integer qu){ |
|
|
|
|
public DistributionStockArticleEntity addStockList(DistributionParcelListEntity distributionParcelList, Integer qu) { |
|
|
|
|
//查询在库订单信息
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = baseMapper.selectById(distributionParcelList.getStockArticleId()); |
|
|
|
|
|
|
|
|
@ -253,8 +271,8 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
distributionStockListEntity.setServiceNumber(Optional.ofNullable(distributionStockArticleEntity.getServiceNumber()).orElse(null)); //服务号
|
|
|
|
|
distributionStockListEntity.setDescriptionGoods(Optional.ofNullable(distributionParcelList.getMaterialName()).orElse(null)); //物料名称
|
|
|
|
|
distributionStockListEntity.setCargoNumber(Optional.ofNullable(distributionParcelList.getMaterialCode()).orElse(null)); //物料编号
|
|
|
|
|
distributionStockListEntity.setWarehouseName(Optional.ofNullable(distributionStockArticleEntity.getWarehouse() ).orElse(null)); //仓库
|
|
|
|
|
distributionStockListEntity.setWarehouseId(Optional.ofNullable(distributionStockArticleEntity.getWarehouseId()).orElse(null) ); //仓库ID
|
|
|
|
|
distributionStockListEntity.setWarehouseName(Optional.ofNullable(distributionStockArticleEntity.getWarehouse()).orElse(null)); //仓库
|
|
|
|
|
distributionStockListEntity.setWarehouseId(Optional.ofNullable(distributionStockArticleEntity.getWarehouseId()).orElse(null)); //仓库ID
|
|
|
|
|
distributionStockListEntity.setMarketId(Optional.ofNullable(distributionStockArticleEntity.getMallId()).orElse(null)); //商场
|
|
|
|
|
distributionStockListEntity.setCargoUnit(Optional.ofNullable(distributionParcelList.getMaterialUnit()).orElse(null)); //货物单位
|
|
|
|
|
distributionStockListEntity.setStorageLocation(Optional.ofNullable(distributionParcelList.getGoodsAllocation()).orElse(null)); //库位信息
|
|
|
|
@ -263,7 +281,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
distributionStockListEntity.setOutboundQuantity(0); //出库数量
|
|
|
|
|
distributionStockListEntity.setDespatch(Optional.ofNullable(distributionStockArticleEntity.getTrainNumber()).orElse(null));//车次号
|
|
|
|
|
distributionStockListEntity.setUnit(Optional.ofNullable(distributionParcelList.getMaterialUnit()).orElse(null));//单位
|
|
|
|
|
distributionStockListEntity.setStoreId( Optional.ofNullable(distributionStockArticleEntity.getStoreId()).orElse(null) );//门店ID
|
|
|
|
|
distributionStockListEntity.setStoreId(Optional.ofNullable(distributionStockArticleEntity.getStoreId()).orElse(null));//门店ID
|
|
|
|
|
distributionStockListEntity.setMarketCode(Optional.ofNullable(distributionStockArticleEntity.getMallCode()).orElse(null));//商场编码
|
|
|
|
|
distributionStockListEntity.setMarketName(Optional.ofNullable(distributionStockArticleEntity.getMallName()).orElse(null));//商场名称
|
|
|
|
|
distributionStockListEntity.setStoreCode(Optional.ofNullable(distributionStockArticleEntity.getStoreCode()).orElse(null));//门店编码
|
|
|
|
@ -280,14 +298,14 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public R<List<DistributionStockArticleVO>> getStockArticleInfo(String ids) { |
|
|
|
|
if (Func.isBlank(ids)){ |
|
|
|
|
log.error("参数异常:+["+ids+"]"); |
|
|
|
|
if (Func.isBlank(ids)) { |
|
|
|
|
log.error("参数异常:+[" + ids + "]"); |
|
|
|
|
return R.fail("操作失败!!!"); |
|
|
|
|
} |
|
|
|
|
List<Long> l = Func.toLongList(ids); |
|
|
|
|
List<DistributionStockArticleVO> distributionStockArticleEntityList = new ArrayList<>(); |
|
|
|
|
//这里进行订单查询
|
|
|
|
|
l.forEach(id->{ |
|
|
|
|
l.forEach(id -> { |
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = this.baseMapper.selectById(id); |
|
|
|
|
DistributionStockArticleVO distributionStockArticleVO = Func.copy(distributionStockArticleEntity, DistributionStockArticleVO.class); |
|
|
|
|
distributionStockArticleEntityList.add(distributionStockArticleVO); |
|
|
|
@ -299,12 +317,12 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void addHandQuantity(Long id, int num) { |
|
|
|
|
baseMapper.addHandQuantity(id,num); |
|
|
|
|
baseMapper.addHandQuantity(id, num); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void submitHandQuantity(Integer allNum, Long articleId) { |
|
|
|
|
baseMapper.submitHandQuantity(allNum,articleId); |
|
|
|
|
baseMapper.submitHandQuantity(allNum, articleId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -312,4 +330,12 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return baseMapper.likeOrderSelfNumbering(orderSelfNumbering); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionStockArticleEntity> selectClientListPage(IPage<DistributionStockArticleEntity> page, DistributionStockArticleVO distributionStockArticle) { |
|
|
|
|
// 获取当前登陆人
|
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
List<DistributionStockArticleEntity> result =baseMapper.selectClientListPage(page, distributionStockArticle,user.getUserId()); |
|
|
|
|
return page.setRecords(result); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|