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调用接口
*/
@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 {
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
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 {
@@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
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 {
/**
@@ -20,7 +20,7 @@ import java.util.Map;
* @description: TODO
* @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 {
/**
@@ -115,4 +115,10 @@ public interface WmsServiceFeign {
@RequestParam(value = "pushTime",required = false) String pushTime,
@RequestParam(value = "pushBy",required = false) Long pushBy,
@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.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 {
/**
@@ -90,6 +90,15 @@ public class RemoteWmsFallbackFactory implements FallbackFactory<WmsServiceFeign
public AjaxResult<?> updateMaterialPushStatus(Long materialBaseInfoId, Integer pushStatus, String pushTime, Long pushBy, String pushByName) {
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: 10.33.0.129:6010
# username: nacos
# password: manhuoda@2023
username: nacos
password: manhuoda@2023
#线上正式环境
# server-addr: 10.102.192.5:6848
# username: nacos
@@ -27,8 +27,8 @@ spring:
server-addr: 10.33.0.129:6010
# 线上测试环境配置 容器名+端口号
# server-addr: 10.102.192.5:6848
# username: nacos
# password: manhuoda@2023
username: nacos
password: manhuoda@2023
#线上正式环境
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties
+4 -4
View File
@@ -16,19 +16,19 @@ spring:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
# 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: 10.102.192.31:6848
# server-addr: 10.102.192.31:6848
username: nacos
password: manhuoda@2023
config:
# 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: 10.102.192.31:6848
# server-addr: 10.102.192.31:6848
username: nacos
password: manhuoda@2023
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
@@ -14,18 +14,18 @@ spring:
nacos:
discovery:
# 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
password: manhuoda@2023
#线上正式环境
# server-addr: 10.102.192.105:6848
config:
# 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
password: manhuoda@2023
#线上正式环境
@@ -20,15 +20,15 @@ spring:
discovery:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
username: nacos
password: manhuoda@2023
config:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
username: nacos
password: manhuoda@2023
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
+4 -4
View File
@@ -20,15 +20,15 @@ spring:
# 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
# username: nacos
# password: manhuoda@2023
username: nacos
password: manhuoda@2023
config:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
# username: nacos
# password: manhuoda@2023
username: nacos
password: manhuoda@2023
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties
# 开启nacos自动刷新,如果这个配置没有或者为false会导致配置不能自动刷新
+4 -4
View File
@@ -20,15 +20,15 @@ spring:
discovery:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.31:6848
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
username: nacos
password: manhuoda@2023
config:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.31:6848
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
username: nacos
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.gwLog.entity.GwLog;
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.businessDocumentOrder.BusinessDocumentOrderDTO;
import com.mhd.system.api.model.LoginUser;
@@ -88,6 +90,9 @@ public class BusinessDocumentOrderApplicationService {
@Resource
private ExecuteOrderMapper executeOrderMapper;
@Resource
private DocumentPushMaterialRecordMapper documentPushMaterialRecordMapper;
/**
* 分页查询【请填写功能名称】列表
*/
@@ -328,6 +333,37 @@ public class BusinessDocumentOrderApplicationService {
if (dataCode != null && dataCode == 200) {
gwLog.setStatus(2);
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++;
} else {
gwLog.setStatus(3);
@@ -399,9 +435,12 @@ public class BusinessDocumentOrderApplicationService {
int failCount = 0;
StringBuilder failMsg = new StringBuilder();
// 从数据库查询单证信息,获取运输业务单号
BusinessDocumentOrder order = businessDocumentOrderMapper.selectById(businessDocumentOrderDTO.getId());
// 构建单个对象
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("appMan", businessDocumentOrderDTO.getReviseApplyBy());
item.put("appMess", businessDocumentOrderDTO.getReviseApplyReason());
@@ -2,6 +2,7 @@ package com.mhd.oms.application.service.materialInfo;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.mhd.common.core.exception.ServiceException;
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.oms.domain.gwLog.entity.GwLog;
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.system.api.WmsServiceFeign;
import com.mhd.system.api.domain.MaterialInfoDTO;
@@ -45,6 +49,9 @@ public class MaterialInfoApplicationService {
@Resource
private BusinessDocumentOrderMapper businessDocumentOrderMapper;
@Resource
private MaterialPushRecordMapper materialPushRecordMapper;
private final WmsServiceFeign wmsServiceFeign;
public MaterialInfoApplicationService(WmsServiceFeign wmsServiceFeign) {
@@ -88,6 +95,7 @@ public class MaterialInfoApplicationService {
int successCount = 0;
int failCount = 0;
StringBuilder failMsg = new StringBuilder();
List<Long> successIds = new ArrayList<>();
for (MaterialInfoDTO dto : dtoList) {
Map<String, String> item = new HashMap<>();
@@ -147,6 +155,7 @@ public class MaterialInfoApplicationService {
gwLog.setStatus(2);
updatePushStatus(dto.getMaterialBaseInfoId(), 3, new Date(), pushBy, pushByName);
successCount++;
successIds.add(dto.getMaterialBaseInfoId());
} else {
gwLog.setStatus(3);
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 + "";
if (failCount > 0) {
resultMsg += "[" + failMsg.toString() + "]";
@@ -1,6 +1,8 @@
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.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.rmi.ServerException;
import java.util.ArrayList;
@@ -169,6 +172,29 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
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
public Boolean audit(List<Long> ids, Long reviewStatus, String SalesManager,String reviewOpinion ) {
LoginUser loginUser = SecurityUtils.getLoginUser();//获取登录人
@@ -229,6 +255,31 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
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);
subOrderCount++; // 增加子单计数
@@ -706,4 +757,4 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
{
return businessDocumentOrderMapper.queryListAndMaterial(businessDocumentOrderDO);
}
}
}
@@ -91,6 +91,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -123,6 +125,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -674,6 +678,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@@ -764,6 +770,8 @@ public class BusinessDocumentOrderPO extends BaseVOEntity{
private String entryNumber;
@ApiModelProperty("预计出发日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date layDate;
@ApiModelProperty("出入库单号")
@@ -106,6 +106,8 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -138,6 +140,8 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -741,6 +745,8 @@ public class BusinessDocumentOrderDO extends BaseVOEntity{
private String paymentAccountId;
@ApiModelProperty("预计出发日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date layDate;
@ApiModelProperty("收款账户信息")
@@ -1,10 +1,14 @@
package com.mhd.oms.domain.businessDocumentOrder.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import com.aliyun.oss.ServiceException;
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.utils.DateUtils;
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.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -101,6 +106,25 @@ public class BusinessDocumentOrderDomainService {
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");
tmsOrder.setSettlementStatus(1L);//未出账
tmsOrder.setAuditStatus(0L);//未审核
tmsOrder.setCustomerCodeNc(customerNcCode);
tmsOrder.setSzwlUserId(Long.valueOf(u.getUserid()));
if (tmsOrder.getLoadingDate() != null && tmsOrder.getUnloadingData() != null) {
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){
reservationStockOutOrder.setBusinessNumber(tmsOrder.getGoodsNumber());
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){
reservationStockInOrder.setBusinessNumber(tmsOrder.getGoodsNumber());
reservationStockInOrderMapper.updateById(reservationStockInOrder);
@@ -392,7 +442,7 @@ public class BusinessDocumentOrderDomainService {
tmsOrder.setSplicingOrderType(0L); // 普通单
}
//一天后
tmsOrder.setDocumentDate(DateUtils.addHours(new Date(), 24));
tmsOrder.setDocumentDate(businessDocumentOrderDO.getDocumentDate());
boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0;
@@ -474,6 +524,7 @@ public class BusinessDocumentOrderDomainService {
throw new ServiceException("您非货主角色或账号已被删除!");
}
BusinessDocumentOrder tmsOrder = businessDocumentOrderService.getById(businessDocumentOrderDO.getId());
String inOrderNumber = tmsOrder.getInOrderNumber();
if (tmsOrder.getOrderStatus() == 1){
tmsOrder.setOrderStatus(0L);
}
@@ -484,6 +535,7 @@ public class BusinessDocumentOrderDomainService {
throw new ServiceException("运单已被关闭,请确认!");
}
//处理费用默认值
tmsOrder.setDocumentDate(businessDocumentOrderDO.getDocumentDate());
handFee(businessDocumentOrderDO);
//组织赋值
Long organizationId = businessDocumentOrderDO.getOrganizationId();
@@ -679,6 +731,45 @@ public class BusinessDocumentOrderDomainService {
}
// 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);
if (deliveryFreight != null && deliveryFreight.compareTo(BigDecimal.ZERO) > 0){
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()")
private Long id;
@ApiModelProperty("$column.columnComment")
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String realCreateBy;
@@ -123,6 +124,8 @@ public class ExecuteOrderPO extends BaseVOEntity{
private String jobStatus;
@ApiModelProperty("预计运输时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentDate;
@ApiModelProperty("备注")
@@ -150,6 +153,8 @@ public class ExecuteOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -188,6 +193,8 @@ public class ExecuteOrderPO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -172,4 +172,14 @@ public class ExecuteOrderDO extends BaseVOEntity{
@ApiModelProperty("车次")
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;
@ApiModelProperty("火险保费")
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;
@ApiModelProperty("火险保费")
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;
@ApiModelProperty("火险保费")
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;
@ApiModelProperty("火险保费")
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("库存数量")
@Excel(name = "库存数量")
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("单价")
@Excel(name = "单价")
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("调整后面积")
@Excel(name = "调整后面积")
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("调整后面积")
@Excel(name = "调整后面积")
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);
String getNcUrl(@Param("interfaceType") String interfaceType,@Param("organizationName") String organizationName,@Param("organizationId") Long organizationId);
}
@@ -476,4 +476,5 @@ public class ReservationStockInOrderPO extends BaseVOEntity {
@ApiModelProperty("业务计价方式")
private String businessPriceWay;
private String khdm;
}
@@ -470,12 +470,21 @@ public class ReservationStockInOrderDO extends BaseVOEntity {
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart;
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 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;
@ApiModelProperty("运输业务单号")
@@ -454,13 +454,21 @@ public class ReservationStockInOrderDTO extends ReservationStockInOrderBaseDTO {
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart;
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 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;
@ApiModelProperty(name = "入库时间查询条件开始日期")
private String storageTimeStart;
@@ -78,7 +78,7 @@ public class ReservationStockInOrderApplicationService {
private ReservationInMaterialDetailMapper reservationInMaterialDetailMapper;
// @Autowired
// 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 VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -267,7 +267,17 @@ public class ReservationStockInOrderApplicationService {
*/
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("-");
if (split.length == 2) {
gwInDetail.setLineNum(split[1]);
reservationInMaterialDetail.setLineNumGw(split[1]);
} else {
gwInDetail.setLineNum("");
gwInDetail.setLineNum("1");
reservationInMaterialDetail.setLineNumGw("1");
}
} else {
gwInDetail.setLineNum("1");
reservationInMaterialDetail.setLineNumGw("1");
}
gwInDetail.setItemName(reservationInMaterialDetail.getMaterialName());
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) {
BigDecimal Amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP);
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);
}
gwStockInOrder.setOrderList(orderList);
List<GwStockInOrder> list = new LinkedList<>();
@@ -2047,9 +2070,16 @@ public class ReservationStockInOrderApplicationService {
gwLogMapper.insert(gwLog);
updatePushStatus(id, 2, new Date(), pushBy,pushByName);
String ncUrl = reservationStockInOrderMapper.getNcUrl("gw", organizationName, organizationId);
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");
httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json");
@@ -2060,8 +2090,10 @@ public class ReservationStockInOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity());
gwLog.setResponseBody(responseString);
if (response.getStatusLine().getStatusCode() == 200) {
// 直接转Map<String, Object>
Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code == 200) {
gwLog.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++;
@@ -504,4 +504,5 @@ public class ReservationStockOutOrderPO extends BaseVOEntity {
@ApiModelProperty("车次")
@Excel(name = "车次")
private Integer trainNo;
private String khdm;
}
@@ -549,12 +549,20 @@ public class ReservationStockOutOrderDO extends BaseVOEntity {
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart;
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 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;
}
@@ -532,13 +532,21 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart;
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 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 = "出库时间查询条件开始日期")
private String outboundDateStart;
@@ -114,7 +114,7 @@ public class ReservationStockOutOrderApplicationService {
@Autowired
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 VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -294,11 +294,18 @@ public class ReservationStockOutOrderApplicationService {
public ReservationStockOutOrderPO getInfoChildren(Long outOrderId)
{
ReservationStockOutOrderPO stockOutOrderPO = stockOutOrderDomainService.getInfoChildren(outOrderId);
String userNcCode = reservationStockInOrderMapper.getUserNcCode(stockOutOrderPO.getShipperId());
if (stockOutOrderPO == null || CollectionUtils.isEmpty(stockOutOrderPO.getMaterialDetailList())) {
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();
String outOrderNumber = stockOutOrderPO.getOutOrderNumber();
for (ReservationOutMaterialDetailPO reservationOutMaterialDetailPO : detailList) {
@@ -1319,7 +1326,7 @@ public class ReservationStockOutOrderApplicationService {
Long organizationId = loginUser != null ? loginUser.getUserPo().getOrganizationId() : null;
Long topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
String ncUrl = reservationStockInOrderMapper.getNcUrl("gw", organizationName, organizationId);
int successCount = 0;
int failCount = 0;
StringBuilder failMsg = new StringBuilder();
@@ -1371,11 +1378,14 @@ public class ReservationStockOutOrderApplicationService {
String[] split = lotNo.split("-");
if (split.length == 2) {
item.put("lineNum", split[1]);
detail.setLineNumGw(split[1]);
} else {
item.put("lineNum", 1);
detail.setLineNumGw("1");
}
} else {
item.put("lineNum", 1);
detail.setLineNumGw("1");
}
item.put("qty", detail.getQuantity());
@@ -1392,9 +1402,15 @@ public class ReservationStockOutOrderApplicationService {
// 计算金额
BigDecimal unitPrice = materialBaseInfoPO.getUnitPrice();
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) {
BigDecimal amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP);
item.put("amount", amount);
detail.setAmountGw(amount);
}
}
}
@@ -1409,12 +1425,15 @@ public class ReservationStockOutOrderApplicationService {
if (inOrderNumber != null) {
item.put("orderINo", inOrderNumber);
detail.setInOrderNumberGw(inOrderNumber);
}
if (warehouseCode != null) {
item.put("warehouse", warehouseCode);
detail.setWarehouseGw(warehouseCode);
}
if (opWhLoc != null) {
item.put("opWhLoc", opWhLoc);
detail.setOpWhLocGw(opWhLoc);
}
// billI = 入库单号
if (inOrderNumber != null) {
@@ -1425,15 +1444,19 @@ public class ReservationStockOutOrderApplicationService {
if (split.length == 2) {
item.put("orderIRow", split[1]);
item.put("billIRow", split[1]);
detail.setInLineNumGw(split[1]);
} else {
item.put("orderIRow", 1);
item.put("billIRow", 1);
detail.setInLineNumGw("1");
}
} else {
item.put("orderIRow", 1);
item.put("billIRow", 1);
detail.setInLineNumGw("1");
}
}
reservationOutMaterialDetailMapper.updateById(detail);
orderList.add(item);
}
order.put("orderList", orderList);
@@ -1460,7 +1483,14 @@ public class ReservationStockOutOrderApplicationService {
updatePushStatus(id, 2, new Date(), pushBy,pushByName);
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");
httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json");
@@ -1471,8 +1501,10 @@ public class ReservationStockOutOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity());
gwLog.setResponseBody(responseString);
if (response.getStatusLine().getStatusCode() == 200) {
// 直接转Map<String, Object>
Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code ==200) {
gwLog.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++;
@@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.List;
@@ -71,6 +72,8 @@ public class BusinessDocumentAddressMultiDTO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -94,6 +94,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -126,6 +128,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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;
@ApiModelProperty("$column.columnComment")
@@ -673,8 +677,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
@ApiModelProperty("$column.columnComment")
@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")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date documentDate;
@@ -770,6 +774,8 @@ public class BusinessDocumentOrderDTO extends BaseVOEntity{
private String entryNumber;
@ApiModelProperty("预计出发日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date layDate;
@ApiModelProperty("入库单号")
@@ -162,4 +162,14 @@ public class ExecuteOrderDTO extends BaseVOEntity{
@ApiModelProperty("车次")
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 = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
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);
List<BusinessDocumentOrderPO> orderList = businessDocumentOrderApplicationService.queryListAndMaterial(businessDocumentOrderDO);
+9 -9
View File
@@ -18,17 +18,17 @@ spring:
discovery:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
# username: nacos
# password: manhuoda@2023
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848
username: nacos
password: manhuoda@2023
config:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
# username: nacos
# password: manhuoda@2023
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848
username: nacos
password: manhuoda@2023
#线上正式环境
# server-addr: 10.102.192.105:6848
# 锁定server端的配置文件(读取它的配置项)
@@ -40,6 +40,6 @@ spring:
# GW推送配置
gw:
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-key2: ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD
@@ -696,7 +696,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bdo.PUSH_TIME <![CDATA[>=]]> #{pushTimeStart}
</if>
<if test="pushTimeEnd != null">
and bdo.PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd}
and bdo.PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} + 1 - 1/86400
</if>
<if test="ieType != null ">
and bdo.IE_TYPE = #{ieType}
@@ -1252,7 +1252,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart}
</if>
<if test="pushTimeEnd != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd}
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd} + 1 - 1/86400
</if>
<if test="ieType != null ">
and IE_TYPE = #{ieType}
@@ -1260,6 +1260,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="reviseApplyType != null ">
and REVISE_APPLY_TYPE = #{reviseApplyType}
</if>
<if test="reviseApplyStatus != null ">
and REVISE_APPLY_STATUS = #{reviseApplyStatus}
</if>
</where>
</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">
and eo.INVOICE_DATE <![CDATA[ < ]]> DATEADD(DAY, 1, #{invoiceEndTime,jdbcType=DATE})
</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">-->
<!-- and eo.INVOICE_DATE >= #{invoiceStartTime}-->
<!-- </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="drinkDate" column="drink_date" />
<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>
@@ -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.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.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
,CASE
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="stockUnit" column="stock_unit" />
<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>
@@ -145,7 +154,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.INVENTORY_DATE,
a.EXT_ATTR_3,
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 id="selectMaterialDetailPo1">
@@ -429,11 +429,17 @@
<if test="createTimeEnd != null and createTimeEnd != ''">
and a.create_time <![CDATA[ < ]]> DATEADD(DAY, 1, #{createTimeEnd})
</if>
<if test="pushTimeStart != null">
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart}
<if test="pushTimeFrom != null">
and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if>
<if test="pushTimeEnd != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd}
<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}
@@ -616,5 +622,11 @@
<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>
<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>
@@ -309,11 +309,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="needDeclareFlag != null and needDeclareFlag != ''">
and a.NEED_DECLARE_FLAG = #{needDeclareFlag}
</if>
<if test="pushTimeStart != null">
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart}
<if test="pushTimeFrom != null">
and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if>
<if test="pushTimeEnd != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd}
<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}
+4 -4
View File
@@ -19,16 +19,16 @@ spring:
nacos:
discovery:
# server-addr: 127.0.0.1:8848
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.31:6848
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
username: nacos
password: manhuoda@2023
#线上正式环境
# server-addr: 10.33.0.129:6010
config:
# server-addr: 127.0.0.1:8848
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.31:6848
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
username: nacos
password: manhuoda@2023
#线上正式环境
@@ -20,15 +20,15 @@ spring:
discovery:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.30:6848
username: nacos
password: manhuoda@2023
config:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010
server-addr: 10.102.192.30:6848
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.30:6848
username: nacos
password: manhuoda@2023
#线上正式环境
@@ -22,8 +22,8 @@ spring:
# 线上测试环境配置使用ip+端口号
server-addr: 10.33.0.129:6010
# server-addr: 10.102.192.31:6848
# username: nacos
# password: manhuoda@2023
username: nacos
password: manhuoda@2023
#线上正式环境
# server-addr: 10.102.192.31:6848
# username: nacos
@@ -34,8 +34,8 @@ spring:
# server-addr: 127.0.0.1:8848
# 线上测试环境配置使用ip+端口号
# server-addr: 10.102.192.31:6848
# username: nacos
# password: manhuoda@2023
username: nacos
password: manhuoda@2023
#线上正式环境
# server-addr: 10.102.192.31:6848
# 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.model.LoginUser;
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.inMaterialDetail.entity.InMaterialDetail;
import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService;
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.mapper.PickingMaterialDetailMapper;
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO;
import com.mhd.wms.domain.pickingMaterialDetail.service.PickingMaterialDetailDomainService;
@@ -93,9 +97,12 @@ public class PickingOrderApplicationService {
private IPickingMaterialDetailService pickingMaterialDetailService;
@Autowired
private IInMaterialDetailService inMaterialDetailService;
@Autowired
private ICustomsDeclarationDetailService customsDeclarationDetailService;
@Autowired
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
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_qnBill_e";
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -724,17 +731,18 @@ public class PickingOrderApplicationService {
public AjaxResult batchPush(List<Long> idList) {
if (idList == null || idList.isEmpty()) {
return AjaxResult.error("没有数据需要推送");
}
LoginUser loginUser = SecurityUtils.getLoginUser();
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 topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
String ncUrl = pickingMaterialDetailMapper.getNcUrl("gw", organizationName, organizationId);
int successCount = 0;
int failCount = 0;
StringBuilder failMsg = new StringBuilder();
@@ -775,7 +783,13 @@ public class PickingOrderApplicationService {
customsBodyList.add(customsParam);
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");
customsHttpPost.setEntity(customsPostingString);
customsHttpPost.setHeader("Content-type", "application/json");
@@ -784,7 +798,7 @@ public class PickingOrderApplicationService {
CloseableHttpResponse customsResponse = customsHttpClient.execute(customsHttpPost);
String customsResponseString = EntityUtils.toString(customsResponse.getEntity());
log.info("customsResponseString:{}", customsResponseString);
if (customsResponse.getStatusLine().getStatusCode() == 200) {
JSONObject customsJson = JSONObject.parseObject(customsResponseString);
JSONArray customsData = customsJson.getJSONArray("data");
@@ -803,6 +817,19 @@ public class PickingOrderApplicationService {
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. 构建主单
Map<String, Object> order = new HashMap<>();
// etpsPreentNo: 入库单号 - 取拣货明细中的入库单号第一个
@@ -817,6 +844,8 @@ public class PickingOrderApplicationService {
List<Map<String, Object>> qnBillList = new ArrayList<>();
int gNo = 1;
for (OutMaterialDetail detail : outMaterialDetailList) {
PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new LambdaQueryWrapper<PickingMaterialDetail>()
.eq(PickingMaterialDetail::getOutUniqueId, detail.getUniqueId()));
Map<String, Object> item = new HashMap<>();
item.put("etpsPreentNo", detail.getOutOrderNumber() != null ? detail.getOutOrderNumber() : "");
String lotNo = detail.getLotNo();
@@ -824,11 +853,14 @@ public class PickingOrderApplicationService {
String[] split = lotNo.split("-");
if (split.length == 2) {
item.put("gNo", split[1]);
pickingMaterialDetail.setLineNumGw(split[1]);
} else {
item.put("gNo", ""); // 出仓订单行号
item.put("gNo", "1"); // 出仓订单行号
pickingMaterialDetail.setLineNumGw("1");
}
} 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) {
BigDecimal totalAmt = unitPrice.multiply(pickingQty).setScale(2, BigDecimal.ROUND_HALF_UP);
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) {
item.put("orderRow", split[1]);// 出仓订单行号
} else {
item.put("orderRow", ""); // 出仓订单行号
item.put("orderRow", "1"); // 出仓订单行号
}
} else {
item.put("orderRow", ""); // 出仓订单行号
item.put("orderRow", "1"); // 出仓订单行号
}
if (bondInvtNo != null && invtRow != null) {
pickingMaterialDetail.setBondInvtNoGw(bondInvtNo);
pickingMaterialDetail.setInvtRowGw(invtRow.toString());
item.put("bondInvtNo", "BONDINV202603300001"); // 原进口核注清单号
item.put("invtRow", 1); // 原进口核注清单行号
} else {
@@ -872,7 +911,9 @@ public class PickingOrderApplicationService {
item.put("seatNo", detail.getStorageLocationCode() != null ? detail.getStorageLocationCode() : ""); // 库位
item.put("whNoIn", detail.getWarehouseCode() != null ? detail.getWarehouseCode() : "");
item.put("seatNoIn", detail.getStorageLocationCode() != null ? detail.getStorageLocationCode() : "");
pickingMaterialDetail.setWarehouseGw(detail.getWarehouseCode());
pickingMaterialDetail.setOpWhLocGw(detail.getStorageLocationCode());
pickingMaterialDetailService.updateById(pickingMaterialDetail);
qnBillList.add(item);
}
order.put("qnBillList", qnBillList);
@@ -912,7 +953,14 @@ public class PickingOrderApplicationService {
updatePushStatus(id, 2, new Date(), pushBy,pushByName);
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");
httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json");
@@ -923,8 +971,10 @@ public class PickingOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity());
gwLogDTO.setResponseBody(responseString);
if (response.getStatusLine().getStatusCode() == 200) {
// 直接转Map<String, Object>
Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code==200) {
gwLogDTO.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName);
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.po.MaterialBaseInfoPO;
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.repository.facade.IReceiptOrderAccountService;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
@@ -113,7 +114,9 @@ public class StockInOrderApplicationService {
private IInMaterialDetailService inMaterialDetailService;
@Autowired
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 VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -481,7 +484,19 @@ public class StockInOrderApplicationService {
*/
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();
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 topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
@@ -2338,11 +2353,14 @@ public class StockInOrderApplicationService {
String[] split = lotNo.split("-");
if (split.length == 2) {
gwInDetail.setLineNum(Integer.valueOf(split[1]));
reservationInMaterialDetail.setLineNumGw(split[1]);
} else {
gwInDetail.setLineNum(index);
reservationInMaterialDetail.setLineNumGw("1");
}
} else {
gwInDetail.setLineNum(index);
reservationInMaterialDetail.setLineNumGw("1");
}
index++;
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) {
BigDecimal Amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP);
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);
}
gwStockInOrder.setOrderList(orderList);
@@ -2392,9 +2417,16 @@ public class StockInOrderApplicationService {
}
updatePushStatus(id, 2, new Date(), pushBy,pushByName);
String ncUrl = pickingMaterialDetailMapper.getNcUrl("gw", organizationName, organizationId);
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");
httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json");
@@ -2405,8 +2437,11 @@ public class StockInOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity());
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);
updatePushStatus(id, 3, new Date(), pushBy,pushByName);
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.service.OutMaterialDetailDomainService;
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.PickingMaterialDetailPO;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
@@ -115,7 +116,9 @@ public class StockOutOrderApplicationService {
private IMaterialBaseInfoService materialBaseInfoService;
@Autowired
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 VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -330,13 +333,19 @@ public class StockOutOrderApplicationService {
public StockOutOrderPO getInfoChildren(Long outOrderId)
{
StockOutOrderPO stockOutOrderPO = stockOutOrderDomainService.getInfoChildren(outOrderId);
String userNcCode = stockOutOrderMapper.getUserNcCode(stockOutOrderPO.getShipperId());
stockOutOrderPO.setKhdm(userNcCode);
if (stockOutOrderPO == null || CollectionUtils.isEmpty(stockOutOrderPO.getMaterialDetailList())) {
return stockOutOrderPO;
}
List<OutMaterialDetailPO> detailList = stockOutOrderPO.getMaterialDetailList();
if (detailList == null || detailList.isEmpty()) {
for (OutMaterialDetailPO outMaterialDetailPO : detailList) {
outMaterialDetailPO.setKhdm(userNcCode);
}
}
stockOutOrderPO.setMaterialDetailList(detailList);
// 性能优化批量获取批次属性避免N+1查询问题
// 1. 收集所有唯一的materialBaseInfoId
Set<Long> materialBaseInfoIdSet = detailList.stream()
@@ -1515,7 +1524,7 @@ public class StockOutOrderApplicationService {
LoginUser loginUser = SecurityUtils.getLoginUser();
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 topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
@@ -1572,11 +1581,14 @@ public class StockOutOrderApplicationService {
String[] split = lotNo.split("-");
if (split.length == 2) {
item.put("lineNum", split[1]);
detail.setLineNumGw(split[1]);
} else {
item.put("lineNum", index);
detail.setLineNumGw(String.valueOf(index));
}
} else {
item.put("lineNum", index);
detail.setLineNumGw(String.valueOf(index));
}
item.put("itemNo", detail.getMaterialCode() != null ? detail.getMaterialCode().toString() : "");
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) {
BigDecimal amount = unitPrice.multiply(quantity).setScale(2, BigDecimal.ROUND_HALF_UP);
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();
if (inOrderNumber != null) {
item.put("orderINo", inOrderNumber);
detail.setInOrderNumberGw(inOrderNumber);
}
if (warehouseCode != null) {
item.put("warehouse", warehouseCode);
detail.setWarehouseGw(warehouseCode);
}
if (storageLocationCode != null) {
item.put("opWhLoc", storageLocationCode);
detail.setOpWhLocGw(storageLocationCode);
}
// billI = 入库单号
if (inOrderNumber != null) {
@@ -1626,15 +1647,19 @@ public class StockOutOrderApplicationService {
if (split.length == 2) {
item.put("orderIRow", split[1]);
item.put("billIRow", split[1]);
detail.setInLineNumGw(split[1]);
} else {
item.put("orderIRow", index);
item.put("billIRow", index);
detail.setInLineNumGw(String.valueOf(index));
}
} else {
item.put("orderIRow", index);
item.put("billIRow", index);
detail.setInLineNumGw(String.valueOf(index));
}
}
outMaterialDetailService.updateById(detail);
orderList.add(item);
index++;
}
@@ -1669,9 +1694,15 @@ public class StockOutOrderApplicationService {
log.error("保存Gwlog失败:{}",e.getMessage());
}
updatePushStatus(id, 2, new Date(), pushBy,pushByName);
String ncUrl = pickingMaterialDetailMapper.getNcUrl("gw", organizationName, organizationId);
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");
httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json");
@@ -1682,8 +1713,10 @@ public class StockOutOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity());
gwLogDTO.setResponseBody(responseString);
if (response.getStatusLine().getStatusCode() == 200) {
// 直接转Map<String, Object>
Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code==200) {
gwLogDTO.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++;
@@ -24,6 +24,7 @@ import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.domain.inMaterialDetail.repository.facade.IInMaterialDetailService;
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.todo.ReceiptMaterialDetailDO;
import com.mhd.wms.domain.receiptMaterialDetail.service.ReceiptMaterialDetailDomainService;
@@ -126,7 +127,9 @@ public class StockShelfOrderApplicationService {
private IShelfMaterialDetailService shelfMaterialDetailService;
@Autowired
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 VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
@@ -2648,11 +2651,11 @@ public class StockShelfOrderApplicationService {
LoginUser loginUser = SecurityUtils.getLoginUser();
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 topOrganizationId = loginUser != null ? loginUser.getUserPo().getTopOrganizationId() : null;
String organizationName = loginUser != null ? loginUser.getUserPo().getOrganizationName() : null;
String ncUrl = pickingMaterialDetailMapper.getNcUrl("gw", organizationName, organizationId);
int successCount = 0;
int failCount = 0;
StringBuilder failMsg = new StringBuilder();
@@ -2703,7 +2706,14 @@ public class StockShelfOrderApplicationService {
customsBodyList.add(customsParam);
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");
customsHttpPost.setEntity(customsPostingString);
customsHttpPost.setHeader("Content-type", "application/json");
@@ -2712,7 +2722,7 @@ public class StockShelfOrderApplicationService {
CloseableHttpResponse customsResponse = customsHttpClient.execute(customsHttpPost);
String customsResponseString = EntityUtils.toString(customsResponse.getEntity());
log.info("customsResponseString:{}", customsResponseString);
if (customsResponse.getStatusLine().getStatusCode() == 200) {
com.alibaba.fastjson.JSONObject customsJson = com.alibaba.fastjson.JSONObject.parseObject(customsResponseString);
com.alibaba.fastjson.JSONArray customsData = customsJson.getJSONArray("data");
@@ -2755,6 +2765,7 @@ public class StockShelfOrderApplicationService {
List<Map<String, Object>> detailItems = new ArrayList<>();
int index = 1;
for (ShelfMaterialDetailPO shelfMaterialDetail : shelfMaterialDetails) {
ShelfMaterialDetail detail = shelfMaterialDetailService.getById(shelfMaterialDetail.getMaterialDetailId());
Map<String, Object> detailItem = new HashMap<>();
//入库单号
@@ -2765,11 +2776,14 @@ public class StockShelfOrderApplicationService {
String[] split = lotNumber.split("-");
if (split.length == 2) {
detailItem.put("gNo", split[1]);
detail.setLineNumGw(split[1]);
} else {
detailItem.put("gNo", index++);
detail.setLineNumGw(String.valueOf(index++));
}
} else {
detailItem.put("gNo", index++);
detail.setLineNumGw(String.valueOf(index++));
}
MaterialBaseInfo materialBaseIn = materialBaseInfoMapper.selectById(materialBaseInfoId);
if (materialBaseIn != null) {
@@ -2783,6 +2797,7 @@ public class StockShelfOrderApplicationService {
BigDecimal totalAmount = shelvesQuantity.multiply(materialBaseIn.getUnitPrice());
//申报总价
detailItem.put("dclTotalAmt", totalAmount);
detail.setAmountGw(totalAmount);
}
//申报数量
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()));
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());
@@ -2814,6 +2833,7 @@ public class StockShelfOrderApplicationService {
//库位
detailItem.put("seatNo", shelfMaterialDetail.getStorageLocationCode());
detailItems.add(detailItem);
shelfMaterialDetailService.updateById(detail); // Fixed method call
}
item.put("qnBillList", detailItems);
List<Map<String,Object>> bodyList = new ArrayList<>();
@@ -2848,7 +2868,13 @@ public class StockShelfOrderApplicationService {
updatePushStatus(id, 2, new Date(), pushBy,pushByName);
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");
httpPost.setEntity(postingString);
httpPost.setHeader("Content-type", "application/json");
@@ -2859,8 +2885,10 @@ public class StockShelfOrderApplicationService {
CloseableHttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity());
gwLogDTO.setResponseBody(responseString);
if (response.getStatusLine().getStatusCode() == 200) {
// 直接转Map<String, Object>
Map<String, Object> map = JSON.parseObject(responseString);
Integer code = (Integer) map.get("code");
if (response.getStatusLine().getStatusCode() == 200&&code == 200) {
gwLogDTO.setStatus(2);
updatePushStatus(id, 3, new Date(), pushBy,pushByName);
successCount++;
@@ -398,4 +398,20 @@ public class InMaterialDetail extends BaseVOEntity {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
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")
@DateTimeFormat(pattern="yyyy-MM-dd")
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")
@DateTimeFormat(pattern="yyyy-MM-dd")
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("抄码总重量")
@Excel(name = "抄码总重量")
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("重量列表(抄码商品使用)")
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")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
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("入库单号")
@Excel(name = "入库单号")
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("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")
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("入库单号")
@Excel(name = "入库单号")
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("规格型号")
@Excel(name = "规格型号")
private String specificationModel;
@ApiModelProperty("货物类型 0-物料 1-半成品 2-成品")
private Integer goodsType;
}
@@ -213,10 +213,19 @@ public class PickingOrderDO extends BaseVOEntity {
@ApiModelProperty(value = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart;
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 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;
@ApiModelProperty("累计已上架净重(KG),与 totalNetWeight 同口径累加本次净重")
@TableField("total_net_weight")
// update会报错注释
@TableField(value = "total_net_weight", exist = false)
private BigDecimal alreadyShelvesNetWeight;
@ApiModelProperty("总毛重(KG)")
@@ -328,7 +329,7 @@ public class ShelfMaterialDetail extends BaseVOEntity {
private BigDecimal totalGrossWeight;
@ApiModelProperty("累计已上架毛重(KG),与 totalGrossWeight 同口径累加本次毛重")
@TableField("total_gross_weight")
@TableField(value = "total_gross_weight", exist = false)
private BigDecimal alreadyShelvesGrossWeight;
@ApiModelProperty("总体积(CBM)")
@@ -336,7 +337,7 @@ public class ShelfMaterialDetail extends BaseVOEntity {
private BigDecimal totalVolume;
@ApiModelProperty("累计已上架体积(CBM),与 totalVolume 同口径累加本次体积")
@TableField("total_volume")
@TableField(value = "total_volume", exist = false)
private BigDecimal alreadyShelvesVolume;
@ApiModelProperty("总面积(SQM)")
@@ -352,7 +353,7 @@ public class ShelfMaterialDetail extends BaseVOEntity {
private String lotNumber;
@ApiModelProperty("累计已上架面积(SQM),与 totalArea 同口径累加本次面积")
@TableField("total_area")
@TableField(value = "total_area", exist = false)
private BigDecimal alreadyShelvesArea;
@ApiModelProperty("抄码托盘号")
@@ -377,4 +378,18 @@ public class ShelfMaterialDetail extends BaseVOEntity {
@ApiModelProperty("批次号")
@Excel(name = "批次号")
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("单价")
@Excel(name = "单价")
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("批次号")
@Excel(name = "批次号")
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("推送人姓名")
private String pushByName;
private String khdm;
}
@@ -410,4 +410,22 @@ public class StockInOrderDO extends BaseVOEntity {
@ApiModelProperty("推送人姓名")
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("推送人姓名")
private String pushByName;
private String khdm;
}
@@ -471,4 +471,22 @@ public class StockOutOrderDO extends BaseVOEntity {
@ApiModelProperty("推送人姓名")
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 = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart;
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 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")
@DateTimeFormat(pattern="yyyy-MM-dd")
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")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
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")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
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 = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart;
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 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("批次号")
@Excel(name = "批次号")
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("推送人姓名")
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("推送人姓名")
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 = "推送时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pushTimeStart;
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 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:
discovery:
# 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
password: manhuoda@2023
#线上正式环境
# server-addr: 10.102.192.105:6848
config:
# 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
password: manhuoda@2023
#线上正式环境
@@ -96,6 +96,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="stockQuantity" column="stock_quantity" />
<result property="copyTotalWeight" column="COPY_TOTAL_WEIGHT" />
<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>
@@ -149,7 +157,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.EXT_ATTR_4,
a.COPY_TOTAL_WEIGHT,
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 id="selectMaterialDetailPo1">
@@ -89,6 +89,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="singleGrossWeight" column="single_gross_weight" />
<result property="lotNo" column="lot_no" />
<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>
@@ -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.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.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.OMS_IN_MATERIAL_DETAIL
,CASE
@@ -66,6 +66,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="pickedCopyCodeReferenceIds" column="picked_copy_code_reference_ids" />
<result property="lotNo" column="lot_no" />
<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>
@@ -84,7 +99,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.COPY_CODE_REFERENCE_IDS,
a.picked_copy_code_reference_ids,
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 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}
WHERE pmd.out_unique_id = #{outUniqueId} AND pmd.del_flag = 1
</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>
@@ -37,6 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="pushTime" column="push_time" />
<result property="pushBy" column="push_by" />
<result property="pushByName" column="push_by_name" />
<result property="goodsType" column="goods_type" />
</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,
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.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 id="selectPickingOrderPo1">
@@ -117,11 +122,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="needDeclareFlag != null and needDeclareFlag != ''">
and b.need_declare_flag = #{needDeclareFlag}
</if>
<if test="pushTimeStart != null">
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart}
<if test="pushTimeFrom != null">
and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if>
<if test="pushTimeEnd != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd}
<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}
@@ -77,6 +77,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="copyDetails" column="copy_details" />
<result property="alreadyShelvesArea" column="total_area" />
<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>
@@ -85,7 +92,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
CASE
WHEN pack_detail_id IS NULL OR TRIM(pack_detail_id) = '' THEN NULL
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 id="selectShelfMaterialDetailPo1">
@@ -418,6 +418,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTimeEnd != null and createTimeEnd != ''">
and date_format(a.create_time,'%Y-%m-%d') &lt;= #{createTimeEnd}
</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 避免明细冗余名称与主档不一致时筛不到 -->
<if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')">
and exists (
@@ -312,6 +312,21 @@
<if test="auditTimeEnd != null and auditTimeEnd != ''">
and date_format(a.audit_time,'%Y-%m-%d') &lt;= #{auditTimeEnd}
</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 避免明细冗余名称与主档不一致时筛不到 -->
<if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')">
and exists (
@@ -110,11 +110,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTimeEnd != null and createTimeEnd != ''">
and date_format(a.create_time,'%Y-%m-%d') &lt;= #{createTimeEnd}
</if>
<if test="pushTimeStart != null">
and PUSH_TIME <![CDATA[>=]]> #{pushTimeStart}
<if test="createTimeFrom != null">
and a.create_time <![CDATA[>=]]> #{createTimeFrom}
</if>
<if test="pushTimeEnd != null">
and PUSH_TIME <![CDATA[<=]]> #{pushTimeEnd}
<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}

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