|
@ -1075,51 +1075,83 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor |
|
|
insertShippingInformation(outOrderCode,shippingInformationType,shippingTemplateType,sysSalesShippingInform); |
|
|
insertShippingInformation(outOrderCode,shippingInformationType,shippingTemplateType,sysSalesShippingInform); |
|
|
|
|
|
|
|
|
String salesOrderCode = sysSalesShippingInform.getSalesOrderCode(); |
|
|
String salesOrderCode = sysSalesShippingInform.getSalesOrderCode(); |
|
|
SysMakeOrder sysMakeOrder = sysMakeOrderMapper.selectMakeOrderBySaleNo(salesOrderCode); |
|
|
|
|
|
|
|
|
|
|
|
List<SysSalesOrderChild> sysSalesOrderChildren = salesOrderChildMapper.selectOrderChildListBySalesOrderCode(salesOrderCode); |
|
|
List<String> salesOrderCodes = new ArrayList<>(); |
|
|
|
|
|
|
|
|
String makeNo = sysMakeOrder.getMakeNo(); |
|
|
if (StringUtils.isNotEmpty(salesOrderCode)){ |
|
|
if (!StringUtils.isEmpty(makeNo)){ |
|
|
String[] splitSalesOrderCode = salesOrderCode.split(","); |
|
|
List<AfterSalesShippingDevice> afterSalesShippingDevices = salesShippingDeviceMapper.selectShippingDeviceByMakeNo(makeNo); |
|
|
salesOrderCodes = Arrays.asList(splitSalesOrderCode); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
//生产订主表的数据
|
|
|
map.put("customerContact",sysSalesShippingInform.getCustomerContact()); |
|
|
List<SysMakeOrder> sysMakeOrders = sysMakeOrderMapper.selectMakeOrderListBySalesOrderCodes(salesOrderCodes); |
|
|
map.put("customerContactAddress",sysSalesShippingInform.getCustomerContactAddress()); |
|
|
|
|
|
map.put("customerContactBillto",sysSalesShippingInform.getCustomerContactBillto()); |
|
|
|
|
|
map.put("contactAddressBillto",sysSalesShippingInform.getContactAddressBillto()); |
|
|
//销售订单主表的数据
|
|
|
|
|
|
List<SysSalesOrder> sysSalesOrders = sysSalesOrderMapper.selectSysSalesOrderListByCodeList(salesOrderCodes); |
|
|
|
|
|
|
|
|
|
|
|
//获取销售订单的明细
|
|
|
|
|
|
List<SysSalesOrderChild> sysSalesOrderChildren = salesOrderChildMapper.selectBatchOrderChildListBySalesOrderCode(salesOrderCodes); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, SysMakeOrder> makeOrderMap = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
for (SysMakeOrder sysMakeOrder : sysMakeOrders) { |
|
|
|
|
|
makeOrderMap.put(sysMakeOrder.getSaleNo(),sysMakeOrder); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Map<String, SysSalesOrder> salesOrderMap = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
for (SysSalesOrder sysSalesOrder : sysSalesOrders) { |
|
|
|
|
|
salesOrderMap.put(sysSalesOrder.getSalesOrderCode(),sysSalesOrder); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ArrayList<ExportShippingInvoiceDto> exportShippingInvoiceDtos = new ArrayList<>(); |
|
|
ArrayList<ExportShippingInvoiceDto> exportShippingInvoiceDtos = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AtomicInteger index = new AtomicInteger(1); |
|
|
AtomicInteger index = new AtomicInteger(1); |
|
|
|
|
|
|
|
|
for (SysSalesOrderChild sysSalesOrderChild : sysSalesOrderChildren) { |
|
|
for (SysSalesOrderChild sysSalesOrderChild : sysSalesOrderChildren) { |
|
|
ExportShippingInvoiceDto exportShippingInvoiceDto = new ExportShippingInvoiceDto(); |
|
|
ExportShippingInvoiceDto exportShippingInvoiceDto = new ExportShippingInvoiceDto(); |
|
|
|
|
|
SysMakeOrder sysMakeOrder = makeOrderMap.get(sysSalesOrderChild.getQuoteId()); |
|
|
|
|
|
SysSalesOrder sysSalesOrder = salesOrderMap.get(sysSalesOrderChild.getQuoteId()); |
|
|
|
|
|
|
|
|
exportShippingInvoiceDto.setIndex(index.getAndIncrement()); |
|
|
exportShippingInvoiceDto.setIndex(index.getAndIncrement()); |
|
|
|
|
|
exportShippingInvoiceDto.setMaterialModel(sysSalesOrderChild.getMaterialModel()); |
|
|
exportShippingInvoiceDto.setMaterialName(sysSalesOrderChild.getMaterialName()); |
|
|
exportShippingInvoiceDto.setMaterialName(sysSalesOrderChild.getMaterialName()); |
|
|
exportShippingInvoiceDto.setMaterialNum(1); |
|
|
exportShippingInvoiceDto.setMaterialNum(sysSalesOrderChild.getMaterialNum()); |
|
|
|
|
|
exportShippingInvoiceDto.setMakeNo(sysMakeOrder.getMakeNo()); |
|
|
|
|
|
|
|
|
if (sysSalesOrderChild.getMaterialUsd() != null) { |
|
|
if ("1".equals(sysSalesOrder.getCommonCurrency())){ |
|
|
exportShippingInvoiceDto.setMaterialUsd(new BigDecimal(sysSalesOrderChild.getMaterialUsd())); |
|
|
|
|
|
} else { |
|
|
String materialNoRmb = sysSalesOrderChild.getMaterialNoRmb().toString(); |
|
|
// 如果 materialUsd 为 null,可以设置为默认值或者保持不变
|
|
|
String materialNoRmbSum = sysSalesOrderChild.getMaterialNoRmbSum().toString(); |
|
|
exportShippingInvoiceDto.setMaterialUsd(BigDecimal.ZERO); // 示例: 设置为0
|
|
|
exportShippingInvoiceDto.setMaterialAmount(materialNoRmb + "RMB"); |
|
|
} |
|
|
exportShippingInvoiceDto.setMaterialAmountSum(materialNoRmbSum + "RMB"); |
|
|
|
|
|
|
|
|
if (sysSalesOrderChild.getMaterialUsdSum() != null) { |
|
|
|
|
|
exportShippingInvoiceDto.setMaterialUsdSum(new BigDecimal(sysSalesOrderChild.getMaterialUsdSum())); |
|
|
|
|
|
} else { |
|
|
} else { |
|
|
// 如果 materialUsdSum 为 null,可以设置为默认值或者保持不变
|
|
|
|
|
|
exportShippingInvoiceDto.setMaterialUsdSum(BigDecimal.ZERO); // 示例: 设置为0
|
|
|
String materialNoUsd = sysSalesOrderChild.getMaterialNoUsd().toString(); |
|
|
|
|
|
String materialNoUsdSum = sysSalesOrderChild.getMaterialNoUsdSum().toString(); |
|
|
|
|
|
exportShippingInvoiceDto.setMaterialAmount(materialNoUsd + "USD"); |
|
|
|
|
|
exportShippingInvoiceDto.setMaterialAmountSum(materialNoUsdSum + "USD"); |
|
|
} |
|
|
} |
|
|
exportShippingInvoiceDto.setMakeNo(makeNo); |
|
|
|
|
|
// to do 缺少物料型号
|
|
|
|
|
|
exportShippingInvoiceDtos.add(exportShippingInvoiceDto); |
|
|
exportShippingInvoiceDtos.add(exportShippingInvoiceDto); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
|
map.put("customerContact",sysSalesShippingInform.getCustomerContact()); |
|
|
|
|
|
map.put("customerContactAddress",sysSalesShippingInform.getCustomerContactAddress()); |
|
|
|
|
|
map.put("customerContactBillto",sysSalesShippingInform.getCustomerContactBillto()); |
|
|
|
|
|
map.put("contactAddressBillto",sysSalesShippingInform.getContactAddressBillto()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build(); |
|
|
ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build(); |
|
|
WriteSheet sheet = EasyExcel.writerSheet().build(); |
|
|
WriteSheet sheet = EasyExcel.writerSheet().build(); |
|
|
FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); |
|
|
FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); |
|
@ -1163,50 +1195,79 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor |
|
|
insertShippingInformation(outOrderCode,shippingInformationType,shippingTemplateType,sysSalesShippingInform); |
|
|
insertShippingInformation(outOrderCode,shippingInformationType,shippingTemplateType,sysSalesShippingInform); |
|
|
|
|
|
|
|
|
String salesOrderCode = sysSalesShippingInform.getSalesOrderCode(); |
|
|
String salesOrderCode = sysSalesShippingInform.getSalesOrderCode(); |
|
|
SysMakeOrder sysMakeOrder = sysMakeOrderMapper.selectMakeOrderBySaleNo(salesOrderCode); |
|
|
|
|
|
|
|
|
|
|
|
List<SysSalesOrderChild> sysSalesOrderChildren = salesOrderChildMapper.selectOrderChildListBySalesOrderCode(salesOrderCode); |
|
|
List<String> salesOrderCodes = new ArrayList<>(); |
|
|
|
|
|
|
|
|
String makeNo = sysMakeOrder.getMakeNo(); |
|
|
if (StringUtils.isNotEmpty(salesOrderCode)){ |
|
|
if (!StringUtils.isEmpty(makeNo)){ |
|
|
String[] splitSalesOrderCode = salesOrderCode.split(","); |
|
|
List<AfterSalesShippingDevice> afterSalesShippingDevices = salesShippingDeviceMapper.selectShippingDeviceByMakeNo(makeNo); |
|
|
salesOrderCodes = Arrays.asList(splitSalesOrderCode); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
//生产订主表的数据
|
|
|
map.put("customerContact",sysSalesShippingInform.getCustomerContact()); |
|
|
List<SysMakeOrder> sysMakeOrders = sysMakeOrderMapper.selectMakeOrderListBySalesOrderCodes(salesOrderCodes); |
|
|
map.put("customerContactAddress",sysSalesShippingInform.getCustomerContactAddress()); |
|
|
|
|
|
map.put("customerContactBillto",sysSalesShippingInform.getCustomerContactBillto()); |
|
|
|
|
|
map.put("contactAddressBillto",sysSalesShippingInform.getContactAddressBillto()); |
|
|
//销售订单主表的数据
|
|
|
|
|
|
List<SysSalesOrder> sysSalesOrders = sysSalesOrderMapper.selectSysSalesOrderListByCodeList(salesOrderCodes); |
|
|
|
|
|
|
|
|
|
|
|
//获取销售订单的明细
|
|
|
|
|
|
List<SysSalesOrderChild> sysSalesOrderChildren = salesOrderChildMapper.selectBatchOrderChildListBySalesOrderCode(salesOrderCodes); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, SysMakeOrder> makeOrderMap = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
for (SysMakeOrder sysMakeOrder : sysMakeOrders) { |
|
|
|
|
|
makeOrderMap.put(sysMakeOrder.getSaleNo(),sysMakeOrder); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Map<String, SysSalesOrder> salesOrderMap = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
for (SysSalesOrder sysSalesOrder : sysSalesOrders) { |
|
|
|
|
|
salesOrderMap.put(sysSalesOrder.getSalesOrderCode(),sysSalesOrder); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ArrayList<ExportShippingInvoiceDto> exportShippingInvoiceDtos = new ArrayList<>(); |
|
|
ArrayList<ExportShippingInvoiceDto> exportShippingInvoiceDtos = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AtomicInteger index = new AtomicInteger(1); |
|
|
AtomicInteger index = new AtomicInteger(1); |
|
|
|
|
|
|
|
|
for (SysSalesOrderChild sysSalesOrderChild : sysSalesOrderChildren) { |
|
|
for (SysSalesOrderChild sysSalesOrderChild : sysSalesOrderChildren) { |
|
|
ExportShippingInvoiceDto exportShippingInvoiceDto = new ExportShippingInvoiceDto(); |
|
|
ExportShippingInvoiceDto exportShippingInvoiceDto = new ExportShippingInvoiceDto(); |
|
|
|
|
|
SysMakeOrder sysMakeOrder = makeOrderMap.get(sysSalesOrderChild.getQuoteId()); |
|
|
|
|
|
SysSalesOrder sysSalesOrder = salesOrderMap.get(sysSalesOrderChild.getQuoteId()); |
|
|
|
|
|
|
|
|
exportShippingInvoiceDto.setIndex(index.getAndIncrement()); |
|
|
exportShippingInvoiceDto.setIndex(index.getAndIncrement()); |
|
|
|
|
|
exportShippingInvoiceDto.setMaterialModel(sysSalesOrderChild.getMaterialModel()); |
|
|
exportShippingInvoiceDto.setMaterialName(sysSalesOrderChild.getMaterialName()); |
|
|
exportShippingInvoiceDto.setMaterialName(sysSalesOrderChild.getMaterialName()); |
|
|
exportShippingInvoiceDto.setMaterialNum(1); |
|
|
exportShippingInvoiceDto.setMaterialNum(sysSalesOrderChild.getMaterialNum()); |
|
|
|
|
|
exportShippingInvoiceDto.setMakeNo(sysMakeOrder.getMakeNo()); |
|
|
|
|
|
|
|
|
if (sysSalesOrderChild.getMaterialUsd() != null) { |
|
|
if ("1".equals(sysSalesOrder.getCommonCurrency())){ |
|
|
exportShippingInvoiceDto.setMaterialUsd(new BigDecimal(sysSalesOrderChild.getMaterialUsd())); |
|
|
|
|
|
} else { |
|
|
String materialNoRmb = sysSalesOrderChild.getMaterialNoRmb().toString(); |
|
|
// 如果 materialUsd 为 null,可以设置为默认值或者保持不变
|
|
|
String materialNoRmbSum = sysSalesOrderChild.getMaterialNoRmbSum().toString(); |
|
|
exportShippingInvoiceDto.setMaterialUsd(BigDecimal.ZERO); // 示例: 设置为0
|
|
|
exportShippingInvoiceDto.setMaterialAmount(materialNoRmb + "RMB"); |
|
|
} |
|
|
exportShippingInvoiceDto.setMaterialAmountSum(materialNoRmbSum + "RMB"); |
|
|
|
|
|
|
|
|
if (sysSalesOrderChild.getMaterialUsdSum() != null) { |
|
|
|
|
|
exportShippingInvoiceDto.setMaterialUsdSum(new BigDecimal(sysSalesOrderChild.getMaterialUsdSum())); |
|
|
|
|
|
} else { |
|
|
} else { |
|
|
// 如果 materialUsdSum 为 null,可以设置为默认值或者保持不变
|
|
|
|
|
|
exportShippingInvoiceDto.setMaterialUsdSum(BigDecimal.ZERO); // 示例: 设置为0
|
|
|
String materialNoUsd = sysSalesOrderChild.getMaterialNoUsd().toString(); |
|
|
|
|
|
String materialNoUsdSum = sysSalesOrderChild.getMaterialNoUsdSum().toString(); |
|
|
|
|
|
exportShippingInvoiceDto.setMaterialAmount(materialNoUsd + "USD"); |
|
|
|
|
|
exportShippingInvoiceDto.setMaterialAmountSum(materialNoUsdSum + "USD"); |
|
|
} |
|
|
} |
|
|
exportShippingInvoiceDto.setMakeNo(makeNo); |
|
|
|
|
|
// to do 缺少物料型号
|
|
|
|
|
|
exportShippingInvoiceDtos.add(exportShippingInvoiceDto); |
|
|
exportShippingInvoiceDtos.add(exportShippingInvoiceDto); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
|
map.put("customerContact",sysSalesShippingInform.getCustomerContact()); |
|
|
|
|
|
map.put("customerContactAddress",sysSalesShippingInform.getCustomerContactAddress()); |
|
|
|
|
|
map.put("customerContactBillto",sysSalesShippingInform.getCustomerContactBillto()); |
|
|
|
|
|
map.put("contactAddressBillto",sysSalesShippingInform.getContactAddressBillto()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build(); |
|
|
ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build(); |
|
|
WriteSheet sheet = EasyExcel.writerSheet().build(); |
|
|
WriteSheet sheet = EasyExcel.writerSheet().build(); |
|
|