Browse Source

Merge branch 'pre-production'

master
pref_mail@163.com 8 months ago
parent
commit
9de3222da1
  1. 78
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/BillladingWaybillExportVO.java
  2. 17
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadingDetailExportVO.java
  3. 78
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingExportVO.java
  4. 12
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java
  5. 3
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataStoreContactController.java
  6. 3
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicDataClienImporter.java
  7. 12
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataClientExcel.java
  8. 9
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java
  9. 7
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataStoreContactService.java
  10. 100
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java
  11. 14
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataStoreContactServiceImpl.java
  12. 8
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java
  13. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
  14. 27
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java
  15. 97
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/MallOrderController.java
  16. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  17. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java
  18. 278
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  19. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java
  20. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  21. 21
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  22. 70
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  23. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistributionStockArticleWrapper.java
  24. 9
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/service/impl/FactoryNodePushServiceImpl.java
  25. 34
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/BillladingController.java
  26. 35
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java
  27. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java
  28. 66
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml
  29. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.java
  30. 40
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml
  31. 1
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.java
  32. 53
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml
  33. 12
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  34. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java
  35. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java
  36. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingWaybillService.java
  37. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java
  38. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java
  39. 8
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java
  40. 13
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java
  41. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingWaybillServiceImpl.java
  42. 14
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  43. 24
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillPackageServiceImpl.java

78
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/BillladingWaybillExportVO.java

@ -0,0 +1,78 @@
package com.logpm.trunkline.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class BillladingWaybillExportVO implements Serializable {
@ExcelProperty(value = "提货批次")
private String billadingCode;
@ExcelProperty(value = "运单号")
private String waybillNo;
@ExcelProperty(value = "开单时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date openOrderTime;
@ExcelProperty(value = "货物名称")
private String goodsName;
@ExcelProperty(value = "扫描件数")
private Integer scanNum;
@ExcelProperty(value = "提货件数")
private Integer realNum;
@ExcelProperty(value = "提货重量")
private BigDecimal realWeight;
@ExcelProperty(value = "提货体积")
private BigDecimal realVolume;
@ExcelProperty(value = "到站")
private String destination;
@ExcelProperty(value = "目的仓")
private String destinationWarehouseName;
@ExcelProperty(value = "发货人")
private String shipperName;
@ExcelProperty(value = "发货单位")
private String shipper;
@ExcelProperty(value = "发货手机")
private String shipperMobile;
@ExcelProperty(value = "收货人")
private String consigneeName;
@ExcelProperty(value = "收货单位")
private String consignee;
@ExcelProperty(value = "收货电话")
private String consigneeMobile;
@ExcelProperty(value = "收货地址")
private String consigneeAddress;
@ExcelProperty(value = "备注")
private String remark;
@ExcelProperty(value = "支付方式")
private BigDecimal collectPay;
@ExcelProperty(value = "提货费用")
private BigDecimal billladingFee;
@ExcelProperty(value = "运输费用")
private BigDecimal totalFreight;
}

17
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadingDetailExportVO.java

@ -34,6 +34,9 @@ public class LoadingDetailExportVO implements Serializable {
@ExcelProperty(value = "装卸状态")
private String scanStatus;
@ExcelProperty(value = "运单目的仓")
private String destinationWarehouseName;
@ExcelProperty(value = "托盘名称")
private String trayName;
@ -46,12 +49,19 @@ public class LoadingDetailExportVO implements Serializable {
@ExcelProperty(value = "卸车人")
private String unloadUserName;
@ExcelProperty(value = "卸车时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date unloadTime;
@ExcelProperty(value = "类型")
private String type;
@ExcelProperty(value = "数量")
private String num;
@ExcelProperty(value = "卸车数")
private String unloadNum;
@ExcelProperty(value = "有无数据")
private String isData;
@ -68,8 +78,11 @@ public class LoadingDetailExportVO implements Serializable {
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date loadingTime;
@ExcelProperty(value = "卸车时间")
@ExcelProperty(value = "签收人")
private String signUserName;
@ExcelProperty(value = "签收时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date unloadTime;
private Date signTime;
}

78
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineBillladingExportVO.java

@ -0,0 +1,78 @@
package com.logpm.trunkline.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class TrunklineBillladingExportVO implements Serializable {
@ExcelProperty(value = "提货批次")
private String billladingCode ;
@ExcelProperty(value = "车牌号")
private String carNumber ;
@ExcelProperty(value = "司机名称")
private String driverName ;
@ExcelProperty(value = "司机电话")
private String driverPhone ;
@ExcelProperty(value = "仓库名称")
private String warehouseName ;
@ExcelProperty(value = "线路名称")
private String lineNameTitle ;
@ExcelProperty(value = "提货开始时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime ;
@ExcelProperty(value = "提货完成时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime ;
@ExcelProperty(value = "状态")
private String billladingStatus ;
@ExcelProperty(value = "计费模式")
private String chargeType ;
@ExcelProperty(value = "提货费用")
private BigDecimal totalFee ;
@ExcelProperty(value = "备注")
private String remark ;
@ExcelProperty(value = "承运商")
private String carrierName ;
@ExcelProperty(value = "单数")
private Integer orderNum;
@ExcelProperty(value = "件数")
private Integer realNum;
@ExcelProperty(value = "预计件数")
private Integer planNum ;
@ExcelProperty(value = "重量")
private BigDecimal realWeight ;
@ExcelProperty(value = "计划重量")
private BigDecimal planWeight ;
@ExcelProperty(value = "体积")
private BigDecimal realVolume ;
@ExcelProperty(value = "计划体积")
private BigDecimal planVolume ;
@ExcelProperty(value = "创建人")
private String createUserName ;
}

12
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java

@ -245,4 +245,16 @@ public class BasicdataClientController extends BladeController {
return R.success("操作成功");
}
/**
* 校验导入数据
*/
@PostMapping("/checkImportBasicDataClient")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导入数据", notes = "传入basicDataClient")
public R checkImportBasicDataClient(MultipartFile file) {
R r = basicdataClientService.checkImportBasicDataClient(file);
return r;
}
}

3
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataStoreContactController.java

@ -123,7 +123,8 @@ public class BasicdataStoreContactController extends BladeController {
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入basicdataStoreContact")
public R submit(@Valid @RequestBody BasicdataStoreContactEntity basicdataStoreContact) {
return R.status(basicdataStoreContactService.saveOrUpdate(basicdataStoreContact));
return R.status(basicdataStoreContactService.saveOrUpdateBasicdataStoreContact(basicdataStoreContact));
}
/**

3
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicDataClienImporter.java

@ -18,4 +18,7 @@ public class BasicDataClienImporter implements ExcelImporter<BasicdataClientExc
service.importClient(data, isCovered);
}
}

12
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataClientExcel.java

@ -48,12 +48,12 @@ public class BasicdataClientExcel implements Serializable {
@ColumnWidth(20)
@ExcelProperty("客户名称")
private String clientName;
/**
* 客户编码
*/
@ColumnWidth(20)
@ExcelProperty("客户编码")
private String clientCode;
// /**
// * 客户编码
// */
// @ColumnWidth(20)
// @ExcelProperty("客户编码")
// private String clientCode;
/**
* 服务类型 暂无用
*/

9
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java

@ -25,6 +25,8 @@ import com.logpm.basicdata.excel.BasicdataClientExcel;
import com.logpm.basicdata.vo.BasicdataClientVO;
import org.springblade.common.model.dto.NameDTO;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springframework.web.multipart.MultipartFile;
import java.security.NoSuchAlgorithmException;
import java.util.List;
@ -123,4 +125,11 @@ public interface IBasicdataClientService extends BaseService<BasicdataClientEnti
* @return
*/
boolean saveClient(BasicdataClientEntity basicdataClient);
/**
* 校验客户上传是否成功
* @param file
* @return
*/
R checkImportBasicDataClient(MultipartFile file);
}

7
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataStoreContactService.java

@ -61,4 +61,11 @@ public interface IBasicdataStoreContactService extends BaseService<BasicdataStor
*/
IPage<BasicdataStoreContactVO> pageList(IPage<BasicdataStoreContactEntity> page, Map<String, Object> basicdataStoreContact);
/**
* 修改客户联系人
* @param basicdataStoreContact
* @return
*/
boolean saveOrUpdateBasicdataStoreContact(BasicdataStoreContactEntity basicdataStoreContact);
}

100
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java

@ -56,20 +56,25 @@ import org.springblade.common.constant.RedisKeyConstant;
import org.springblade.common.constant.basiccode.BasicCodeShowConstant;
import org.springblade.common.constant.basiccode.BasicCodeTypeConstant;
import org.springblade.common.model.dto.NameDTO;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.redis.cache.BladeRedis;
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.BeanUtil;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.DictBiz;
import org.springblade.system.feign.IUserClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.security.NoSuchAlgorithmException;
import java.util.*;
import java.util.stream.Collectors;
@ -206,7 +211,7 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
}
//添加
boolean save = this.save(basicdataClient);
if (save){
if (save) {
//进行redis的设置
redis.set(RedisKeyConstant.FINAL_CLIENT_CODE + AuthUtil.getTenantId(), basicdataClient.getClientCode());
}
@ -372,23 +377,29 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
// 处理下空格 换行
i.setClientName(i.getClientName().trim());
i.setClientCode(i.getClientCode().trim());
// i.setClientCode(i.getClientCode().trim());
log.info("导入数据《》《》{}", i);
if (set.isEmpty()) {
set.add(i.getClientCode());
} else {
boolean b = set.stream().anyMatch(a -> a.equals(i.getClientCode()));
if (b) {
continue;
}
}
if (ObjectUtils.isNull(i.getClientCode()) || ObjectUtils.isNull(i.getClientName())) {
// if (set.isEmpty()) {
// set.add(i.getClientCode());
// } else {
// boolean b = set.stream().anyMatch(a -> a.equals(i.getClientCode()));
// if (b) {
// continue;
// }
// }
// if (ObjectUtils.isNull(i.getClientCode()) || ObjectUtils.isNull(i.getClientName())) {
// throw new ServiceException("客户编码或客户名称不能为空!");
// }
if (ObjectUtils.isNull(i.getClientName())) {
throw new ServiceException("客户编码或客户名称不能为空!");
}
BasicdataClientEntity basicdataClient = new BasicdataClientEntity();
BeanUtil.copyProperties(i, basicdataClient);
//系统生成码值
String finallyClientCode = this.getFinallyClientCode();
basicdataClient.setClientCode(finallyClientCode);
//将这个最新的防止缓存中
log.info(">>>>>> basicdataClient.getClientCode() {}", basicdataClient.getClientCode());
//查询客户编码和客户名称是否存在
@ -404,8 +415,7 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
});
if (b) {
List<BasicdataClientEntity> basicdataClientEntities = basicdataClients.stream().filter(ii -> ii.getClientCode().equals(basicdataClient.getClientCode())
|| ii.getClientName().equals(basicdataClient.getClientName())).collect(Collectors.toList());
List<BasicdataClientEntity> basicdataClientEntities = basicdataClients.stream().filter(ii -> ii.getClientName().equals(basicdataClient.getClientName())).collect(Collectors.toList());
log.info("###############basicdataClientEntities重复客户:{}", basicdataClientEntities);
throw new ServiceException("客户编码或客户名称已存在");
}
@ -413,8 +423,10 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
Optional<DictBiz> clientFirst = clientBiz.stream().filter(ii -> ii.getDictValue().equals(i.getClientType())).findFirst();
// i.setTypeService(first.get().getDictValue());
basicdataClient.setClientType(clientFirst.get().getDictKey());
//查询是不是重复
List<BasicdataClientEntity> basicdataClientEntities = baseMapper.selectList(Wrappers.<BasicdataClientEntity>query().lambda().eq(BasicdataClientEntity::getClientCode, i.getClientCode()));
//查询客户名称是不是重复
List<BasicdataClientEntity> basicdataClientEntities = baseMapper.selectList(Wrappers.<BasicdataClientEntity>query().lambda()
.eq(BasicdataClientEntity::getClientName, i.getClientName())
);
if (basicdataClientEntities.isEmpty()) {
BladeUser user = AuthUtil.getUser();
basicdataClient.setPid(0L);
@ -430,6 +442,7 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
basicdataClient.setDefaultPaymentMethods(keyValue);
baseMapper.insert(basicdataClient);
redis.set(RedisKeyConstant.FINAL_CLIENT_CODE + AuthUtil.getTenantId(), basicdataClient.getClientCode());
if (ObjectUtils.isNull(basicdataClient.getId())) {
throw new ServiceException("客户ID不存在");
}
@ -486,6 +499,7 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
storeContactEntity.setShopId(basicdataClient.getId());
storeContactEntity.setPhone(i.getPhone());
storeContactEntity.setLinkman(i.getLinkman());
storeContactEntity.setDefaultType(true);
storeContactEntities.add(storeContactEntity);
}
@ -678,21 +692,21 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
@Override
public String getFinallyClientCode() {
String tenantCode ="HT";
String tenantCode = "HT";
BasicTenantCodeEntity basicTenantCodeByCodeAndShowType = basicTenantCodeClient.findBasicTenantCodeByCodeAndShowType(BasicCodeTypeConstant.CLIENT_CODE.getValue(), BasicCodeShowConstant.QR_CODE.getValue());
if (ObjectUtils.isNull(basicTenantCodeByCodeAndShowType)) {
log.error("获取货区码失败");
}else{
} else {
tenantCode = basicTenantCodeByCodeAndShowType.getCode();
}
String finaClientCode = redis.get(RedisKeyConstant.FINAL_CLIENT_CODE + AuthUtil.getTenantId());
if (StringUtils.isBlank(finaClientCode)) {
List<String> str = baseMapper.getFinallyClientCode(tenantCode);
if(!str.isEmpty()){
if (!str.isEmpty()) {
finaClientCode = str.get(0);
}else{
finaClientCode =tenantCode+"0000000";
} else {
finaClientCode = tenantCode + "0000000";
}
redis.set(RedisKeyConstant.FINAL_CLIENT_CODE + AuthUtil.getTenantId(), finaClientCode);
@ -706,12 +720,54 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
@Override
public boolean saveClient(BasicdataClientEntity basicdataClient) {
boolean save = this.save(basicdataClient);
if (save){
if (save) {
//进行redis的设置
redis.set(RedisKeyConstant.FINAL_CLIENT_CODE + AuthUtil.getTenantId(), basicdataClient.getClientCode());
}
return true;
}
@Override
public R checkImportBasicDataClient(MultipartFile file) {
List<BasicdataClientExcel> clientExcels = ExcelUtil.read(file, BasicdataClientExcel.class);
if (!clientExcels.isEmpty()) {
log.info("客户导入数据");
//查询仓库信息
QueryWrapper<BasicdataClientEntity> queryWrapper = new QueryWrapper<>();
List<BasicdataClientEntity> basicdataClients = baseMapper.selectList(queryWrapper);
LambdaQueryWrapper<BasicdataBrandEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(BasicdataBrandEntity::getIsDeleted, 0);
List<BasicdataBrandEntity> basicdataBrandEntityList = basicdataBrandService.list(lambdaQueryWrapper);
for (BasicdataClientExcel data : clientExcels) {
if (!basicdataClients.isEmpty()) {
//查询客户编码和客户名称是否存在
boolean b = basicdataClients.stream().anyMatch(ii -> {
if (ii.getClientName() != null && !ii.getClientName().isEmpty()) {
return ii.getClientName().equals(data.getClientName().trim());
}
return false;
});
if (b) {
String repeatClientName = basicdataClients.stream().filter(ii -> ii.getClientName().equals(data.getClientName())).map(BasicdataClientEntity::getClientName).collect(Collectors.joining(","));
return R.fail(repeatClientName+"客户名称已存在");
}
}
//添加品牌
if (ObjectUtils.isNotNull(data.getBrandName())) {
String[] ars = data.getBrandName().split(",");
for (String ar : ars) {
BasicdataBrandEntity one = matchBasicdataBrandEntityListValue(basicdataBrandEntityList, ar);
if (ObjectUtils.isNull(one)) {
return R.fail(data.getClientName()+"品牌信息不存在");
}
}
}
}
}
return R.success("校验成功");
}
}

14
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataStoreContactServiceImpl.java

@ -107,4 +107,18 @@ public class BasicdataStoreContactServiceImpl extends BaseServiceImpl<BasicdataS
return baseMapper.pageList(page,basicdataStoreContact);
}
@Override
public boolean saveOrUpdateBasicdataStoreContact(BasicdataStoreContactEntity basicdataStoreContact) {
//进行客户列表的联系人修改
Long shopId = basicdataStoreContact.getShopId();
if (basicdataStoreContact.getDefaultType()){
BasicdataClientEntity basicdataClientEntity = new BasicdataClientEntity();
basicdataClientEntity.setId(shopId);
basicdataClientEntity.setLinkman(basicdataStoreContact.getLinkman());
basicdataClientEntity.setPhone(basicdataStoreContact.getPhone());
basicdataClientService.updateById(basicdataClientEntity);
}
return this.saveOrUpdate(basicdataStoreContact);
}
}

8
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java

@ -200,9 +200,17 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
if (basicdataStorageServicesEntities != null && !basicdataStorageServicesEntities.isEmpty()) {
results = new ArrayList<>();
for (BasicdataStorageServicesEntity basicdataStorageServicesEntity : basicdataStorageServicesEntities) {
BasicdataWarehouseEntity basicdataWarehouseEntity = new BasicdataWarehouseEntity();
basicdataWarehouseEntity.setId(basicdataStorageServicesEntity.getServeWarehouseId());
basicdataWarehouseEntity.setName(basicdataStorageServicesEntity.getServeWarehouseName());
// 判断当前的集合中 这个仓库ID是否存在
if (results.stream().anyMatch(r -> r.getId().equals(basicdataStorageServicesEntity.getServeWarehouseId()))) {
continue;
}
results.add(basicdataWarehouseEntity);
}
}

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

@ -345,6 +345,8 @@ public class DistributionSignforController extends BladeController {
distributionDeliveryListService.maintenanceDeliveryInfo(distributionSignfor.getDeliveryId());
DistributionSignforDTO distributionSignforDTO = new DistributionSignforDTO();
distributionSignforDTO.setId(distributionSignfor.getId());
distributionSignforDTO.setClerkSignRemarks(distributionSignfor.getClerkSignRemarks());
distributionSignforDTO.setMap(distributionSignfor.getMap());
distributionSignforService.updateSign(distributionSignforDTO);
distributionStockupInfoService.maintenanceStockUp(distributionSignfor.getReservationId(),1);
}

27
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java

@ -266,32 +266,7 @@ public class DistributionStockArticleController extends BladeController {
/**
* 配送在库订单--客户版本 分页
*/
@GetMapping("/clientList")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入distributionStockArticle")
public R<IPage<DistributionStockArticleVO>> clientList(@ApiIgnore DistributionStockArticleVO distributionStockArticle, Query query) {
// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
// if (Func.isEmpty(myCurrentWarehouse)){
// return R.fail("无仓库信息!!!");
// }
//获取当前登录人仓库
// List<BasicdataWarehouseEntity> myWatchWarehouse = warehouseClient.getMyWatchWarehouse();
// List<Long> collect = myWatchWarehouse.stream()
// .map(BasicdataWarehouseEntity::getId)
// .collect(Collectors.toList());
// distributionStockArticle.setWarehouseIdList(collect);
// 得到当前登录用户的Id
List<BasicdataClientUserEntity> basicdataClientUserEntityListByUserIds = basicdataClientClient.getBasicdataClientUserEntityListByUserId(AuthUtil.getUserId());
List clientIds = null;
if (Func.isNotEmpty(basicdataClientUserEntityListByUserIds)) {
clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList());
distributionStockArticle.setClientIds(clientIds);
} else {
return null;
}
IPage<DistributionStockArticleEntity> pages = distributionStockArticleService.selectClientListPage(Condition.getPage(query), distributionStockArticle);
return R.data(DistributionStockArticleWrapper.build().pageVO(pages));
}
/**

97
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/MallOrderController.java

@ -0,0 +1,97 @@
package com.logpm.distribution.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.basicdata.entity.BasicdataClientUserEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.distribution.excel.DistributionStockArticleExcel;
import com.logpm.distribution.service.IDistributionStockArticleService;
import com.logpm.distribution.vo.DistributionStockArticleVO;
import com.logpm.distribution.wrapper.DistributionStockArticleWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
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.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 商家订单控制器
* @date 2019/07/01
* @author pref
*/
@RestController
@Slf4j
@AllArgsConstructor
@RequestMapping("/maill")
@Api(value = "商场在库订单", tags = "配送在库订单接口")
public class MallOrderController extends BladeController {
private final IDistributionStockArticleService distributionStockArticleService;
private final IBasicdataClientClient basicdataClientClient;
private IBasicdataWarehouseClient warehouseClient;
@GetMapping("/clientList")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入distributionStockArticle")
public R<IPage<DistributionStockArticleVO>> clientList(@ApiIgnore DistributionStockArticleVO distributionStockArticle, Query query) {
try {
// 得到当前登录用户的Id
List<BasicdataClientUserEntity> basicdataClientUserEntityListByUserIds = basicdataClientClient.getBasicdataClientUserEntityListByUserId(AuthUtil.getUserId());
List clientIds = null;
if (Func.isNotEmpty(basicdataClientUserEntityListByUserIds)) {
clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList());
distributionStockArticle.setClientIds(clientIds);
} else {
return null;
}
IPage<DistributionStockArticleEntity> pages = distributionStockArticleService.selectClientListPage(Condition.getPage(query), distributionStockArticle);
return R.data(DistributionStockArticleWrapper.build().pageVO(pages));
}catch (Exception e){
log.error("商场订单列表查询",e);
}
return R.fail("服务器异常");
}
/**
* 导出数据
*/
@GetMapping("/export-maillOrder")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出已签订单数据", notes = "传入distributionStockArticle")
public void exportMaillOrder(@ApiIgnore @RequestParam Map<String, Object> paramMap, BladeUser bladeUser, HttpServletResponse response) {
List<BasicdataClientUserEntity> basicdataClientUserEntityListByUserIds = basicdataClientClient.getBasicdataClientUserEntityListByUserId(AuthUtil.getUserId());
List clientIds = null;
if (Func.isNotEmpty(basicdataClientUserEntityListByUserIds)) {
clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList());
paramMap.put("clientIds",clientIds);
} else {
return ;
}
List<DistributionStockArticleExcel> list = distributionStockArticleService.exportMallOrder(paramMap);
ExcelUtil.export(response, "商场在库订单明细" + DateUtil.time(), "商场在库订单明细", list, DistributionStockArticleExcel.class);
}
}

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml

@ -600,7 +600,7 @@
<select id="selectBycommercialNub" resultType="java.lang.Integer">
SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_delivery_list lddl
<where>
lddl.type = '1' AND lddl.customers_number > 0
lddl.type = '1' AND lddl.customers_number > 0 AND lddl.is_deleted = 0
<if test="param.trainNumber != null and param.trainNumber!=''">
and lddl.train_number like concat('%',#{param.trainNumber},'%')
</if>
@ -645,7 +645,7 @@
logpm_distribution_delivery_list lddl join logpm_distribution_signfor lds on lddl.id = lds.delivery_id
join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id
<where>
lddl.type = '1'
lddl.type = '1' AND lddl.is_deleted = 0 AND lddl.customers_number > 0
<if test="param.trainNumber != null and param.trainNumber!=''">
and lddl.train_number like concat('%',#{param.trainNumber},'%')
</if>
@ -687,7 +687,7 @@
<select id="selectmarketNub" resultType="java.lang.Integer">
SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_delivery_list lddl
<where>
lddl.type = '2'
lddl.type = '2' AND lddl.is_deleted = 0 AND lddl.customers_number > 0
<if test="param.trainNumber != null and param.trainNumber!=''">
and lddl.train_number like concat('%',#{param.trainNumber},'%')
</if>

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

@ -68,7 +68,7 @@ public interface DistributionStockArticleMapper extends BaseMapper<DistributionS
* @param distributionStockArticleVO
* @return
*/
List<DistributionStockArticleEntity> selectClientListPage(IPage page, DistributionStockArticleVO distributionStockArticleVO);
List<DistributionStockArticleEntity> selectClientListPage(IPage page, DistributionStockArticleVO distributionStockArticleVO,@Param("warehouseIds") List<Long> warehouseIds);
List<DistributionStockArticleEntity> getAllReservationStockArticleInfo(@Param("ew") Map<String,Object> query);
@ -220,4 +220,10 @@ public interface DistributionStockArticleMapper extends BaseMapper<DistributionS
void clearAllocationByIds(@Param("ids") List<Long> clearAllocationStockArticleIdList);
/**
* 商家端订单导出
* @param paramMap
* @return
*/
List<DistributionStockArticleEntity> exportMallOrder(@Param("param") Map<String, Object> paramMap);
}

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

@ -50,6 +50,88 @@
<!-- <result column="reservation_num" property="reservationNum"/>-->
</resultMap>
<sql id="selectOrderList">
select ldsa.id,
ldsa.tenant_id,
ldsa.create_user,
ldsa.create_time,
ldsa.update_user,
ldsa.update_time,
ldsa.status,
ldsa.is_deleted,
ldsa.create_dept,
ldsa.incoming_num,
ldsa.service_number,
ldsa.order_code,
ldsa.mall_id,
ldsa.mall_code,
ldsa.mall_name,
ldsa.store_name,
ldsa.store_code,
ldsa.store_id,
ldsa.description_goods,
ldsa.warehouse_id,
ldsa.warehouse,
ldsa.warehouse_entry_time,
ldsa.store_time,
ldsa.total_number,
ldsa.hand_quantity,
ldsa.complete_set,
ldsa.brand,
ldsa.type_service,
ldsa.customer_name,
ldsa.customer_telephone,
ldsa.customer_address,
ldsa.genre,
ldsa.stockup_status,
ldsa.reservation_status,
ldsa.order_status,
ldsa.grounding_status,
ldsa.order_receive_status,
ldsa.freeze_status,
ldsa.notification,
ldsa.fee,
ldsa.rate,
ldsa.advance_id,
ldsa.waybill_id,
ldsa.waybill_number AS waybillNumber,
ldsa.consignee_unit,
ldsa.collect_fee,
ldsa.storage_fee,
ldsa.consignee_person,
ldsa.consignee_address,
ldsa.consignee_mobile,
ldsa.warehouse_entry_time_end,
ldsa.sorting_quantity,
ldsa.delivery_quantity,
ldsa.transfer_quantity,
ldsa.signin_quantity,
ldsa.resource,
ldsa.is_opai,
ldsa.inventory_date,
ldsa.inventory_person,
ldsa.inventory_person_id,
ldsa.available_quantity,
ldsa.is_have_data,
ldsa.stock_article_code,
group_concat(DISTINCT ldpl.dealer_name) as dealerName,
ldsa.dealer_code,
ldsa.train_number,
ldsa.factory_train,
ldsa.sending,
ldsa.send_warehouse_id,
ldsa.send_warehouse_name,
ldsa.is_zero,
ldsa.accept_warehouse_id,
ldsa.accept_warehouse_name,
ldsa.order_delivery_status,
group_concat(DISTINCT ldpl.pallet ) as trays,
group_concat(DISTINCT ldpl.goods_allocation) as allocation
from logpm_distribution_stock_article ldsa
left join logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id
</sql>
<select id="selectDistributionStockArticlePage" resultMap="distributionStockArticleResultMap">
select *
@ -85,9 +167,40 @@
<select id="selectClientListPage" resultMap="distributionStockArticleResultMap">
SELECT * from logpm_distribution_stock_article ldsa where
ldsa.is_deleted = 0 and ldsa.type_service ='2' and ldsa.genre = '1' and ldsa.reservation_status in ('10','20')
and ldsa.order_status in ('10','20','30','70')
select ldsa.id, ldsa.tenant_id,
ldsa.create_user,
ldsa.create_time,
ldsa.update_user,
ldsa.update_time,
ldsa.incoming_num AS incomingNum,
ldsa.status, ldsa.is_deleted, ldsa.create_dept,
ldsa.reserve1, ldsa.reserve2, ldsa.reserve3, ldsa.reserve4, ldsa.reserve5,
ldsa.service_number, ldsa.order_code,
ldsa.mall_id, ldsa.mall_code, ldsa.mall_name, ldsa.store_name,
ldsa.store_code, ldsa.store_id, ldsa.description_goods, ldsa.warehouse_id,
ldsa.warehouse, ldsa.warehouse_entry_time, ldsa.store_time, ldsa.total_number, ldsa.hand_quantity,
ldsa.complete_set, ldsa.brand, ldsa.type_service, ldsa.customer_name, ldsa.customer_telephone,
ldsa.customer_address, ldsa.genre,
ldsa.stockup_status, ldsa.reservation_status, ldsa.order_status, ldsa.grounding_status,
ldsa.order_receive_status,
ldsa.freeze_status, ldsa.notification, ldsa.fee, ldsa.rate, ldsa.advance_id, ldsa.waybill_id,
GROUP_CONCAT( DISTINCT ldpl.waybill_number ) waybill_number,
ldsa.consignee_unit, ldsa.collect_fee, ldsa.storage_fee, ldsa.consignee_person, ldsa.consignee_address,
ldsa.consignee_mobile, ldsa.warehouse_entry_time_end,
ldsa.sorting_quantity, ldsa.delivery_quantity, ldsa.transfer_quantity,
ldsa.signin_quantity, ldsa.resource, ldsa.is_opai,
ldsa.inventory_date, ldsa.inventory_person, ldsa.inventory_person_id,
ldsa.available_quantity, ldsa.is_have_data, ldsa.stock_article_code, GROUP_CONCAT( DISTINCT ldpl.dealer_name )
dealerName, ldsa.dealer_code,
ldsa.train_number, ldsa.factory_train, ldsa.sending, ldsa.send_warehouse_id, ldsa.send_warehouse_name,
ldsa.is_zero, ldsa.accept_warehouse_id, ldsa.accept_warehouse_name, ldsa.order_delivery_status,
ldsa.trays trays,
ldsa.allocation allocation
from logpm_distribution_stock_article ldsa
LEFT JOIN logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id
<where>
ldsa.is_deleted = 0 and ldsa.hand_quantity > 0 and ldsa.order_status in ('10','20','30','40','50','60','70')
and ldsa.genre = '1' and ldsa.type_service='2'
<if test="distributionStockArticleVO.orderCode!=null and distributionStockArticleVO.orderCode !=''">
and ldsa.order_code like concat(#{distributionStockArticleVO.orderCode},'%')
</if>
@ -97,12 +210,12 @@
<if test="distributionStockArticleVO.reservationStatus != null and distributionStockArticleVO.reservationStatus != ''">
and ldsa.reservation_status = #{distributionStockArticleVO.reservationStatus}
</if>
<!-- <if test="distributionStockArticleVO.warehouseIdList != null and @org.apache.commons.collections4.CollectionUtils@isNotEmpty(distributionStockArticleVO.warehouseIdList)">-->
<!-- and ldsa.warehouse_id in-->
<!-- <foreach collection="distributionStockArticleVO.warehouseIdList" item="item" open="(" close=")" separator=",">-->
<!-- #{item}-->
<!-- </foreach>-->
<!-- </if>-->
<if test="warehouseIds != null">
and ldsa.warehouse_id in
<foreach collection="warehouseIds" item="warehouseId" open="(" separator="," close=")">
#{warehouseId}
</foreach>
</if>
<if test="distributionStockArticleVO.orderStatus != null and distributionStockArticleVO.orderStatus != ''">
and ldsa.order_status = #{distributionStockArticleVO.orderStatus}
</if>
@ -145,7 +258,7 @@
and ldsa.waybill_number like concat('%',#{distributionStockArticleVO.waybillNumber},'%')
</if>
<if test="distributionStockArticleVO.totalNumber != null and distributionStockArticleVO.totalNumber != ''">
<if test="distributionStockArticleVO.totalNumber != null ">
and ldsa.total_number = #{distributionStockArticleVO.totalNumber}
</if>
@ -153,13 +266,16 @@
and ldsa.hand_quantity = #{distributionStockArticleVO.handQuantity}
</if>
<if test="distributionStockArticleVO.clientIds != null and distributionStockArticleVO.handQuantity != ''">
<if test="distributionStockArticleVO.clientIds != null ">
and ldsa.mall_id in
<foreach collection="distributionStockArticleVO.clientIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
group by ldsa.id
</select>
@ -795,11 +911,6 @@
ldsa.is_deleted,
ldsa.create_dept,
ldsa.incoming_num,
ldsa.reserve1,
ldsa.reserve2,
ldsa.reserve3,
ldsa.reserve4,
ldsa.reserve5,
ldsa.service_number,
ldsa.order_code,
ldsa.mall_id,
@ -864,14 +975,11 @@
ldsa.accept_warehouse_id,
ldsa.accept_warehouse_name,
ldsa.order_delivery_status,
group_concat(DISTINCT lwt.pallet_name) as trays,
group_concat(DISTINCT lwug.position_code) as allocation
group_concat(DISTINCT ldpl.pallet ) as trays,
group_concat(DISTINCT ldpl.goods_allocation) as allocation
from logpm_distribution_stock_article ldsa
left join logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id
left join logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id
left join 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 IN ( '10', '20', '30', '40', '50', '60', '70' )
and ldsa.hand_quantity > 0
@ -1780,6 +1888,134 @@
AND ldbs.order_status != 2
GROUP BY ldbs.bill_lading_id
</select>
<select id="exportMallOrder" resultType="com.logpm.distribution.entity.DistributionStockArticleEntity">
select ldsa.id,
ldsa.tenant_id,
ldsa.create_user,
ldsa.create_time,
ldsa.update_user,
ldsa.update_time,
ldsa.status,
ldsa.is_deleted,
ldsa.create_dept,
ldsa.incoming_num,
ldsa.service_number,
ldsa.order_code,
ldsa.mall_id,
ldsa.mall_code,
ldsa.mall_name,
ldsa.store_name,
ldsa.store_code,
ldsa.store_id,
ldsa.description_goods,
ldsa.warehouse_id,
ldsa.warehouse,
ldsa.warehouse_entry_time,
ldsa.store_time,
ldsa.total_number,
ldsa.hand_quantity,
ldsa.complete_set,
ldsa.brand,
ldsa.type_service,
ldsa.customer_name,
ldsa.customer_telephone,
ldsa.customer_address,
ldsa.genre,
ldsa.stockup_status,
ldsa.reservation_status,
ldsa.order_status,
ldsa.grounding_status,
ldsa.order_receive_status,
ldsa.freeze_status,
ldsa.notification,
ldsa.fee,
ldsa.rate,
ldsa.advance_id,
ldsa.waybill_id,
ldsa.waybill_number AS waybillNumber,
ldsa.consignee_unit,
ldsa.collect_fee,
ldsa.storage_fee,
ldsa.consignee_person,
ldsa.consignee_address,
ldsa.consignee_mobile,
ldsa.warehouse_entry_time_end,
ldsa.sorting_quantity,
ldsa.delivery_quantity,
ldsa.transfer_quantity,
ldsa.signin_quantity,
ldsa.resource,
ldsa.is_opai,
ldsa.inventory_date,
ldsa.inventory_person,
ldsa.inventory_person_id,
ldsa.available_quantity,
ldsa.is_have_data,
ldsa.stock_article_code,
group_concat(DISTINCT ldpl.dealer_name) as dealerName,
ldsa.dealer_code,
ldsa.train_number,
ldsa.factory_train,
ldsa.sending,
ldsa.send_warehouse_id,
ldsa.send_warehouse_name,
ldsa.is_zero,
ldsa.accept_warehouse_id,
ldsa.accept_warehouse_name,
ldsa.order_delivery_status,
group_concat(DISTINCT ldpl.pallet ) as trays,
group_concat(DISTINCT ldpl.goods_allocation) as allocation
from logpm_distribution_stock_article ldsa
left join logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id
<where>
ldsa.is_deleted = 0 and ldsa.order_status IN ( '10', '20', '30', '40', '50', '60', '70' )
and ldsa.hand_quantity > 0
and ldsa.genre = '1'
<if test="param.warehouseId != null and param.warehouseId != ''">
and ldsa.warehouse_id = #{param.warehouseId}
</if>
<if test="param.warehouseIds != null ">
and ldsa.warehouse_id in
<foreach collection="param.warehouseIds" item="wIitem" index="index" open="(" close=")" separator=",">
#{wIitem}
</foreach>
</if>
<if test="param.waybillNumber != null and param.waybillNumber != ''">and ldpl.waybill_number =
#{param.waybillNumber}
</if>
<if test="param.orderCode != null and param.orderCode != ''">and ldsa.order_code = #{param.orderCode}</if>
<if test="param.mallName != null and param.mallName != ''">and ldsa.mall_name = #{param.mallName}</if>
<if test="param.typeService != null and param.typeService != ''">and ldsa.type_service =
#{param.typeService}
</if>
<if test="param.consigneeUnit != null and param.consigneeUnit != ''">and ldsa.consignee_unit =
#{param.consigneeUnit}
</if>
<if test="param.trainNumber != null and param.trainNumber != ''">and ldsa.train_number =
#{param.trainNumber}
</if>
<if test="param.acceptWarehouseName != null and param.acceptWarehouseName != ''">and
ldsa.accept_warehouse_name = #{param.acceptWarehouseName}
</if>
<if test="param.serviceNumber != null and param.serviceNumber != ''">
and ldsa.service_number = #{param.serviceNumber}
</if>
<if test="param.clientIds != null and param.handQuantity != ''">
and ldsa.mall_id in
<foreach collection="param.clientIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.orderIds != null ">
and ldsa.id in
<foreach collection="param.orderIds" item="wIitem" index="index" open="(" close=")" separator=",">
#{wIitem}
</foreach>
</if>
</where>
group by ldsa.id
</select>
<update id="clearTraysByIds" >
update logpm_distribution_stock_article

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

@ -57,6 +57,13 @@ public interface IDistributionStockArticleService extends BaseService<Distributi
*/
List<DistributionStockArticleExcel> exportDistributionStockArticle(Map<String, Object> paramMap);
/**
* 商场导出数据
* @param paramMap
* @return
*/
List<DistributionStockArticleExcel> exportMallOrder(Map<String, Object> paramMap);
Boolean saveStock(String ids);
// /**

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

@ -1540,6 +1540,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
NodePushMsg msg = new NodePushMsg();
msg.setNode(WorkNodeEnums.CLERK_REVIEW);
msg.setBrand(BrandEnums.MTMM);
msg.setWarehouse(warehouseName);
msg.setOperator(AuthUtil.getNickName());
msg.setOperatorTime(new Date());
msg.setContent(mtReceiveDTO.getReceiveContentList().stream().map(m ->{

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

@ -668,15 +668,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log.error("文员复核查询配送计划失败,deliveryId:{}", distributionSignfor.getDeliveryId());
return R.fail("操作失败,请核对计划信息!!!");
}
BladeUser user = AuthUtil.getUser();
distributionSignfor.setExamineUserId(user.getUserId());
distributionSignfor.setSigningStatus(SignforStatusConstant.yiqianshou.getValue());
//复核时间为签收时间
String format = sdf.format(new Date());
distributionSignfor.setSigningTime(format);
distributionSignfor.setExamineUserName(user.getNickName());
this.updatePicture(distributionSignforDTO);
this.updateById(distributionSignfor);
// this.updatePicture(distributionSignforDTO);
// this.updateById(distributionSignfor);
//修改预约单的签收状态和装车状态
//查询签收信息
DistributionReservationEntity reservationEntity = distributionReservationService.getById(distributionSignfor.getReservationId());
@ -6216,9 +6209,17 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
@Transactional(rollbackFor = Exception.class)
public R updateSign(DistributionSignforDTO distributionSignfor) {
distributionSignfor.setSigneeId(AuthUtil.getUser().getUserId());
distributionSignfor.setSigneeName(AuthUtil.getUser().getUserName());
distributionSignfor.setSigneeName(AuthUtil.getUser().getNickName());
distributionSignfor.setClerkSignRemarks(distributionSignfor.getClerkSignRemarks());
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
BladeUser user = AuthUtil.getUser();
distributionSignfor.setExamineUserId(user.getUserId());
distributionSignfor.setSigningStatus(SignforStatusConstant.yiqianshou.getValue());
//复核时间为签收时间
String format = sdf.format(new Date());
distributionSignfor.setSigningTime(format);
distributionSignfor.setExamineUserName(user.getNickName());
distributionSignfor.setSigningTime(sdf.format(date));
boolean isSuccess = this.updatePicture(distributionSignfor);
log.info(">>>> updateSign isSuccess ={}", isSuccess);

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

@ -208,6 +208,54 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
return excelList;
}
@Override
public List<DistributionStockArticleExcel> exportMallOrder(Map<String, Object> paramMap) {
// 获取当前登录的仓库信息
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtils.isNull(myCurrentWarehouse)) {
//查询当前用户的仓库列表
List<BasicdataWarehouseEntity> warehouseList = warehouseClient.getMyWarehouseList();
if (!warehouseList.isEmpty()) {
List<Long> warehouseListIds = warehouseList.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList());
paramMap.put("warehouseIds", warehouseListIds);
}
} else {
paramMap.put("warehouseId", myCurrentWarehouse.getId());
}
// 用户勾选数据的ids
Object ids = paramMap.get("ids");
List<Long> idArr = null;
if (null != ids && !"".equals(ids.toString())) {
// idArr = Arrays.asList(paramMap.get("ids").toString().split(","));
idArr = Func.toLongList((String) paramMap.get("ids"));
}
String tenantId = AuthUtil.getTenantId();
paramMap.put("tenantId", tenantId);
paramMap.put("orderIds", idArr);
List<DistributionStockArticleEntity> list = baseMapper.exportMallOrder(paramMap);
List<DistributionStockArticleExcel> excelList = new ArrayList<>();
//
list.forEach(li -> {
DistributionStockArticleVO distributionStockArticleVO = buildVo(li);
DistributionStockArticleExcel excel = new DistributionStockArticleExcel();
assert distributionStockArticleVO != null;
if (distributionStockArticleVO.getTotalNumber() != null &&
distributionStockArticleVO.getIncomingNum() != null) {
distributionStockArticleVO.setUnreceivedQuantity(
distributionStockArticleVO.getTotalNumber() - distributionStockArticleVO.getIncomingNum()
);
}
BeanUtil.copyProperties(distributionStockArticleVO, excel);
excel.setIsZeroString("1".equals(distributionStockArticleVO.getIsZero()) ? "是" : "否");
excelList.add(excel);
});
return excelList;
}
/**
* 构建参数
@ -251,7 +299,10 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
distributionStockupVO.setReservationStatusName(DictBizCache.getValue(DictBizConstant.ORDER_RESERVATION_STATUS, distributionStockupVO.getReservationStatus()));
distributionStockupVO.setStockupStatusName(DictBizCache.getValue(DictBizConstant.ORDER_STOCKUP_STATUS, distributionStockupVO.getStockupStatus()));
if (ObjectUtils.isNotNull(distributionStockupVO.getCreateUser())) {
distributionStockupVO.setCreateUserName(userClient.userInfoById(distributionStockupVO.getCreateUser()).getData().getName());
R<User> userR = userClient.userInfoById(distributionStockupVO.getCreateUser());
if(userR.isSuccess()&& userR.getData()!=null){
distributionStockupVO.setCreateUserName(userR.getData().getName());
}
}
distributionStockupVO.setOrderReceiveStatusName(DictBizCache.getValue(DictBizConstant.ORDER_RECEIVE_STATUS, distributionStockupVO.getOrderReceiveStatus()));
@ -494,7 +545,7 @@ 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.isEmpty()) {
//存在
} else {
@ -641,7 +692,20 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
@Override
public IPage<DistributionStockArticleEntity> selectClientListPage(IPage<DistributionStockArticleEntity> page, DistributionStockArticleVO distributionStockArticle) {
// 获取当前登陆人
List<DistributionStockArticleEntity> result = baseMapper.selectClientListPage(page, distributionStockArticle);
List<Long> warehouseIds = new ArrayList<>();
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtils.isNull(myCurrentWarehouse)) {
//查询当前用户的仓库列表
List<BasicdataWarehouseEntity> warehouseList = warehouseClient.getMyWarehouseList();
if (!warehouseList.isEmpty()) {
List<Long> warehouseListIds = warehouseList.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList());
warehouseIds.addAll(warehouseListIds);
}
} else {
warehouseIds.add( myCurrentWarehouse.getId());
}
List<DistributionStockArticleEntity> result = baseMapper.selectClientListPage(page, distributionStockArticle,warehouseIds);
return page.setRecords(result);
}

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

@ -8,10 +8,12 @@ import com.logpm.distribution.vo.DistributionStockArticleVO;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.User;
import org.springblade.system.feign.IUserClient;
import java.util.Date;
@ -84,7 +86,12 @@ public class DistributionStockArticleWrapper extends BaseEntityWrapper<Distribut
distributionStockupVO.setReservationStatusName(DictBizCache.getValue(DictBizConstant.ORDER_RESERVATION_STATUS, distributionStockupVO.getReservationStatus()));
distributionStockupVO.setStockupStatusName(DictBizCache.getValue(DictBizConstant.ORDER_STOCKUP_STATUS, distributionStockupVO.getStockupStatus()));
if (ObjectUtils.isNotNull(distributionStockupVO.getCreateUser())) {
distributionStockupVO.setCreateUserName(userCliient.userInfoById(distributionStockupVO.getCreateUser()).getData().getName());
R<User> userR = userCliient.userInfoById(distributionStockupVO.getCreateUser());
if(userR.isSuccess() && userR.getData()!=null){
distributionStockupVO.setCreateUserName(userR.getData().getName());
}
}
distributionStockupVO.setOrderReceiveStatusName(DictBizCache.getValue(DictBizConstant.ORDER_RECEIVE_STATUS, distributionStockupVO.getOrderReceiveStatus()));

9
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/service/impl/FactoryNodePushServiceImpl.java

@ -23,6 +23,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
@ -90,8 +91,12 @@ public class FactoryNodePushServiceImpl extends BaseServiceImpl<FactoryNodePushM
JSONObject entries = JSONUtil.parseObj(resBody);
int resultCode = entries.getInt("Result");
// 存入日志表
factoryNodePushEntity.setSendStatus(Convert.toStr(resultCode));
baseMapper.updateById(factoryNodePushEntity);
FactoryNodePushEntity updater = new FactoryNodePushEntity();
updater.setSendStatus(Convert.toStr(resultCode));
updater.setUpdateTime(new Date());
updater.setResultContent(resBody);
updater.setId(factoryNodePushEntity.getId());
baseMapper.updateById(updater);
return Boolean.TRUE;
}
}

34
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/BillladingController.java

@ -7,6 +7,8 @@ import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.dto.BillladingWaybillDTO;
import com.logpm.trunkline.service.ITrunklineBillladingService;
import com.logpm.trunkline.vo.BillladingWaybillExportVO;
import com.logpm.trunkline.vo.TrunklineBillladingExportVO;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import io.swagger.annotations.Api;
@ -15,12 +17,14 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.DictBiz;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
@ -67,6 +71,20 @@ public class BillladingController {
}
}
@ResponseBody
@PostMapping("/pageListExport")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "提货单列表导出", notes = "传入waybillDTO")
public void pageListExport(@RequestBody BillladingDTO billladingDTO, HttpServletResponse response) {
String method = "############pageListExport: ";
log.info(method+"请求参数{}",billladingDTO);
List<TrunklineBillladingExportVO> ls = trunklineBillladingService.pageListExport(billladingDTO);
//导出ls
ExcelUtil.export(response, "提货数据列表", "提货数据", ls, TrunklineBillladingExportVO.class);
}
@ResponseBody
@PostMapping("/findChargeTypeList")
@ApiOperationSupport(order = 1)
@ -312,6 +330,22 @@ public class BillladingController {
}
}
@ResponseBody
@PostMapping("/billladingDetailExport")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "提货单详情导出", notes = "传入waybillDTO")
public void billladingDetailExport(@RequestBody BillladingDTO billladingDTO,HttpServletResponse response) {
String method = "############billladingDetailExport: ";
log.info(method+"请求参数{}",billladingDTO);
List<BillladingWaybillExportVO> list = trunklineBillladingService.billladingDetailExport(billladingDTO.getBillladingId());
//导出ls
ExcelUtil.export(response, "提货单运单数据", "提货运单数据", list, BillladingWaybillExportVO.class);
}
@ResponseBody
@PostMapping("/billladingPackageDetail")
@ApiOperationSupport(order = 1)

35
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java

@ -1303,6 +1303,41 @@ public class CarsLoadController {
}
}
@ResponseBody
@PostMapping("/signOrderZeroSuppleList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "签收单零担补录列表", notes = "传入loadCarsDTO")
public R signOrderZeroSuppleList(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############signOrderZeroSuppleList: ";
log.info(method+"请求参数{}",loadCarsDTO);
try{
Long signOrderId = loadCarsDTO.getSignOrderId();
if(Objects.isNull(signOrderId)){
log.warn(method+"签收单id不能为空 signOrderId={}",signOrderId);
return R.fail(400,"签收单id不能为空");
}
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(400,"多仓权限无法操作,请选择仓库");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
return carsLoadService.signOrderZeroSuppleList(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
@ResponseBody
@PostMapping("/useZeroList")
@ApiOperationSupport(order = 1)

3
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java

@ -7,6 +7,7 @@ import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.entity.TrunklineBillladingLogEntity;
import com.logpm.trunkline.vo.TrunklineBillladingDetailListVO;
import com.logpm.trunkline.vo.TrunklineBillladingDetailVO;
import com.logpm.trunkline.vo.TrunklineBillladingExportVO;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import com.logpm.warehouse.vo.WarehouseWaybillVO;
import org.apache.ibatis.annotations.Mapper;
@ -32,4 +33,6 @@ public interface TrunklineBillladingMapper extends BaseMapper<TrunklineBillladin
Map<String, Integer> billladingNum(@Param("warehouseId") Long warehouseId, @Param("startByDateStr") Date startByDateStr, @Param("endByDateStr") Date endByDateStr, @Param("customerTrain") String customerTrain);
List<TrunklineBillladingLogEntity> findBillladingLogList(@Param("billladingId") Long billladingId);
List<TrunklineBillladingExportVO> pageListExport(@Param("param") BillladingDTO billladingDTO);
}

66
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml

@ -65,6 +65,72 @@
order by ltb.create_time desc
</select>
<select id="pageListExport" resultType="com.logpm.trunkline.vo.TrunklineBillladingExportVO">
select ltb.billlading_code billladingCode,
ltb.car_number carNumber,
ltb.driver_name driverName,
ltb.driver_phone driverPhone,
ltb.warehouse_name warehouseName,
ltb.line_name_title lineNameTitle,
ltb.start_time startTime,
ltb.end_time endTime,
case when ltb.billlading_status = '1' then '未开始'
when ltb.billlading_status = '2' then '提货中'
when ltb.billlading_status = '3' then '已完成'
when ltb.billlading_status = '4' then '已结算'
when ltb.billlading_status = '5' then '已取消'
end billladingStatus,
case when ltb.charge_type = '1' then '按件计费'
when ltb.charge_type = '2' then '按重量计费'
when ltb.charge_type = '3' then '按体积计费'
end chargeType,
ltb.total_fee totalFee,
ltb.remark remark,
ltb.carrier_name carrierName,
ltb.real_num realNum,
ltb.plan_num planNum,
ltb.real_weight realWeight,
ltb.plan_weight planWeight,
ltb.real_volume realVolume,
ltb.plan_volume planVolume,
ltb.create_user_name createUserName,
count(DISTINCT ltbw.id) orderNum
from logpm_trunkline_billlading ltb
left join logpm_trunkline_billlading_line ltbl on ltbl.billlading_id = ltb.id and ltbl.is_deleted = 0
left join logpm_trunkline_billlading_waybill ltbw on ltbw.billlading_id = ltb.id and ltbw.waybill_no != '————'
where ltb.is_deleted = 0
and ltb.billlading_status != 5
<if test="param.warehouseId != null ">
and ltb.warehouse_id = #{param.warehouseId}
</if>
<if test="param.billladingCode != null and param.billladingCode != '' ">
and ltb.billlading_code = #{param.billladingCode}
</if>
<if test="param.carNumber != null and param.carNumber != '' ">
and ltb.car_number = #{param.carNumber}
</if>
<if test="param.driverName != null and param.driverName != '' ">
and ltb.driver_name = #{param.driverName}
</if>
<if test="param.driverPhone != null and param.driverPhone != '' ">
and ltb.driver_phone = #{param.driverPhone}
</if>
<if test="param.warehouseName != null and param.warehouseName != '' ">
and ltb.warehouse_name = #{param.warehouseName}
</if>
<if test="param.billladingStatus != null and param.billladingStatus != '' ">
and ltb.billlading_status = #{param.billladingStatus}
</if>
<if test="param.chargeType != null and param.chargeType != '' ">
and ltb.charge_type = #{param.chargeType}
</if>
<if test="param.createUserName != null and param.createUserName != '' ">
and ltb.create_user_name = #{param.createUserName}
</if>
group by ltb.id
order by ltb.create_time desc
</select>
<select id="pageInfoList" resultType="com.logpm.trunkline.vo.TrunklineBillladingVO">
select id id,

3
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.java

@ -3,6 +3,7 @@ package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import com.logpm.trunkline.vo.BillladingWaybillExportVO;
import com.logpm.trunkline.vo.TrunklineBillladingNumVO;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import org.apache.ibatis.annotations.Mapper;
@ -31,4 +32,6 @@ public interface TrunklineBillladingWaybillMapper extends BaseMapper<TrunklineBi
List<TrunklineBillladingWaybillEntity> findNoFinishWaybillByBillladingId(@Param("billladingId") Long billladingId);
TrunklineBillladingNumVO getNumVOByBillladingId(@Param("billladingId") Long billladingId);
List<BillladingWaybillExportVO> findWaybillInfoListByBillladingIdExport(@Param("billladingId") Long billladingId);
}

40
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml

@ -111,4 +111,44 @@
and is_deleted = 0
</select>
<select id="findWaybillInfoListByBillladingIdExport" resultType="com.logpm.trunkline.vo.BillladingWaybillExportVO">
select ltb.billlading_code billadingCode,
ltbw.waybill_no waybillNo,
lww.create_time openOrderTime,
lww.goods_name goodsName,
ltbw.real_num realNum,
ltbw.real_weight realWeight,
ltbw.real_volume realVolume,
lww.destination destination,
lww.destination_warehouse_name destinationWarehouseName,
lww.shipper shipper,
lww.shipper_name shipperName,
lww.shipper_mobile shipperMobile,
lww.consignee consignee,
lww.consignee_name consigneeName,
lww.consignee_mobile consigneeMobile,
lww.consignee_address consigneeAddress,
lww.remark remark,
lww.total_count-lww.billlading_num totalPlanNum,
lww.total_count-lww.billlading_num + ltbw.real_num planNum,
ltbw.real_num realNum,
ltbw.billlading_fee billladingFee,
lww.collect_pay collectPay,
lww.total_freight totalFreight,
t.num scanNum
from logpm_trunkline_billlading_waybill ltbw
left join (select IFNULL(ltad.waybill_no,'————') waybillNo,
COUNT(ltbp.id) num
from logpm_trunkline_billlading_package ltbp
left join logpm_platform.logpm_trunkline_advance_detail ltad on ltbp.order_package_code = ltad.order_package_code
where ltbp.billlading_id=#{billladingId}
group by IFNULL(ltad.waybill_no,'————')) t on t.waybillNo = ltbw.waybill_no
left join logpm_trunkline_billlading ltb on ltb.id = ltbw.billlading_id
left join logpm_warehouse_waybill lww on lww.waybill_no = ltbw.waybill_no
where ltbw.billlading_id = #{billladingId}
and ltbw.is_deleted = 0
and ltbw.real_num > 0
</select>
</mapper>

1
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.java

@ -39,6 +39,7 @@ public interface TrunklineCarsLoadMapper extends BaseMapper<TrunklineCarsLoadEnt
List<CarsLoadAllOrderVO> findUseOrderListNoPage(@Param("param") LoadCarsDTO loadCarsDTO);
IPage<JSONObject> findZeroListByWarehouseId(IPage<Object> page, @Param("param") LoadCarsDTO loadCarsDTO);
IPage<JSONObject> findSignOrderZeroListByWarehouseId(IPage<Object> page, @Param("param") LoadCarsDTO loadCarsDTO);
IPage<JSONObject> useZeroList(IPage<Object> page, @Param("param") LoadCarsDTO loadCarsDTO);

53
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml

@ -685,4 +685,57 @@
</if>
</update>
<select id="findSignOrderZeroListByWarehouseId" resultType="com.alibaba.fastjson.JSONObject">
select ldsa.waybill_number waybillNo,
ldsa.order_code orderCode,
ldsa.hand_quantity handQuantity,
lww.create_time createTime,
lww.destination destination,
lww.destination_warehouse_name destinationWarehouseName,
lww.shipper shipper,
lww.shipper_name shipperName,
lww.consignee consignee,
lww.consignee_name consigneeName,
lww.goods_name goodsName,
lww.total_count totalNum,
lww.total_weight weight,
lww.total_volume volume,
ldsa.hand_quantity stockNum,
lww.customer_train customerTrain,
IFNULL(lww.total_freight,0) totalFreight,
lww.total_count,
lww.remark remark,
ROUND(lww.total_freight/lww.total_count,2) price,
ltlso.load_sign_code loadSignCode,
ltlso.id signOrderId
from logpm_trunkline_load_sign_order ltlso
left join logpm_trunkline_cars_order ltco on ltco.sign_order_id = ltlso.id
left join logpm_distribution_stock_article ldsa on ldsa.order_code = ltco.order_code and ldsa.warehouse_id = ltco.node_id
left join logpm_warehouse_waybill lww on lww.waybill_no = ldsa.waybill_number
where ldsa.is_zero = 1
and lww.destination_warehouse_id != #{param.warehouseId}
and ldsa.hand_quantity > 0
and ldsa.warehouse_id = #{param.warehouseId}
<if test="param.signOrderId != null">
and ltlso.id = #{param.signOrderId}
</if>
<if test="param.orderCodes != null and param.orderCodes.size() > 0">
and ldsa.order_code not in
<foreach collection="param.orderCodes" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.orderCodeList != null and param.orderCodeList.size() > 0">
and ldsa.order_code in
<foreach collection="param.orderCodeList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.waybillNo != null and param.waybillNo != ''">
and Locate(#{param.waybillNo},lww.waybill_no) > 0
</if>
</select>
</mapper>

12
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml

@ -679,24 +679,30 @@
when '2' then '卸车'
when '3' then '签收'
end scanStatus,
lww.destination_warehouse_name destinationWarehouseName,
ltcls.tray_name trayName,
ltcls.tray_code trayCode,
ltcls.unload_node_name unloadNodeName,
ltcls.unload_user_name unloadUserName,
ltcls.unload_time unloadTime,
case ltcls.type
when 1 then '订制品'
when 2 then '零担'
end type,
ltcls.num num,
IF(ltcls.is_data = 1,'有','无') isData,
ltcls.unload_num unloadNum,
IF(ltcls.is_data = 1,'有数据','无数据') isData,
IF(ltcls.loading_abnormal = 1,'是','否') loadingAbnormal,
IF(ltcls.unload_abnormal = 1,'是','否') unloadAbnormal,
IF(ltcls.is_supple = 1,'是','否') isSupple,
ltcls.create_time loadingTime,
ltcls.unload_time unloadTime
ltcls.sign_user_name signUserName,
ltcls.sign_time signTime
from logpm_trunkline_cars_load_scan ltcls
left join logpm_warehouse_waybill lww on ltcls.waybill_id = lww.id
where ltcls.load_id = #{param.loadId}
order by ltcls.create_time asc
order by ltcls.loading_abnormal desc,ltcls.unload_abnormal desc,ltcls.create_time asc
</select>
<select id="findSignNumByLoadId" resultType="int">

3
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java

@ -9,7 +9,6 @@ import com.logpm.trunkline.vo.AdvanceDetailGoodsVO;
import com.logpm.trunkline.vo.AdvanceDetailStockNumVO;
import com.logpm.trunkline.vo.BillladingPackageVO;
import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO;
import org.apache.ibatis.annotations.Delete;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
@ -84,4 +83,6 @@ public interface ITrunklineAdvanceDetailService extends BaseService<TrunklineAdv
void deletedAdvanceByOrderCode(String orderCode);
void deleteByWaybillNo(String waybillNo);
List<TrunklineAdvanceDetailEntity> findListByOrderPackageCodeList(List<String> orderPackageCodes);
}

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java

@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.BillladingDTO;
import com.logpm.trunkline.dto.BillladingWaybillDTO;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.vo.BillladingWaybillExportVO;
import com.logpm.trunkline.vo.TrunklineBillladingDetailListVO;
import com.logpm.trunkline.vo.TrunklineBillladingExportVO;
import com.logpm.trunkline.vo.TrunklineBillladingVO;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
@ -15,6 +17,8 @@ public interface ITrunklineBillladingService extends BaseService<TrunklineBillla
IPage<TrunklineBillladingVO> pageList(BillladingDTO billladingDTO);
List<TrunklineBillladingExportVO> pageListExport(BillladingDTO billladingDTO);
void saveNew(BillladingDTO billladingDTO,String warehouseCode);
IPage<TrunklineBillladingVO> pageInfoList(BillladingDTO billladingDTO);
@ -47,4 +51,6 @@ public interface ITrunklineBillladingService extends BaseService<TrunklineBillla
R findBillladingLogList(Long billladingId);
List<BillladingWaybillExportVO> billladingDetailExport(Long billladingId);
}

3
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingWaybillService.java

@ -3,6 +3,7 @@ package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineBillladingEntity;
import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import com.logpm.trunkline.vo.BillladingWaybillExportVO;
import com.logpm.trunkline.vo.TrunklineBillladingNumVO;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import org.springblade.core.mp.base.BaseService;
@ -41,4 +42,6 @@ public interface ITrunklineBillladingWaybillService extends BaseService<Trunklin
TrunklineBillladingNumVO getNumVOByBillladingId(Long billladingId);
List<TrunklineBillladingWaybillEntity> getNoDataWaybillByBillladingIds(List<Long> billladingIds);
List<BillladingWaybillExportVO> findWaybillInfoListByBillladingIdExport(Long billladingId);
}

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java

@ -221,4 +221,6 @@ public interface ITrunklineCarsLoadService extends BaseService<TrunklineCarsLoad
R adnormalHasStock(Long carsLoadScanId, Long warehouseId);
R selectEditDetailByLoadIdNoXz(Long loadId);
R signOrderZeroSuppleList(LoadCarsDTO loadCarsDTO);
}

15
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java

@ -2,6 +2,7 @@ package com.logpm.trunkline.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.basicdata.entity.BasicdataStorageServicesEntity;
@ -349,6 +350,13 @@ public class InComingServiceImpl implements IInComingService {
int code = r.getCode();
if(code != 200){
audio.set(r.getMsg());
}else{
String data = (String) r.getData();
if(StringUtil.isNotBlank(data)){
JSONObject parseObj = JSONUtil.parseObj(data);
String audio1 = parseObj.getStr("audio");
audio.set(audio1);
}
}
}
});
@ -447,6 +455,13 @@ public class InComingServiceImpl implements IInComingService {
int code = r.getCode();
if(code != 200){
audio.set(r.getMsg());
}else{
String data = (String) r.getData();
if(StringUtil.isNotBlank(data)){
JSONObject parseObj = JSONUtil.parseObj(data);
String audio1 = parseObj.getStr("audio");
audio.set(audio1);
}
}
}
});

8
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java

@ -342,4 +342,12 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline
public void deleteByWaybillNo(String waybillNo) {
baseMapper.deleteByWaybillNo(waybillNo);
}
@Override
public List<TrunklineAdvanceDetailEntity> findListByOrderPackageCodeList(List<String> orderPackageCodes) {
QueryWrapper<TrunklineAdvanceDetailEntity> queryWrapper = new QueryWrapper();
queryWrapper.in("order_package_code", orderPackageCodes);
List<TrunklineAdvanceDetailEntity> advanceDetailEntities = baseMapper.selectList(queryWrapper);
return advanceDetailEntities;
}
}

13
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java

@ -64,6 +64,14 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl<TrunklineBil
return baseMapper.pageList(page,billladingDTO);
}
@Override
public List<TrunklineBillladingExportVO> pageListExport(BillladingDTO billladingDTO) {
return baseMapper.pageListExport(billladingDTO);
}
@Override
public void saveNew(BillladingDTO billladingDTO,String warehouseCode) {
log.info("###############saveNew: billladingDTO={}",billladingDTO);
@ -828,4 +836,9 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl<TrunklineBil
return R.data(list);
}
@Override
public List<BillladingWaybillExportVO> billladingDetailExport(Long billladingId) {
return billladingWaybillService.findWaybillInfoListByBillladingIdExport(billladingId);
}
}

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingWaybillServiceImpl.java

@ -6,6 +6,7 @@ import com.logpm.trunkline.entity.TrunklineBillladingWaybillEntity;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import com.logpm.trunkline.mapper.TrunklineBillladingWaybillMapper;
import com.logpm.trunkline.service.ITrunklineBillladingWaybillService;
import com.logpm.trunkline.vo.BillladingWaybillExportVO;
import com.logpm.trunkline.vo.TrunklineBillladingNumVO;
import com.logpm.trunkline.vo.TrunklineBillladingWaybillVO;
import lombok.AllArgsConstructor;
@ -160,4 +161,9 @@ public class TrunklineBillladingWaybillServiceImpl extends BaseServiceImpl<Trunk
return baseMapper.selectList(queryWrapper);
}
@Override
public List<BillladingWaybillExportVO> findWaybillInfoListByBillladingIdExport(Long billladingId) {
return baseMapper.findWaybillInfoListByBillladingIdExport(billladingId);
}
}

14
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -76,8 +76,6 @@ import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import static cn.hutool.poi.excel.sax.AttributeName.s;
@Slf4j
@Service
@AllArgsConstructor
@ -1514,6 +1512,18 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.data(map);
}
@Override
public R signOrderZeroSuppleList(LoadCarsDTO loadCarsDTO) {
IPage<Object> page = new Page<>();
page.setCurrent(loadCarsDTO.getPageNum());
page.setSize(loadCarsDTO.getPageSize());
//查询当前仓零担在库列表
// IPage<JSONObject> pageList = distributionStockArticleClient.findZeroListByWarehouseId(warehouseId,pageNum,pageSize);
IPage<JSONObject> pageList = baseMapper.findSignOrderZeroListByWarehouseId(page, loadCarsDTO);
return R.data(pageList);
}
@Transactional(rollbackFor = Exception.class)
@Override

24
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillPackageServiceImpl.java

@ -2,9 +2,13 @@ package com.logpm.trunkline.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import com.logpm.trunkline.entity.TrunklineWaybillPackageEntity;
import com.logpm.trunkline.mapper.TrunklineWaybillPackageMapper;
import com.logpm.trunkline.service.IPackageTrackLogAsyncService;
import com.logpm.trunkline.service.ITrunklineAdvanceDetailService;
import com.logpm.trunkline.service.ITrunklineWaybillPackageService;
import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
@ -31,6 +35,13 @@ public class TrunklineWaybillPackageServiceImpl extends BaseServiceImpl<Trunklin
@Resource
private IWarehouseWaybillClient warehouseWaybillClient;
@Resource
private ITrunklineAdvanceDetailService advanceDetailService;
@Resource
private IBasicdataWarehouseClient warehouseClient;
@Override
public void saveList(List<TrunklineAdvanceDetailVO> list, WarehouseWaybillEntity waybillEntity) {
Long waybillId = waybillEntity.getId();
@ -155,6 +166,19 @@ public class TrunklineWaybillPackageServiceImpl extends BaseServiceImpl<Trunklin
@Override
public void updatePackageStatus(List<String> orderPackageCodes, Integer workNode, Long warehouseId, Map<String, JSONObject> map) {
BasicdataWarehouseEntity warehouseEntity = warehouseClient.getEntityWarehouseId(warehouseId);
if(!Objects.isNull(warehouseEntity)){
//更新所有包件的当前所在仓
List<TrunklineAdvanceDetailEntity> advanceDetailEntities = advanceDetailService.findListByOrderPackageCodeList(orderPackageCodes);
advanceDetailEntities.forEach(advanceDetailEntity -> {
advanceDetailEntity.setNowWarehouseId(warehouseId);
advanceDetailEntity.setNowWarehouseName(warehouseEntity.getName());
});
advanceDetailService.updateBatchById(advanceDetailEntities);
}
Integer packageStatus = null;
if(WorkNodeEnums.INITIAL_WAREHOUSE_DEPART.getCode().equals(workNode)){
//始发仓发车

Loading…
Cancel
Save