Browse Source

商场签收单查询

training
pref_mail@163.com 1 year ago
parent
commit
ca78cca7af
  1. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java
  2. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
  3. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  4. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java
  5. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java
  6. 75
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

3
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforVO.java

@ -213,6 +213,9 @@ public class DistributionSignforVO extends DistributionSignforEntity {
@ApiModelProperty(value = "卸车班组")
private String sijiSigningStatus;
@ApiModelProperty(value = "商城ID")
private List<Long> clientIds;
/**
* 签收图片路径多个
*/

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

@ -181,6 +181,21 @@ public class DistributionSignforController extends BladeController {
}
/**
* 商场签收管理 自定义分页
*/
@GetMapping("/clientPage")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入distributionSignfor")
public R<IPage<DistributionSignforVO>> clientPage(DistributionSignforVO distributionSignfor, Query query) {
IPage<DistributionSignforVO> pages = distributionSignforService.selectDistributionSignforPageByClient(Condition.getPage(query), distributionSignfor);
return R.data(pages);
}
/**
* 签收管理 回显照片信息
*/

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -425,6 +425,15 @@
<if test="param.signingTimeSection != null and param.signingTimeSection!=''">
and lds.signing_time between #{param.signingTimeSection[0]} and #{param.signingTimeSection[1]}
</if>
<if test="param.clientIds != null">
and ldr.mall_id in
<foreach collection="param.clientIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java

@ -3,6 +3,7 @@ package com.logpm.distribution.receiver;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.distribution.dto.DistributionSignforDTO;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.mapper.*;
import com.logpm.distribution.service.IDistributionStockService;
@ -68,7 +69,8 @@ public class ClerkCheckPushDataQueueHandler {
public void clerkCheckPushDataHandler(Map map, Message message, Channel channel) {
//得到审核的任务ID
Long signfor_id = (Long) map.get("signfor_id");
DistributionSignforDTO distributionStockEntity = (DistributionSignforDTO) map.get("messageData");
Long signfor_id = distributionStockEntity.getId();
if (ObjectUtil.isEmpty(signfor_id)) {
log.info(">>>>>>>>>>>>> clerkCheckPushDataHandler 签收ID为空");
return;

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

@ -213,4 +213,12 @@ public interface IDistributionSignforService extends BaseService<DistributionSig
* @return
*/
void handlePicture(String ids, HttpServletResponse res);
/**
* 根据商场查询商城对应的签收数据
* @param page
* @param distributionSignfor
* @return
*/
IPage<DistributionSignforVO> selectDistributionSignforPageByClient(IPage<DistributionSignforVO> page, DistributionSignforVO distributionSignfor);
}

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

@ -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);
}

Loading…
Cancel
Save