Browse Source

Merge branch 'pre-production' into master

master
zhaoqiaobo 10 months ago
parent
commit
7ee7d5b4e2
  1. 1
      blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java
  2. 1
      blade-ops/blade-xxljob-admin/src/main/java/com/xxl/job/admin/JobAdminApplication.java
  3. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationEntity.java
  4. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionReservationVO.java
  5. 5
      blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/entity/MtPushData.java
  6. 35
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTrayServiceImpl.java
  7. 20
      blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java
  8. 1
      blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java
  9. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionDeliveryAppController.java
  10. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
  11. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.java
  12. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  13. 110
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  14. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  15. 11
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  16. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistributionReservationWrapper.java
  17. 4
      blade-service/logpm-factory-data/logpm-factory-data-linsy/src/main/java/com/logpm/factorydata/linsy/config/InterceptorAdapterConfig.java
  18. 29
      blade-service/logpm-factory-data/logpm-factory-data-linsy/src/main/java/com/logpm/factorydata/linsy/service/impl/DeliveryNoteServiceImpl.java
  19. 12
      blade-service/logpm-factory-data/logpm-factory-data-linsy/src/main/resources/application.yml
  20. 11
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java
  21. 34
      blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/MengTianPushDataJob.java
  22. 6
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtPushDataMapper.java
  23. 25
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtPushDataMapper.xml
  24. 12
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceDetailMapper.xml
  25. 3
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java
  26. 36
      blade-service/logpm-report/src/main/java/com/logpm/report/controller/WarehouseIndexController.java
  27. 1
      blade-service/logpm-report/src/main/java/com/logpm/report/dto/IndexDTO.java
  28. 69
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/WarehouseIndexMapper.java
  29. 233
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/WarehouseIndexMapper.xml
  30. 8
      blade-service/logpm-report/src/main/java/com/logpm/report/service/IWarehouseIndexService.java
  31. 104
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/WarehouseIndexServiceImpl.java
  32. 4
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/indexCount/IndexDeliveryDataVO.java
  33. 34
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/indexCount/IndexSignforDataVO.java
  34. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml
  35. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  36. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/CarsLoadAsyncServiceImpl.java
  37. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillDetailClient.java
  38. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWayBillDetailService.java
  39. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java
  40. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java
  41. 12
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWayBillDetailServiceImpl.java

1
blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java

@ -94,6 +94,7 @@ public class DictBizConstant {
// --------------2023-08-24 ---------------------
public static final String RESERVATION_LIST_LOADING_STATUS = "reservation_loading_status";//预约装车状态
public static final String RESERVATION_SIGNFOR_STATUS = "reservation_signfor_status";//预约签收状态
public static final String YES_NO = "yes_no";//预约签收状态
// --------------2023-09-01 ---------------------
public static final String ORDER_PACKAGE_LOADING_STATUS = "order_package_loading_status";//预约签收状态

1
blade-ops/blade-xxljob-admin/src/main/java/com/xxl/job/admin/JobAdminApplication.java

@ -12,7 +12,6 @@ public class JobAdminApplication {
public static void main(String[] args) {
BladeApplication.run(LauncherConstant.APPLICATION_XXLJOB_ADMIN_NAME, JobAdminApplication.class, args);
}

6
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationEntity.java

@ -297,6 +297,10 @@ public class DistributionReservationEntity extends TenantEntity {
@ApiModelProperty(value = "备货结束时间")
private Date endTimeStocking;
/**
* 是否安装
*/
@ApiModelProperty(value = "是否安装, 0-否 1- 是")
private Integer isInstall;
}

6
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionReservationVO.java

@ -91,6 +91,12 @@ public class DistributionReservationVO extends DistributionReservationEntity {
@ApiModelProperty(value = "签收状态")
private String warehouseAddress;
/**
* 是否安装
*/
@ApiModelProperty(value = "是否安装")
private String isInstallName;
/**
* 仓库经度

5
blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/entity/MtPushData.java

@ -65,6 +65,11 @@ public class MtPushData extends BaseEntity {
*/
@ApiModelProperty(name = "推送状态", notes = " 1 已推送 0 未推送 默认未推送")
private Integer pushStatus;
/**
* 推送类型
*/
@ApiModelProperty(name = "推送类型", notes = "1 签收扫描 2 文员复核")
private Integer pushType;
/** 推送时间 */
@ApiModelProperty(name = "推送时间", notes = "")
private Date pushTime ;

35
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTrayServiceImpl.java

@ -18,7 +18,6 @@ package com.logpm.basicdata.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -44,7 +43,6 @@ import com.logpm.warehouse.vo.WarehouseTraybarCode;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.constant.CodeNumConstant;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.utils.QRCodeUtil;
import org.springblade.common.utils.TemplateUtil;
import org.springblade.core.log.exception.ServiceException;
@ -53,15 +51,10 @@ 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.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sun.misc.BASE64Encoder;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -233,9 +226,9 @@ public class BasicdataTrayServiceImpl extends BaseServiceImpl<BasicdataTrayMappe
WarehouseTrayQRCode trayQRCode = baseMapper.getTray(id);
Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(trayQRCode), Map.class);
String filename = QRCodeUtil.createCodeToFile(trayQRCode.getTrayCode());
map.put("qrCode", getEmpAutograph(filename));
map.put("qrCode", QRCodeUtil.getEmpAutograph(filename));
String fileTypeName = QRCodeUtil.createCodeToFileType(trayQRCode.getTrayCode());
map.put("imgType", getEmpAutograph(fileTypeName));
map.put("imgType", QRCodeUtil.getEmpAutograph(fileTypeName));
map.put("tenant","汇通物流");
data.add(map);
}
@ -243,29 +236,7 @@ public class BasicdataTrayServiceImpl extends BaseServiceImpl<BasicdataTrayMappe
return warehouseTraybarCode;
}
private String getEmpAutograph(String filePath) {
String img = null;
if (StringUtils.isNotEmpty(filePath)) {
InputStream in = null;
byte[] picdata = null;
try {
in = new FileInputStream(filePath);
picdata = new byte[in.available()];
in.read(picdata);
BASE64Encoder encoder = new BASE64Encoder();
img = encoder.encode(picdata);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return "data:image/png;base64," + img;
}
@Override

20
blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java

@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import java.util.stream.Collectors;
@Log4j2
@ -31,8 +32,8 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService {
@Override
public void saveOtherDataBaseNew(String tenantId, List<BusinessPreOrderEntity> dataResult, String mallName) {
List<Long> orderIdList = dataResult.stream()
.map(BusinessPreOrderEntity::getStockArticleId)
List<String> orderCodeList = dataResult.stream()
.map(BusinessPreOrderEntity::getOrderCode)
.collect(Collectors.toList());
R<Tenant> tenantByName = sysClient.getTenantByName(mallName);
if (tenantByName.isSuccess()) {
@ -47,7 +48,7 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService {
LambdaQueryWrapper<BusinessPreOrderEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(BusinessPreOrderEntity::getInWarehouse, 0);
lambdaQueryWrapper.in(BusinessPreOrderEntity::getStockArticleId, orderIdList);
lambdaQueryWrapper.in(BusinessPreOrderEntity::getOrderCode, orderCodeList);
List<BusinessPreOrderEntity> list = businessPreOrderService.list(lambdaQueryWrapper);
@ -55,19 +56,24 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService {
List<Long> temsp = new ArrayList<>();
for (BusinessPreOrderEntity distributionBusinessPreOrderEntity : list) {
for (BusinessPreOrderEntity businessPreOrderEntity : dataResult) {
businessPreOrderEntity.setTenantId(tenant.getTenantId());
for (int i = 0; i < dataResult.size(); i++) {
BusinessPreOrderEntity businessPreOrderEntity = dataResult.get(i);
businessPreOrderEntity.setTenantId(tenant.getTenantId());
if (businessPreOrderEntity.getStockArticleId().equals(distributionBusinessPreOrderEntity.getStockArticleId())) {
// 找到订单
if (businessPreOrderEntity.getOrderPackageCode().equals(distributionBusinessPreOrderEntity.getOrderPackageCode())) {
//找到包件 并标记为删除状态
if (distributionBusinessPreOrderEntity.getInWarehouse().equals(1)) {
// 需要删除集合中的数据
dataResult.remove(i);
} else {
temsp.add(distributionBusinessPreOrderEntity.getId());
}
}
}
}
}
if (!temsp.isEmpty()) {
// 更新删除状态

1
blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java

@ -590,6 +590,7 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
data.setSecond(entityByOrderPackageCode.getSecondPackName());
data.setThirdProduct(entityByOrderPackageCode.getThirdPackName());
data.setBrandName(entityByOrderPackageCode.getBrand());
data.setOrderCode(entityByOrderPackageCode.getOrderCode());
data.setConditions(1);
data.setInWarehouse(0);
data.setDriverName(driverName);

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionDeliveryAppController.java

@ -79,8 +79,8 @@ public class DistributionDeliveryAppController {
@GetMapping("/trays")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "详情", notes = "传入DistributionDeliveryListDTO")
public R<IPage<DistributionAppReservationVO>> traysDetail(DistributionAppDeliveryListDTO distributionDeliveryList, Query query) {
IPage<DistributionAppReservationVO> pages = distributionDeliveryListService.getAppDeliveryreservationTraysPage(Condition.getPage(query),distributionDeliveryList);
public R traysDetail(DistributionAppDeliveryListDTO distributionDeliveryList) {
List<DistributionAppReservationVO> pages = distributionDeliveryListService.getAppDeliveryreservationTraysPage(distributionDeliveryList);
return R.data(pages);
}

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

@ -335,7 +335,6 @@ public class DistributionSignforController extends BladeController {
distributionSignforDTO.setId(distributionSignfor.getId());
distributionSignforService.updateSign(distributionSignforDTO);
distributionStockupInfoService.maintenanceStockUp(distributionSignfor.getReservationId(),1);
}
// return R.status(distributionSignforService.updateById(distributionSignfor));
return r;

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

@ -181,5 +181,5 @@ public interface DistributionDeliveryInfoMapper extends BaseMapper<DistributionD
* @param id
* @return
*/
List<DistributionAppReservationVO> selectAppTarysListPage(IPage<DistributionAppReservationVO> page,@Param("reservationId") Long id);
List<DistributionAppReservationVO> selectAppTarysListPage(@Param("reservationId") Long id);
}

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

@ -261,7 +261,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
* @param distributionDeliveryList
* @return
*/
IPage<DistributionAppReservationVO> getAppDeliveryreservationTraysPage(IPage<DistributionAppReservationVO> page, DistributionAppDeliveryListDTO distributionDeliveryList);
List<DistributionAppReservationVO> getAppDeliveryreservationTraysPage(DistributionAppDeliveryListDTO distributionDeliveryList);
/**
* 异常装车

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

@ -252,6 +252,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
@Autowired
private IBasicdataDriverArteryClient arteryClient;
@Autowired
private IDistributionDeliveryDetailsService distributionDeliveryDetailsService;
// private final IWarehouseRetentionScanClient warehouseRetentionScanClient;
// @Lazy
@ -4849,14 +4852,15 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistrilbutionBillPackageEntity> distrilbutionBillPackageEntities = distrilbutionBillPackageMapper.selectList(distrilbutionBillStockEntityLambdaQueryWrapper);
// 得到所以的订单列表
List<DistributionParcelListEntity> distributionParcelListEntities = null;
List<DistributionParcelListEntity> distributionParcelListEntities = new ArrayList<>();
if (!distrilbutionBillPackageEntities.isEmpty()) {
List<Long> ids = distrilbutionBillPackageEntities.stream().map(DistrilbutionBillPackageEntity::getParceListId).collect(Collectors.toList());
distributionParcelListEntities = distributionParcelListMapper.selectBatchIds(ids);
}
Map<String, Object> map = new HashMap<>();
map.put("自提单号", distrilbutionBillLadingEntity.getPickupBatch());
String fileTypeName = QRCodeUtil.createCodeToFile(map.get("自提单号").toString());
@ -4864,9 +4868,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// map.put("收货单单位", reservationEntity.getReceivingUnit());//收货单单位
// map.put("商场名称", reservationEntity.getStoreName());//商场名称
// 构建map集合中收货单和商场名称
if (!distributionParcelListEntities.isEmpty() && !distrilbutionBillStockEntities.isEmpty()){
buildMapByDistrilbutionBillLadingEntity(map, distrilbutionBillStockEntities, distributionParcelListEntities, distrilbutionBillLadingEntity);
}
map.put("提货人", distrilbutionBillLadingEntity.getConsignee());//提货人
map.put("联系电话", distrilbutionBillLadingEntity.getConsigneePhone());//收货人电话
BasicdataWarehouseEntity entityWarehouseId = warehouseClient.getEntityWarehouseId(distrilbutionBillLadingEntity.getWarehouseId());
@ -4919,24 +4922,71 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
private void buildMapByDistrilbutionBillLadingEntity(Map<String, Object> map, List<DistrilbutionBillStockEntity> distrilbutionBillStockEntities, List<DistributionParcelListEntity> distributionParcelListEntities, DistrilbutionBillLadingEntity distrilbutionBillLadingEntity) {
// 查询订单集合
Set<Long> ids = new HashSet<Long>();
for (DistrilbutionBillStockEntity distrilbutionBillStockEntity : distrilbutionBillStockEntities) {
ids.add(distrilbutionBillStockEntity.getStockArticleId());
}
// 得到所以的订单列表
List<DistributionStockArticleEntity> distributionStockArticleEntities = distributionStockArticleMapper.selectBatchIds(ids);
int a = 1;
List<Map<String, Object>> ls = new ArrayList<>();
// 获取订单中的商城和收货单位
StringBuilder consigneeUnit = new StringBuilder();
StringBuilder mailNames = new StringBuilder();
List<Map<String, Object>> ls = new ArrayList<>();
int hejiNum = 0;
Map<String, Object> m = new HashMap<>();
// 查询库存品信息
List<DistributionDeliveryDetailsEntity> detailsEntities = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
.ne(DistributionDeliveryDetailsEntity::getStockStatus, ReservationOrderStatusConstant.quxiao.getValue())
);
if (!detailsEntities.isEmpty()) {
Map<Long, List<DistributionDeliveryDetailsEntity>> inventoryMap = detailsEntities.stream().collect(Collectors.groupingBy(DistributionDeliveryDetailsEntity::getStockListId));
List<Long> inventoryIds = detailsEntities.stream().map(DistributionDeliveryDetailsEntity::getStockListId).collect(Collectors.toList());
List<DistributionStockListEntity> distributionStockListEntities = distributionStockListService.listByIds(inventoryIds);
if (!distributionStockListEntities.isEmpty()) {
for (DistributionStockListEntity distributionStockListEntity : distributionStockListEntities) {
Map<String, Object> tempMap = new HashMap<>();
tempMap.put("序号", a);
tempMap.put("运单号", distributionStockListEntity.getIncomingBatch());
tempMap.put("合同号", distributionStockListEntity.getOrderCode());
tempMap.put("物料名称", distributionStockListEntity.getDescriptionGoods());
//构建产品明细
Map<String,Object> map1 = new HashMap<>();
map1.put("物料编码",distributionStockListEntity.getCargoNumber());
map1.put("物料单位",distributionStockListEntity.getCargoUnit());
map1.put("物料规格",distributionStockListEntity.getCargoNorms());
//查询此订制品库位信息
DistributionDeliveryDetailsEntity distributionDeliveryDetailsEntity = inventoryMap.get(distributionStockListEntity.getId()).get(0);
Integer quantity = distributionDeliveryDetailsEntity.getQuantity();
map1.put("计划数量",quantity);
hejiNum += quantity;
tempMap.put("小计", quantity);
tempMap.put("货位", "");
tempMap.put("产品明细", map1);
tempMap.put("备货区", "");
ls.add(tempMap);
a++;
if (!mailNames.toString().contains(distributionStockListEntity.getMarketName())) {
if (!mailNames.toString().isEmpty()) {
mailNames.append(",");
}
mailNames.append(distributionStockListEntity.getMarketName());
}
if (!consigneeUnit.toString().contains(distributionStockListEntity.getMarketName())) {
if (!consigneeUnit.toString().isEmpty()) {
consigneeUnit.append(",");
}
consigneeUnit.append(distributionStockListEntity.getMarketName());
}
}
}
}
int a = 1;
// 构建产品明细的表头 -- 这里目前只处理了定制品和有数据的库存品,对于零担 还没有处理
List<Map<String, Object>> listMapTemp = new ArrayList<>();
Map<String, Object> m = new HashMap<>();
int hejiNum = 0;
for (DistributionParcelListEntity distributionParcelListEntity : distributionParcelListEntities) {
if (StringUtils.isBlank(distributionParcelListEntity.getThirdProduct())) {
distributionParcelListEntity.setThirdProduct("其它");
@ -4952,9 +5002,12 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// 加入到集合中的去 目的是为了获取分类头部
listMapTemp.add(m);
if (!distrilbutionBillStockEntities.isEmpty()) {
List<Long> ids = distrilbutionBillStockEntities.stream().map(DistrilbutionBillStockEntity::getStockArticleId).collect(Collectors.toList());
// 得到所以的订单列表
List<DistributionStockArticleEntity> distributionStockArticleEntities = distributionStockArticleMapper.selectBatchIds(ids);
for (DistributionStockArticleEntity distributionStockArticleEntity : distributionStockArticleEntities) {
Map<String, Object> tempMap = new HashMap<>();
// 需要从所有的包件的
List<DistributionParcelListEntity> ts = new ArrayList<>();
for (DistributionParcelListEntity distributionParcelListEntity : distributionParcelListEntities) {
@ -4976,7 +5029,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
consigneeUnit.append(distributionStockArticleEntity.getConsigneeUnit());
}
Map<String, Object> tempMap = new HashMap<>();
tempMap.put("序号", a);
tempMap.put("运单号", distributionStockArticleEntity.getWaybillNumber());
@ -5032,18 +5084,29 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
}
map.put("收货单单位", consigneeUnit.toString());
map.put("商场名称", mailNames.toString());
map.put("明细", ls);
Map<String, Object> m1 = new HashMap<>();
if (!m.isEmpty()) {
m1.put("产品明细", m);
}
m1.put("合计数量", hejiNum);
map.put("合计", m1);
}
/**
* 构建分类明细
*
@ -5195,13 +5258,16 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
@Override
public IPage<DistributionAppReservationVO> getAppDeliveryreservationTraysPage(IPage<DistributionAppReservationVO> page, DistributionAppDeliveryListDTO distributionDeliveryList) {
public List<DistributionAppReservationVO> getAppDeliveryreservationTraysPage( DistributionAppDeliveryListDTO distributionDeliveryList) {
// ---------------------------------2023-09-25 新增托盘详情---------------------------------------------------------------------------------------
List<DistributionAppReservationVO> customList = distributionDeliveryInfoMapper.selectAppTarysListPage(page, Long.parseLong(distributionDeliveryList.getReservationId()));
List<DistributionAppReservationVO> customList = distributionDeliveryInfoMapper.selectAppTarysListPage( Long.parseLong(distributionDeliveryList.getReservationId()));
List<DistributionAppReservationVO> a = new ArrayList<>();
customList.forEach(c -> {
String trayCode = c.getTrayCode();
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId()).eq(DistributionLoadscanEntity::getTrayNo, trayCode).ne(DistributionLoadscanEntity::getScanStatus, "1"));
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId())
.eq(DistributionLoadscanEntity::getTrayNo, trayCode)
.ne(DistributionLoadscanEntity::getScanStatus, "1"));
c.setIsScan(1);
if (Func.isNotEmpty(loadscanEntityList) && loadscanEntityList.size() > 0) {
c.setIsScan(2);
@ -5226,7 +5292,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
});
return page.setRecords(a);
return a;
}

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

@ -1985,6 +1985,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
reservationEntity.setReplaceFee(distributionReservationDTO.getReplaceFee());
reservationEntity.setRemarks(distributionReservationDTO.getRemarks());
reservationEntity.setIsUrgent(distributionReservationDTO.getIsUrgent());
reservationEntity.setIsInstall(distributionReservationDTO.getIsInstall());
this.updateById(reservationEntity);
return R.status(true);
}

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

@ -5196,14 +5196,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
jsonObjects.add(jsonObject);
content = "包件在"+myCurrentWarehouse.getName()+"由"+loadscanEntity.getSigningUser()+"司机司机批量签收,装车方式:扫描装车,配送车次号:"+distributionDeliveryListEntity.getTrainNumber()+"预约任务号:"+reservationEntity.getReservationCode();
trunklinePackageTrackLog= handleLogJSONObject(myCurrentWarehouse,AuthUtil.getUser(),parcelListEntity.getOrderPackageCode(),content,WorkNodeEnums.DISTRIBUTION_ABNORMAL_SIGN_FOR.getCode(), distributionDeliveryListEntity.getTrainNumber(), parcelListEntity.getWarehouseEntryTimeEnd());
distributionAsyncService.sendFactory(parcelListEntity, loadscanEntity.getSigningTime(),reservationEntity.getId(),reservationEntity.getReservationCode(),myCurrentWarehouse.getName(),user.getNickName());
} else {
//存在装车数据
if (distributionSignfor.getIsClerk()) {
loadscanEntities.setMsg("文员一键签收数据补录");
} else {
loadscanEntities.setMsg("司机一键签收数据补录");
}
if (!loadscanEntities.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())) {
//已经进行过装车 这里不需要进行订制品订单在库数量扣减
loadscanEntities.setSignforState(LoadScanSigningStatusConstant.yiqianshou.getValue());
@ -5218,7 +5214,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
packageLockIds.add(loadscanEntities.getPackageId());
content = "包件在"+myCurrentWarehouse.getName()+"由"+loadscanEntities.getSigningUser()+"司机批量签收,装车方式:补录装车,配送车次号:"+distributionDeliveryListEntity.getTrainNumber()+"预约任务号:"+reservationEntity.getReservationCode();
trunklinePackageTrackLog= handleLogJSONObject(myCurrentWarehouse,AuthUtil.getUser(),parcelListEntity.getOrderPackageCode(),content,WorkNodeEnums.DISTRIBUTION_ABNORMAL_SIGN_FOR.getCode(),distributionDeliveryListEntity.getTrainNumber(), parcelListEntity.getWarehouseEntryTimeEnd());
//推送扫描记录
distributionAsyncService.sendFactory(parcelListEntity, loadscanEntities.getSigningTime(),reservationEntity.getId(),reservationEntity.getReservationCode(),myCurrentWarehouse.getName(),user.getNickName());
}
}
@ -5234,7 +5231,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (Func.isNotEmpty(packageIds)) {
distributionAsyncService.handlPakcage(packageIds, myCurrentWarehouse.getId());
//批量推送
distributionAsyncService.sendReviewFactory(distributionSignforEntity.getId(), myCurrentWarehouse.getName(), myCurrentWarehouse.getId());
// distributionAsyncService.sendReviewFactory(distributionSignforEntity.getId(), myCurrentWarehouse.getName(), myCurrentWarehouse.getId());
}
//备货库位下架
//TODO

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

@ -51,6 +51,7 @@ public class DistributionReservationWrapper extends BaseEntityWrapper<Distributi
reservationVO.setStockupStatusName(DictBizCache.getValue(DictBizConstant.RESERVATION_STOCKUP_STATUS,entity.getStockupStatus()));
reservationVO.setLoadingStatusName(DictBizCache.getValue(DictBizConstant.RESERVATION_LIST_LOADING_STATUS,entity.getLoadingStatus()));
reservationVO.setSigningStatusName(DictBizCache.getValue(DictBizConstant.RESERVATION_SIGNFOR_STATUS,entity.getSigningStatus()));
reservationVO.setIsInstallName(DictBizCache.getValue(DictBizConstant.YES_NO,entity.getIsInstall()));
return reservationVO;
}
}

4
blade-service/logpm-factory-data/logpm-factory-data-linsy/src/main/java/com/logpm/factorydata/linsy/config/InterceptorAdapterConfig.java

@ -27,7 +27,9 @@ public class InterceptorAdapterConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry interceptorRegistry) {
interceptorRegistry.addInterceptor(new FactoryAccountsInterceptor(factoryTokenService))
.addPathPatterns("/**").order(2);
.addPathPatterns("/**")
.excludePathPatterns("/**/sendMsg")
.order(2);
interceptorRegistry.addInterceptor(new LocalServerLoginAccountsInterceptor(redis, environment,redisLockClient,mockLoginService))
.addPathPatterns("/**").order(1);

29
blade-service/logpm-factory-data/logpm-factory-data-linsy/src/main/java/com/logpm/factorydata/linsy/service/impl/DeliveryNoteServiceImpl.java

@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.logpm.factorydata.base.feign.IFactoryDataBaseClient;
@ -175,14 +176,18 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
log.info("工厂发起取消订单:{}", JSONUtil.toJsonStr(vo));
CancelOrderParamVO param = new CancelOrderParamVO();
param.setOrderCode(vo.getSourceCode());
if(linsyProperties.getNewAdvance()){
if (linsyProperties.getNewAdvance()) {
Boolean result = advanceClient.cancelOrder(param);
return result;
}
if(linsyProperties.getOldAdvance()){
String post = HttpUtil.post(linsyProperties.getOldSystemHost() + linsyProperties.getOldSystemCancelAdvanceUrl(), JSONUtil.toJsonStr(param));
// return result;
if (linsyProperties.getOldAdvance()) {
String post = HttpUtil.post(linsyProperties.getOldSystemHost() + linsyProperties.getOldSystemCancelAdvanceUrl(), JSONUtil.parseObj(param));
if (StrUtil.isNotEmpty(post)) {
JSONObject entries = JSONUtil.parseObj(post);
if (ObjectUtil.equals(entries.getInt("code"), 200)) {
return true;
}
}
}
return false;
}
@ -243,8 +248,10 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
advance.set("senderName", vo.getSenderName());
advance.set("senderMobile", vo.getSenderTelephone());
advance.set("senderAddress", vo.getSenderDetailAddress());
advance.set("create_time", DateUtil.now());
advance.set("update_time", DateUtil.now());
List<JSONObject> packageList = new ArrayList<>();
JSONArray packageList = new JSONArray();
for (PackageInfoVO orderPackageDTO : packages) {
advance.set("firstPackName", orderPackageDTO.getMaterialName());
advance.set("firstPackCode", orderPackageDTO.getMaterialCode());
@ -277,7 +284,7 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
advanceDetailEntity.set("isSuppin", "N");
advanceDetailEntity.set("productCode", "");
advanceDetailEntity.set("goodName", "");
advanceDetailEntity.set("admin", "");
// advanceDetailEntity.set("admin", "");
advanceDetailEntity.set("siteCode", "");
advanceDetailEntity.set("area", "");
advanceDetailEntity.set("date2", "");
@ -288,15 +295,17 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
advanceDetailEntity.set("orderNum", "");
advanceDetailEntity.set("mtdsNo", "");
advanceDetailEntity.set("old_id", 0);
advanceDetailEntity.set("remark", "");
advanceDetailEntity.set("dueDate", "");
// advanceDetailEntity.set("remark", "");
// advanceDetailEntity.set("dueDate", null);
advanceDetailEntity.set("is_opai", 0);
advanceDetailEntity.set("administrators_id", 1126);
advanceDetailEntity.set("date100", new Date());
advanceDetailEntity.set("create_time", DateUtil.now());
advanceDetailEntity.set("update_time", DateUtil.now());
JSONObject entries = JSONUtil.parseObj(advanceDetailEntity);
packageList.add(entries);
}
advance.set("details", JSONUtil.toJsonStr(packageList));
advance.set("details", packageList);
if (ObjectUtil.isAllNotEmpty(linsyProperties.getOldSystemHost(), linsyProperties.getOldSystemAdvanceUrl())) {
log.info("推送老系统暂存单:{}", JSONUtil.toJsonStr(advance));
String post = HttpUtil.post(linsyProperties.getOldSystemHost() + linsyProperties.getOldSystemAdvanceUrl(), JSONUtil.toJsonStr(advance));

12
blade-service/logpm-factory-data/logpm-factory-data-linsy/src/main/resources/application.yml

@ -10,21 +10,9 @@ swagger:
- org.springblade
- com.logpm
#oss配置
oss:
enabled: true
name: minio
tenant-mode: false
endpoint: http://8.137.14.82:9000
access-key: minio
secret-key: 123123123
bucket-name: bladex
logging:
config: classpath:logback.xml
spring:
main:
allow-circular-references: true

11
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java

@ -131,7 +131,7 @@ public class ZbomNodeDataPushListener {
.eq(ZbFactoryNodePushEntity::getDepartCode, value.getDepartCode())
);
// 已经推送过了就不再推了
if(CollUtil.isNotEmpty(list)){
if (CollUtil.isNotEmpty(list)) {
return;
}
}
@ -156,10 +156,11 @@ public class ZbomNodeDataPushListener {
Map<String, SendMsg> sendMsgMap = new HashMap<>();
// 构建提交参数
buildParam(entries, node, workNodeEnums, orders, noSignNumberMap, nodeOrderMap, nodeConfirmLsit, sendMsgMap);
try {
// 推送给志邦
if (CollUtil.isNotEmpty(nodeConfirmLsit)) {
for (NodeConfirmParamDTO nodeConfirmParam : nodeConfirmLsit) {
log.info("zb节点数据推送NodeConfirmParamDTO:{}", JSONUtil.toJsonStr(nodeConfirmParam));
try {
// 推送给志邦
String key = nodeConfirmParam.getDepartCode() + nodeConfirmParam.getPlatformOrderCode();
String body = JSONUtil.toJsonStr(nodeConfirmParam);
String result = null;
@ -224,8 +225,6 @@ public class ZbomNodeDataPushListener {
}
}
}
}
}
} catch (Exception e) {
// 处理推送不成功的异常情况
log.error("zb节点推送数据异常:{}", e);
@ -235,6 +234,8 @@ public class ZbomNodeDataPushListener {
}
}
}
}
}
private void buildParam(JSONObject entries, String node, WorkNodeEnums workNodeEnums, List<NodeDataDTO> orders,
Map<String, Integer> noSignNumberMap, Map<String, ZbFactoryNodeOrderEntity> nodeOrderMap,

34
blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/MengTianPushDataJob.java

@ -1,6 +1,7 @@
package com.logpm.factory.jobhandler;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@ -34,7 +35,7 @@ public class MengTianPushDataJob {
private final RabbitTemplate rabbitTemplate;
/**
* 定时扫描梦天手动数据
* 定时扫描梦天手动数据 文员复核
*
* @param param
* @return
@ -70,12 +71,39 @@ public class MengTianPushDataJob {
Map<String, Object> map = new HashMap<>();
String mes = com.alibaba.fastjson.JSONObject.toJSONString(dto);
map.put("messageData", mes);
log.info("梦天手动回推签收数据:{}", JSONUtil.toJsonStr(map));
log.info("梦天手动回推签收文员复核数据:{}", JSONUtil.toJsonStr(map));
rabbitTemplate.convertAndSend(RabbitConstant.MT_BUSINESS_DATA_CLERK_CHECK_2_FACTORY_EXCHANGE, RabbitConstant.MT_BUSINESS_DATA_CLERK_CHECK_2_FACTORY_ROUTING, map);
mtPushDataMapper.customPushNodeDataSended(sendTaskId);
mtPushDataMapper.customPushNodeDataSended(sendTaskId, 2);
}
return ReturnT.SUCCESS;
}
/**
* 定时扫描梦天手动数据 签收扫描
*
* @param param
* @return
* @throws Exception
*/
@XxlJob("mengTianCustomPushNodeScanData")
public ReturnT<String> mengTianCustomPushNodeScanData(String param) throws Exception {
JSONObject js = this.mtPushDataMapper.customPushNodeDataScan();
if (ObjectUtil.isEmpty(js)) {
return ReturnT.SUCCESS;
}
JSONObject entries = new JSONObject();
entries.set("orderPackageCode", js.getStr("unitNo"));
entries.set("operationTime", js.getStr("operateDate"));
entries.set("distributionContactId", js.getStr("sendTaskId"));
entries.set("destinationWarehouse", js.getStr("warehouse"));
Map<String, Object> map = new HashMap<>();
map.put("messageData", JSONUtil.toJsonStr(entries));
log.info("梦天手动回推签收扫描数据:{}", JSONUtil.toJsonStr(map));
rabbitTemplate.convertAndSend(RabbitConstant.MT_BUSINESS_DATA_2_FACTORY_EXCHANGE, RabbitConstant.MT_BUSINESS_DATA_2_FACTORY_ROUTING, map);
mtPushDataMapper.customPushNodeDataSendedScan(js.getStr("unitNo"), 1);
return ReturnT.SUCCESS;
}
}

6
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtPushDataMapper.java

@ -4,14 +4,18 @@ import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.factory.mt.dto.MtReceiveImagesDTO;
import com.logpm.factory.mt.entity.MtPushData;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface MtPushDataMapper extends BaseMapper<MtPushData> {
List<JSONObject> customPushNodeData();
JSONObject customPushNodeDataScan();
List<MtReceiveImagesDTO> customPushNodeDataImage(String sendTaskId);
void customPushNodeDataSended(String sendTaskId);
void customPushNodeDataSended(@Param("sendTaskId") String sendTaskId, @Param("pushType") int pushType);
void customPushNodeDataSendedScan(@Param("unitNo") String unitNo, @Param("pushType") int pushType);
}

25
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtPushDataMapper.xml

@ -14,9 +14,24 @@
from mt_custom_push_data_package t1
join (select t.sendTaskId
from mt_custom_push_data_package t
where t.sendStatus = 0
where t.sendStatus = 0 and t.push_type = 2
group by t.sendTaskId limit 1) t2
on t1.sendTaskId = t2.sendTaskId
where t1.push_type = 2
</select>
<select id="customPushNodeDataScan" resultType="cn.hutool.json.JSONObject">
select t1.sendTaskId,
t1.receiver,
t1.orderCode,
t1.unitNo,
t1.operateDate,
t1.warehouseCode,
t1.warehouse,
t1.invoiceOrderCode,
t1.waybillNumber
from mt_custom_push_data_package t1
where t1.push_type = 1
limit 1
</select>
<select id="customPushNodeDataImage" resultType="com.logpm.factory.mt.dto.MtReceiveImagesDTO">
select image
@ -26,6 +41,12 @@
<update id="customPushNodeDataSended">
update mt_custom_push_data_package
set sendStatus = 1
where sendTaskId = #{sendTaskId}
where sendTaskId = #{sendTaskId} and push_type = #{pushType}
</update>
<update id="customPushNodeDataSendedScan">
update mt_custom_push_data_package
set sendStatus = 1
where unitNo = #{unitNo} and push_type = #{pushType}
</update>
</mapper>

12
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceDetailMapper.xml

@ -122,9 +122,6 @@
<select id="getByUnitNoByPyl" resultType="com.logpm.oldproject.vo.DistributionParcelListEntityVO">
select w.title warehouse,
od.unitNo packetBarCode,
c.title cargoTitle,
s.title shelfTitle,
l.title goodsAllocation,
ad.firstPackName firsts,
ad.secondPackName `second`,
ad.thirdPackName thirdProduct,
@ -138,9 +135,6 @@
from ht_order_detail od
left join ht_advance_detail ad on ad.unitNo = od.unitNo
left join ht_warehouse w on w.id = od.now_warehouse_id
left join ht_location l on od.location_id = l.id
left join ht_shelf s on l.shelf_id = s.id
left join ht_cargo c on s.cargo_id = c.id
where od.unitNo = #{unitNo}
</select>
@ -171,9 +165,6 @@
<select id="getByUnitNoAndWarehouseId" resultType="com.logpm.oldproject.vo.DistributionParcelListEntityVO">
select w.title warehouse,
od.unitNo packetBarCode,
c.title cargoTitle,
s.title shelfTitle,
l.title goodsAllocation,
ad.firstPackName firsts,
ad.secondPackName `second`,
ad.thirdPackName thirdProduct,
@ -189,9 +180,6 @@
from ht_order_detail od
left join ht_advance_detail ad on ad.unitNo = od.unitNo
left join ht_warehouse w on w.id = od.now_warehouse_id
left join ht_location l on od.location_id = l.id
left join ht_shelf s on l.shelf_id = s.id
left join ht_cargo c on s.cargo_id = c.id
left join ht_detail_product hdp on hdp.unit_no = od.unitNo
where od.unitNo = #{unitNo}
and od.now_warehouse_id = #{oldWarehouseId}

3
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java

@ -53,7 +53,8 @@ public class TrayScanDesServiceImpl implements ITrayScanDesService {
QueryWrapper<TrayScanDesEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("now_warehouse_id",oldWarehouseId)
.eq("type",1)
.eq("tray_id",trayId);
.eq("tray_id",trayId)
.eq("delete_time",0);
return trayScanDesMapper.selectList(queryWrapper);
}
}

36
blade-service/logpm-report/src/main/java/com/logpm/report/controller/WarehouseIndexController.java

@ -7,6 +7,7 @@ import com.logpm.report.dto.IndexDTO;
import com.logpm.report.service.IWarehouseIndexService;
import com.logpm.report.vo.*;
import com.logpm.report.vo.indexCount.IndexDeliveryDataVO;
import com.logpm.report.vo.indexCount.IndexSignforDataVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -307,4 +308,39 @@ public class WarehouseIndexController {
}
@ResponseBody
@PostMapping("/signforData")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "卸车异常数据", notes = "传入indexDTO")
public R signforData(@RequestBody IndexDTO indexDTO) {
String method = "###########unloadAbnormalData: ";
log.info(method+"indexDTO={}",indexDTO);
try{
List<Long> warehouseIds = new ArrayList<>();
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
List<BasicdataWarehouseEntity> myWatchWarehouse = warehouseClient.getMyWarehouseList();
if (myWatchWarehouse.isEmpty()) {
warehouseIds = myWatchWarehouse.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList());
}
}else{
warehouseIds.add(myCurrentWarehouse.getId());
}
indexDTO.setWarehouseIds(warehouseIds);
//查询订制品打托列表
List<IndexSignforDataVO> indexDeliveryDataVO = warehouseIndexService.signforData(indexDTO);
return R.data(indexDeliveryDataVO);
}catch (CustomerException e){
log.warn(e.message);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常,联系管理员",e);
return R.fail(500,"系统异常,联系管理员");
}
}
}

1
blade-service/logpm-report/src/main/java/com/logpm/report/dto/IndexDTO.java

@ -12,5 +12,6 @@ public class IndexDTO implements Serializable {
private List<Long> warehouseIds;
private Date startDate;
private Date endDate;
private String dayStr;
}

69
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/WarehouseIndexMapper.java

@ -138,4 +138,73 @@ public interface WarehouseIndexMapper {
*/
BigDecimal findTripartiteTotalVolume(@Param("param")IndexDTO indexDTO);
/**
* 查询当天的签收数量
* @param indexDTO
* @return
*/
Integer findSignforDataByDay(@Param("param")IndexDTO indexDTO);
/**
* 查询当月签收数量
* @param indexDTO
* @return
*/
Integer findSignforDataByMonth(@Param("param")IndexDTO indexDTO);
/**
* 查询前天未签收件数
* @param indexDTO
* @return
*/
Integer findUnSignforDataByDay(@Param("param")IndexDTO indexDTO);
/**
* 查询当月未签收件数
* @param indexDTO
* @return
*/
Integer findUnSignforDataByMonth(@Param("param")IndexDTO indexDTO);
/**
* 查询当天文员复核数
* @param indexDTO
* @return
*/
Integer findClerkSignforNumByDay(@Param("param")IndexDTO indexDTO);
/**
* 查询当月文员复核数
* @param indexDTO
* @return
*/
Integer findClerkSignforNumByMonth(@Param("param")IndexDTO indexDTO);
/**
* 查询当天计划数
* @param indexDTO
* @return
*/
Integer findPlanNumByDay(@Param("param")IndexDTO indexDTO);
/**
* 查询当月文员计划数
* @param indexDTO
* @return
*/
Integer findPlanNumByMonth(@Param("param")IndexDTO indexDTO);
/**
* 查询当天文员复核超时数
* @param indexDTO
* @return
*/
Integer findClerkOverTimeNumByDay(@Param("param")IndexDTO indexDTO);
/**
* 查询当月文员复核超时数
* @param indexDTO
* @return
*/
Integer findClerkOverTimeNumByMonth(@Param("param")IndexDTO indexDTO);
}

233
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/WarehouseIndexMapper.xml

@ -223,7 +223,7 @@
<select id="findBillLadingTotal" resultType="com.logpm.report.vo.indexCount.IndexDeliveryDataVO">
SELECT
3 AS type,
count( 1 )
count( 1 ) AS totalNum
FROM
logpm_distrilbution_bill_lading
<where>
@ -246,7 +246,7 @@
AND is_deleted = 0
AND delivery_type = #{type}
<if test="param.warehouseIds != null">
AND warehouse IN
AND warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -268,7 +268,7 @@
AND ldrp.packet_bar_status != 2
AND ldr.delivery_type = #{type}
<if test="param.warehouseIds != null">
AND ldr.warehouse IN
AND ldr.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -289,7 +289,7 @@
AND ldrp.packet_bar_status != 2
AND ldr.delivery_type = #{type}
<if test="param.warehouseIds != null">
AND ldr.warehouse IN
AND ldr.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -311,7 +311,7 @@
AND ldl.is_deleted = 0
AND ldr.delivery_type = #{type}
<if test="param.warehouseIds != null">
AND ldr.warehouse IN
AND ldr.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -329,7 +329,7 @@
AND ldbp.is_deleted = 0
AND ldbl.is_deleted = 0
<if test="param.warehouseIds != null">
AND ldbl.warehouse IN
AND ldbl.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -348,7 +348,7 @@
AND ldbp.is_deleted = 0
AND ldbl.is_deleted = 0
<if test="param.warehouseIds != null">
AND ldbl.warehouse IN
AND ldbl.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -367,7 +367,7 @@
AND ldbp.is_deleted = 0
AND ldbl.is_deleted = 0
<if test="param.warehouseIds != null">
AND ldbl.warehouse IN
AND ldbl.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -454,5 +454,222 @@
</if>
</where>
</select>
<select id="findSignforDataByDay" resultType="java.lang.Integer">
SELECT
((
SELECT
IFNULL( SUM( received_quantity ), 0 )
FROM
logpm_distribution_loadscan
<where>
signfor_state = 2
AND DATE_FORMAT( signing_time, "%y%m%d" ) = DATE_FORMAT( #{param.dayStr}, "%y%m%d" )
AND is_deleted = 0
<if test="param.warehouseIds != null">
and warehouse_id in
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
) + (
SELECT
IFNULL( SUM( quantity ), 0 )
FROM
logpm_distribution_bill_lading_scan
<where>
material_type = 2
AND DATE_FORMAT( create_time, "%y%m%d" ) = DATE_FORMAT( #{param.dayStr}, "%y%m%d" )
AND is_deleted = 0
<if test="param.warehouseIds != null">
and warehouse_id in
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
)) AS num
</select>
<select id="findSignforDataByMonth" resultType="java.lang.Integer">
SELECT
(
SELECT
IFNULL( SUM( received_quantity ), 0 )
FROM
logpm_distribution_loadscan
<where>
signfor_state = 2
AND DATE_FORMAT( signing_time, "%y%m" ) = DATE_FORMAT( #{param.dayStr}, "%y%m" )
AND is_deleted = 0
<if test="param.warehouseIds != null">
and warehouse_id in
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
) AS num
</select>
<select id="findUnSignforDataByDay" resultType="java.lang.Integer">
SELECT
(
SELECT
IFNULL( sum( quantity ), 0 )
FROM
logpm_distribution_reservation_package AS ldrp
LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldrp.parce_list_id = ldpl.id
<where>
ldpl.order_package_status != 70
AND ldrp.packet_bar_status != 2
AND ldrp.is_deleted = 0
AND DATE_FORMAT( ldrp.create_time, "%y%m%d" ) = DATE_FORMAT( #{param.dayStr}, "%y%m%d" )
<if test="param.warehouseIds != null">
AND ldpl.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
)
</select>
<select id="findUnSignforDataByMonth" resultType="java.lang.Integer">
SELECT
(
SELECT
IFNULL( sum( quantity ), 0 )
FROM
logpm_distribution_reservation_package AS ldrp
LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldrp.parce_list_id = ldpl.id
<where>
ldpl.order_package_status != 70
AND ldrp.packet_bar_status != 2
AND ldrp.is_deleted = 0
AND DATE_FORMAT( ldrp.create_time, "%y%m" ) = DATE_FORMAT( #{param.dayStr}, "%y%m" )
<if test="param.warehouseIds != null">
AND ldpl.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
)
</select>
<select id="findClerkSignforNumByDay" resultType="java.lang.Integer">
SELECT
count( 1 )
FROM
logpm_distribution_reservation AS ldr
LEFT JOIN logpm_distribution_signfor AS lds ON lds.reservation_id = ldr.id
<where>
ldr.reservation_status != 40
AND ldr.is_deleted = 0
AND lds.is_deleted = 0
AND lds.signing_status = 2
AND DATE_FORMAT(lds.signing_time, "%y%m%d" ) = DATE_FORMAT( #{param.dayStr}, "%y%m%d" )
<if test="param.warehouseIds != null">
AND ldr.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="findClerkSignforNumByMonth" resultType="java.lang.Integer">
SELECT
count( 1 )
FROM
logpm_distribution_reservation AS ldr
LEFT JOIN logpm_distribution_signfor AS lds ON lds.reservation_id = ldr.id
<where>
ldr.reservation_status != 40
AND ldr.is_deleted = 0
AND lds.is_deleted = 0
AND lds.signing_status = 2
AND DATE_FORMAT(lds.signing_time, "%y%m%d" ) = DATE_FORMAT( #{param.dayStr}, "%y%m%d" )
<if test="param.warehouseIds != null">
AND ldr.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="findPlanNumByDay" resultType="java.lang.Integer">
SELECT
count( 1 )
FROM
logpm_distribution_reservation
<where>
reservation_status != 40
AND is_deleted = 0
AND DATE_FORMAT(create_time, "%y%m%d" ) = DATE_FORMAT( #{param.dayStr}, "%y%m%d" )
<if test="param.warehouseIds != null">
AND warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="findPlanNumByMonth" resultType="java.lang.Integer">
SELECT
count( 1 )
FROM
logpm_distribution_reservation
<where>
reservation_status != 40
AND is_deleted = 0
AND DATE_FORMAT(create_time, "%y%m" ) = DATE_FORMAT( #{param.dayStr}, "%y%m" )
<if test="param.warehouseIds != null">
AND warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="findClerkOverTimeNumByDay" resultType="java.lang.Integer">
SELECT
count(1) AS num
FROM
logpm_distribution_reservation AS ldr
INNeR JOIN logpm_distribution_signfor AS lds ON ldr.id = lds.reservation_id
<where>
lds.signing_status = 2
AND ldr.is_deleted = 0
AND ldr.reservation_status != 40
AND lds.is_deleted = 0
AND DATE_FORMAT(ldr.create_time, "%y%m%d" ) = DATE_FORMAT( #{param.dayStr}, "%y%m%d" )
AND DATEDIFF (DATE_FORMAT(lds.signing_time,"%y%m%d"),DATE_FORMAT(ldr.create_time,"%y%m%d")) > 3
<if test="param.warehouseIds != null">
AND ldr.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="findClerkOverTimeNumByMonth" resultType="java.lang.Integer">
SELECT
count(1) AS num
FROM
logpm_distribution_reservation AS ldr
INNeR JOIN logpm_distribution_signfor AS lds ON ldr.id = lds.reservation_id
<where>
lds.signing_status = 2
AND ldr.is_deleted = 0
AND ldr.reservation_status != 40
AND lds.is_deleted = 0
AND DATE_FORMAT(ldr.create_time, "%y%m" ) = DATE_FORMAT( #{param.dayStr}, "%y%m" )
AND DATEDIFF (DATE_FORMAT(lds.signing_time,"%y%m%d"),DATE_FORMAT(ldr.create_time,"%y%m%d")) > 3
<if test="param.warehouseIds != null">
AND ldr.warehouse_id IN
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>

8
blade-service/logpm-report/src/main/java/com/logpm/report/service/IWarehouseIndexService.java

@ -3,6 +3,7 @@ package com.logpm.report.service;
import com.logpm.report.dto.IndexDTO;
import com.logpm.report.vo.*;
import com.logpm.report.vo.indexCount.IndexDeliveryDataVO;
import com.logpm.report.vo.indexCount.IndexSignforDataVO;
import java.util.List;
@ -27,4 +28,11 @@ public interface IWarehouseIndexService {
* @return
*/
List<IndexDeliveryDataVO> deliveryData(IndexDTO indexDTO);
/**
* 查询当前签收率
* @param indexDTO
* @return
*/
List<IndexSignforDataVO> signforData(IndexDTO indexDTO);
}

104
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/WarehouseIndexServiceImpl.java

@ -6,6 +6,7 @@ import com.logpm.report.mapper.WarehouseIndexMapper;
import com.logpm.report.service.IWarehouseIndexService;
import com.logpm.report.vo.*;
import com.logpm.report.vo.indexCount.IndexDeliveryDataVO;
import com.logpm.report.vo.indexCount.IndexSignforDataVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DistributionTypeConstant;
@ -14,6 +15,7 @@ import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@Slf4j
@ -249,10 +251,10 @@ public class WarehouseIndexServiceImpl implements IWarehouseIndexService {
Integer deLiveryTotalNum = warehouseIndexMapper.findDeLiveryTotalNum(indexDTO, indexDeliveryDataVO.getType());
indexDeliveryDataVO.setTotalDeliveryNum(deLiveryTotalNum);
//查询总重量
BigDecimal totalWeight = warehouseIndexMapper.findDeliveryTotalWeight(indexDTO,indexDeliveryDataVO.getType());
BigDecimal totalWeight = warehouseIndexMapper.findDeliveryTotalWeight(indexDTO, indexDeliveryDataVO.getType());
indexDeliveryDataVO.setTotalWeight(totalWeight);
//查询总包件体积
BigDecimal totalVolume = warehouseIndexMapper.findDeliveryTotalVolume(indexDTO,indexDeliveryDataVO.getType());
BigDecimal totalVolume = warehouseIndexMapper.findDeliveryTotalVolume(indexDTO, indexDeliveryDataVO.getType());
indexDeliveryDataVO.setTotalVolume(totalVolume);
//查询在途件数
Integer totalRoadNum = warehouseIndexMapper.findDeLiveryTotalRoadNum(indexDTO, indexDeliveryDataVO.getType());
@ -278,18 +280,100 @@ public class WarehouseIndexServiceImpl implements IWarehouseIndexService {
//查询外协信息
IndexDeliveryDataVO indexTripartiteDeliveryDataVO = warehouseIndexMapper.findTripartiteTotal(indexDTO);
if (Func.isNotEmpty(indexTripartiteDeliveryDataVO)) {
//查询自提总件数
//查询外协总件数
Integer tripartiteTotalNum = warehouseIndexMapper.findTripartiteTotalNum(indexDTO);
indexDeliveryDataVO.setTotalDeliveryNum(tripartiteTotalNum);
//查询总重量
indexTripartiteDeliveryDataVO.setTotalDeliveryNum(tripartiteTotalNum);
//查询外协总重量
BigDecimal tripartiteTotalWeight = warehouseIndexMapper.findTripartiteTotalWeight(indexDTO);
indexDeliveryDataVO.setTotalWeight(tripartiteTotalWeight);
//查询总包件体积
indexTripartiteDeliveryDataVO.setTotalWeight(tripartiteTotalWeight);
//查询外协总包件体积
BigDecimal tripartiteTotalVolume = warehouseIndexMapper.findTripartiteTotalVolume(indexDTO);
indexDeliveryDataVO.setTotalVolume(tripartiteTotalVolume);
indexDeliveryDataVOList.add(indexDeliveryDataVO);
indexTripartiteDeliveryDataVO.setTotalVolume(tripartiteTotalVolume);
indexDeliveryDataVOList.add(indexTripartiteDeliveryDataVO);
}
return indexDeliveryDataVOList;
}
@Override
public List<IndexSignforDataVO> signforData(IndexDTO indexDTO) {
List<IndexSignforDataVO> list = new ArrayList<>();
Date date = new Date();
SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd");
String day = dayFormat.format(date);
indexDTO.setDayStr(day);
IndexSignforDataVO indexSignforDayDataVO = new IndexSignforDataVO();
indexSignforDayDataVO.setType(1);
//查询当天签收数据
Integer daySignforNum = warehouseIndexMapper.findSignforDataByDay(indexDTO);
indexSignforDayDataVO.setSignNum(daySignforNum);
//查询当天未签收件数
Integer dayUnSignforNum = warehouseIndexMapper.findUnSignforDataByDay(indexDTO);
indexSignforDayDataVO.setUnSignNum(dayUnSignforNum);
//计算签收率
if (daySignforNum > 0 && (daySignforNum + dayUnSignforNum) >0){
Double daySignforScale = (double) (daySignforNum / (daySignforNum + dayUnSignforNum) * 100);
indexSignforDayDataVO.setSignScale(daySignforScale);
}else {
indexSignforDayDataVO.setSignScale(0.00);
}
//查询当天文员复核数
Integer dayClerkSignforNum = warehouseIndexMapper.findClerkSignforNumByDay(indexDTO);
indexSignforDayDataVO.setClerkSignNum(dayClerkSignforNum);
//查询当天计划数
Integer dayPlanByday = warehouseIndexMapper.findPlanNumByDay(indexDTO);
//计算文员签收率
if (dayClerkSignforNum > 0 && (dayPlanByday + dayClerkSignforNum)>0){
Double dayClerkSignforScale = (double) (dayClerkSignforNum / (dayPlanByday + dayClerkSignforNum));
indexSignforDayDataVO.setClerkSignforScale(dayClerkSignforScale);
} else {
indexSignforDayDataVO.setClerkSignforScale(0.00);
}
//文员超时复核数
Integer dayClerkOverTimeSignfoNum = warehouseIndexMapper.findClerkOverTimeNumByDay(indexDTO);
indexSignforDayDataVO.setClerkOverTimeSignfoNum(dayClerkOverTimeSignfoNum);
indexSignforDayDataVO.setClerkSignNum(dayClerkSignforNum);
list.add(indexSignforDayDataVO);
IndexSignforDataVO indexSignforMonthDataVO = new IndexSignforDataVO();
indexSignforMonthDataVO.setType(2);
//查询当月签收数据
Integer monthSignforNum = warehouseIndexMapper.findSignforDataByMonth(indexDTO);
indexSignforMonthDataVO.setSignNum(monthSignforNum);
//查询当月未签收数据
Integer monthUnSignforNum = warehouseIndexMapper.findUnSignforDataByMonth(indexDTO);
indexSignforMonthDataVO.setUnSignNum(monthUnSignforNum);
//计算签收率
if (monthSignforNum > 0 && (monthUnSignforNum + monthSignforNum) > 0){
Double monthSignforScale = (double) (monthSignforNum / (monthUnSignforNum + monthSignforNum));
indexSignforMonthDataVO.setSignScale(monthSignforScale);
}else {
indexSignforMonthDataVO.setSignScale(0.00);
}
//查询当月文员复核数
Integer monthClerkSignforNum = warehouseIndexMapper.findClerkSignforNumByMonth(indexDTO);
indexSignforMonthDataVO.setClerkSignNum(monthClerkSignforNum);
Integer monthPlanByday = warehouseIndexMapper.findPlanNumByMonth(indexDTO);
if (monthClerkSignforNum > 0 && (monthPlanByday + monthClerkSignforNum)>0){
Double monthClerkSignforScale = (double) (monthClerkSignforNum / (monthPlanByday + monthClerkSignforNum));
indexSignforMonthDataVO.setClerkSignforScale(monthClerkSignforScale);
}else {
indexSignforMonthDataVO.setClerkSignforScale(0.00);
}
//查询当月文员复核
Integer monthClerkOverTimeSignfoNum = warehouseIndexMapper.findClerkOverTimeNumByMonth(indexDTO);
indexSignforMonthDataVO.setClerkOverTimeSignfoNum(monthClerkOverTimeSignfoNum);
if (monthClerkOverTimeSignfoNum >0 && monthPlanByday>0){
Double monthClerkOverTimeScale = (double) (monthClerkOverTimeSignfoNum / monthPlanByday);
indexSignforMonthDataVO.setClerkOverTimeScale(monthClerkOverTimeScale);
}else {
indexSignforMonthDataVO.setClerkOverTimeScale(0.00);
}
list.add(indexSignforMonthDataVO);
return list;
}
}

4
blade-service/logpm-report/src/main/java/com/logpm/report/vo/indexCount/IndexDeliveryDataVO.java

@ -11,8 +11,8 @@ public class IndexDeliveryDataVO implements Serializable {
private String type ;
private Integer totalNum = 0;
private Integer totalDeliveryNum = 0;
private BigDecimal totalWeight ;
private BigDecimal totalVolume ;
private BigDecimal totalWeight = BigDecimal.ZERO;
private BigDecimal totalVolume = BigDecimal.ZERO;
private Integer totalRoadNum = 0;

34
blade-service/logpm-report/src/main/java/com/logpm/report/vo/indexCount/IndexSignforDataVO.java

@ -0,0 +1,34 @@
package com.logpm.report.vo.indexCount;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class IndexSignforDataVO implements Serializable {
//类型
private Integer type;
//签收数
private Integer signNum;
//未签收数
private Integer UnSignNum;
//文员超时为复核数
private Integer clerkOverTimeSignfoNum;
//文员超时为复核数
private Double clerkOverTimeScale;
//签收率
private Double signScale;
//复核率
private Double ClerkSignforScale;
//复核数
private Integer clerkSignNum;
}

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

@ -494,15 +494,18 @@
select ltco.id carsOrderId,
ltco.waybill_no waybillNo,
ltco.order_code orderCode,
lww.create_time createTime,
lww.destination destination,
lww.destination_warehouse_name destinationWarehouseName,
lww.shipper shipper,
lww.consignee consignee,
lww.goods_name goodsName,
ltco.plan_num planNum,
ltco.real_num realNum,
ltco.type type,
ldsa.mall_name consignee,
ldsa.consignee_person consigneeName,
ldsa.consignee_mobile consigneeMobile,
ldsa.consignee_address consigneeAddress,
lww.departure_warehouse_name departureWarehouseName,
lww.destination_warehouse_name destinationWarehouseName
lww.total_freight freight,
lww.remark remark,
lww.total_freight/lww.total_count*ltco.real_num price
from logpm_trunkline_cars_order ltco
left join logpm_distribution_stock_article ldsa on ldsa.order_code = ltco.order_code
left join logpm_warehouse_waybill lww on lww.waybill_no = ltco.waybill_no

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

@ -398,7 +398,6 @@
left join logpm_warehouse_waybill lww on ltcls.waybill_no = lww.waybill_no
where ltcls.load_id = #{loadId}
and ltcls.warehouse_id = #{warehouseId}
and ltcls.warehouse_id != ltcls.unload_node_id
group by ltcls.order_code,
ltcls.waybill_no,
ltcls.type,
@ -706,7 +705,7 @@
<select id="findUnloadReport" resultType="com.logpm.trunkline.vo.UnloadReportVO">
select sum(IF(ltcls.final_node_id = #{warehouseId},ltcls.num,0)) loadingNum,
sum(IF(ltcls.unload_node_id = #{warehouseId},ltcls.num,0)) unloadNum,
sum(IF(ltcls.final_node_id = #{warehouseId} and ltcls.scan_status != '1' and ltcls.is_data = 0,ltcls.num,0)) noDataNum,
sum(IF(ltcls.unload_node_id = #{warehouseId} and ltcls.scan_status != '1' and ltcls.is_data = 0,ltcls.num,0)) noDataNum,
sum(IF(ltcls.final_node_id = #{warehouseId} and ltcls.scan_status != '1' and ltco.id is null,ltcls.num,0)) noPlanNum,
sum(IF(ltcls.final_node_id = #{warehouseId} and ltcls.scan_status = '1',ltcls.num,0))+sum(IF(ltcls.final_node_id = #{warehouseId} and ltcls.scan_status != '1',ltcls.num-ltcls.unload_num,0)) noUnloadNum,
sum(IF(ltcls.unload_node_id = #{warehouseId} and ltcls.type = 2 and ltcls.scan_status = '1',ltcls.unload_num,0)) manualNum

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

@ -423,7 +423,7 @@ public class CarsLoadAsyncServiceImpl implements ICarsLoadAsyncService {
TrunklineCarsLoadLineEntity carsLoadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
if(!Objects.isNull(carsLoadLineEntity)){
carsLoadLineEntity.setUnloadReportStatus(1);
carsLoadLineEntity.setReportOne("本次装车件数 "+unloadReportVO.getLoadingNum()+" 件,实际卸车件数 "+unloadReportVO.getUnloadNum()+" 件,计划未卸车数量 "+(unloadReportVO.getLoadingNum()-unloadReportVO.getUnloadNum())+" 件");
carsLoadLineEntity.setReportOne("本次装车件数 "+unloadReportVO.getLoadingNum()+" 件,实际卸车件数 "+unloadReportVO.getUnloadNum()+" 件,计划未卸车数量 "+(unloadReportVO.getNoUnloadNum()-unloadReportVO.getNoPlanNum())+" 件");
carsLoadLineEntity.setReportTwo("无基础数据货物 "+unloadReportVO.getNoDataNum()+" 件、非计划内货物 "+unloadReportVO.getNoPlanNum()+" 件、手动确认入库 "+unloadReportVO.getManualNum()+" 件");
trunklineCarsLoadLineService.updateById(carsLoadLineEntity);
}

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

@ -42,7 +42,7 @@ public class WarehouseWaybillDetailClient implements IWarehouseWaybillDetailClie
@Override
public void updateEntityById(WarehouseWayBillDetail warehouseWayBillDetail) {
warehouseWayBillDetailService.update(warehouseWayBillDetail);
warehouseWayBillDetailService.updateById(warehouseWayBillDetail);
}
@Override

7
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWayBillDetailService.java

@ -1,16 +1,13 @@
package com.logpm.warehouse.service;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
public interface IWarehouseWayBillDetailService {
public interface IWarehouseWayBillDetailService extends BaseService<WarehouseWayBillDetail> {
WarehouseWayBillDetail findByProductName(String productName);
void save(WarehouseWayBillDetail warehouseWayBillDetail);
void update(WarehouseWayBillDetail warehouseWayBillDetail);
List<WarehouseWayBillDetail> findByWaybillId(Long waybillId);
WarehouseWayBillDetail findByWaybillIdAndGoodsName(Long waybillId, String goodsName);

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

@ -737,7 +737,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
}
//把parcelListEntityList通过orderCode进行分组
Map<String, List<DistributionParcelListEntity>> map = parcelListEntityList.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getOrderCode));
Map<String, List<DistributionParcelListEntity>> map = parcelListEntityList.stream().filter(parcelListEntity -> "20".equals(parcelListEntity.getOrderPackageStatus())).collect(Collectors.groupingBy(DistributionParcelListEntity::getOrderCode));
FindParamterDTO findParamterDTO = new FindParamterDTO();
findParamterDTO.setOrderCodeSet(map.keySet());

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

@ -1958,7 +1958,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
try{
FindParamterDTO findParamterDTO = new FindParamterDTO();
findParamterDTO.setOrderCodeList(orderPackageCodes);
findParamterDTO.setOrderPackageCodeList(orderPackageCodes);
findParamterDTO.setWarehouseId(warehouseId);
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListClient.findListByOrderPackageCodeList(findParamterDTO);

12
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWayBillDetailServiceImpl.java

@ -6,6 +6,7 @@ import com.logpm.warehouse.mapper.WarehouseWayBillDetailMapper;
import com.logpm.warehouse.service.IWarehouseWayBillDetailService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
@ -13,7 +14,7 @@ import java.util.List;
@Slf4j
@AllArgsConstructor
@Service
public class WarehouseWayBillDetailServiceImpl implements IWarehouseWayBillDetailService {
public class WarehouseWayBillDetailServiceImpl extends BaseServiceImpl<WarehouseWayBillDetailMapper,WarehouseWayBillDetail> implements IWarehouseWayBillDetailService {
private final WarehouseWayBillDetailMapper warehouseWayBillDetailMapper;
@ -24,15 +25,6 @@ public class WarehouseWayBillDetailServiceImpl implements IWarehouseWayBillDetai
return warehouseWayBillDetailMapper.selectOne(queryWrapper);
}
@Override
public void save(WarehouseWayBillDetail warehouseWayBillDetail) {
warehouseWayBillDetailMapper.insert(warehouseWayBillDetail);
}
@Override
public void update(WarehouseWayBillDetail warehouseWayBillDetail) {
warehouseWayBillDetailMapper.updateById(warehouseWayBillDetail);
}
@Override
public List<WarehouseWayBillDetail> findByWaybillId(Long waybillId) {

Loading…
Cancel
Save