|
|
|
@ -24,8 +24,10 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataClientUserEntity; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataDriverArteryEntity; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataClientClient; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataDriverArteryClient; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; |
|
|
|
|
import com.logpm.distribution.bean.Resp; |
|
|
|
@ -45,9 +47,7 @@ import com.logpm.distribution.wrapper.DistributionStockArticleWrapper;
|
|
|
|
|
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.apache.commons.io.IOUtils; |
|
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
|
import org.apache.poi.ss.formula.functions.T; |
|
|
|
|
import org.springblade.common.constant.DictBizConstant; |
|
|
|
|
import org.springblade.common.constant.DistributionTypeConstant; |
|
|
|
|
import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant; |
|
|
|
@ -62,6 +62,7 @@ import org.springblade.common.constant.reservation.*;
|
|
|
|
|
import org.springblade.common.constant.signing.SignforDriverSigningStatusConstant; |
|
|
|
|
import org.springblade.common.exception.CustomerException; |
|
|
|
|
import org.springblade.common.serviceConstant.ServiceConstant; |
|
|
|
|
import org.springblade.common.utils.CommonUtil; |
|
|
|
|
import org.springblade.common.utils.FileUtil; |
|
|
|
|
import org.springblade.common.utils.GaoDeApiUtil; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
@ -71,17 +72,13 @@ import org.springblade.core.tool.api.R;
|
|
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
|
import org.springblade.system.cache.DictBizCache; |
|
|
|
|
import org.springblade.system.feign.IDictBizClient; |
|
|
|
|
import org.springframework.amqp.rabbit.connection.CorrelationData; |
|
|
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate; |
|
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
import javax.imageio.ImageIO; |
|
|
|
|
import javax.servlet.ServletOutputStream; |
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
import java.awt.*; |
|
|
|
|
import java.awt.image.BufferedImage; |
|
|
|
|
import java.io.*; |
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
@ -90,7 +87,6 @@ import java.util.List;
|
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
|
import java.util.function.Function; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
import java.util.zip.ZipOutputStream; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 签收管理 服务实现类 |
|
|
|
@ -134,6 +130,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
private final IDistributionParcelNumberService distributionParcelNumberService; |
|
|
|
|
private final IWarehouseUpdownTypeClient warehouseUpdownTypeClient; |
|
|
|
|
private final DistributionStockArticleMapper distributionStockArticleMapper; |
|
|
|
|
private final IBasicdataClientClient basicdataClientClient; |
|
|
|
|
|
|
|
|
|
private final RabbitTemplate rabbitTemplate; |
|
|
|
|
|
|
|
|
@ -160,21 +157,45 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
} else { |
|
|
|
|
d.setDeliveryTypeName(""); |
|
|
|
|
} |
|
|
|
|
// Long deliveryId = d.getDeliveryId();
|
|
|
|
|
// DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectOne(Wrappers.<DistributionDeliveryListEntity>query().lambda().eq(DistributionDeliveryListEntity::getId, deliveryId));
|
|
|
|
|
// List<String> list = new ArrayList<>();
|
|
|
|
|
// if (Func.equals(deliveryListEntity.getKind(), ServiceConstant.DELIVERLIST_KIND_SELF)) {
|
|
|
|
|
// List<DistributionDeliverySelfEntity> distributionDeliverySelfEntities = distributionDeliverySelfMapper.selectList(Wrappers.<DistributionDeliverySelfEntity>query().lambda().eq(DistributionDeliverySelfEntity::getDeliveryId, deliveryId));
|
|
|
|
|
// distributionDeliverySelfEntities.forEach(s -> list.add(s.getDriverPhone()));
|
|
|
|
|
// } else {
|
|
|
|
|
// DistributionDeliveryTripartiteEntity tripartiteEntity = distributionDeliveryTripartiteMapper.selectOne(Wrappers.<DistributionDeliveryTripartiteEntity>query().lambda().eq(DistributionDeliveryTripartiteEntity::getDeliveryId, deliveryId));
|
|
|
|
|
// list.add(tripartiteEntity.getDriverPhone());
|
|
|
|
|
// }
|
|
|
|
|
// d.setDeliveryDriverPhone(String.join(",", list));
|
|
|
|
|
}); |
|
|
|
|
return page.setRecords(distributionSignforVOS); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionSignforVO> selectDistributionSignforPageByClient(IPage<DistributionSignforVO> page, DistributionSignforVO distributionSignfor) { |
|
|
|
|
|
|
|
|
|
// 通过当前登陆人获取商场信息
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<BasicdataClientUserEntity> basicdataClientUserEntityListByUserIds = basicdataClientClient.getBasicdataClientUserEntityListByUserId(AuthUtil.getUserId()); |
|
|
|
|
List clientIds =null; |
|
|
|
|
if(Func.isNotEmpty(basicdataClientUserEntityListByUserIds)){ |
|
|
|
|
clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
distributionSignfor.setClientIds(clientIds); |
|
|
|
|
//转换创建时间
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss"); |
|
|
|
|
if (null != distributionSignfor.getCreateTime()) { |
|
|
|
|
distributionSignfor.setCreateTime_query(sdf.format(distributionSignfor.getCreateTime())); |
|
|
|
|
} |
|
|
|
|
//获取当前登录人仓库
|
|
|
|
|
List<BasicdataWarehouseEntity> myWatchWarehouse = basicdataWarehouseClient.getMyWatchWarehouse(); |
|
|
|
|
//取出id
|
|
|
|
|
List<Long> collect = myWatchWarehouse.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList()); |
|
|
|
|
distributionSignfor.setWarehouseIdList(collect); |
|
|
|
|
List<DistributionSignforVO> distributionSignforVOS = baseMapper.selectDistributionSignforPage(page, distributionSignfor); |
|
|
|
|
distributionSignforVOS.forEach(d -> { |
|
|
|
|
if (d.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())) { |
|
|
|
|
d.setDeliveryTypeName(DistributionTypeConstant.shipie.getName()); |
|
|
|
|
} else if (d.getDeliveryType().equals(DistributionTypeConstant.shangpei.getValue())) { |
|
|
|
|
d.setDeliveryTypeName(DistributionTypeConstant.shangpei.getName()); |
|
|
|
|
} else { |
|
|
|
|
d.setDeliveryTypeName(""); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
return page.setRecords(distributionSignforVOS); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<DistributionSignforExcel> exportDistributionSignfor(Map<String, Object> distributionSignfor) { |
|
|
|
@ -2965,12 +2986,20 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
*/ |
|
|
|
|
private void buildArgsToPushMq(DistributionSignforDTO distributionSignfor) { |
|
|
|
|
|
|
|
|
|
Map map = new HashMap(); |
|
|
|
|
// 得到signfor的ID 获取配送计划的的信息 和配送客户的信息
|
|
|
|
|
map.put("signfor_id",distributionSignfor.getId()); |
|
|
|
|
Map mapState = new HashMap(); |
|
|
|
|
mapState.put("messageId", CommonUtil.getUUID()); |
|
|
|
|
mapState.put("messageData", distributionSignfor); |
|
|
|
|
mapState.put("createTime", new Date().getTime()); |
|
|
|
|
|
|
|
|
|
try{ |
|
|
|
|
log.info(">>>>>>>>>>>>>>>>>>> 推送老系统 的签收数据 {} ",mapState); |
|
|
|
|
rabbitTemplate.convertAndSend(RabbitConstant.CLERK_CHECK_PUSH_DATA_EXCHANGE, RabbitConstant.CLERK_CHECK_PUSH_DATA_ROUTING, mapState); |
|
|
|
|
|
|
|
|
|
}catch (Exception customerException){ |
|
|
|
|
log.error(">>>>>>>>>>>>>>>>>>>>>>>>>> 消息推送失败~ 请联系管理员! {}",customerException.getMessage()); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
log.info(">>>>>>>>>>>>>>>>>>> 推送老系统 的签收数据 {} ",distributionSignfor); |
|
|
|
|
rabbitTemplate.convertAndSend(RabbitConstant.CLERK_CHECK_PUSH_DATA_EXCHANGE, RabbitConstant.CLERK_CHECK_PUSH_DATA_ROUTING, map); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|