Browse Source

1.增加梦天派车单确认推送数据

test
pref_mail@163.com 1 year ago
parent
commit
44b8daa944
  1. 2
      blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java
  2. 9
      blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtFactoryOrderMain.java
  3. 30
      blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/feign/IMtOrderMainClinet.java
  4. 31
      blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/vo/MTOrderPackageRelationVO.java
  5. 2
      blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceDetailClient.java
  6. 42
      blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/controller/FactoryCommonController.java
  7. 20
      blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/dto/UnloadCarDTO.java
  8. 22
      blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java
  9. 20
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtUnLoadCarNumDTO.java
  10. 27
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/feign/MtOrderMainClinet.java
  11. 5
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.java
  12. 14
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.xml
  13. 10
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/IMtFactoryDataService.java
  14. 9
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/IMtFactoryOrderMainService.java
  15. 59
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java
  16. 12
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryOrderMainServiceImpl.java
  17. 1
      blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java
  18. 139
      blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/UnloadCarComHandler.java
  19. 138
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  20. 2
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/AdvanceDetailMapper.xml

2
blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java

@ -8,7 +8,7 @@ public interface ModuleNameConstant {
/**
* 如果不需要 ""
*/
public static final String DEVAUTH ="-tjj";
public static final String DEVAUTH ="";
/**

9
blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtFactoryOrderMain.java

@ -8,6 +8,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.util.Date;
@Data
@TableName("mt_factory_order_main")
@ApiModel(value = "MtFactoryOrderMain对象", description = "梦天工厂订单主对象")
@ -58,4 +60,11 @@ public class MtFactoryOrderMain extends BaseEntity {
@ApiModelProperty(value = "备注")
private String remark;
@JsonProperty("反馈梦天状态")
@ApiModelProperty(value = "反馈梦天状态")
private Integer pushStatus;
@JsonProperty("推送时间")
@ApiModelProperty(value = "推送时间")
private Date pushTime;
}

30
blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/feign/IMtOrderMainClinet.java

@ -0,0 +1,30 @@
package com.logpm.factory.snm.feign;
import com.logpm.factory.snm.entity.StationlinenumEntity;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.List;
@FeignClient(
value = ModuleNameConstant.APPLICATION_FACTORY_NAME
)
public interface IMtOrderMainClinet {
String API_PREFIX = "/mtclient";
String TOP = API_PREFIX + "/top";
/**
* 获取梦天工厂订单 包间 主订单 的关系
*
* @return
*/
@GetMapping(TOP)
R<List<MTOrderPackageRelationVO>> mtOrderPackageRelation();
}

31
blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/vo/MTOrderPackageRelationVO.java

@ -0,0 +1,31 @@
package com.logpm.factory.snm.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 梦天 订单 主订单 包间 关系 用于判断车次中的订单是否包含
*/
@Data
public class MTOrderPackageRelationVO implements Serializable {
/**
* 包件码
*/
private String packageCode;
/**
* 订单号
*/
private String orderCode;
/**
* 主订单号
*/
private String invoiceOrderCode;
}

2
blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IAdvanceDetailClient.java

@ -85,6 +85,6 @@ public interface IAdvanceDetailClient {
* @param unloadCarNum
* @return
*/
@GetMapping(API_PREFIX + "/getOneByUnitNo")
@GetMapping(API_PREFIX + "/getByCarNum")
List<AdvanceDetailEntity> getByCarNum(@RequestParam String unloadCarNum);
}

42
blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/controller/FactoryCommonController.java

@ -5,6 +5,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.factory.comfac.dto.OrderInfoDTO;
import com.logpm.factory.comfac.dto.OrderStatusDTO;
import com.logpm.factory.comfac.dto.ReceiveInfoDTO;
import com.logpm.factory.comfac.dto.UnloadCarDTO;
import com.logpm.factory.comfac.service.IFactoryCommonService;
import com.logpm.factory.comfac.service.IOrderStatusLogService;
import com.logpm.factory.snm.entity.OrderStatusLog;
@ -146,4 +147,45 @@ public class FactoryCommonController {
}
// 卸车完成推送
@ResponseBody
@PostMapping("/sendUnloadCarComInfo")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "卸车完成推送", notes = "传入receiveInfoDTO")
public R sendUnloadCarComInfo(@RequestBody UnloadCarDTO receiveInfoDTO) {
log.info("############sendUnloadCarComInfo: 请求参数{}", receiveInfoDTO);
//处理数据
// R r = factoryCommonService.sendReceiveInfo(receiveInfoDTO);
try{
//先保存原始请求数据
OrderStatusLog orderStatusLog = new OrderStatusLog();
orderStatusLog.setArgs(JSONObject.toJSONString(receiveInfoDTO));
orderStatusLog.setStatus(1);
orderStatusLog.setType(5);
orderStatusLogService.save(orderStatusLog);
Map<String,Object> map=new HashMap<>();
map.put("messageId", CommonUtil.getUUID());
map.put("logId", orderStatusLog.getId());
map.put("messageData",receiveInfoDTO);
map.put("createTime",new Date().getTime());
//将消息携带绑定键值
// rabbitTemplate.convertAndSend(RabbitConstant.UNLOAD_CAR_COM_INFO_EXCHANGE, RabbitConstant.UNLOAD_CAR_COM_INFO_ROUTING, map);
return R.success("调用成功");
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error("############sendReceiveInfo: 系统异常",e);
return R.fail(500,"############sendReceiveInfo: 系统异常");
}
}
}

20
blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/dto/UnloadCarDTO.java

@ -0,0 +1,20 @@
package com.logpm.factory.comfac.dto;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
/**
* 卸车完成推送
*/
@Data
public class UnloadCarDTO implements Serializable {
@NotEmpty(message = "卸车车次号不能为空")
private String unloadCarNum;
private String completeDate;
}

22
blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java

@ -175,5 +175,27 @@ public class RabbitMqConfiguration {
}
/***/
@Bean
public Queue unloadCarNumQueue() {
return new Queue(RabbitConstant.UNLOAD_CAR_COM_INFO_QUEUE, true);
}
@Bean
public CustomExchange unloadCarNumExchange() {
Map<String, Object> args = Maps.newHashMap();
args.put("x-delayed-type", "direct");
return new CustomExchange(RabbitConstant.UNLOAD_CAR_COM_INFO_EXCHANGE, "x-delayed-message", true, false, args);
}
@Bean
public Binding unloadCarNumBinding(Queue receiveInfoQueue, CustomExchange receiveInfoExchange) {
return BindingBuilder.bind(receiveInfoQueue).to(receiveInfoExchange).with(RabbitConstant.UNLOAD_CAR_COM_INFO_ROUTING).noargs();
}
}

20
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtUnLoadCarNumDTO.java

@ -0,0 +1,20 @@
package com.logpm.factory.mt.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class MtUnLoadCarNumDTO implements Serializable {
@JsonProperty("发货单编号")
private String invoiceOrderCode;
@JsonProperty("确认收货时间")
private Date invoiceTime;
}

27
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/feign/MtOrderMainClinet.java

@ -0,0 +1,27 @@
package com.logpm.factory.mt.feign;
import com.logpm.factory.mt.service.IMtFactoryOrderMainService;
import com.logpm.factory.snm.feign.IMtOrderMainClinet;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import lombok.AllArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
@NonDS
@ApiIgnore
@RestController
@AllArgsConstructor
public class MtOrderMainClinet implements IMtOrderMainClinet {
private final IMtFactoryOrderMainService mtFactoryOrderMainService;
@Override
public R<List<MTOrderPackageRelationVO>> mtOrderPackageRelation() {
List<MTOrderPackageRelationVO> data =mtFactoryOrderMainService.mtOrderPackageRelation();
return R.data(data);
}
}

5
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.java

@ -2,6 +2,11 @@ package com.logpm.factory.mt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.factory.snm.entity.MtFactoryOrderMain;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import java.util.List;
public interface MtFactoryOrderMainMapper extends BaseMapper<MtFactoryOrderMain> {
List<MTOrderPackageRelationVO> mtOrderPackageRelation();
}

14
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.xml

@ -17,4 +17,18 @@
<!-- <result column="create_dept" property="createDept"/>-->
<!-- </resultMap>-->
<select id="mtOrderPackageRelation" resultType="com.logpm.factory.snm.vo.MTOrderPackageRelationVO">
SELECT
mpi.package_code,
mfo.order_code,
mfom.invoice_order_code
FROM
mt_package_info mpi
LEFT JOIN mt_factory_order mfo ON mpi.order_id = mfo.id
LEFT JOIN mt_factory_order_main mfom ON mfom.id = mfo.main_id
where mfom.push_status is null
</select>
</mapper>

10
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/IMtFactoryDataService.java

@ -8,6 +8,8 @@ import com.logpm.factory.mt.dto.MtFactoryDataDTO;
import org.springblade.core.tool.api.R;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.util.Date;
/**
* 工厂推送数据接口
@ -21,4 +23,12 @@ public interface IMtFactoryDataService {
R handleStatusData(OrderStatusDTO orderStatusDTO) throws JsonProcessingException, NoSuchAlgorithmException;
R sendReceiveInfo(ReceiveInfoDTO receiveInfoDTO) throws JsonProcessingException, NoSuchAlgorithmException;
/**
*
* @param unloadCarNum 发货单编号
* @param data 确认收货时间
* @return
*/
R sendUnloadCarNum(String unloadCarNum, Date data) throws ParseException, JsonProcessingException, NoSuchAlgorithmException;
}

9
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/IMtFactoryOrderMainService.java

@ -1,8 +1,17 @@
package com.logpm.factory.mt.service;
import com.logpm.factory.snm.entity.MtFactoryOrderMain;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import java.util.List;
public interface IMtFactoryOrderMainService extends BaseService<MtFactoryOrderMain> {
List<MTOrderPackageRelationVO> mtOrderPackageRelation();
}

59
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java

@ -38,6 +38,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.nio.charset.StandardCharsets;
import java.security.NoSuchAlgorithmException;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.*;
@Slf4j
@ -231,7 +233,7 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
* 获取梦天的工厂的数据token
* @return
*/
public String getMtToken() throws NoSuchAlgorithmException {
private String getMtToken() throws NoSuchAlgorithmException {
String mtToken =bladeRedis.get("mt_token");
if(StringUtil.isBlank(mtToken)){
// 重新获取
@ -348,7 +350,7 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
logger.info("##############handleStatusData: 推送包件状态请求参数 {}",s);
//处理逻辑
String result = HttpRequest.post(mtFactoryProperties.getUrl()+"/Auth/text")
String result = HttpRequest.post(mtFactoryProperties.getUrl()+"/ZXCFaHuoDan/ShouHuoRuKu")
.header("APPKEY",mtFactoryProperties.getAppkey())
.header("Authorization",token)
.header("USERID",mtFactoryProperties.getUserid())
@ -455,7 +457,7 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
logger.info("##############sendReceiveInfo: 推送包件状态请求参数 {}",s);
//处理逻辑
String result = HttpRequest.post(mtFactoryProperties.getUrl()+"/Auth/text2")
String result = HttpRequest.post(mtFactoryProperties.getUrl()+"/ZXCFaHuoDan/QianShouDan")
.header("APPKEY",mtFactoryProperties.getAppkey())
.header("Authorization",token)
.header("USERID",mtFactoryProperties.getUserid())
@ -482,4 +484,55 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
return R.success("处理签收数据完成");
}
@Override
public R sendUnloadCarNum(String unloadCarNum, Date data) throws ParseException, JsonProcessingException, NoSuchAlgorithmException {
MtUnLoadCarNumDTO unLoadCarNumDTO = new MtUnLoadCarNumDTO();
unLoadCarNumDTO.setInvoiceOrderCode(unloadCarNum);
unLoadCarNumDTO.setInvoiceTime(data);
ObjectMapper objectMapper = new ObjectMapper();
String s = objectMapper.writeValueAsString(unLoadCarNumDTO);
//推送数据到梦天
//先获取token
String token = getMtToken();
//请求参数
logger.info("##############sendReceiveInfo: 推送包件状态请求参数 {}",s);
//处理逻辑
String result = HttpRequest.post(mtFactoryProperties.getUrl()+"/ZXCFaHuoDan/QueRenShouHuo")
.header("APPKEY",mtFactoryProperties.getAppkey())
.header("Authorization",token)
.header("USERID",mtFactoryProperties.getUserid())
.header("USERPWD",MD5Utils.md5Hex(mtFactoryProperties.getUserpwd().getBytes(StandardCharsets.UTF_8)))
.header("Content-Type","application/json")
.body(s).timeout(5 * 1000)
.execute().body();
logger.info("##############sendReceiveInfo: 车次作业确认完成 {}",result);
//把结果字符串转为json对象
JSONObject jsonObject = JSONObject.parseObject(result);
if(!Objects.isNull(jsonObject)){
Integer code = jsonObject.getInteger("Result");
String message = jsonObject.getString("Message");
if(code.equals(0)){
logger.info("##########sendReceiveInfo: 物流状态传递成功");
}else{
return Resp.fail(405,message);
}
}else{
return Resp.fail(405,"返回格式有误:"+result);
}
return R.success("处理签收数据完成");
}
}

12
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryOrderMainServiceImpl.java

@ -3,13 +3,25 @@ package com.logpm.factory.mt.service.impl;
import com.logpm.factory.snm.entity.MtFactoryOrderMain;
import com.logpm.factory.mt.mapper.MtFactoryOrderMainMapper;
import com.logpm.factory.mt.service.IMtFactoryOrderMainService;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Service;
import java.util.List;
@AllArgsConstructor
@Service
public class MtFactoryOrderMainServiceImpl extends BaseServiceImpl<MtFactoryOrderMainMapper, MtFactoryOrderMain> implements IMtFactoryOrderMainService {
private final MtFactoryOrderMainMapper mtFactoryOrderMainMapper;
@Override
public List<MTOrderPackageRelationVO> mtOrderPackageRelation() {
return mtFactoryOrderMainMapper.mtOrderPackageRelation();
}
}

1
blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java

@ -421,7 +421,6 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
// 增加订单 经销商信息 和门店信息
buildDealerAndStore(distributionStockArticleEntity, advanceEntity);
distributionStockArticleEntity.setCreateUser(1123598821738675201L);
id = distributionStockArticleClient.addData(distributionStockArticleEntity);

139
blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/UnloadCarComHandler.java

@ -0,0 +1,139 @@
package com.logpm.factory.receiver;
import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.logpm.factory.comfac.dto.OrderInfoDTO;
import com.logpm.factory.comfac.dto.UnloadCarDTO;
import com.logpm.factory.mt.service.IMtFactoryDataService;
import com.logpm.factory.mt.service.IMtFactoryOrderMainService;
import com.logpm.factory.snm.entity.MtFactoryOrderMain;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import com.logpm.oldproject.entity.AdvanceDetailEntity;
import com.logpm.oldproject.feign.IAdvanceClient;
import com.logpm.oldproject.feign.IAdvanceDetailClient;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.RabbitConstant;
import org.springblade.core.tool.api.R;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 卸车完成处理队列
*/
@Slf4j
@RabbitListener(queues = RabbitConstant.UNLOAD_CAR_COM_INFO_QUEUE)
@Component
public class UnloadCarComHandler {
@Autowired
private IAdvanceDetailClient advanceDetailClient;
@Autowired
private IMtFactoryOrderMainService mtFactoryOrderMainService;
@Autowired
private IMtFactoryDataService mtFactoryDataService;
@RabbitHandler
public void unloadCarComDataHandler(Map map, Message message, Channel channel) {
/*
1.得到传递的车次
2. 需要判断这个车次是否市梦天的
3. 查询这个车次上的运单是否市梦天的
4.查询包间对应的梦天发给我们的批次号
*/
UnloadCarDTO unloadCarDTO = (UnloadCarDTO) map.get("messageData");
/*
2.通过车次查询来系统中车次绑定的运单
3.通过运单查询货物上的包件
4.需要过滤出来 只要梦天的
*/
List<AdvanceDetailEntity> carNumList = advanceDetailClient.getByCarNum(unloadCarDTO.getUnloadCarNum());
/**
* 安装品类进行分组
*/
Map<String, List<AdvanceDetailEntity>> carNumMapList = carNumList.stream().collect(Collectors.groupingBy(AdvanceDetailEntity::getType));
List<AdvanceDetailEntity> mtListdata = carNumMapList.get("梦天");
if (mtListdata == null || mtListdata.size() == 0) {
log.info("##################{} 车次 不存在梦天的数据 无需返回", unloadCarDTO.getUnloadCarNum());
return;
}
// 得到车次下面梦天的包条码集合
List<String> mtStrs = mtListdata.stream().map(AdvanceDetailEntity::getUnitNo).collect(Collectors.toList());
if (mtStrs == null || mtStrs.size() == 0) {
log.error("##################{} 车次 梦天的包条数据存在异常! 请联系管理员", unloadCarDTO.getUnloadCarNum());
return;
}
List<MTOrderPackageRelationVO> allMtData = mtFactoryOrderMainService.mtOrderPackageRelation();
// 对这个集合内进行分组
Map<String, List<MTOrderPackageRelationVO>> stringListMap = allMtData.stream().collect(Collectors.groupingBy(MTOrderPackageRelationVO::getInvoiceOrderCode));
Set<String> set = stringListMap.keySet();
boolean isPush = false;
for (String s : set) {
// 得到某个工厂运输批次的集合
List<MTOrderPackageRelationVO> t = stringListMap.get(s);
//得到这个批次下面所有的包间
List<String> strs = t.stream().map(MTOrderPackageRelationVO::getPackageCode).collect(Collectors.toList());
// 当前批次的包间 在 这个配载计划中存在一个 则进行通知
for (String mtStr : mtStrs) {
if (strs.contains(mtStr)) {
isPush = true;
break;
}
}
if (isPush) {
break;
}
}
if (isPush) {
try {
Date data = new SimpleDateFormat().parse(unloadCarDTO.getCompleteDate());
R r = mtFactoryDataService.sendUnloadCarNum(unloadCarDTO.getUnloadCarNum(), data);
if(r.isSuccess()){
// 更新订单状态
UpdateChainWrapper<MtFactoryOrderMain> updateChainWrapper =new UpdateChainWrapper<MtFactoryOrderMain>(MtFactoryOrderMain.class);
updateChainWrapper.set("push_status","1");
updateChainWrapper.set("push_time",data);
updateChainWrapper.eq("invoice_order_code",unloadCarDTO.getUnloadCarNum());
mtFactoryOrderMainService.update(updateChainWrapper);
}
} catch (ParseException e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}
}

138
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

@ -1,17 +1,133 @@
package com.logpm.factory;
//@ExtendWith(BladeSpringExtension.class)
//@BladeBootTest(appName = "logpm-factory", enableLoader = true)
import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.logpm.factory.comfac.controller.FactoryCommonController;
import com.logpm.factory.comfac.dto.UnloadCarDTO;
import com.logpm.factory.mt.service.IMtFactoryDataService;
import com.logpm.factory.mt.service.IMtFactoryOrderMainService;
import com.logpm.factory.mt.service.impl.MtFactoryDataServiceImpl;
import com.logpm.factory.snm.entity.MtFactoryOrderMain;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import com.logpm.oldproject.entity.AdvanceDetailEntity;
import com.logpm.oldproject.feign.IAdvanceDetailClient;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springblade.core.test.BladeBootTest;
import org.springblade.core.test.BladeSpringExtension;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@ExtendWith(BladeSpringExtension.class)
@BladeBootTest(appName = "logpm-factory-zhy", enableLoader = true)
public class TestService {
// @Autowired
// private MtFactoryDataServiceImpl mtFactoryDataService;
// @Test
// public void contextLoads() {
//
// String tolk =mtFactoryDataService.getMtToken();
// System.out.println(tolk);
//
// }
@Autowired
private IAdvanceDetailClient advanceDetailClient;
@Autowired
private IMtFactoryOrderMainService mtFactoryOrderMainService;
@Autowired
private IMtFactoryDataService mtFactoryDataService;
@Test
public void contextLoads() {
/*
1.得到传递的车次
2. 需要判断这个车次是否市梦天的
3. 查询这个车次上的运单是否市梦天的
4.查询包间对应的梦天发给我们的批次号
*/
UnloadCarDTO unloadCarDTO = new UnloadCarDTO();
unloadCarDTO.setUnloadCarNum("LQGX230719001");
unloadCarDTO.setCompleteDate("2023-07-19 16:48:45");
/*
2.通过车次查询来系统中车次绑定的运单
3.通过运单查询货物上的包件
4.需要过滤出来 只要梦天的
*/
List<AdvanceDetailEntity> carNumList = advanceDetailClient.getByCarNum(unloadCarDTO.getUnloadCarNum());
/**
* 安装品类进行分组
*/
Map<String, List<AdvanceDetailEntity>> carNumMapList = carNumList.stream().collect(Collectors.groupingBy(AdvanceDetailEntity::getType));
List<AdvanceDetailEntity> mtListdata = carNumMapList.get("梦天");
if (mtListdata == null || mtListdata.size() == 0) {
return;
}
// 得到车次下面梦天的包条码集合
List<String> mtStrs = mtListdata.stream().map(AdvanceDetailEntity::getUnitNo).collect(Collectors.toList());
if (mtStrs == null || mtStrs.size() == 0) {
return;
}
List<MTOrderPackageRelationVO> allMtData = mtFactoryOrderMainService.mtOrderPackageRelation();
// 对这个集合内进行分组
Map<String, List<MTOrderPackageRelationVO>> stringListMap = allMtData.stream().collect(Collectors.groupingBy(MTOrderPackageRelationVO::getInvoiceOrderCode));
Set<String> set = stringListMap.keySet();
boolean isPush = false;
for (String s : set) {
// 得到某个工厂运输批次的集合
List<MTOrderPackageRelationVO> t = stringListMap.get(s);
//得到这个批次下面所有的包间
List<String> strs = t.stream().map(MTOrderPackageRelationVO::getPackageCode).collect(Collectors.toList());
// 当前批次的包间 在 这个配载计划中存在一个 则进行通知
for (String mtStr : mtStrs) {
if (strs.contains(mtStr)) {
isPush = true;
break;
}
}
if (isPush) {
break;
}
}
if (isPush) {
try {
Date data = new SimpleDateFormat().parse(unloadCarDTO.getCompleteDate());
R r = mtFactoryDataService.sendUnloadCarNum(unloadCarDTO.getUnloadCarNum(), data);
// 更新订单状态
UpdateChainWrapper<MtFactoryOrderMain> updateChainWrapper =new UpdateChainWrapper<MtFactoryOrderMain>(MtFactoryOrderMain.class);
updateChainWrapper.set("push_status","1");
updateChainWrapper.set("push_time",data);
updateChainWrapper.eq("invoice_order_code",unloadCarDTO.getUnloadCarNum());
mtFactoryOrderMainService.update(updateChainWrapper);
} catch (ParseException e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}
}

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

@ -164,7 +164,7 @@ FROM
ht_advance_detail
WHERE
id IN (
advance_id IN (
SELECT
advance_id
FROM

Loading…
Cancel
Save