57 Commits
Author SHA1 Message Date
王奎兴 12999e6ffd 发测试 2026-06-30 09:42:18 +08:00
赵辉 eed47e1f34 正式 2026-06-27 20:24:38 +08:00
王奎兴 3cd16ddfac 31 2026-06-27 20:20:35 +08:00
王奎兴 bf3e5c3e29 预约单改造; 2026-06-27 19:53:15 +08:00
王奎兴 8f779f5e29 预约单改造; 2026-06-27 19:44:52 +08:00
王奎兴 8ff0561a1f 预约单改造; 2026-06-27 19:07:54 +08:00
王奎兴 f995d9e7c6 Merge remote-tracking branch 'origin/dev' into dev 2026-06-27 18:26:40 +08:00
王奎兴 5c8c6251d6 预约单改造; 2026-06-27 18:26:30 +08:00
赵辉 1cf6d4492d 測試 2026-06-27 18:16:35 +08:00
赵辉 b26d79bab0 測試 2026-06-27 14:51:12 +08:00
赵辉 392e54d636 測試 2026-06-27 14:04:17 +08:00
赵辉 11c7fdc7de 单据修改 2026-06-27 14:00:37 +08:00
赵辉 badb1b62da 正式 2026-06-24 17:04:20 +08:00
赵辉 141686d743 oms业务单发单添加客户nc编码 2026-06-24 16:46:13 +08:00
王奎兴 1520cd7aba 发30 2026-06-24 10:59:38 +08:00
王奎兴 c103884826 发30 2026-06-24 10:42:42 +08:00
王奎兴 66d77910f3 发31 2026-06-24 10:37:07 +08:00
王奎兴 92a5544891 发30 2026-06-23 21:24:50 +08:00
王奎兴 81c7c9e9f7 发31 2026-06-23 21:15:54 +08:00
zhaoqing bc9adf3f19 修改字段净重和规格 2026-06-23 21:10:43 +08:00
王奎兴 81157cc451 发30 2026-06-23 21:07:41 +08:00
王奎兴 da4da4e61e 发31 2026-06-23 20:55:29 +08:00
王奎兴 3248aef4a9 发31 2026-06-23 20:54:09 +08:00
王奎兴 242f56ae1a 查询报错 2026-06-23 20:47:11 +08:00
王奎兴 cf22323cfe 查询报错 2026-06-23 20:39:58 +08:00
zhaoqing fe2dcc027b 修改删改单推送数据 2026-06-23 20:09:22 +08:00
王奎兴 6072ac272f 查询报错 2026-06-23 20:05:54 +08:00
王奎兴 6c71bff1ad Merge remote-tracking branch 'origin/dev' into dev 2026-06-23 19:57:54 +08:00
王奎兴 2c16152c0b 修改上架明细报错 2026-06-23 19:57:40 +08:00
zhaoqing 0b3df4bf32 查询添加判断条件删改单申请状态 2026-06-23 19:54:59 +08:00
王奎兴 1b5914a7d1 修改上架明细报错 2026-06-23 19:10:14 +08:00
zhaoqing feb614e3e4 单证时间修改 2026-06-23 19:04:04 +08:00
zhaoqing 7650bd2eb9 单证时间修改 2026-06-23 18:50:06 +08:00
王奎兴 7d13b42144 关务推送动态url地址; 2026-06-23 18:48:20 +08:00
王奎兴 432fa3398d Merge remote-tracking branch 'origin/dev' into dev 2026-06-23 18:11:27 +08:00
王奎兴 e84adc2d6f 关务推送动态url地址; 2026-06-23 18:11:16 +08:00
zhaoqing 0ad41cd768 修改删改单申请推送 2026-06-23 18:08:18 +08:00
王奎兴 caac89e3db 更新上架明细报错; 2026-06-23 17:51:44 +08:00
zhaoqing 95c128b506 sql 2026-06-23 17:32:14 +08:00
zhaoqing 186d76f9fc 修改一般贸易的详情数据查询 2026-06-23 17:12:19 +08:00
zhaoqing bc3bdd669e 一般贸易推送,保存详情数据 2026-06-23 16:52:40 +08:00
王奎兴 6aeabc7be7 拣货单查询; 2026-06-23 16:45:16 +08:00
王奎兴 80b604a637 保存关务推送内容; 2026-06-23 16:05:00 +08:00
zhaoqing 55c780caa1 sql 2026-06-23 15:32:20 +08:00
zhaoqing af0f3e81b9 修改一般贸易的详情查询数据来源 2026-06-23 15:23:54 +08:00
zhaoqing 129cd393aa 修改一般贸易的详情查询数据来源 2026-06-23 14:34:03 +08:00
zhaoqing b4f685a25d 修改一般贸易的详情查询数据来源 2026-06-23 14:01:41 +08:00
王奎兴 3360e500dc 发测试 2026-06-23 11:48:47 +08:00
王奎兴 7a7038e794 发测试 2026-06-23 10:52:02 +08:00
王奎兴 d04df87e19 报关回写; 2026-06-23 10:50:23 +08:00
王奎兴 ab10adb0d2 Merge remote-tracking branch 'origin/dev' into dev 2026-06-23 10:15:59 +08:00
王奎兴 f32f5b48bc 回显成品物料; 2026-06-23 10:15:52 +08:00
zhaoqing afa6ed0685 修改查询时间失效的问题 2026-06-23 10:03:32 +08:00
王奎兴 32efb1dfe5 推送人回显po username 2026-06-23 09:58:48 +08:00
王奎兴 0cf697a03b 关务保税仓页面查询; 2026-06-23 09:46:07 +08:00
王奎兴 7babb53e90 关务推送bug; 2026-06-23 09:29:31 +08:00
王奎兴 4a07d1a0c4 发测试 2026-06-22 18:35:40 +08:00
101 changed files with 1894 additions and 161 deletions
@@ -18,7 +18,7 @@ import java.util.Set;
/** /**
* bms财务结算系统feign调用接口 * bms财务结算系统feign调用接口
*/ */
@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) @FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
public interface BmsServiceFeign { public interface BmsServiceFeign {
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) @FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
public interface OmsServiceFeign { public interface OmsServiceFeign {
@@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) @FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class)
public interface WlhyServiceFeign { public interface WlhyServiceFeign {
/** /**
@@ -20,7 +20,7 @@ import java.util.Map;
* @description: TODO * @description: TODO
* @date 2024/5/10 8:58 * @date 2024/5/10 8:58
**/ **/
@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) @FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class)
public interface WmsServiceFeign { public interface WmsServiceFeign {
/** /**
@@ -115,4 +115,10 @@ public interface WmsServiceFeign {
@RequestParam(value = "pushTime",required = false) String pushTime, @RequestParam(value = "pushTime",required = false) String pushTime,
@RequestParam(value = "pushBy",required = false) Long pushBy, @RequestParam(value = "pushBy",required = false) Long pushBy,
@RequestParam(value = "pushByName",required = false) String pushByName); @RequestParam(value = "pushByName",required = false) String pushByName);
/**
* 根据物料ID列表批量查询物料信息
*/
@GetMapping("/materialBaseInfoApi/getBatchByIds")
public TableDataInfo getBatchByIds(@RequestParam("materialBaseInfoIds") List<Long> materialBaseInfoIds);
} }
@@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.33.0.99:8018", configuration = FeignAutoConfiguration.class) @FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class)
public interface YmsServiceFeign { public interface YmsServiceFeign {
/** /**
@@ -90,6 +90,15 @@ public class RemoteWmsFallbackFactory implements FallbackFactory<WmsServiceFeign
public AjaxResult<?> updateMaterialPushStatus(Long materialBaseInfoId, Integer pushStatus, String pushTime, Long pushBy, String pushByName) { public AjaxResult<?> updateMaterialPushStatus(Long materialBaseInfoId, Integer pushStatus, String pushTime, Long pushBy, String pushByName) {
return AjaxResult.error(cause.getMessage()); return AjaxResult.error(cause.getMessage());
} }
@Override
public TableDataInfo getBatchByIds(List<Long> materialBaseInfoIds) {
TableDataInfo tableDataInfo = new TableDataInfo();
tableDataInfo.setData(new ArrayList<>());
tableDataInfo.setTotal(0);
tableDataInfo.setCode(500);
return tableDataInfo;
}
}; };
} }
} }
+4 -4
View File
@@ -15,8 +15,8 @@ spring:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# username: nacos username: nacos
# password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
# server-addr: 10.102.192.5:6848 # server-addr: 10.102.192.5:6848
# username: nacos # username: nacos
@@ -27,8 +27,8 @@ spring:
server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.102.192.5:6848 # server-addr: 10.102.192.5:6848
# username: nacos username: nacos
# password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
+4 -4
View File
@@ -16,19 +16,19 @@ spring:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境 #线上正式环境
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境 #线上正式环境
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
@@ -14,18 +14,18 @@ spring:
nacos: nacos:
discovery: discovery:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.102.192.30:6848 # server-addr: 10.102.192.30:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
# server-addr: 10.102.192.105:6848 # server-addr: 10.102.192.105:6848
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.102.192.30:6848 # server-addr: 10.102.192.30:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
@@ -20,15 +20,15 @@ spring:
discovery: discovery:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848 # server-addr: 10.102.192.31:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848 # server-addr: 10.102.192.31:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
+4 -4
View File
@@ -20,15 +20,15 @@ spring:
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
# username: nacos username: nacos
# password: manhuoda@2023 password: manhuoda@2023
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
# username: nacos username: nacos
# password: manhuoda@2023 password: manhuoda@2023
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 开启nacos自动刷新,如果这个配置没有或者为false会导致配置不能自动刷新 # 开启nacos自动刷新,如果这个配置没有或者为false会导致配置不能自动刷新
+4 -4
View File
@@ -20,15 +20,15 @@ spring:
discovery: discovery:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
@@ -23,6 +23,8 @@ import com.mhd.oms.domain.executeOrder.entity.ExecuteOrder;
import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper; import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper;
import com.mhd.oms.domain.gwLog.entity.GwLog; import com.mhd.oms.domain.gwLog.entity.GwLog;
import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper;
import com.mhd.oms.domain.documentPushMaterialRecord.entity.DocumentPushMaterialRecord;
import com.mhd.oms.domain.documentPushMaterialRecord.repository.mapper.DocumentPushMaterialRecordMapper;
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO; import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO;
import com.mhd.oms.interfaces.dto.businessDocumentOrder.BusinessDocumentOrderDTO; import com.mhd.oms.interfaces.dto.businessDocumentOrder.BusinessDocumentOrderDTO;
import com.mhd.system.api.model.LoginUser; import com.mhd.system.api.model.LoginUser;
@@ -88,6 +90,9 @@ public class BusinessDocumentOrderApplicationService {
@Resource @Resource
private ExecuteOrderMapper executeOrderMapper; private ExecuteOrderMapper executeOrderMapper;
@Resource
private DocumentPushMaterialRecordMapper documentPushMaterialRecordMapper;
/** /**
* 分页查询【请填写功能名称】列表 * 分页查询【请填写功能名称】列表
*/ */
@@ -328,6 +333,37 @@ public class BusinessDocumentOrderApplicationService {
if (dataCode != null && dataCode == 200) { if (dataCode != null && dataCode == 200) {
gwLog.setStatus(2); gwLog.setStatus(2);
updatePushStatus(order.getId(), 3, new Date(), String.valueOf(pushBy), pushByName); updatePushStatus(order.getId(), 3, new Date(), String.valueOf(pushBy), pushByName);
// 推送成功,保存单证推送物料快照
try {
Date now = new Date();
for (BusinessDocumentCargoMulti cargo : cargoList) {
DocumentPushMaterialRecord docRecord = new DocumentPushMaterialRecord();
docRecord.setOrderId(order.getId());
docRecord.setMaterialBaseInfoId(cargo.getMaterialBaseInfoId());
if (cargo.getMaterialBaseInfoId() != null) {
MaterialBaseInfoPO material = reservationStockInOrderMapper.getinfo(cargo.getMaterialBaseInfoId());
if (material != null) {
docRecord.setMaterialCode(material.getMaterialCode());
docRecord.setMaterialName(material.getMaterialName());
docRecord.setGoodsType(material.getGoodsType());
docRecord.setPackName(material.getPackName());
docRecord.setDeclarationUnit(material.getDeclarationUnit());
docRecord.setCurrency(material.getCurrency());
docRecord.setUnitPrice(material.getUnitPrice());
docRecord.setWeightLimit(material.getWeightLimit());
docRecord.setGrossWeight(material.getGrossWeight());
}
}
docRecord.setPushTime(now);
docRecord.setDelFlag(1);
docRecord.setCreateBy(String.valueOf(pushBy));
docRecord.setCreateTime(now);
docRecord.setUpdateTime(now);
documentPushMaterialRecordMapper.insert(docRecord);
}
} catch (Exception e) {
log.error("保存单证推送物料快照失败: orderId={}", order.getId(), e);
}
successCount++; successCount++;
} else { } else {
gwLog.setStatus(3); gwLog.setStatus(3);
@@ -399,9 +435,12 @@ public class BusinessDocumentOrderApplicationService {
int failCount = 0; int failCount = 0;
StringBuilder failMsg = new StringBuilder(); StringBuilder failMsg = new StringBuilder();
// 从数据库查询单证信息,获取运输业务单号
BusinessDocumentOrder order = businessDocumentOrderMapper.selectById(businessDocumentOrderDTO.getId());
// 构建单个对象 // 构建单个对象
Map<String, String> item = new HashMap<>(); Map<String, String> item = new HashMap<>();
item.put("erpBillNo", String.valueOf(businessDocumentOrderDTO.getId())); item.put("erpBillNo", order != null ? order.getGoodsNumber() : businessDocumentOrderDTO.getGoodsNumber());
item.put("operateType", String.valueOf(businessDocumentOrderDTO.getReviseApplyType())); item.put("operateType", String.valueOf(businessDocumentOrderDTO.getReviseApplyType()));
item.put("appMan", businessDocumentOrderDTO.getReviseApplyBy()); item.put("appMan", businessDocumentOrderDTO.getReviseApplyBy());
item.put("appMess", businessDocumentOrderDTO.getReviseApplyReason()); item.put("appMess", businessDocumentOrderDTO.getReviseApplyReason());
@@ -2,6 +2,7 @@ package com.mhd.oms.application.service.materialInfo;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.mhd.common.core.exception.ServiceException; import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.domain.AjaxResult;
@@ -9,6 +10,9 @@ import com.mhd.common.core.web.page.TableDataInfo;
import com.mhd.common.security.utils.SecurityUtils; import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.oms.domain.gwLog.entity.GwLog; import com.mhd.oms.domain.gwLog.entity.GwLog;
import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper;
import com.mhd.oms.domain.materialPushRecord.entity.MaterialPushRecord;
import com.mhd.oms.domain.materialPushRecord.repository.mapper.MaterialPushRecordMapper;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO;
import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper; import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper;
import com.mhd.system.api.WmsServiceFeign; import com.mhd.system.api.WmsServiceFeign;
import com.mhd.system.api.domain.MaterialInfoDTO; import com.mhd.system.api.domain.MaterialInfoDTO;
@@ -45,6 +49,9 @@ public class MaterialInfoApplicationService {
@Resource @Resource
private BusinessDocumentOrderMapper businessDocumentOrderMapper; private BusinessDocumentOrderMapper businessDocumentOrderMapper;
@Resource
private MaterialPushRecordMapper materialPushRecordMapper;
private final WmsServiceFeign wmsServiceFeign; private final WmsServiceFeign wmsServiceFeign;
public MaterialInfoApplicationService(WmsServiceFeign wmsServiceFeign) { public MaterialInfoApplicationService(WmsServiceFeign wmsServiceFeign) {
@@ -88,6 +95,7 @@ public class MaterialInfoApplicationService {
int successCount = 0; int successCount = 0;
int failCount = 0; int failCount = 0;
StringBuilder failMsg = new StringBuilder(); StringBuilder failMsg = new StringBuilder();
List<Long> successIds = new ArrayList<>();
for (MaterialInfoDTO dto : dtoList) { for (MaterialInfoDTO dto : dtoList) {
Map<String, String> item = new HashMap<>(); Map<String, String> item = new HashMap<>();
@@ -147,6 +155,7 @@ public class MaterialInfoApplicationService {
gwLog.setStatus(2); gwLog.setStatus(2);
updatePushStatus(dto.getMaterialBaseInfoId(), 3, new Date(), pushBy, pushByName); updatePushStatus(dto.getMaterialBaseInfoId(), 3, new Date(), pushBy, pushByName);
successCount++; successCount++;
successIds.add(dto.getMaterialBaseInfoId());
} else { } else {
gwLog.setStatus(3); gwLog.setStatus(3);
gwLog.setErrorMsg(responseString); gwLog.setErrorMsg(responseString);
@@ -181,6 +190,39 @@ public class MaterialInfoApplicationService {
} }
} }
// 推送成功后,保存物料快照到物料推送记录表
if (!successIds.isEmpty()) {
try {
Date now = new Date();
TableDataInfo wmsResult = wmsServiceFeign.getBatchByIds(successIds);
if (wmsResult != null && wmsResult.getData() != null) {
List<MaterialBaseInfoPO> materialList = JSONArray.parseArray(
JSONObject.toJSONString(wmsResult.getData()), MaterialBaseInfoPO.class);
for (MaterialBaseInfoPO material : materialList) {
MaterialPushRecord record = new MaterialPushRecord();
record.setMaterialBaseInfoId(material.getMaterialBaseInfoId());
record.setMaterialCode(material.getMaterialCode());
record.setMaterialName(material.getMaterialName());
record.setGoodsType(material.getGoodsType());
record.setPackName(material.getPackName());
record.setDeclarationUnit(material.getDeclarationUnit());
record.setCurrency(material.getCurrency());
record.setUnitPrice(material.getUnitPrice());
record.setWeightLimit(material.getWeightLimit());
record.setGrossWeight(material.getGrossWeight());
record.setPushTime(now);
record.setDelFlag(1);
record.setCreateBy(String.valueOf(pushBy));
record.setCreateTime(now);
record.setUpdateTime(now);
materialPushRecordMapper.insert(record);
}
}
} catch (Exception e) {
log.error("保存物料推送快照失败: {}", e.getMessage());
}
}
String resultMsg = "推送完成: 成功" + successCount + "条, 失败" + failCount + ""; String resultMsg = "推送完成: 成功" + successCount + "条, 失败" + failCount + "";
if (failCount > 0) { if (failCount > 0) {
resultMsg += "[" + failMsg.toString() + "]"; resultMsg += "[" + failMsg.toString() + "]";
@@ -1,6 +1,8 @@
package com.mhd.oms.domain.businessDocumentOrder.repository.persistence; package com.mhd.oms.domain.businessDocumentOrder.repository.persistence;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -43,6 +45,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.rmi.ServerException; import java.rmi.ServerException;
import java.util.ArrayList; import java.util.ArrayList;
@@ -169,6 +172,29 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
return businessDocumentOrderPO; return businessDocumentOrderPO;
} }
public static String getOrderCodeByDate(Date date){
return new StringBuffer()
.append(getSecondPartByDate(date))
.append(getThreePart())
.toString();
}
private static String getSecondPartByDate(Date date) {
if (date == null) {
date = new Date();
}
String temp_current_time = DateUtil.format(date, datePattern());
return temp_current_time.substring(2, temp_current_time.length());
}
private static String datePattern() {
return "yyyyMMddHHmmss";
}
private static String getThreePart() {
return RandomUtil.randomNumbers(4);
}
@Override @Override
public Boolean audit(List<Long> ids, Long reviewStatus, String SalesManager,String reviewOpinion ) { public Boolean audit(List<Long> ids, Long reviewStatus, String SalesManager,String reviewOpinion ) {
LoginUser loginUser = SecurityUtils.getLoginUser();//获取登录人 LoginUser loginUser = SecurityUtils.getLoginUser();//获取登录人
@@ -229,6 +255,31 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
subOrder.setRecipientName(user.getUserName()); subOrder.setRecipientName(user.getUserName());
String orderCode = null;
int maxRetryCount = 100;
int retryCount = 0;
while (retryCount < maxRetryCount) {
orderCode = getOrderCodeByDate(subOrder.getDocumentDate());
retryCount++;
List<BusinessDocumentOrder> checkOrderCodes = businessDocumentOrderMapper.selectList(
new QueryWrapper<BusinessDocumentOrder>().eq("goods_number", orderCode)
);
if (CollectionUtils.isEmpty(checkOrderCodes)) {
break;
}
if (retryCount >= maxRetryCount) {
throw new com.aliyun.oss.ServiceException("生成唯一订单编号失败,已达到最大重试次数:" + maxRetryCount);
}
}
//生成货源单号
subOrder.setGoodsNumber(orderCode);
businessDocumentOrderMapper.insert(subOrder); businessDocumentOrderMapper.insert(subOrder);
subOrderCount++; // 增加子单计数 subOrderCount++; // 增加子单计数
@@ -706,4 +757,4 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
{ {
return businessDocumentOrderMapper.queryListAndMaterial(businessDocumentOrderDO); return businessDocumentOrderMapper.queryListAndMaterial(businessDocumentOrderDO);
} }
} }
@@ -91,6 +91,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date loadingDate; private Date loadingDate;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -123,6 +125,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date unloadingData; private Date unloadingData;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -674,6 +678,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentDate; private Date documentDate;
@@ -764,6 +770,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
private String entryNumber; private String entryNumber;
@ApiModelProperty("预计出发日期") @ApiModelProperty("预计出发日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date layDate; private Date layDate;
@ApiModelProperty("出入库单号") @ApiModelProperty("出入库单号")
@@ -106,6 +106,8 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date loadingDate; private Date loadingDate;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -138,6 +140,8 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date unloadingData; private Date unloadingData;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -741,6 +745,8 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
private String paymentAccountId; private String paymentAccountId;
@ApiModelProperty("预计出发日期") @ApiModelProperty("预计出发日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date layDate; private Date layDate;
@ApiModelProperty("收款账户信息") @ApiModelProperty("收款账户信息")
@@ -1,10 +1,14 @@
package com.mhd.oms.domain.businessDocumentOrder.service; package com.mhd.oms.domain.businessDocumentOrder.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Snowflake; import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import com.aliyun.oss.ServiceException; import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mhd.common.core.domain.entity.TmsOrder;
import com.mhd.common.core.domain.po.UserShipperPo; import com.mhd.common.core.domain.po.UserShipperPo;
import com.mhd.common.core.utils.DateUtils; import com.mhd.common.core.utils.DateUtils;
import com.mhd.common.core.utils.OrderSequence; import com.mhd.common.core.utils.OrderSequence;
@@ -47,6 +51,7 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -101,6 +106,25 @@ public class BusinessDocumentOrderDomainService {
return businessDocumentOrderService.queryList(businessDocumentOrderDO); return businessDocumentOrderService.queryList(businessDocumentOrderDO);
} }
public static String getOrderCodeByDate(Date date){
return new StringBuffer()
.append(getSecondPartByDate(date))
.append(getThreePart())
.toString();
}
private static String getSecondPartByDate(Date date) {
if (date == null) {
date = new Date();
}
String temp_current_time = DateUtil.format(date, datePattern());
return temp_current_time.substring(2, temp_current_time.length());
}
private static String datePattern() {
return "yyyyMMddHHmmss";
}
private static String getThreePart() {
return RandomUtil.randomNumbers(4);
}
/** /**
* 新增【请填写功能名称】 * 新增【请填写功能名称】
@@ -184,6 +208,7 @@ public class BusinessDocumentOrderDomainService {
BeanUtils.copyProperties(businessDocumentOrderDO, tmsOrder, "id"); BeanUtils.copyProperties(businessDocumentOrderDO, tmsOrder, "id");
tmsOrder.setSettlementStatus(1L);//未出账 tmsOrder.setSettlementStatus(1L);//未出账
tmsOrder.setAuditStatus(0L);//未审核 tmsOrder.setAuditStatus(0L);//未审核
tmsOrder.setCustomerCodeNc(customerNcCode);
tmsOrder.setSzwlUserId(Long.valueOf(u.getUserid())); tmsOrder.setSzwlUserId(Long.valueOf(u.getUserid()));
if (tmsOrder.getLoadingDate() != null && tmsOrder.getUnloadingData() != null) { if (tmsOrder.getLoadingDate() != null && tmsOrder.getUnloadingData() != null) {
if (tmsOrder.getUnloadingData().before(tmsOrder.getLoadingDate())) { if (tmsOrder.getUnloadingData().before(tmsOrder.getLoadingDate())) {
@@ -257,16 +282,41 @@ public class BusinessDocumentOrderDomainService {
} }
//生成货源单号 //生成货源单号
if (businessDocumentOrderDO.getGoodsNumber() == null) {
tmsOrder.setGoodsNumber(OrderSequence.getOrderCode()); String orderCode = null;
int maxRetryCount = 100;
int retryCount = 0;
while (retryCount < maxRetryCount) {
orderCode = getOrderCodeByDate(tmsOrder.getDocumentDate());
retryCount++;
List<BusinessDocumentOrder> checkOrderCodes = businessDocumentOrderMapper.selectList(
new QueryWrapper<BusinessDocumentOrder>().eq("goods_number", orderCode)
);
if (CollectionUtils.isEmpty(checkOrderCodes)) {
break;
}
if (retryCount >= maxRetryCount) {
throw new ServiceException("生成唯一订单编号失败,已达到最大重试次数:" + maxRetryCount);
}
} }
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>().eq(ReservationStockOutOrder::getOutOrderNumber, tmsOrder.getInOrderNumber()));
//生成货源单号
tmsOrder.setGoodsNumber(orderCode);
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>()
.eq(ReservationStockOutOrder::getOutOrderNumber, tmsOrder.getInOrderNumber())
.eq(ReservationStockOutOrder::getDelFlag, 1));
if (reservationStockOutOrder != null){ if (reservationStockOutOrder != null){
reservationStockOutOrder.setBusinessNumber(tmsOrder.getGoodsNumber()); reservationStockOutOrder.setBusinessNumber(tmsOrder.getGoodsNumber());
reservationStockOutOrderMapper.updateById(reservationStockOutOrder); reservationStockOutOrderMapper.updateById(reservationStockOutOrder);
} }
ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockInOrder>().eq(ReservationStockInOrder::getInOrderNumber, tmsOrder.getInOrderNumber())); ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockInOrder>()
.eq(ReservationStockInOrder::getInOrderNumber, tmsOrder.getInOrderNumber())
.eq(ReservationStockInOrder::getDelFlag, 1));
if (reservationStockInOrder != null){ if (reservationStockInOrder != null){
reservationStockInOrder.setBusinessNumber(tmsOrder.getGoodsNumber()); reservationStockInOrder.setBusinessNumber(tmsOrder.getGoodsNumber());
reservationStockInOrderMapper.updateById(reservationStockInOrder); reservationStockInOrderMapper.updateById(reservationStockInOrder);
@@ -392,7 +442,7 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setSplicingOrderType(0L); // 普通单 tmsOrder.setSplicingOrderType(0L); // 普通单
} }
//一天后 //一天后
tmsOrder.setDocumentDate(DateUtils.addHours(new Date(), 24)); tmsOrder.setDocumentDate(businessDocumentOrderDO.getDocumentDate());
boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0; boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0;
@@ -474,6 +524,7 @@ public class BusinessDocumentOrderDomainService {
throw new ServiceException("您非货主角色或账号已被删除!"); throw new ServiceException("您非货主角色或账号已被删除!");
} }
BusinessDocumentOrder tmsOrder = businessDocumentOrderService.getById(businessDocumentOrderDO.getId()); BusinessDocumentOrder tmsOrder = businessDocumentOrderService.getById(businessDocumentOrderDO.getId());
String inOrderNumber = tmsOrder.getInOrderNumber();
if (tmsOrder.getOrderStatus() == 1){ if (tmsOrder.getOrderStatus() == 1){
tmsOrder.setOrderStatus(0L); tmsOrder.setOrderStatus(0L);
} }
@@ -484,6 +535,7 @@ public class BusinessDocumentOrderDomainService {
throw new ServiceException("运单已被关闭,请确认!"); throw new ServiceException("运单已被关闭,请确认!");
} }
//处理费用默认值 //处理费用默认值
tmsOrder.setDocumentDate(businessDocumentOrderDO.getDocumentDate());
handFee(businessDocumentOrderDO); handFee(businessDocumentOrderDO);
//组织赋值 //组织赋值
Long organizationId = businessDocumentOrderDO.getOrganizationId(); Long organizationId = businessDocumentOrderDO.getOrganizationId();
@@ -679,6 +731,45 @@ public class BusinessDocumentOrderDomainService {
} }
// boolean istrue=businessDocumentOrderService.update(businessDocumentOrderDO); // boolean istrue=businessDocumentOrderService.update(businessDocumentOrderDO);
String orderCode = null;
int maxRetryCount = 100;
int retryCount = 0;
while (retryCount < maxRetryCount) {
orderCode = getOrderCodeByDate(tmsOrder.getDocumentDate());
retryCount++;
List<BusinessDocumentOrder> checkOrderCodes = businessDocumentOrderMapper.selectList(
new QueryWrapper<BusinessDocumentOrder>().eq("goods_number", orderCode)
);
if (CollectionUtils.isEmpty(checkOrderCodes)) {
break;
}
if (retryCount >= maxRetryCount) {
throw new ServiceException("生成唯一订单编号失败,已达到最大重试次数:" + maxRetryCount);
}
}
//生成货源单号
tmsOrder.setGoodsNumber(orderCode);
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>()
.eq(ReservationStockOutOrder::getOutOrderNumber, inOrderNumber)
.eq(ReservationStockOutOrder::getDelFlag, 1));
if (reservationStockOutOrder != null){
reservationStockOutOrder.setBusinessNumber(tmsOrder.getGoodsNumber());
reservationStockOutOrderMapper.updateById(reservationStockOutOrder);
}
ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockInOrder>()
.eq(ReservationStockInOrder::getInOrderNumber, inOrderNumber)
.eq(ReservationStockInOrder::getDelFlag, 1));
if (reservationStockInOrder != null){
reservationStockInOrder.setBusinessNumber(tmsOrder.getGoodsNumber());
reservationStockInOrderMapper.updateById(reservationStockInOrder);
}
int i = businessDocumentOrderMapper.updateById(tmsOrder); int i = businessDocumentOrderMapper.updateById(tmsOrder);
if (deliveryFreight != null && deliveryFreight.compareTo(BigDecimal.ZERO) > 0){ if (deliveryFreight != null && deliveryFreight.compareTo(BigDecimal.ZERO) > 0){
List<ReservationOrder> reservationOrderList = reservationOrderMapper.selectList(new LambdaQueryWrapper<ReservationOrder>().eq(ReservationOrder::getGoodsNumber, businessDocumentOrderDO.getGoodsNumber())); List<ReservationOrder> reservationOrderList = reservationOrderMapper.selectList(new LambdaQueryWrapper<ReservationOrder>().eq(ReservationOrder::getGoodsNumber, businessDocumentOrderDO.getGoodsNumber()));
@@ -0,0 +1,77 @@
package com.mhd.oms.domain.documentPushMaterialRecord.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@ApiModel(value = "单证推送物料记录对象")
@TableName("document_push_material_record")
public class DocumentPushMaterialRecord implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
@TableId(type = IdType.AUTO)
private Long id;
@ApiModelProperty("单证ID")
private Long orderId;
@ApiModelProperty("物料ID")
private Long materialBaseInfoId;
@ApiModelProperty("物料编码")
private String materialCode;
@ApiModelProperty("物料名称")
private String materialName;
@ApiModelProperty("规格型号")
private String packName;
@ApiModelProperty("申报单位")
private String declarationUnit;
@ApiModelProperty("数量")
private BigDecimal cargoNum;
@ApiModelProperty("币制")
private String currency;
@ApiModelProperty("单价")
private BigDecimal unitPrice;
@ApiModelProperty("净重(kg)")
private BigDecimal weightLimit;
@ApiModelProperty("毛重(kg)")
private BigDecimal grossWeight;
@ApiModelProperty("商品类型(0物料,1半成品,2成品)")
private Integer goodsType;
@ApiModelProperty("推送时间")
private Date pushTime;
@ApiModelProperty("删除标志(1-正常,2-删除)")
private Integer delFlag;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新人")
private String updateBy;
@ApiModelProperty("更新时间")
private Date updateTime;
}
@@ -0,0 +1,9 @@
package com.mhd.oms.domain.documentPushMaterialRecord.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.oms.domain.documentPushMaterialRecord.entity.DocumentPushMaterialRecord;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface DocumentPushMaterialRecordMapper extends BaseMapper<DocumentPushMaterialRecord> {
}
@@ -31,6 +31,7 @@ public class ExecuteOrderPO extends BaseVOEntity{
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long id; private Long id;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String realCreateBy; private String realCreateBy;
@@ -123,6 +124,8 @@ public class ExecuteOrderPO extends BaseVOEntity{
private String jobStatus; private String jobStatus;
@ApiModelProperty("预计运输时间") @ApiModelProperty("预计运输时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentDate; private Date documentDate;
@ApiModelProperty("备注") @ApiModelProperty("备注")
@@ -150,6 +153,8 @@ public class ExecuteOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date loadingDate; private Date loadingDate;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -188,6 +193,8 @@ public class ExecuteOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date layDate; private Date layDate;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -172,4 +172,14 @@ public class ExecuteOrderDO extends BaseVOEntity{
@ApiModelProperty("车次") @ApiModelProperty("车次")
private Integer trainNo; private Integer trainNo;
@ApiModelProperty("预计开始日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentStartTime;
@ApiModelProperty("预计结束日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentEndTime;
} }
@@ -0,0 +1,77 @@
package com.mhd.oms.domain.materialPushRecord.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 物料推送记录表
*/
@Data
@ApiModel(value = "物料推送记录对象")
@TableName("material_push_record")
public class MaterialPushRecord implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
@TableId(type = IdType.AUTO)
private Long id;
@ApiModelProperty("物料ID")
private Long materialBaseInfoId;
@ApiModelProperty("物料编码")
private String materialCode;
@ApiModelProperty("物料名称")
private String materialName;
@ApiModelProperty("规格型号")
private String packName;
@ApiModelProperty("申报单位")
private String declarationUnit;
@ApiModelProperty("数量")
private BigDecimal cargoNum;
@ApiModelProperty("币制")
private String currency;
@ApiModelProperty("单价")
private BigDecimal unitPrice;
@ApiModelProperty("净重(kg)")
private BigDecimal weightLimit;
@ApiModelProperty("毛重(kg)")
private BigDecimal grossWeight;
@ApiModelProperty("商品类型(0物料,1半成品,2成品)")
private Integer goodsType;
@ApiModelProperty("推送时间")
private Date pushTime;
@ApiModelProperty("删除标志(1-正常,2-删除)")
private Integer delFlag;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新人")
private String updateBy;
@ApiModelProperty("更新时间")
private Date updateTime;
}
@@ -0,0 +1,9 @@
package com.mhd.oms.domain.materialPushRecord.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.oms.domain.materialPushRecord.entity.MaterialPushRecord;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MaterialPushRecordMapper extends BaseMapper<MaterialPushRecord> {
}
@@ -0,0 +1,109 @@
package com.mhd.oms.domain.materialPushRecord.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mhd.common.core.web.page.TableDataInfo;
import com.mhd.oms.domain.materialPushRecord.entity.MaterialPushRecord;
import com.mhd.oms.domain.materialPushRecord.repository.mapper.MaterialPushRecordMapper;
import com.mhd.oms.domain.documentPushMaterialRecord.entity.DocumentPushMaterialRecord;
import com.mhd.oms.domain.documentPushMaterialRecord.repository.mapper.DocumentPushMaterialRecordMapper;
import com.mhd.system.api.WmsServiceFeign;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
public class MaterialPushRecordService {
@Resource
private MaterialPushRecordMapper materialPushRecordMapper;
@Resource
private WmsServiceFeign wmsServiceFeign;
@Resource
private DocumentPushMaterialRecordMapper documentPushMaterialRecordMapper;
/**
* 按物料ID列表查询物料数据
* 先按orderId查单证推送快照没有再查物料推送快照最后调WMS
*/
public TableDataInfo getBatchByIds(List<Long> materialBaseInfoIds, Long orderId) {
if (materialBaseInfoIds == null || materialBaseInfoIds.isEmpty()) {
TableDataInfo emptyResult = new TableDataInfo();
emptyResult.setData(new ArrayList<>());
emptyResult.setTotal(0);
emptyResult.setCode(200);
return emptyResult;
}
// 1. 先按orderId查单证推送物料记录表
List<DocumentPushMaterialRecord> docRecords = documentPushMaterialRecordMapper.selectList(
new LambdaQueryWrapper<DocumentPushMaterialRecord>()
.eq(DocumentPushMaterialRecord::getOrderId, orderId)
.eq(DocumentPushMaterialRecord::getDelFlag, 1));
if (docRecords != null && !docRecords.isEmpty()) {
// 有单证推送数据按物料ID去重取最新一条并检查是否覆盖所有请求的物料ID
Map<Long, DocumentPushMaterialRecord> latestMap = new HashMap<>();
for (DocumentPushMaterialRecord r : docRecords) {
Long mid = r.getMaterialBaseInfoId();
if (mid == null) continue;
DocumentPushMaterialRecord old = latestMap.get(mid);
if (old == null || (r.getPushTime() != null && old.getPushTime() == null)
|| (r.getPushTime() != null && old.getPushTime() != null && r.getPushTime().after(old.getPushTime()))) {
latestMap.put(mid, r);
}
}
// 检查是否所有请求的物料ID都查到了
if (latestMap.keySet().containsAll(materialBaseInfoIds)) {
List<DocumentPushMaterialRecord> resultList = new ArrayList<>(latestMap.values());
TableDataInfo result = new TableDataInfo();
result.setData(resultList);
result.setTotal(resultList.size());
result.setCode(200);
return result;
}
}
// 2. 查物料推送记录表
List<MaterialPushRecord> pushRecords = materialPushRecordMapper.selectList(
new LambdaQueryWrapper<MaterialPushRecord>()
.in(MaterialPushRecord::getMaterialBaseInfoId, materialBaseInfoIds)
.eq(MaterialPushRecord::getDelFlag, 1));
if (pushRecords != null && !pushRecords.isEmpty()) {
// 按物料ID去重取最新一条
Map<Long, MaterialPushRecord> latestMap = new HashMap<>();
for (MaterialPushRecord r : pushRecords) {
Long mid = r.getMaterialBaseInfoId();
if (mid == null) continue;
MaterialPushRecord old = latestMap.get(mid);
if (old == null || (r.getPushTime() != null && old.getPushTime() == null)
|| (r.getPushTime() != null && old.getPushTime() != null && r.getPushTime().after(old.getPushTime()))) {
latestMap.put(mid, r);
}
}
if (latestMap.keySet().containsAll(materialBaseInfoIds)) {
TableDataInfo result = new TableDataInfo();
result.setData(new ArrayList<>(latestMap.values()));
result.setTotal(latestMap.size());
result.setCode(200);
return result;
}
}
// 3. 都没有全命中调WMS查全部实时数据
try {
return wmsServiceFeign.getBatchByIds(materialBaseInfoIds);
} catch (Exception e) {
log.error("调用WMS查询物料信息失败: {}", e.getMessage());
TableDataInfo errorResult = new TableDataInfo();
errorResult.setData(new ArrayList<>());
errorResult.setTotal(0);
errorResult.setCode(500);
return errorResult;
}
}
}
@@ -377,4 +377,20 @@ public class ReservationInMaterialDetail extends BaseVOEntity {
private Date drinkDate; private Date drinkDate;
@ApiModelProperty("火险保费") @ApiModelProperty("火险保费")
private BigDecimal fireInsureFee; private BigDecimal fireInsureFee;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -479,4 +479,20 @@ public class ReservationInMaterialDetailPO extends ReservationStockInOrderBasePO
private String lotNumber; private String lotNumber;
@ApiModelProperty("火险保费") @ApiModelProperty("火险保费")
private BigDecimal fireInsureFee; private BigDecimal fireInsureFee;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String khdm;
} }
@@ -444,4 +444,19 @@ public class ReservationInMaterialDetailDO extends ReservationStockInOrderBaseDO
private BigDecimal unitPrice; private BigDecimal unitPrice;
@ApiModelProperty("火险保费") @ApiModelProperty("火险保费")
private BigDecimal fireInsureFee; private BigDecimal fireInsureFee;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -451,4 +451,19 @@ public class ReservationInMaterialDetailDTO extends BaseVOEntity {
private String productionDate; private String productionDate;
@ApiModelProperty("火险保费") @ApiModelProperty("火险保费")
private BigDecimal fireInsureFee; private BigDecimal fireInsureFee;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -498,4 +498,24 @@ public class ReservationOutMaterialDetail extends BaseVOEntity {
@ApiModelProperty("库存数量") @ApiModelProperty("库存数量")
@Excel(name = "库存数量") @Excel(name = "库存数量")
private BigDecimal stockQuantity; private BigDecimal stockQuantity;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
} }
@@ -586,5 +586,21 @@ public class ReservationOutMaterialDetailPO extends ReservationStockOutOrderBase
@ApiModelProperty("单价") @ApiModelProperty("单价")
@Excel(name = "单价") @Excel(name = "单价")
private BigDecimal unitPrice; private BigDecimal unitPrice;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String khdm;
} }
@@ -532,4 +532,20 @@ public class ReservationOutMaterialDetailDO extends BaseVOEntity {
@ApiModelProperty("调整后面积") @ApiModelProperty("调整后面积")
@Excel(name = "调整后面积") @Excel(name = "调整后面积")
private BigDecimal adjustedArea; private BigDecimal adjustedArea;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
} }
@@ -524,4 +524,20 @@ public class ReservationOutMaterialDetailDTO extends BaseVOEntity {
@ApiModelProperty("调整后面积") @ApiModelProperty("调整后面积")
@Excel(name = "调整后面积") @Excel(name = "调整后面积")
private BigDecimal adjustedArea; private BigDecimal adjustedArea;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
} }
@@ -55,4 +55,6 @@ public interface ReservationStockInOrderMapper extends BaseMapper<ReservationSto
public String getCustomerNcCode(@Param("id") Long id); public String getCustomerNcCode(@Param("id") Long id);
String getNcUrl(@Param("interfaceType") String interfaceType,@Param("organizationName") String organizationName,@Param("organizationId") Long organizationId);
} }
@@ -476,4 +476,5 @@ public class ReservationStockInOrderPO extends BaseVOEntity {
@ApiModelProperty("业务计价方式") @ApiModelProperty("业务计价方式")
private String businessPriceWay; private String businessPriceWay;
private String khdm;
} }
@@ -470,12 +470,21 @@ public class ReservationStockInOrderDO extends BaseVOEntity {
@ApiModelProperty(value = "推送时间起") @ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart; private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止") @ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeEnd; private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
private String xfStatus; private String xfStatus;
@ApiModelProperty("运输业务单号") @ApiModelProperty("运输业务单号")
@@ -454,13 +454,21 @@ public class ReservationStockInOrderDTO extends ReservationStockInOrderBaseDTO {
@ApiModelProperty(value = "推送时间起") @ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart; private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止") @ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeEnd; private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
private String xfStatus; private String xfStatus;
@ApiModelProperty(name = "入库时间查询条件开始日期") @ApiModelProperty(name = "入库时间查询条件开始日期")
private String storageTimeStart; private String storageTimeStart;
@@ -78,7 +78,7 @@ public class ReservationStockInOrderApplicationService {
private ReservationInMaterialDetailMapper reservationInMaterialDetailMapper; private ReservationInMaterialDetailMapper reservationInMaterialDetailMapper;
// @Autowired // @Autowired
// private IMaterialBaseInfoService materialBaseInfoService; // private IMaterialBaseInfoService materialBaseInfoService;
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
private static final String API_NAME = "save_order_i"; private static final String API_NAME = "save_order_i";
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -267,7 +267,17 @@ public class ReservationStockInOrderApplicationService {
*/ */
public ReservationStockInOrderPO getInfo(Long inOrderId) public ReservationStockInOrderPO getInfo(Long inOrderId)
{ {
return stockInOrderDomainService.getInfo(inOrderId); ReservationStockInOrderPO info = stockInOrderDomainService.getInfo(inOrderId);
String userNcCode = reservationStockInOrderMapper.getUserNcCode(info.getShipperId());
info.setKhdm(userNcCode);
List<ReservationInMaterialDetailPO> materialDetailList = info.getMaterialDetailList();
if (materialDetailList != null && !materialDetailList.isEmpty()) {
for (ReservationInMaterialDetailPO materialDetail : materialDetailList) {
materialDetail.setKhdm(userNcCode);
}
info.setMaterialDetailList(materialDetailList);
}
return info;
} }
@@ -2006,9 +2016,14 @@ public class ReservationStockInOrderApplicationService {
String[] split = lotNo.split("-"); String[] split = lotNo.split("-");
if (split.length == 2) { if (split.length == 2) {
gwInDetail.setLineNum(split[1]); gwInDetail.setLineNum(split[1]);
reservationInMaterialDetail.setLineNumGw(split[1]);
} else { } else {
gwInDetail.setLineNum(""); gwInDetail.setLineNum("1");
reservationInMaterialDetail.setLineNumGw("1");
} }
} else {
gwInDetail.setLineNum("1");
reservationInMaterialDetail.setLineNumGw("1");
} }
gwInDetail.setItemName(reservationInMaterialDetail.getMaterialName()); gwInDetail.setItemName(reservationInMaterialDetail.getMaterialName());
MaterialBaseInfoPO materialBaseInfoPO = reservationStockInOrderMapper.getinfo(materialBaseInfoId); MaterialBaseInfoPO materialBaseInfoPO = reservationStockInOrderMapper.getinfo(materialBaseInfoId);
@@ -2023,8 +2038,16 @@ public class ReservationStockInOrderApplicationService {
if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0&&quantity.compareTo(BigDecimal.ZERO) != 0) { if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0&&quantity.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal Amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal Amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP);
gwInDetail.setAmount(Amount); gwInDetail.setAmount(Amount);
reservationInMaterialDetail.setAmountGw(Amount);
} }
reservationInMaterialDetail.setQtyGw(quantity);
reservationInMaterialDetail.setSpecGw(materialBaseInfoPO.getSpecificationModel());
reservationInMaterialDetail.setUnitGw(materialBaseInfoPO.getDeclarationUnit());
reservationInMaterialDetail.setErpPriceGw(unitPrice);
reservationInMaterialDetail.setErpCurrGw(materialBaseInfoPO.getCurrency());
reservationInMaterialDetailMapper.updateById(reservationInMaterialDetail);
orderList.add(gwInDetail); orderList.add(gwInDetail);
} }
gwStockInOrder.setOrderList(orderList); gwStockInOrder.setOrderList(orderList);
List<GwStockInOrder> list = new LinkedList<>(); List<GwStockInOrder> list = new LinkedList<>();
@@ -2047,9 +2070,16 @@ public class ReservationStockInOrderApplicationService {
gwLogMapper.insert(gwLog); gwLogMapper.insert(gwLog);
updatePushStatus(id, 2, new Date(), pushBy,pushByName); updatePushStatus(id, 2, new Date(), pushBy,pushByName);
String ncUrl = reservationStockInOrderMapper.getNcUrl("gw", organizationName, organizationId);
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(PUSH_API_URL); String url = "";
if (ncUrl != null) {
url = ncUrl;
} else {
url = PUSH_API_URL;
}
// HttpPost customsHttpPost = new HttpPost(url);
HttpPost httpPost = new HttpPost(url);
StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(list), "UTF-8"); StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(list), "UTF-8");
httpPost.setEntity(postingString); httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("Content-type", "application/json");
@@ -2060,8 +2090,10 @@ public class ReservationStockInOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost); CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity()); String responseString = EntityUtils.toString(response.getEntity());
gwLog.setResponseBody(responseString); gwLog.setResponseBody(responseString);
// 直接转Map<String, Object>
if (response.getStatusLine().getStatusCode() == 200) { Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code == 200) {
gwLog.setStatus(2); gwLog.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName); updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++; successCount++;
@@ -504,4 +504,5 @@ public class ReservationStockOutOrderPO extends BaseVOEntity {
@ApiModelProperty("车次") @ApiModelProperty("车次")
@Excel(name = "车次") @Excel(name = "车次")
private Integer trainNo; private Integer trainNo;
private String khdm;
} }
@@ -549,12 +549,20 @@ public class ReservationStockOutOrderDO extends BaseVOEntity {
@ApiModelProperty(value = "推送时间起") @ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart; private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止") @ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeEnd; private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
private String xfStatus; private String xfStatus;
} }
@@ -532,13 +532,21 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO
@ApiModelProperty(value = "推送时间起") @ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart; private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止") @ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeEnd; private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
@ApiModelProperty(name = "出库时间查询条件开始日期") @ApiModelProperty(name = "出库时间查询条件开始日期")
private String outboundDateStart; private String outboundDateStart;
@@ -114,7 +114,7 @@ public class ReservationStockOutOrderApplicationService {
@Autowired @Autowired
private ReservationStockInOrderMapper reservationStockInOrderMapper; private ReservationStockInOrderMapper reservationStockInOrderMapper;
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
private static final String API_NAME = "save_order_e"; private static final String API_NAME = "save_order_e";
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -294,11 +294,18 @@ public class ReservationStockOutOrderApplicationService {
public ReservationStockOutOrderPO getInfoChildren(Long outOrderId) public ReservationStockOutOrderPO getInfoChildren(Long outOrderId)
{ {
ReservationStockOutOrderPO stockOutOrderPO = stockOutOrderDomainService.getInfoChildren(outOrderId); ReservationStockOutOrderPO stockOutOrderPO = stockOutOrderDomainService.getInfoChildren(outOrderId);
String userNcCode = reservationStockInOrderMapper.getUserNcCode(stockOutOrderPO.getShipperId());
if (stockOutOrderPO == null || CollectionUtils.isEmpty(stockOutOrderPO.getMaterialDetailList())) { if (stockOutOrderPO == null || CollectionUtils.isEmpty(stockOutOrderPO.getMaterialDetailList())) {
return stockOutOrderPO; return stockOutOrderPO;
} }
stockOutOrderPO.setKhdm(userNcCode);
List<ReservationOutMaterialDetailPO> materialDetailList = stockOutOrderPO.getMaterialDetailList();
if (CollectionUtils.isEmpty(materialDetailList)) {
for (ReservationOutMaterialDetailPO reservationOutMaterialDetailPO : materialDetailList) {
reservationOutMaterialDetailPO.setKhdm(userNcCode);
}
stockOutOrderPO.setMaterialDetailList(materialDetailList);
}
List<ReservationOutMaterialDetailPO> detailList = stockOutOrderPO.getMaterialDetailList(); List<ReservationOutMaterialDetailPO> detailList = stockOutOrderPO.getMaterialDetailList();
String outOrderNumber = stockOutOrderPO.getOutOrderNumber(); String outOrderNumber = stockOutOrderPO.getOutOrderNumber();
for (ReservationOutMaterialDetailPO reservationOutMaterialDetailPO : detailList) { for (ReservationOutMaterialDetailPO reservationOutMaterialDetailPO : detailList) {
@@ -1319,7 +1326,7 @@ public class ReservationStockOutOrderApplicationService {
Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null;
Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
String ncUrl = reservationStockInOrderMapper.getNcUrl("gw", organizationName, organizationId);
int successCount = 0; int successCount = 0;
int failCount = 0; int failCount = 0;
StringBuilder failMsg = new StringBuilder(); StringBuilder failMsg = new StringBuilder();
@@ -1371,11 +1378,14 @@ public class ReservationStockOutOrderApplicationService {
String[] split = lotNo.split("-"); String[] split = lotNo.split("-");
if (split.length == 2) { if (split.length == 2) {
item.put("lineNum", split[1]); item.put("lineNum", split[1]);
detail.setLineNumGw(split[1]);
} else { } else {
item.put("lineNum", 1); item.put("lineNum", 1);
detail.setLineNumGw("1");
} }
} else { } else {
item.put("lineNum", 1); item.put("lineNum", 1);
detail.setLineNumGw("1");
} }
item.put("qty", detail.getQuantity()); item.put("qty", detail.getQuantity());
@@ -1392,9 +1402,15 @@ public class ReservationStockOutOrderApplicationService {
// 计算金额 // 计算金额
BigDecimal unitPrice = materialBaseInfoPO.getUnitPrice(); BigDecimal unitPrice = materialBaseInfoPO.getUnitPrice();
BigDecimal quantity = detail.getQuantity(); BigDecimal quantity = detail.getQuantity();
detail.setQtyGw(quantity);
detail.setErpPriceGw(unitPrice);
detail.setErpCurrGw(materialBaseInfoPO.getCurrency());
detail.setUnitGw(materialBaseInfoPO.getDeclarationUnit());
detail.setSpecGw(materialBaseInfoPO.getSpecificationModel());
if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0 && quantity.compareTo(BigDecimal.ZERO) != 0) { if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0 && quantity.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP);
item.put("amount", amount); item.put("amount", amount);
detail.setAmountGw(amount);
} }
} }
} }
@@ -1409,12 +1425,15 @@ public class ReservationStockOutOrderApplicationService {
if (inOrderNumber != null) { if (inOrderNumber != null) {
item.put("orderINo", inOrderNumber); item.put("orderINo", inOrderNumber);
detail.setInOrderNumberGw(inOrderNumber);
} }
if (warehouseCode != null) { if (warehouseCode != null) {
item.put("warehouse", warehouseCode); item.put("warehouse", warehouseCode);
detail.setWarehouseGw(warehouseCode);
} }
if (opWhLoc != null) { if (opWhLoc != null) {
item.put("opWhLoc", opWhLoc); item.put("opWhLoc", opWhLoc);
detail.setOpWhLocGw(opWhLoc);
} }
// billI = 入库单号 // billI = 入库单号
if (inOrderNumber != null) { if (inOrderNumber != null) {
@@ -1425,15 +1444,19 @@ public class ReservationStockOutOrderApplicationService {
if (split.length == 2) { if (split.length == 2) {
item.put("orderIRow", split[1]); item.put("orderIRow", split[1]);
item.put("billIRow", split[1]); item.put("billIRow", split[1]);
detail.setInLineNumGw(split[1]);
} else { } else {
item.put("orderIRow", 1); item.put("orderIRow", 1);
item.put("billIRow", 1); item.put("billIRow", 1);
detail.setInLineNumGw("1");
} }
} else { } else {
item.put("orderIRow", 1); item.put("orderIRow", 1);
item.put("billIRow", 1); item.put("billIRow", 1);
detail.setInLineNumGw("1");
} }
} }
reservationOutMaterialDetailMapper.updateById(detail);
orderList.add(item); orderList.add(item);
} }
order.put("orderList", orderList); order.put("orderList", orderList);
@@ -1460,7 +1483,14 @@ public class ReservationStockOutOrderApplicationService {
updatePushStatus(id, 2, new Date(), pushBy,pushByName); updatePushStatus(id, 2, new Date(), pushBy,pushByName);
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(PUSH_API_URL); String url = "";
if (ncUrl != null) {
url = ncUrl;
} else {
url = PUSH_API_URL;
}
// HttpPost customsHttpPost = new HttpPost(url);
HttpPost httpPost = new HttpPost(url);
StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(bodyList), "UTF-8"); StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(bodyList), "UTF-8");
httpPost.setEntity(postingString); httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("Content-type", "application/json");
@@ -1471,8 +1501,10 @@ public class ReservationStockOutOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost); CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity()); String responseString = EntityUtils.toString(response.getEntity());
gwLog.setResponseBody(responseString); gwLog.setResponseBody(responseString);
// 直接转Map<String, Object>
if (response.getStatusLine().getStatusCode() == 200) { Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code ==200) {
gwLog.setStatus(2); gwLog.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName); updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++; successCount++;
@@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity; import com.mhd.common.core.web.domain.BaseVOEntity;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.List; import java.util.List;
@@ -71,6 +72,8 @@ public class BusinessDocumentAddressMultiDTO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date layDate; private Date layDate;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -94,6 +94,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date loadingDate; private Date loadingDate;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -126,6 +128,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date unloadingData; private Date unloadingData;
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@@ -673,8 +677,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment") @ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
// @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
// @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentDate; private Date documentDate;
@@ -770,6 +774,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
private String entryNumber; private String entryNumber;
@ApiModelProperty("预计出发日期") @ApiModelProperty("预计出发日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date layDate; private Date layDate;
@ApiModelProperty("入库单号") @ApiModelProperty("入库单号")
@@ -162,4 +162,14 @@ public class ExecuteOrderDTO extends BaseVOEntity{
@ApiModelProperty("车次") @ApiModelProperty("车次")
private Integer trainNo; private Integer trainNo;
@ApiModelProperty("预计开始日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentStartTime;
@ApiModelProperty("预计结束日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentEndTime;
} }
@@ -0,0 +1,26 @@
package com.mhd.oms.interfaces.facade.materialPushRecord;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.oms.domain.materialPushRecord.service.MaterialPushRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@Api(tags = "物料推送记录")
@RestController
@RequestMapping("/materialPushRecordApi")
public class MaterialPushRecordApi {
@Resource
private MaterialPushRecordService materialPushRecordService;
@ApiOperation("批量查询物料推送数据(先按orderId查单证推送快照,再按物料id查推送快照,最后调WMS)")
@GetMapping("/getBatchByIds")
public AjaxResult getBatchByIds(@RequestParam("materialBaseInfoIds") List<Long> materialBaseInfoIds,
@RequestParam("orderId") Long orderId) {
return AjaxResult.success(materialPushRecordService.getBatchByIds(materialBaseInfoIds, orderId));
}
}
@@ -95,6 +95,20 @@ public class OriginalImportExportDocumentApi extends BaseController {
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) { @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
BusinessDocumentOrderDO businessDocumentOrderDO = businessDocumentOrderAssembler.toDO(businessDocumentOrderDTO); BusinessDocumentOrderDO businessDocumentOrderDO = businessDocumentOrderAssembler.toDO(businessDocumentOrderDTO);
// 时区处理前端传的日期是东八区Spring按UTC解析加8小时对齐数据库时区
long tzOffset = 8 * 60 * 60 * 1000L;
if (businessDocumentOrderDO.getDocumentDateStart() != null) {
businessDocumentOrderDO.setDocumentDateStart(new Date(businessDocumentOrderDO.getDocumentDateStart().getTime() + tzOffset));
}
if (businessDocumentOrderDO.getDocumentDateEnd() != null) {
businessDocumentOrderDO.setDocumentDateEnd(new Date(businessDocumentOrderDO.getDocumentDateEnd().getTime() + tzOffset));
}
if (businessDocumentOrderDO.getPushTimeStart() != null) {
businessDocumentOrderDO.setPushTimeStart(new Date(businessDocumentOrderDO.getPushTimeStart().getTime() + tzOffset));
}
if (businessDocumentOrderDO.getPushTimeEnd() != null) {
businessDocumentOrderDO.setPushTimeEnd(new Date(businessDocumentOrderDO.getPushTimeEnd().getTime() + tzOffset));
}
PageHelper.startPage(pageNo, pageSize); PageHelper.startPage(pageNo, pageSize);
List<BusinessDocumentOrderPO> orderList = businessDocumentOrderApplicationService.queryListAndMaterial(businessDocumentOrderDO); List<BusinessDocumentOrderPO> orderList = businessDocumentOrderApplicationService.queryListAndMaterial(businessDocumentOrderDO);
+9 -9
View File
@@ -18,17 +18,17 @@ spring:
discovery: discovery:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010 # server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848 server-addr: 10.102.192.30:6848
# username: nacos username: nacos
# password: manhuoda@2023 password: manhuoda@2023
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010 # server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848 server-addr: 10.102.192.30:6848
# username: nacos username: nacos
# password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
# server-addr: 10.102.192.105:6848 # server-addr: 10.102.192.105:6848
# 锁定server端的配置文件(读取它的配置项) # 锁定server端的配置文件(读取它的配置项)
@@ -40,6 +40,6 @@ spring:
# GW推送配置 # GW推送配置
gw: gw:
push: push:
url: http://10.33.0.100/nagu-erp-api/transfer/pushData url: http://10.102.192.15/nagu-erp-api/transfer/pushData
verify-key1: FuDjK3iuftzwf8kWJ44DDZJ9icZmL9Ee4Valv8Qz6VfsdW60fNEzNSEtrKlUr6OI verify-key1: FuDjK3iuftzwf8kWJ44DDZJ9icZmL9Ee4Valv8Qz6VfsdW60fNEzNSEtrKlUr6OI
verify-key2: ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD verify-key2: ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD
@@ -696,7 +696,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bdo.PUSH_TIME <![CDATA[>=]]> #{pushTimeStart} and bdo.PUSH_TIME <![CDATA[>=]]> #{pushTimeStart}
</if> </if>
<if test="pushTimeEnd != null"> <if test="pushTimeEnd != null">
and bdo.PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} and bdo.PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} + 1 - 1/86400
</if> </if>
<if test="ieType != null "> <if test="ieType != null ">
and bdo.IE_TYPE = #{ieType} and bdo.IE_TYPE = #{ieType}
@@ -1252,7 +1252,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart} and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart}
</if> </if>
<if test="pushTimeEnd != null"> <if test="pushTimeEnd != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} + 1 - 1/86400
</if> </if>
<if test="ieType != null "> <if test="ieType != null ">
and IE_TYPE = #{ieType} and IE_TYPE = #{ieType}
@@ -1260,6 +1260,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="reviseApplyType != null "> <if test="reviseApplyType != null ">
and REVISE_APPLY_TYPE = #{reviseApplyType} and REVISE_APPLY_TYPE = #{reviseApplyType}
</if> </if>
<if test="reviseApplyStatus != null ">
and REVISE_APPLY_STATUS = #{reviseApplyStatus}
</if>
</where> </where>
</sql> </sql>
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.oms.domain.documentPushMaterialRecord.repository.mapper.DocumentPushMaterialRecordMapper">
<resultMap type="com.mhd.oms.domain.documentPushMaterialRecord.entity.DocumentPushMaterialRecord" id="DocumentPushMaterialRecordResult">
<result property="id" column="id" />
<result property="orderId" column="order_id" />
<result property="materialBaseInfoId" column="material_base_info_id" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="packName" column="pack_name" />
<result property="declarationUnit" column="declaration_unit" />
<result property="cargoNum" column="cargo_num" />
<result property="currency" column="currency" />
<result property="unitPrice" column="unit_price" />
<result property="weightLimit" column="weight_limit" />
<result property="grossWeight" column="gross_weight" />
<result property="goodsType" column="goods_type" />
<result property="pushTime" column="push_time" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
</mapper>
@@ -69,6 +69,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="invoiceEndTime != null"> <if test="invoiceEndTime != null">
and eo.INVOICE_DATE <![CDATA[ < ]]> DATEADD(DAY, 1, #{invoiceEndTime,jdbcType=DATE}) and eo.INVOICE_DATE <![CDATA[ < ]]> DATEADD(DAY, 1, #{invoiceEndTime,jdbcType=DATE})
</if> </if>
<if test="documentStartTime != null">
and eo.DOCUMENT_DATE >= #{documentStartTime,jdbcType=DATE}
</if>
<if test="documentEndTime != null">
and eo.DOCUMENT_DATE <![CDATA[ < ]]> DATEADD(DAY, 1, #{documentEndTime,jdbcType=DATE})
</if>
<!-- <if test="invoiceStartTime != null">--> <!-- <if test="invoiceStartTime != null">-->
<!-- and eo.INVOICE_DATE >= #{invoiceStartTime}--> <!-- and eo.INVOICE_DATE >= #{invoiceStartTime}-->
<!-- </if>--> <!-- </if>-->
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.oms.domain.materialPushRecord.repository.mapper.MaterialPushRecordMapper">
<resultMap type="com.mhd.oms.domain.materialPushRecord.entity.MaterialPushRecord" id="MaterialPushRecordResult">
<result property="id" column="id" />
<result property="materialBaseInfoId" column="material_base_info_id" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="packName" column="pack_name" />
<result property="declarationUnit" column="declaration_unit" />
<result property="cargoNum" column="cargo_num" />
<result property="currency" column="currency" />
<result property="unitPrice" column="unit_price" />
<result property="weightLimit" column="weight_limit" />
<result property="grossWeight" column="gross_weight" />
<result property="goodsType" column="goods_type" />
<result property="pushTime" column="push_time" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
</mapper>
@@ -90,6 +90,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="lotNo" column="lot_no" /> <result property="lotNo" column="lot_no" />
<result property="drinkDate" column="drink_date" /> <result property="drinkDate" column="drink_date" />
<result property="fireInsureFee" column="fire_insure_fee" /> <result property="fireInsureFee" column="fire_insure_fee" />
<result property="lineNumGw" column="line_num_gw" />
<result property="specGw" column="spec_gw" />
<result property="unitGw" column="unit_gw" />
<result property="qtyGw" column="qty_gw" />
<result property="erpCurrGw" column="erp_curr_gw" />
<result property="erpPriceGw" column="erp_price_gw" />
<result property="amountGw" column="amount_gw" />
</resultMap> </resultMap>
@@ -116,6 +123,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.SPECIFICATION_MODEL, a.SKU_CODE, a.INVOICE_NO, a.LITER, a.DIMENSIONS, a.DECLARATION_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO, a.SPECIFICATION_MODEL, a.SKU_CODE, a.INVOICE_NO, a.LITER, a.DIMENSIONS, a.DECLARATION_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO,
a.ORIGIN_COUNTRY, a.BOX_PALLET_NO, a.CURRENCY, a.UNIT, a.DECLARED_QUANTITY, a.BOX_COUNT, a.PIECE_COUNT, a.INBOUND_QUANTITY, a.ORIGIN_COUNTRY, a.BOX_PALLET_NO, a.CURRENCY, a.UNIT, a.DECLARED_QUANTITY, a.BOX_COUNT, a.PIECE_COUNT, a.INBOUND_QUANTITY,
a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_PRICE, a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_PRICE,
a.line_num_gw,
a.spec_gw,
a.unit_gw,
a.qty_gw,
a.erp_curr_gw,
a.erp_price_gw,
a.amount_gw,
a.in_order_number_gw,
a.in_line_num_gw,
a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE, a.EXT_ATTR_1, a.EXT_ATTR_2, a.EXT_ATTR_3, a.EXT_ATTR_4 a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE, a.EXT_ATTR_1, a.EXT_ATTR_2, a.EXT_ATTR_3, a.EXT_ATTR_4
,CASE ,CASE
WHEN (a.quantity - a.receipt_quantity) &lt; 0 THEN 0 WHEN (a.quantity - a.receipt_quantity) &lt; 0 THEN 0
@@ -94,6 +94,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="inOrderNumber" column="in_order_number" /> <result property="inOrderNumber" column="in_order_number" />
<result property="stockUnit" column="stock_unit" /> <result property="stockUnit" column="stock_unit" />
<result property="stockQuantity" column="stock_quantity" /> <result property="stockQuantity" column="stock_quantity" />
<result property="inventoryQuantity" column="inventory_quantity" />
<result property="lineNumGw" column="line_num_gw" />
<result property="specGw" column="spec_gw" />
<result property="unitGw" column="unit_gw" />
<result property="qtyGw" column="qty_gw" />
<result property="erpCurrGw" column="erp_curr_gw" />
<result property="erpPriceGw" column="erp_price_gw" />
<result property="amountGw" column="amount_gw" />
<result property="inOrderNumberGw" column="in_order_number_gw" />
</resultMap> </resultMap>
@@ -145,7 +154,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.INVENTORY_DATE, a.INVENTORY_DATE,
a.EXT_ATTR_3, a.EXT_ATTR_3,
a.EXT_ATTR_4, a.EXT_ATTR_4,
a.INVENTORY_QUANTITY a.INVENTORY_QUANTITY,
a.line_num_gw,
a.spec_gw,
a.unit_gw,
a.qty_gw,
a.erp_curr_gw,
a.erp_price_gw,
a.amount_gw,
a.in_order_number_gw,
a.in_line_num_gw
</sql> </sql>
<sql id="selectMaterialDetailPo1"> <sql id="selectMaterialDetailPo1">
@@ -429,11 +429,17 @@
<if test="createTimeEnd != null and createTimeEnd != ''"> <if test="createTimeEnd != null and createTimeEnd != ''">
and a.create_time <![CDATA[ < ]]> DATEADD(DAY, 1, #{createTimeEnd}) and a.create_time <![CDATA[ < ]]> DATEADD(DAY, 1, #{createTimeEnd})
</if> </if>
<if test="pushTimeStart != null"> <if test="pushTimeFrom != null">
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart} and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if> </if>
<if test="pushTimeEnd != null"> <if test="pushTimeTo != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} and a.PUSH_TIME <![CDATA[<=]]> #{pushTimeTo}
</if>
<if test="createTimeFrom != null">
and a.create_time <![CDATA[>=]]> #{createTimeFrom}
</if>
<if test="createTimeTo != null">
and a.create_time <![CDATA[<=]]> #{createTimeTo}
</if> </if>
<if test="pushStatus != null"> <if test="pushStatus != null">
and a.PUSH_STATUS = #{pushStatus} and a.PUSH_STATUS = #{pushStatus}
@@ -616,5 +622,11 @@
<select id="getCustomerNcCode" parameterType="java.lang.Long" resultType="java.lang.String"> <select id="getCustomerNcCode" parameterType="java.lang.Long" resultType="java.lang.String">
select CUSTOMER_NC_CODE from "NGWL_TEST_USER".USER_SHIPPER where 1 = 1 and DEL_FLAG = 1 and USER_ID = #{id} select CUSTOMER_NC_CODE from "NGWL_TEST_USER".USER_SHIPPER where 1 = 1 and DEL_FLAG = 1 and USER_ID = #{id}
</select> </select>
<select id="getNcUrl" resultType="java.lang.String">
SELECT INTERFACE_TYPE_VALUE FROM NGWL_TEST_THIRDPARTY."SYS_DEPART_INTERFACE_INFO"
where DEL_FLAG = '1'
and organization_id = #{organizationId}
and organization_name = #{organizationName}
and interface_type = #{interfaceType} limit 1
</select>
</mapper> </mapper>
@@ -309,11 +309,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="needDeclareFlag != null and needDeclareFlag != ''"> <if test="needDeclareFlag != null and needDeclareFlag != ''">
and a.NEED_DECLARE_FLAG = #{needDeclareFlag} and a.NEED_DECLARE_FLAG = #{needDeclareFlag}
</if> </if>
<if test="pushTimeStart != null"> <if test="pushTimeFrom != null">
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart} and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if> </if>
<if test="pushTimeEnd != null"> <if test="pushTimeTo != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} and a.PUSH_TIME <![CDATA[<=]]> #{pushTimeTo}
</if>
<if test="createTimeFrom != null">
and a.create_time <![CDATA[>=]]> #{createTimeFrom}
</if>
<if test="createTimeTo != null">
and a.create_time <![CDATA[<=]]> #{createTimeTo}
</if> </if>
<if test="pushStatus != null"> <if test="pushStatus != null">
and a.PUSH_STATUS = #{pushStatus} and a.PUSH_STATUS = #{pushStatus}
+4 -4
View File
@@ -19,16 +19,16 @@ spring:
nacos: nacos:
discovery: discovery:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
# server-addr: 10.33.0.129:6010 # server-addr: 10.33.0.129:6010
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
@@ -20,15 +20,15 @@ spring:
discovery: discovery:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848 # server-addr: 10.102.192.30:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848 # server-addr: 10.102.192.30:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
@@ -22,8 +22,8 @@ spring:
# 线上测试环境配置使用ip+端口号 # 线上测试环境配置使用ip+端口号
server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
# username: nacos username: nacos
# password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
# server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
# username: nacos # username: nacos
@@ -34,8 +34,8 @@ spring:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置使用ip+端口号 # 线上测试环境配置使用ip+端口号
# server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
# username: nacos username: nacos
# password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
# server-addr: 10.102.192.31:6848 # server-addr: 10.102.192.31:6848
# username: nacos # username: nacos
@@ -22,11 +22,15 @@ import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil; import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
import com.mhd.system.api.model.LoginUser; import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.application.service.materialBaseInfo.MaterialBaseInfoApplicationService; import com.mhd.wms.application.service.materialBaseInfo.MaterialBaseInfoApplicationService;
import com.mhd.wms.domain.customsDeclarationDetail.repository.facade.ICustomsDeclarationDetailService;
import com.mhd.wms.domain.customsDeclarationDetail.repository.todo.CustomsDeclarationDetailDO;
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO; import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail; import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService; import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService;
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO; import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
import com.mhd.wms.domain.pickingMaterialDetail.entity.PickingMaterialDetail;
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService; import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO; import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO; import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO;
import com.mhd.wms.domain.pickingMaterialDetail.service.PickingMaterialDetailDomainService; import com.mhd.wms.domain.pickingMaterialDetail.service.PickingMaterialDetailDomainService;
@@ -93,9 +97,12 @@ public class PickingOrderApplicationService {
private IPickingMaterialDetailService pickingMaterialDetailService; private IPickingMaterialDetailService pickingMaterialDetailService;
@Autowired @Autowired
private IInMaterialDetailService inMaterialDetailService; private IInMaterialDetailService inMaterialDetailService;
@Autowired
private ICustomsDeclarationDetailService customsDeclarationDetailService;
@Autowired
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData";
private static final String API_NAME = "save_qnBill_e"; private static final String API_NAME = "save_qnBill_e";
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -724,17 +731,18 @@ public class PickingOrderApplicationService {
public AjaxResult batchPush(List<Long> idList) { public AjaxResult batchPush(List<Long> idList) {
if (idList == null || idList.isEmpty()) { if (idList == null || idList.isEmpty()) {
return AjaxResult.error("没有数据需要推送"); return AjaxResult.error("没有数据需要推送");
} }
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
Long pushBy = loginUser != null ? loginUser.getUserid() : null; Long pushBy = loginUser != null ? loginUser.getUserid() : null;
String pushByName = loginUser != null ? loginUser.getUsername() : null; String pushByName = loginUser != null ? loginUser.getUserPo().getUserName() : null;
Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null;
Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
String ncUrl = pickingMaterialDetailMapper.getNcUrl("gw", organizationName, organizationId);
int successCount = 0; int successCount = 0;
int failCount = 0; int failCount = 0;
StringBuilder failMsg = new StringBuilder(); StringBuilder failMsg = new StringBuilder();
@@ -775,7 +783,13 @@ public class PickingOrderApplicationService {
customsBodyList.add(customsParam); customsBodyList.add(customsParam);
CloseableHttpClient customsHttpClient = HttpClients.createDefault(); CloseableHttpClient customsHttpClient = HttpClients.createDefault();
HttpPost customsHttpPost = new HttpPost(PUSH_API_URL); String url = "";
if (ncUrl != null) {
url = ncUrl;
} else {
url = PUSH_API_URL;
}
HttpPost customsHttpPost = new HttpPost(url);
StringEntity customsPostingString = new StringEntity(JSONObject.toJSONString(customsBodyList), "UTF-8"); StringEntity customsPostingString = new StringEntity(JSONObject.toJSONString(customsBodyList), "UTF-8");
customsHttpPost.setEntity(customsPostingString); customsHttpPost.setEntity(customsPostingString);
customsHttpPost.setHeader("Content-type", "application/json"); customsHttpPost.setHeader("Content-type", "application/json");
@@ -784,7 +798,7 @@ public class PickingOrderApplicationService {
CloseableHttpResponse customsResponse = customsHttpClient.execute(customsHttpPost); CloseableHttpResponse customsResponse = customsHttpClient.execute(customsHttpPost);
String customsResponseString = EntityUtils.toString(customsResponse.getEntity()); String customsResponseString = EntityUtils.toString(customsResponse.getEntity());
log.info("customsResponseString:{}", customsResponseString);
if (customsResponse.getStatusLine().getStatusCode() == 200) { if (customsResponse.getStatusLine().getStatusCode() == 200) {
JSONObject customsJson = JSONObject.parseObject(customsResponseString); JSONObject customsJson = JSONObject.parseObject(customsResponseString);
JSONArray customsData = customsJson.getJSONArray("data"); JSONArray customsData = customsJson.getJSONArray("data");
@@ -803,6 +817,19 @@ public class PickingOrderApplicationService {
log.error("调用报关回写接口失败: pickingOrderNumber={}", pickingOrder.getPickingOrderNumber(), e); log.error("调用报关回写接口失败: pickingOrderNumber={}", pickingOrder.getPickingOrderNumber(), e);
} }
// ========== 写入报关明细表 ==========
if (StringUtils.isNotBlank(bondInvtNo)) {
CustomsDeclarationDetailDO detailDO = new CustomsDeclarationDetailDO();
detailDO.setDocumentNumber(pickingOrder.getPickingOrderNumber());
detailDO.setBondInvtNo(bondInvtNo);
detailDO.setInvtRow(invtRow);
detailDO.setInOrderNumber(pickingOrder.getOrderNumber());
detailDO.setOrganizationId(pickingOrder.getOrganizationId());
detailDO.setOrganizationName(pickingOrder.getOrganizationName());
detailDO.setTopOrganizationId(pickingOrder.getTopOrganizationId());
customsDeclarationDetailService.insert(detailDO);
}
// 3. 构建主单 // 3. 构建主单
Map<String, Object> order = new HashMap<>(); Map<String, Object> order = new HashMap<>();
// etpsPreentNo: 入库单号 - 取拣货明细中的入库单号第一个 // etpsPreentNo: 入库单号 - 取拣货明细中的入库单号第一个
@@ -817,6 +844,8 @@ public class PickingOrderApplicationService {
List<Map<String, Object>> qnBillList = new ArrayList<>(); List<Map<String, Object>> qnBillList = new ArrayList<>();
int gNo = 1; int gNo = 1;
for (OutMaterialDetail detail : outMaterialDetailList) { for (OutMaterialDetail detail : outMaterialDetailList) {
PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new LambdaQueryWrapper<PickingMaterialDetail>()
.eq(PickingMaterialDetail::getOutUniqueId, detail.getUniqueId()));
Map<String, Object> item = new HashMap<>(); Map<String, Object> item = new HashMap<>();
item.put("etpsPreentNo", detail.getOutOrderNumber() != null ? detail.getOutOrderNumber() : ""); item.put("etpsPreentNo", detail.getOutOrderNumber() != null ? detail.getOutOrderNumber() : "");
String lotNo = detail.getLotNo(); String lotNo = detail.getLotNo();
@@ -824,11 +853,14 @@ public class PickingOrderApplicationService {
String[] split = lotNo.split("-"); String[] split = lotNo.split("-");
if (split.length == 2) { if (split.length == 2) {
item.put("gNo", split[1]); item.put("gNo", split[1]);
pickingMaterialDetail.setLineNumGw(split[1]);
} else { } else {
item.put("gNo", ""); // 出仓订单行号 item.put("gNo", "1"); // 出仓订单行号
pickingMaterialDetail.setLineNumGw("1");
} }
} else { } else {
item.put("gNo", ""); // 出仓订单行号 item.put("gNo", "1"); // 出仓订单行号
pickingMaterialDetail.setLineNumGw("1");
} }
@@ -845,7 +877,12 @@ public class PickingOrderApplicationService {
if (unitPrice != null && pickingQty != null && unitPrice.compareTo(BigDecimal.ZERO) != 0) { if (unitPrice != null && pickingQty != null && unitPrice.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal totalAmt = unitPrice.multiply(pickingQty).setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal totalAmt = unitPrice.multiply(pickingQty).setScale(2, BigDecimal.ROUND_HALF_UP);
item.put("dclTotalAmt", totalAmt); item.put("dclTotalAmt", totalAmt);
pickingMaterialDetail.setAmountGw(totalAmt);
} }
pickingMaterialDetail.setErpCurrGw(materialInfo.getCurrency() != null ? materialInfo.getCurrency() : "");
// detail.setSpecGw(materialInfo.getSpecification() != null ? materialInfo.getSpecification() : "");
pickingMaterialDetail.setErpPriceGw(materialInfo.getUnitPrice());
pickingMaterialDetail.setQtyGw(pickingQty);
} }
} }
@@ -856,12 +893,14 @@ public class PickingOrderApplicationService {
if (split.length == 2) { if (split.length == 2) {
item.put("orderRow", split[1]);// 出仓订单行号 item.put("orderRow", split[1]);// 出仓订单行号
} else { } else {
item.put("orderRow", ""); // 出仓订单行号 item.put("orderRow", "1"); // 出仓订单行号
} }
} else { } else {
item.put("orderRow", ""); // 出仓订单行号 item.put("orderRow", "1"); // 出仓订单行号
} }
if (bondInvtNo != null && invtRow != null) { if (bondInvtNo != null && invtRow != null) {
pickingMaterialDetail.setBondInvtNoGw(bondInvtNo);
pickingMaterialDetail.setInvtRowGw(invtRow.toString());
item.put("bondInvtNo", "BONDINV202603300001"); // 原进口核注清单号 item.put("bondInvtNo", "BONDINV202603300001"); // 原进口核注清单号
item.put("invtRow", 1); // 原进口核注清单行号 item.put("invtRow", 1); // 原进口核注清单行号
} else { } else {
@@ -872,7 +911,9 @@ public class PickingOrderApplicationService {
item.put("seatNo", detail.getStorageLocationCode() != null ? detail.getStorageLocationCode() : ""); // 库位 item.put("seatNo", detail.getStorageLocationCode() != null ? detail.getStorageLocationCode() : ""); // 库位
item.put("whNoIn", detail.getWarehouseCode() != null ? detail.getWarehouseCode() : ""); item.put("whNoIn", detail.getWarehouseCode() != null ? detail.getWarehouseCode() : "");
item.put("seatNoIn", detail.getStorageLocationCode() != null ? detail.getStorageLocationCode() : ""); item.put("seatNoIn", detail.getStorageLocationCode() != null ? detail.getStorageLocationCode() : "");
pickingMaterialDetail.setWarehouseGw(detail.getWarehouseCode());
pickingMaterialDetail.setOpWhLocGw(detail.getStorageLocationCode());
pickingMaterialDetailService.updateById(pickingMaterialDetail);
qnBillList.add(item); qnBillList.add(item);
} }
order.put("qnBillList", qnBillList); order.put("qnBillList", qnBillList);
@@ -912,7 +953,14 @@ public class PickingOrderApplicationService {
updatePushStatus(id, 2, new Date(), pushBy,pushByName); updatePushStatus(id, 2, new Date(), pushBy,pushByName);
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(PUSH_API_URL); String url = "";
if (ncUrl != null) {
url = ncUrl;
} else {
url = PUSH_API_URL;
}
// HttpPost customsHttpPost = new HttpPost(url);
HttpPost httpPost = new HttpPost(url);
StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(bodyList), "UTF-8"); StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(bodyList), "UTF-8");
httpPost.setEntity(postingString); httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("Content-type", "application/json");
@@ -923,8 +971,10 @@ public class PickingOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost); CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity()); String responseString = EntityUtils.toString(response.getEntity());
gwLogDTO.setResponseBody(responseString); gwLogDTO.setResponseBody(responseString);
// 直接转Map<String, Object>
if (response.getStatusLine().getStatusCode() == 200) { Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code==200) {
gwLogDTO.setStatus(2); gwLogDTO.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName); updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++; successCount++;
@@ -37,6 +37,7 @@ import com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo;
import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoService; import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoService;
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO; import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO; import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount; import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount;
import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService; import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder; import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
@@ -113,7 +114,9 @@ public class StockInOrderApplicationService {
private IInMaterialDetailService inMaterialDetailService; private IInMaterialDetailService inMaterialDetailService;
@Autowired @Autowired
private StockOutOrderMapper stockOutOrderMapper; private StockOutOrderMapper stockOutOrderMapper;
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; @Autowired
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
private static final String API_NAME = "save_order_i"; private static final String API_NAME = "save_order_i";
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -481,7 +484,19 @@ public class StockInOrderApplicationService {
*/ */
public StockInOrderPO getInfo(Long inOrderId) public StockInOrderPO getInfo(Long inOrderId)
{ {
return stockInOrderDomainService.getInfo(inOrderId); StockInOrderPO info = stockInOrderDomainService.getInfo(inOrderId);
String userNcCode = stockOutOrderMapper.getUserNcCode(info.getShipperId());
info.setKhdm(userNcCode);
List<InMaterialDetailPO> materialDetailList = info.getMaterialDetailList();
if (materialDetailList != null && !materialDetailList.isEmpty()) {
for (InMaterialDetailPO inMaterialDetailPO : materialDetailList) {
// TODO: 设置物料详情信息
inMaterialDetailPO.setKhdm(userNcCode);
}
info.setMaterialDetailList(materialDetailList);
}
return info;
} }
@@ -2304,7 +2319,7 @@ public class StockInOrderApplicationService {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
Long pushBy = loginUser != null ? loginUser.getUserid() : null; Long pushBy = loginUser != null ? loginUser.getUserid() : null;
String pushByName = loginUser != null ? loginUser.getUsername() : null; String pushByName = loginUser != null ? loginUser.getUserPo().getUserName() : null;
Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null;
Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
@@ -2338,11 +2353,14 @@ public class StockInOrderApplicationService {
String[] split = lotNo.split("-"); String[] split = lotNo.split("-");
if (split.length == 2) { if (split.length == 2) {
gwInDetail.setLineNum(Integer.valueOf(split[1])); gwInDetail.setLineNum(Integer.valueOf(split[1]));
reservationInMaterialDetail.setLineNumGw(split[1]);
} else { } else {
gwInDetail.setLineNum(index); gwInDetail.setLineNum(index);
reservationInMaterialDetail.setLineNumGw("1");
} }
} else { } else {
gwInDetail.setLineNum(index); gwInDetail.setLineNum(index);
reservationInMaterialDetail.setLineNumGw("1");
} }
index++; index++;
gwInDetail.setItemName(reservationInMaterialDetail.getMaterialName()); gwInDetail.setItemName(reservationInMaterialDetail.getMaterialName());
@@ -2358,7 +2376,14 @@ public class StockInOrderApplicationService {
if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0&&quantity.compareTo(BigDecimal.ZERO) != 0) { if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0&&quantity.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal Amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal Amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP);
gwInDetail.setAmount(Amount); gwInDetail.setAmount(Amount);
reservationInMaterialDetail.setAmountGw(Amount);
} }
reservationInMaterialDetail.setErpCurrGw(materialBaseInfoPO.getCurrency());
reservationInMaterialDetail.setErpPriceGw(materialBaseInfoPO.getUnitPrice());
reservationInMaterialDetail.setSpecGw(materialBaseInfoPO.getSpecificationModel());
reservationInMaterialDetail.setQtyGw(reservationInMaterialDetail.getQuantity());
reservationInMaterialDetail.setUnitGw(materialBaseInfoPO.getDeclarationUnit());
inMaterialDetailService.updateById(reservationInMaterialDetail);
orderList.add(gwInDetail); orderList.add(gwInDetail);
} }
gwStockInOrder.setOrderList(orderList); gwStockInOrder.setOrderList(orderList);
@@ -2392,9 +2417,16 @@ public class StockInOrderApplicationService {
} }
updatePushStatus(id, 2, new Date(), pushBy,pushByName); updatePushStatus(id, 2, new Date(), pushBy,pushByName);
String ncUrl = pickingMaterialDetailMapper.getNcUrl("gw", organizationName, organizationId);
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(PUSH_API_URL); String url = "";
if (ncUrl != null) {
url = ncUrl;
} else {
url = PUSH_API_URL;
}
// HttpPost customsHttpPost = new HttpPost(url);
HttpPost httpPost = new HttpPost(url);
StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(gwStockInOrderList), "UTF-8"); StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(gwStockInOrderList), "UTF-8");
httpPost.setEntity(postingString); httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("Content-type", "application/json");
@@ -2405,8 +2437,11 @@ public class StockInOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost); CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity()); String responseString = EntityUtils.toString(response.getEntity());
gwLogDTO.setResponseBody(responseString); gwLogDTO.setResponseBody(responseString);
// 直接转Map<String, Object>
Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200) { if (response.getStatusLine().getStatusCode() == 200&&code == 200) {
gwLogDTO.setStatus(2); gwLogDTO.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName); updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++; successCount++;
@@ -44,6 +44,7 @@ import com.mhd.wms.domain.outMaterialDetail.repository.po.OutStockListMaterialAg
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO; import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
import com.mhd.wms.domain.outMaterialDetail.service.OutMaterialDetailDomainService; import com.mhd.wms.domain.outMaterialDetail.service.OutMaterialDetailDomainService;
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService; import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingAggByOutOrderRow; import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingAggByOutOrderRow;
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO; import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder; import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
@@ -115,7 +116,9 @@ public class StockOutOrderApplicationService {
private IMaterialBaseInfoService materialBaseInfoService; private IMaterialBaseInfoService materialBaseInfoService;
@Autowired @Autowired
private StockOutOrderMapper stockOutOrderMapper; private StockOutOrderMapper stockOutOrderMapper;
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; @Autowired
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
private static final String API_NAME = "save_order_e"; private static final String API_NAME = "save_order_e";
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -330,13 +333,19 @@ public class StockOutOrderApplicationService {
public StockOutOrderPO getInfoChildren(Long outOrderId) public StockOutOrderPO getInfoChildren(Long outOrderId)
{ {
StockOutOrderPO stockOutOrderPO = stockOutOrderDomainService.getInfoChildren(outOrderId); StockOutOrderPO stockOutOrderPO = stockOutOrderDomainService.getInfoChildren(outOrderId);
String userNcCode = stockOutOrderMapper.getUserNcCode(stockOutOrderPO.getShipperId());
stockOutOrderPO.setKhdm(userNcCode);
if (stockOutOrderPO == null || CollectionUtils.isEmpty(stockOutOrderPO.getMaterialDetailList())) { if (stockOutOrderPO == null || CollectionUtils.isEmpty(stockOutOrderPO.getMaterialDetailList())) {
return stockOutOrderPO; return stockOutOrderPO;
} }
List<OutMaterialDetailPO> detailList = stockOutOrderPO.getMaterialDetailList(); List<OutMaterialDetailPO> detailList = stockOutOrderPO.getMaterialDetailList();
if (detailList == null || detailList.isEmpty()) {
for (OutMaterialDetailPO outMaterialDetailPO : detailList) {
outMaterialDetailPO.setKhdm(userNcCode);
}
}
stockOutOrderPO.setMaterialDetailList(detailList);
// 性能优化批量获取批次属性避免N+1查询问题 // 性能优化批量获取批次属性避免N+1查询问题
// 1. 收集所有唯一的materialBaseInfoId // 1. 收集所有唯一的materialBaseInfoId
Set<Long> materialBaseInfoIdSet = detailList.stream() Set<Long> materialBaseInfoIdSet = detailList.stream()
@@ -1515,7 +1524,7 @@ public class StockOutOrderApplicationService {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
Long pushBy = loginUser != null ? loginUser.getUserid() : null; Long pushBy = loginUser != null ? loginUser.getUserid() : null;
String pushByName = loginUser != null ? loginUser.getUsername() : null; String pushByName = loginUser != null ? loginUser.getUserPo().getUserName() : null;
Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null;
Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
@@ -1572,11 +1581,14 @@ public class StockOutOrderApplicationService {
String[] split = lotNo.split("-"); String[] split = lotNo.split("-");
if (split.length == 2) { if (split.length == 2) {
item.put("lineNum", split[1]); item.put("lineNum", split[1]);
detail.setLineNumGw(split[1]);
} else { } else {
item.put("lineNum", index); item.put("lineNum", index);
detail.setLineNumGw(String.valueOf(index));
} }
} else { } else {
item.put("lineNum", index); item.put("lineNum", index);
detail.setLineNumGw(String.valueOf(index));
} }
item.put("itemNo", detail.getMaterialCode() != null ? detail.getMaterialCode().toString() : ""); item.put("itemNo", detail.getMaterialCode() != null ? detail.getMaterialCode().toString() : "");
item.put("itemName", detail.getMaterialName() != null ? detail.getMaterialName() : ""); item.put("itemName", detail.getMaterialName() != null ? detail.getMaterialName() : "");
@@ -1596,7 +1608,13 @@ public class StockOutOrderApplicationService {
if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0 && quantity.compareTo(BigDecimal.ZERO) != 0) { if (unitPrice != null && quantity != null && unitPrice.compareTo(BigDecimal.ZERO) != 0 && quantity.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP);
item.put("amount", amount); item.put("amount", amount);
detail.setAmountGw(amount);
} }
detail.setErpCurrGw(materialBaseInfoPO.getCurrency());
detail.setErpPriceGw(materialBaseInfoPO.getUnitPrice());
detail.setSpecGw(materialBaseInfoPO.getSpecificationModel());
detail.setUnitGw(materialBaseInfoPO.getDeclarationUnit());
detail.setQtyGw(detail.getQuantity());
} }
} }
@@ -1610,12 +1628,15 @@ public class StockOutOrderApplicationService {
String inLotNo = materialInventory.getLotNumber(); String inLotNo = materialInventory.getLotNumber();
if (inOrderNumber != null) { if (inOrderNumber != null) {
item.put("orderINo", inOrderNumber); item.put("orderINo", inOrderNumber);
detail.setInOrderNumberGw(inOrderNumber);
} }
if (warehouseCode != null) { if (warehouseCode != null) {
item.put("warehouse", warehouseCode); item.put("warehouse", warehouseCode);
detail.setWarehouseGw(warehouseCode);
} }
if (storageLocationCode != null) { if (storageLocationCode != null) {
item.put("opWhLoc", storageLocationCode); item.put("opWhLoc", storageLocationCode);
detail.setOpWhLocGw(storageLocationCode);
} }
// billI = 入库单号 // billI = 入库单号
if (inOrderNumber != null) { if (inOrderNumber != null) {
@@ -1626,15 +1647,19 @@ public class StockOutOrderApplicationService {
if (split.length == 2) { if (split.length == 2) {
item.put("orderIRow", split[1]); item.put("orderIRow", split[1]);
item.put("billIRow", split[1]); item.put("billIRow", split[1]);
detail.setInLineNumGw(split[1]);
} else { } else {
item.put("orderIRow", index); item.put("orderIRow", index);
item.put("billIRow", index); item.put("billIRow", index);
detail.setInLineNumGw(String.valueOf(index));
} }
} else { } else {
item.put("orderIRow", index); item.put("orderIRow", index);
item.put("billIRow", index); item.put("billIRow", index);
detail.setInLineNumGw(String.valueOf(index));
} }
} }
outMaterialDetailService.updateById(detail);
orderList.add(item); orderList.add(item);
index++; index++;
} }
@@ -1669,9 +1694,15 @@ public class StockOutOrderApplicationService {
log.error("保存Gwlog失败:{}",e.getMessage()); log.error("保存Gwlog失败:{}",e.getMessage());
} }
updatePushStatus(id, 2, new Date(), pushBy,pushByName); updatePushStatus(id, 2, new Date(), pushBy,pushByName);
String ncUrl = pickingMaterialDetailMapper.getNcUrl("gw", organizationName, organizationId);
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(PUSH_API_URL); String url = "";
if (ncUrl != null) {
url = ncUrl;
} else {
url = PUSH_API_URL;
}
HttpPost httpPost = new HttpPost(url);
StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(bodyList), "UTF-8"); StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(bodyList), "UTF-8");
httpPost.setEntity(postingString); httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("Content-type", "application/json");
@@ -1682,8 +1713,10 @@ public class StockOutOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost); CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity()); String responseString = EntityUtils.toString(response.getEntity());
gwLogDTO.setResponseBody(responseString); gwLogDTO.setResponseBody(responseString);
// 直接转Map<String, Object>
if (response.getStatusLine().getStatusCode() == 200) { Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code==200) {
gwLogDTO.setStatus(2); gwLogDTO.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName); updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++; successCount++;
@@ -24,6 +24,7 @@ import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
import com.mhd.system.api.model.LoginUser; import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService; import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService;
import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord; import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord;
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
import com.mhd.wms.domain.receiptMaterialDetail.repository.po.ReceiptMaterialDetailPO; import com.mhd.wms.domain.receiptMaterialDetail.repository.po.ReceiptMaterialDetailPO;
import com.mhd.wms.domain.receiptMaterialDetail.repository.todo.ReceiptMaterialDetailDO; import com.mhd.wms.domain.receiptMaterialDetail.repository.todo.ReceiptMaterialDetailDO;
import com.mhd.wms.domain.receiptMaterialDetail.service.ReceiptMaterialDetailDomainService; import com.mhd.wms.domain.receiptMaterialDetail.service.ReceiptMaterialDetailDomainService;
@@ -126,7 +127,9 @@ public class StockShelfOrderApplicationService {
private IShelfMaterialDetailService shelfMaterialDetailService; private IShelfMaterialDetailService shelfMaterialDetailService;
@Autowired @Autowired
private IStockShelfOrderService stockShelfOrderService; private IStockShelfOrderService stockShelfOrderService;
private static final String PUSH_API_URL = "http://10.33.0.100/nagu-erp-api/transfer/pushData"; @Autowired
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
private static final String API_NAME = "save_qnBill_i"; private static final String API_NAME = "save_qnBill_i";
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD"; private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -2648,11 +2651,11 @@ public class StockShelfOrderApplicationService {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
Long pushBy = loginUser != null ? loginUser.getUserid() : null; Long pushBy = loginUser != null ? loginUser.getUserid() : null;
String pushByName = loginUser != null ? loginUser.getUsername() : null; String pushByName = loginUser != null ? loginUser.getUserPo().getUserName() : null;
Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null; Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null;
Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null; Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null; String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
String ncUrl = pickingMaterialDetailMapper.getNcUrl("gw", organizationName, organizationId);
int successCount = 0; int successCount = 0;
int failCount = 0; int failCount = 0;
StringBuilder failMsg = new StringBuilder(); StringBuilder failMsg = new StringBuilder();
@@ -2703,7 +2706,14 @@ public class StockShelfOrderApplicationService {
customsBodyList.add(customsParam); customsBodyList.add(customsParam);
CloseableHttpClient customsHttpClient = HttpClients.createDefault(); CloseableHttpClient customsHttpClient = HttpClients.createDefault();
HttpPost customsHttpPost = new HttpPost(PUSH_API_URL); String url = "";
if (ncUrl != null) {
url = ncUrl;
} else {
url = PUSH_API_URL;
}
HttpPost customsHttpPost = new HttpPost(url);
// HttpPost customsHttpPost = new HttpPost(PUSH_API_URL);
StringEntity customsPostingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(customsBodyList), "UTF-8"); StringEntity customsPostingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(customsBodyList), "UTF-8");
customsHttpPost.setEntity(customsPostingString); customsHttpPost.setEntity(customsPostingString);
customsHttpPost.setHeader("Content-type", "application/json"); customsHttpPost.setHeader("Content-type", "application/json");
@@ -2712,7 +2722,7 @@ public class StockShelfOrderApplicationService {
CloseableHttpResponse customsResponse = customsHttpClient.execute(customsHttpPost); CloseableHttpResponse customsResponse = customsHttpClient.execute(customsHttpPost);
String customsResponseString = EntityUtils.toString(customsResponse.getEntity()); String customsResponseString = EntityUtils.toString(customsResponse.getEntity());
log.info("customsResponseString:{}", customsResponseString);
if (customsResponse.getStatusLine().getStatusCode() == 200) { if (customsResponse.getStatusLine().getStatusCode() == 200) {
com.alibaba.fastjson.JSONObject customsJson = com.alibaba.fastjson.JSONObject.parseObject(customsResponseString); com.alibaba.fastjson.JSONObject customsJson = com.alibaba.fastjson.JSONObject.parseObject(customsResponseString);
com.alibaba.fastjson.JSONArray customsData = customsJson.getJSONArray("data"); com.alibaba.fastjson.JSONArray customsData = customsJson.getJSONArray("data");
@@ -2755,6 +2765,7 @@ public class StockShelfOrderApplicationService {
List<Map<String, Object>> detailItems = new ArrayList<>(); List<Map<String, Object>> detailItems = new ArrayList<>();
int index = 1; int index = 1;
for (ShelfMaterialDetailPO shelfMaterialDetail : shelfMaterialDetails) { for (ShelfMaterialDetailPO shelfMaterialDetail : shelfMaterialDetails) {
ShelfMaterialDetail detail = shelfMaterialDetailService.getById(shelfMaterialDetail.getMaterialDetailId());
Map<String, Object> detailItem = new HashMap<>(); Map<String, Object> detailItem = new HashMap<>();
//入库单号 //入库单号
@@ -2765,11 +2776,14 @@ public class StockShelfOrderApplicationService {
String[] split = lotNumber.split("-"); String[] split = lotNumber.split("-");
if (split.length == 2) { if (split.length == 2) {
detailItem.put("gNo", split[1]); detailItem.put("gNo", split[1]);
detail.setLineNumGw(split[1]);
} else { } else {
detailItem.put("gNo", index++); detailItem.put("gNo", index++);
detail.setLineNumGw(String.valueOf(index++));
} }
} else { } else {
detailItem.put("gNo", index++); detailItem.put("gNo", index++);
detail.setLineNumGw(String.valueOf(index++));
} }
MaterialBaseInfo materialBaseIn = materialBaseInfoMapper.selectById(materialBaseInfoId); MaterialBaseInfo materialBaseIn = materialBaseInfoMapper.selectById(materialBaseInfoId);
if (materialBaseIn != null) { if (materialBaseIn != null) {
@@ -2783,6 +2797,7 @@ public class StockShelfOrderApplicationService {
BigDecimal totalAmount = shelvesQuantity.multiply(materialBaseIn.getUnitPrice()); BigDecimal totalAmount = shelvesQuantity.multiply(materialBaseIn.getUnitPrice());
//申报总价 //申报总价
detailItem.put("dclTotalAmt", totalAmount); detailItem.put("dclTotalAmt", totalAmount);
detail.setAmountGw(totalAmount);
} }
//申报数量 //申报数量
detailItem.put("dclQty", shelvesQuantity); detailItem.put("dclQty", shelvesQuantity);
@@ -2790,7 +2805,11 @@ public class StockShelfOrderApplicationService {
com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail inMaterialDetail = inMaterialDetailService.getOne(new LambdaQueryWrapper<com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail>().eq(com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail::getMaterialBaseInfoId, materialBaseIn.getMaterialBaseInfoId()).eq(com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail::getInOrderNumber, stockShelfOrder.getInOrderNumber())); com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail inMaterialDetail = inMaterialDetailService.getOne(new LambdaQueryWrapper<com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail>().eq(com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail::getMaterialBaseInfoId, materialBaseIn.getMaterialBaseInfoId()).eq(com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail::getInOrderNumber, stockShelfOrder.getInOrderNumber()));
detailItem.put("dclCurrcd", materialBaseIn.getCurrency()); detailItem.put("dclCurrcd", materialBaseIn.getCurrency());
} }
detail.setQtyGw(shelvesQuantity);
detail.setUnitGw(materialBaseIn.getDeclarationUnit());
detail.setErpCurrGw(materialBaseIn.getCurrency());
detail.setUnitGw(materialBaseIn.getDeclarationUnit());
detail.setSpecGw(materialBaseIn.getSpecificationModel());
} }
//入仓订单号 //入仓订单号
detailItem.put("orderNo", stockShelfOrder.getInOrderNumber()); detailItem.put("orderNo", stockShelfOrder.getInOrderNumber());
@@ -2814,6 +2833,7 @@ public class StockShelfOrderApplicationService {
//库位 //库位
detailItem.put("seatNo", shelfMaterialDetail.getStorageLocationCode()); detailItem.put("seatNo", shelfMaterialDetail.getStorageLocationCode());
detailItems.add(detailItem); detailItems.add(detailItem);
shelfMaterialDetailService.updateById(detail); // Fixed method call
} }
item.put("qnBillList", detailItems); item.put("qnBillList", detailItems);
List<Map<String,Object>> bodyList = new ArrayList<>(); List<Map<String,Object>> bodyList = new ArrayList<>();
@@ -2848,7 +2868,13 @@ public class StockShelfOrderApplicationService {
updatePushStatus(id, 2, new Date(), pushBy,pushByName); updatePushStatus(id, 2, new Date(), pushBy,pushByName);
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(PUSH_API_URL); String url = "";
if (ncUrl != null) {
url = ncUrl;
} else {
url = PUSH_API_URL;
}
HttpPost httpPost = new HttpPost(url);
StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(bodyList), "UTF-8"); StringEntity postingString = new StringEntity(com.alibaba.fastjson.JSONObject.toJSONString(bodyList), "UTF-8");
httpPost.setEntity(postingString); httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("Content-type", "application/json");
@@ -2859,8 +2885,10 @@ public class StockShelfOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost); CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity()); String responseString = EntityUtils.toString(response.getEntity());
gwLogDTO.setResponseBody(responseString); gwLogDTO.setResponseBody(responseString);
// 直接转Map<String, Object>
if (response.getStatusLine().getStatusCode() == 200) { Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code == 200) {
gwLogDTO.setStatus(2); gwLogDTO.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName); updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++; successCount++;
@@ -398,4 +398,20 @@ public class InMaterialDetail extends BaseVOEntity {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd")
private Date drinkDate; private Date drinkDate;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -423,4 +423,20 @@ public class InMaterialDetailPO extends StockInOrderBasePO {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd")
private Date drinkDate; private Date drinkDate;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String khdm;
} }
@@ -389,4 +389,19 @@ public class InMaterialDetailDO extends StockInOrderBaseDO {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd")
private Date drinkDate; private Date drinkDate;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -506,4 +506,26 @@ public class OutMaterialDetail extends BaseVOEntity {
@ApiModelProperty("抄码总重量") @ApiModelProperty("抄码总重量")
@Excel(name = "抄码总重量") @Excel(name = "抄码总重量")
private BigDecimal copyTotalWeight; private BigDecimal copyTotalWeight;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
private String invtRowGw;
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
} }
@@ -545,4 +545,27 @@ public class OutMaterialDetailPO extends StockOutOrderBaseDO {
@ApiModelProperty("重量列表(抄码商品使用)") @ApiModelProperty("重量列表(抄码商品使用)")
private List<CopyCodeReferencePO> weightList; private List<CopyCodeReferencePO> weightList;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
private String invtRowGw;
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
private String khdm;
} }
@@ -498,4 +498,26 @@ public class OutMaterialDetailDO extends BaseVOEntity {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date productionDate; private Date productionDate;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
private String invtRowGw;
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
} }
@@ -299,4 +299,26 @@ public class PickingMaterialDetail extends BaseVOEntity {
@ApiModelProperty("入库单号") @ApiModelProperty("入库单号")
@Excel(name = "入库单号") @Excel(name = "入库单号")
private String inOrderNumber; private String inOrderNumber;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
private String invtRowGw;
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
} }
@@ -72,4 +72,6 @@ public interface PickingMaterialDetailMapper extends BaseMapper<PickingMaterialD
@Param("updateByName") String updateByName, @Param("updateByName") String updateByName,
@Param("updateTime") java.util.Date updateTime); @Param("updateTime") java.util.Date updateTime);
String getNcUrl(@Param("interfaceType") String interfaceType,@Param("organizationName") String organizationName,@Param("organizationId") Long organizationId);
} }
@@ -323,5 +323,26 @@ public class PickingMaterialDetailPO extends BaseVOEntity {
@ApiModelProperty("LOT编码2") @ApiModelProperty("LOT编码2")
private String lotNo; private String lotNo;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
private String invtRowGw;
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
} }
@@ -306,4 +306,26 @@ public class PickingMaterialDetailDO extends BaseVOEntity {
@ApiModelProperty("入库单号") @ApiModelProperty("入库单号")
@Excel(name = "入库单号") @Excel(name = "入库单号")
private String inOrderNumber; private String inOrderNumber;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
private String invtRowGw;
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
} }
@@ -166,4 +166,6 @@ public class PickingOrderPO extends StockOutOrderBasePO {
@ApiModelProperty("规格型号") @ApiModelProperty("规格型号")
@Excel(name = "规格型号") @Excel(name = "规格型号")
private String specificationModel; private String specificationModel;
@ApiModelProperty("货物类型 0-物料 1-半成品 2-成品")
private Integer goodsType;
} }
@@ -213,10 +213,19 @@ public class PickingOrderDO extends BaseVOEntity {
@ApiModelProperty(value = "推送时间起") @ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart; private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止") @ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeEnd; private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
} }
@@ -320,7 +320,8 @@ public class ShelfMaterialDetail extends BaseVOEntity {
private BigDecimal totalNetWeight; private BigDecimal totalNetWeight;
@ApiModelProperty("累计已上架净重(KG),与 totalNetWeight 同口径累加本次净重") @ApiModelProperty("累计已上架净重(KG),与 totalNetWeight 同口径累加本次净重")
@TableField("total_net_weight") // update会报错注释
@TableField(value = "total_net_weight", exist = false)
private BigDecimal alreadyShelvesNetWeight; private BigDecimal alreadyShelvesNetWeight;
@ApiModelProperty("总毛重(KG)") @ApiModelProperty("总毛重(KG)")
@@ -328,7 +329,7 @@ public class ShelfMaterialDetail extends BaseVOEntity {
private BigDecimal totalGrossWeight; private BigDecimal totalGrossWeight;
@ApiModelProperty("累计已上架毛重(KG),与 totalGrossWeight 同口径累加本次毛重") @ApiModelProperty("累计已上架毛重(KG),与 totalGrossWeight 同口径累加本次毛重")
@TableField("total_gross_weight") @TableField(value = "total_gross_weight", exist = false)
private BigDecimal alreadyShelvesGrossWeight; private BigDecimal alreadyShelvesGrossWeight;
@ApiModelProperty("总体积(CBM)") @ApiModelProperty("总体积(CBM)")
@@ -336,7 +337,7 @@ public class ShelfMaterialDetail extends BaseVOEntity {
private BigDecimal totalVolume; private BigDecimal totalVolume;
@ApiModelProperty("累计已上架体积(CBM),与 totalVolume 同口径累加本次体积") @ApiModelProperty("累计已上架体积(CBM),与 totalVolume 同口径累加本次体积")
@TableField("total_volume") @TableField(value = "total_volume", exist = false)
private BigDecimal alreadyShelvesVolume; private BigDecimal alreadyShelvesVolume;
@ApiModelProperty("总面积(SQM)") @ApiModelProperty("总面积(SQM)")
@@ -352,7 +353,7 @@ public class ShelfMaterialDetail extends BaseVOEntity {
private String lotNumber; private String lotNumber;
@ApiModelProperty("累计已上架面积(SQM),与 totalArea 同口径累加本次面积") @ApiModelProperty("累计已上架面积(SQM),与 totalArea 同口径累加本次面积")
@TableField("total_area") @TableField(value = "total_area", exist = false)
private BigDecimal alreadyShelvesArea; private BigDecimal alreadyShelvesArea;
@ApiModelProperty("抄码托盘号") @ApiModelProperty("抄码托盘号")
@@ -377,4 +378,18 @@ public class ShelfMaterialDetail extends BaseVOEntity {
@ApiModelProperty("批次号") @ApiModelProperty("批次号")
@Excel(name = "批次号") @Excel(name = "批次号")
private String batchNo; private String batchNo;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -391,4 +391,18 @@ public class ShelfMaterialDetailPO extends BaseVOEntity {
@ApiModelProperty("单价") @ApiModelProperty("单价")
@Excel(name = "单价") @Excel(name = "单价")
private BigDecimal unitPrice; private BigDecimal unitPrice;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -370,4 +370,18 @@ public class ShelfMaterialDetailDO extends BaseVOEntity {
@ApiModelProperty("批次号") @ApiModelProperty("批次号")
@Excel(name = "批次号") @Excel(name = "批次号")
private String batchNo; private String batchNo;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -442,5 +442,6 @@ public class StockInOrderPO extends BaseVOEntity {
@ApiModelProperty("推送人姓名") @ApiModelProperty("推送人姓名")
private String pushByName; private String pushByName;
private String khdm;
} }
@@ -410,4 +410,22 @@ public class StockInOrderDO extends BaseVOEntity {
@ApiModelProperty("推送人姓名") @ApiModelProperty("推送人姓名")
private String pushByName; private String pushByName;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
} }
@@ -450,4 +450,5 @@ public class StockOutOrderPO extends BaseVOEntity {
@ApiModelProperty("推送人姓名") @ApiModelProperty("推送人姓名")
private String pushByName; private String pushByName;
private String khdm;
} }
@@ -471,4 +471,22 @@ public class StockOutOrderDO extends BaseVOEntity {
@ApiModelProperty("推送人姓名") @ApiModelProperty("推送人姓名")
private String pushByName; private String pushByName;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
} }
@@ -158,10 +158,19 @@ public class StockShelfOrderDO extends StockInOrderBaseDO {
@ApiModelProperty(value = "推送时间起") @ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart; private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止") @ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeEnd; private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
} }
@@ -387,4 +387,18 @@ public class InMaterialDetailDTO extends BaseVOEntity {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd")
private Date drinkDate; private Date drinkDate;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -484,5 +484,26 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date productionDate; private Date productionDate;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
private String invtRowGw;
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
} }
@@ -253,4 +253,26 @@ public class PickingMaterialDetailDTO extends BaseVOEntity {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date productionDate; private Date productionDate;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
private String inOrderNumberGw;
private String inLineNumGw;
private String opWhLocGw;
private String warehouseGw;
private String invtRowGw;
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
} }
@@ -181,10 +181,19 @@ public class PickingOrderDTO extends BaseVOEntity {
@ApiModelProperty(value = "推送时间起") @ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart; private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止") @ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeEnd; private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
} }
@@ -353,4 +353,18 @@ public class ShelfMaterialDetailDTO extends BaseVOEntity {
@ApiModelProperty("批次号") @ApiModelProperty("批次号")
@Excel(name = "批次号") @Excel(name = "批次号")
private String batchNo; private String batchNo;
//订单行号
private String lineNumGw;
//物料规格
private String specGw;
//计量单位
private String unitGw;
//数量
private BigDecimal qtyGw;
//企业币制
private String erpCurrGw;
//企业单价
private BigDecimal erpPriceGw;
//申报总价
private BigDecimal amountGw;
} }
@@ -408,4 +408,22 @@ public class StockInOrderDTO extends StockInOrderBaseDTO {
@ApiModelProperty("推送人姓名") @ApiModelProperty("推送人姓名")
private String pushByName; private String pushByName;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
} }
@@ -465,4 +465,23 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO {
@ApiModelProperty("推送人姓名") @ApiModelProperty("推送人姓名")
private String pushByName; private String pushByName;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
} }
@@ -147,10 +147,19 @@ public class StockShelfOrderDTO extends StockInOrderBaseDTO {
@ApiModelProperty(value = "推送时间起") @ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart; private Date pushTimeFrom;
@ApiModelProperty(value = "推送时间止") @ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeEnd; private Date pushTimeTo;
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeFrom;
@ApiModelProperty(value = "推送时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTimeTo;
} }
+4 -4
View File
@@ -14,18 +14,18 @@ spring:
nacos: nacos:
discovery: discovery:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.102.192.30:6848 # server-addr: 10.102.192.30:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
# server-addr: 10.102.192.105:6848 # server-addr: 10.102.192.105:6848
config: config:
# server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
server-addr: 10.102.192.30:6848 # server-addr: 10.102.192.30:6848
username: nacos username: nacos
password: manhuoda@2023 password: manhuoda@2023
#线上正式环境 #线上正式环境
@@ -96,6 +96,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="stockQuantity" column="stock_quantity" /> <result property="stockQuantity" column="stock_quantity" />
<result property="copyTotalWeight" column="COPY_TOTAL_WEIGHT" /> <result property="copyTotalWeight" column="COPY_TOTAL_WEIGHT" />
<result property="copyCodeReferenceIds" column="COPY_CODE_REFERENCE_IDS" /> <result property="copyCodeReferenceIds" column="COPY_CODE_REFERENCE_IDS" />
<result property="lineNumGw" column="line_num_gw" />
<result property="specGw" column="spec_gw" />
<result property="unitGw" column="unit_gw" />
<result property="qtyGw" column="qty_gw" />
<result property="erpCurrGw" column="erp_curr_gw" />
<result property="erpPriceGw" column="erp_price_gw" />
<result property="amountGw" column="amount_gw" />
<result property="inOrderNumberGw" column="in_order_number_gw" />
</resultMap> </resultMap>
@@ -149,7 +157,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.EXT_ATTR_4, a.EXT_ATTR_4,
a.COPY_TOTAL_WEIGHT, a.COPY_TOTAL_WEIGHT,
a.COPY_CODE_REFERENCE_IDS, a.COPY_CODE_REFERENCE_IDS,
a.INVENTORY_QUANTITY a.INVENTORY_QUANTITY,
a.line_num_gw,
a.spec_gw,
a.unit_gw,
a.qty_gw,
a.erp_curr_gw,
a.erp_price_gw,
a.amount_gw,
a.in_order_number_gw,
a.in_line_num_gw
</sql> </sql>
<sql id="selectMaterialDetailPo1"> <sql id="selectMaterialDetailPo1">
@@ -89,6 +89,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="singleGrossWeight" column="single_gross_weight" /> <result property="singleGrossWeight" column="single_gross_weight" />
<result property="lotNo" column="lot_no" /> <result property="lotNo" column="lot_no" />
<result property="drinkDate" column="drink_date" /> <result property="drinkDate" column="drink_date" />
<result property="lineNumGw" column="line_num_gw" />
<result property="specGw" column="spec_gw" />
<result property="unitGw" column="unit_gw" />
<result property="qtyGw" column="qty_gw" />
<result property="erpCurrGw" column="erp_curr_gw" />
<result property="erpPriceGw" column="erp_price_gw" />
<result property="amountGw" column="amount_gw" />
</resultMap> </resultMap>
@@ -115,6 +122,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.SPECIFICATION_MODEL, a.SKU_CODE, a.INVOICE_NO, a.LITER, a.DIMENSIONS, a.DECLARATION_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO, a.SPECIFICATION_MODEL, a.SKU_CODE, a.INVOICE_NO, a.LITER, a.DIMENSIONS, a.DECLARATION_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO,
a.ORIGIN_COUNTRY, a.BOX_PALLET_NO, a.CURRENCY, a.UNIT, a.DECLARED_QUANTITY, a.BOX_COUNT, a.PIECE_COUNT, a.INBOUND_QUANTITY, a.ORIGIN_COUNTRY, a.BOX_PALLET_NO, a.CURRENCY, a.UNIT, a.DECLARED_QUANTITY, a.BOX_COUNT, a.PIECE_COUNT, a.INBOUND_QUANTITY,
a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_PRICE, a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_PRICE,
a.line_num_gw,
a.spec_gw,
a.unit_gw,
a.qty_gw,
a.erp_curr_gw,
a.erp_price_gw,
a.amount_gw,
a.in_order_number_gw,
a.in_line_num_gw,
a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE, a.EXT_ATTR_1, a.EXT_ATTR_2, a.EXT_ATTR_3, a.EXT_ATTR_4,a.DRINK_DATE, a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE, a.EXT_ATTR_1, a.EXT_ATTR_2, a.EXT_ATTR_3, a.EXT_ATTR_4,a.DRINK_DATE,
a.OMS_IN_MATERIAL_DETAIL a.OMS_IN_MATERIAL_DETAIL
,CASE ,CASE
@@ -66,6 +66,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="pickedCopyCodeReferenceIds" column="picked_copy_code_reference_ids" /> <result property="pickedCopyCodeReferenceIds" column="picked_copy_code_reference_ids" />
<result property="lotNo" column="lot_no" /> <result property="lotNo" column="lot_no" />
<result property="inOrderNumber" column="in_order_number" /> <result property="inOrderNumber" column="in_order_number" />
<result property="lineNumGw" column="line_num_gw" />
<result property="specGw" column="spec_gw" />
<result property="unitGw" column="unit_gw" />
<result property="qtyGw" column="qty_gw" />
<result property="erpCurrGw" column="erp_curr_gw" />
<result property="erpPriceGw" column="erp_price_gw" />
<result property="amountGw" column="amount_gw" />
<result property="inLineNumGw" column="in_line_num_gw" />
<result property="opWhLocGw" column="op_wh_loc_gw" />
<result property="warehouseGw" column="warehouse_gw" />
<result property="invtRowGw" column="invt_row_gw" />
<result property="bondInvtNoGw" column="bond_invt_no_gw" />
<result property="whNoGw" column="wh_no_gw" />
<result property="seatNoGw" column="seat_no_gw" />
<result property="inOrderNumberGw" column="in_order_number_gw" />
</resultMap> </resultMap>
@@ -84,7 +99,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.COPY_CODE_REFERENCE_IDS, a.COPY_CODE_REFERENCE_IDS,
a.picked_copy_code_reference_ids, a.picked_copy_code_reference_ids,
omd.in_order_number, omd.lot_no as lot_number, omd.in_order_number, omd.lot_no as lot_number,
a.lot_No,a.in_order_number a.lot_No,a.in_order_number,
a.line_num_gw,
a.spec_gw,
a.unit_gw,
a.qty_gw,
a.erp_curr_gw,
a.erp_price_gw,
a.amount_gw,
a.in_order_number_gw,
a.in_line_num_gw,
a.op_wh_loc_gw,
a.warehouse_gw,
a.invt_row_gw,
a.bond_invt_no_gw,
a.wh_no_gw,
a.seat_no_gw
</sql> </sql>
<sql id="selectPickingMaterialDetailPo1"> <sql id="selectPickingMaterialDetailPo1">
@@ -315,4 +345,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
pmd.update_by = #{updateBy}, pmd.update_by_name = #{updateByName}, pmd.update_time = #{updateTime} pmd.update_by = #{updateBy}, pmd.update_by_name = #{updateByName}, pmd.update_time = #{updateTime}
WHERE pmd.out_unique_id = #{outUniqueId} AND pmd.del_flag = 1 WHERE pmd.out_unique_id = #{outUniqueId} AND pmd.del_flag = 1
</update> </update>
<select id="getNcUrl" resultType="java.lang.String">
SELECT INTERFACE_TYPE_VALUE FROM NGWL_TEST_THIRDPARTY."SYS_DEPART_INTERFACE_INFO"
where DEL_FLAG = '1'
and organization_id = #{organizationId}
and organization_name = #{organizationName}
and interface_type = #{interfaceType} limit 1
</select>
</mapper> </mapper>
@@ -37,6 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="pushTime" column="push_time" /> <result property="pushTime" column="push_time" />
<result property="pushBy" column="push_by" /> <result property="pushBy" column="push_by" />
<result property="pushByName" column="push_by_name" /> <result property="pushByName" column="push_by_name" />
<result property="goodsType" column="goods_type" />
</resultMap> </resultMap>
@@ -46,7 +47,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
IFNULL((SELECT SUM(b.picking_quantity) FROM picking_material_detail b WHERE b.picking_order_number = a.picking_order_number AND b.del_flag = 1), 0) AS picking_quantity, IFNULL((SELECT SUM(b.picking_quantity) FROM picking_material_detail b WHERE b.picking_order_number = a.picking_order_number AND b.del_flag = 1), 0) AS picking_quantity,
a.picking_material_quantity, a.abnormal, a.task_distribution, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time, a.picking_material_quantity, a.abnormal, a.task_distribution, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time,
a.update_by, a.update_by_name, a.del_flag,a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name a.update_by, a.update_by_name, a.del_flag,a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name
,a.push_status,a.push_time,a.push_by,a.push_by_name ,a.push_status,a.push_time,a.push_by,a.push_by_name,
(SELECT m.goods_type FROM PICKING_MATERIAL_DETAIL d
JOIN material_base_info m ON d.material_base_info_id = m.material_base_info_id
WHERE d.PICKING_ORDER_NUMBER = a.PICKING_ORDER_NUMBER
LIMIT 1) AS goods_type
</sql> </sql>
<sql id="selectPickingOrderPo1"> <sql id="selectPickingOrderPo1">
@@ -117,11 +122,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="needDeclareFlag != null and needDeclareFlag != ''"> <if test="needDeclareFlag != null and needDeclareFlag != ''">
and b.need_declare_flag = #{needDeclareFlag} and b.need_declare_flag = #{needDeclareFlag}
</if> </if>
<if test="pushTimeStart != null"> <if test="pushTimeFrom != null">
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart} and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if> </if>
<if test="pushTimeEnd != null"> <if test="pushTimeTo != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} and a.PUSH_TIME <![CDATA[<=]]> #{pushTimeTo}
</if>
<if test="createTimeFrom != null">
and a.create_time <![CDATA[>=]]> #{createTimeFrom}
</if>
<if test="createTimeTo != null">
and a.create_time <![CDATA[<=]]> #{createTimeTo}
</if> </if>
<if test="pushStatus != null"> <if test="pushStatus != null">
and a.PUSH_STATUS = #{pushStatus} and a.PUSH_STATUS = #{pushStatus}
@@ -77,6 +77,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="copyDetails" column="copy_details" /> <result property="copyDetails" column="copy_details" />
<result property="alreadyShelvesArea" column="total_area" /> <result property="alreadyShelvesArea" column="total_area" />
<result property="omsInMaterialDetail" column="OMS_IN_MATERIAL_DETAIL" /> <result property="omsInMaterialDetail" column="OMS_IN_MATERIAL_DETAIL" />
<result property="lineNumGw" column="line_num_gw" />
<result property="specGw" column="spec_gw" />
<result property="unitGw" column="unit_gw" />
<result property="qtyGw" column="qty_gw" />
<result property="erpCurrGw" column="erp_curr_gw" />
<result property="erpPriceGw" column="erp_price_gw" />
<result property="amountGw" column="amount_gw" />
</resultMap> </resultMap>
@@ -85,7 +92,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
CASE CASE
WHEN pack_detail_id IS NULL OR TRIM(pack_detail_id) = '' THEN NULL WHEN pack_detail_id IS NULL OR TRIM(pack_detail_id) = '' THEN NULL
ELSE CAST(pack_detail_id AS BIGINT) ELSE CAST(pack_detail_id AS BIGINT)
END as pack_detail_id, unit_code, unit_name, unit_number, material_warehouse_control_id, serial_number_manage, quality_inspection_manage, quality_inspection_stage, quality_inspection_rule, quality_inspection_ratio, quality_inspection_term, quality_inspection_results, allow_overcharge, overcharge_ratio, batch_number, material_status_code, material_status_name, distribute_rule_id, distribute_rule_code, distribute_rule_name, container_id, container_code, container_type, container_type_name, warehouse_id, warehouse_code, warehouse_name, storage_section_id, storage_code, storage_name, storage_location_id, storage_location_code, storage_location_name, level, parent_unique_id, in_unique_id, receipt_unique_id, allow_modify, remark, batch_ref_no, sheet_ref_no, box_pallet_no, ext_attr_1, ext_attr_2, production_date, expiry_date, inventory_date, ext_attr_3, ext_attr_4, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag,total_net_weight,total_gross_weight,total_volume,total_area,in_order_number,lot_number,pallet_number,copy_batch,copy_quantity,copy_details from shelf_material_detail END as pack_detail_id, unit_code,
line_num_gw,
spec_gw,
unit_gw,
qty_gw,
erp_curr_gw,
erp_price_gw,
amount_gw,
in_order_number_gw,
in_line_num_gw,
unit_name, unit_number, material_warehouse_control_id, serial_number_manage, quality_inspection_manage, quality_inspection_stage, quality_inspection_rule, quality_inspection_ratio, quality_inspection_term, quality_inspection_results, allow_overcharge, overcharge_ratio, batch_number, material_status_code, material_status_name, distribute_rule_id, distribute_rule_code, distribute_rule_name, container_id, container_code, container_type, container_type_name, warehouse_id, warehouse_code, warehouse_name, storage_section_id, storage_code, storage_name, storage_location_id, storage_location_code, storage_location_name, level, parent_unique_id, in_unique_id, receipt_unique_id, allow_modify, remark, batch_ref_no, sheet_ref_no, box_pallet_no, ext_attr_1, ext_attr_2, production_date, expiry_date, inventory_date, ext_attr_3, ext_attr_4, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag,total_net_weight,total_gross_weight,total_volume,total_area,in_order_number,lot_number,pallet_number,copy_batch,copy_quantity,copy_details from shelf_material_detail
</sql> </sql>
<sql id="selectShelfMaterialDetailPo1"> <sql id="selectShelfMaterialDetailPo1">
@@ -418,6 +418,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTimeEnd != null and createTimeEnd != ''"> <if test="createTimeEnd != null and createTimeEnd != ''">
and date_format(a.create_time,'%Y-%m-%d') &lt;= #{createTimeEnd} and date_format(a.create_time,'%Y-%m-%d') &lt;= #{createTimeEnd}
</if> </if>
<if test="pushTimeFrom != null">
and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if>
<if test="pushTimeTo != null">
and a.PUSH_TIME <![CDATA[<=]]> #{pushTimeTo}
</if>
<if test="createTimeFrom != null">
and a.create_time <![CDATA[>=]]> #{createTimeFrom}
</if>
<if test="createTimeTo != null">
and a.create_time <![CDATA[<=]]> #{createTimeTo}
</if>
<if test="pushStatus != null">
and a.PUSH_STATUS = #{pushStatus}
</if>
<!-- 入库明细:物料名称、物料编码(同一明细行同时满足;与计划数量汇总口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 --> <!-- 入库明细:物料名称、物料编码(同一明细行同时满足;与计划数量汇总口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 -->
<if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')"> <if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')">
and exists ( and exists (
@@ -312,6 +312,21 @@
<if test="auditTimeEnd != null and auditTimeEnd != ''"> <if test="auditTimeEnd != null and auditTimeEnd != ''">
and date_format(a.audit_time,'%Y-%m-%d') &lt;= #{auditTimeEnd} and date_format(a.audit_time,'%Y-%m-%d') &lt;= #{auditTimeEnd}
</if> </if>
<if test="createTimeFrom != null">
and a.create_time <![CDATA[>=]]> #{createTimeFrom}
</if>
<if test="createTimeTo != null">
and a.create_time <![CDATA[<=]]> #{createTimeTo}
</if>
<if test="pushTimeFrom != null">
and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if>
<if test="pushTimeTo != null">
and a.PUSH_TIME <![CDATA[<=]]> #{pushTimeTo}
</if>
<if test="pushStatus != null">
and a.PUSH_STATUS = #{pushStatus}
</if>
<!-- 出库明细:物料名称、物料编码(同一明细行同时满足;与出库明细口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 --> <!-- 出库明细:物料名称、物料编码(同一明细行同时满足;与出库明细口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 -->
<if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')"> <if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')">
and exists ( and exists (
@@ -110,11 +110,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTimeEnd != null and createTimeEnd != ''"> <if test="createTimeEnd != null and createTimeEnd != ''">
and date_format(a.create_time,'%Y-%m-%d') &lt;= #{createTimeEnd} and date_format(a.create_time,'%Y-%m-%d') &lt;= #{createTimeEnd}
</if> </if>
<if test="pushTimeStart != null"> <if test="createTimeFrom != null">
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart} and a.create_time <![CDATA[>=]]> #{createTimeFrom}
</if> </if>
<if test="pushTimeEnd != null"> <if test="createTimeTo != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} and a.create_time <![CDATA[<=]]> #{createTimeTo}
</if>
<if test="pushTimeFrom != null">
and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if>
<if test="pushTimeTo != null">
and a.PUSH_TIME <![CDATA[<=]]> #{pushTimeTo}
</if> </if>
<if test="pushStatus != null"> <if test="pushStatus != null">
and a.PUSH_STATUS = #{pushStatus} and a.PUSH_STATUS = #{pushStatus}

Some files were not shown because too many files have changed in this diff Show More