Browse Source

[feat] 销售管理

修改 销售出货通知单导出模板实体类 新增 销售单号、生产订单号、客户订单号、物料名称、物料型号、铭牌logo、备注、追踪码字段
生产订单新增 根据销售单号集合查询生产订单集合方法
修改销售出货通知 导出出货通知单模板方法:根据万材调整按照以下关系导出数据 存储的每一条数据为,一个销售单号,一个生产单号,一个客户订单号,一个物料名称,一个物料型号。但是一个销售单号,一个生产单号,一个客户订单号他们是一一对应的,一个销售单号对应多条物料
按照万材调整,修改出货通知.xlsx文件
dev
liuxiaoxu 3 months ago
parent
commit
ce97323683
  1. 23
      ruoyi-admin/src/main/java/com/ruoyi/system/dto/ExportShippingInformOrderDto.java
  2. 5
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysMakeOrderMapper.java
  3. 48
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java
  4. 8
      ruoyi-admin/src/main/resources/mapper/system/SysMakeOrderMapper.xml
  5. BIN
      ruoyi-admin/src/main/resources/static/attachments/出货通知单.xlsx

23
ruoyi-admin/src/main/java/com/ruoyi/system/dto/ExportShippingInformOrderDto.java

@ -9,9 +9,30 @@ import lombok.Data;
public class ExportShippingInformOrderDto {
/** 销售单号*/
private String salesOrderCode;
/** 生产订单号*/
private String makeNo;
/** 客户订单号*/
private String customerOrderCode;
/** 物料名称*/
private String materialName;
private String deviceModelCode;
/** 物料型号*/
private String materialModel;
/** 物料数量*/
private Integer materialNum;
/** 铭牌logo*/
private String logo;
/** 备注*/
private String remark;
/** 追踪码*/
private String trackingCode;
}

5
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysMakeOrderMapper.java

@ -130,4 +130,9 @@ public interface SysMakeOrderMapper
* */
List<SysMakeOrder> selectMakeOrderByMakeNoList(List<String> makeNos);
/**
* 根据销售单号集合查询生产订单集合
* */
List<SysMakeOrder> selectMakeOrderListBySalesOrderCodes(List<String> salesOrderCode);
}

48
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java

@ -1119,6 +1119,8 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor
public void exportShippingInformOrder(String outOrderCode, HttpServletResponse response) {
String fileName = "出货通知单.xlsx";
//出货单号:CTD年月日+001三位数流水号
String shippingInformOrderCode = redisCache.generateBillNo("CTD");
try {
String fileAbsolutePath = FileDownloadUtils.getFileAbsolutePath(fileName);
@ -1135,21 +1137,52 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor
insertShippingInformation(outOrderCode,shippingInformationType,shippingTemplateType,sysSalesShippingInform);
String salesOrderCode = sysSalesShippingInform.getSalesOrderCode();
SysMakeOrder sysMakeOrder = sysMakeOrderMapper.selectMakeOrderBySaleNo(salesOrderCode);
List<String> salesOrderCodes = new ArrayList<>();
if (StringUtils.isNotEmpty(salesOrderCode)){
String[] splitSalesOrderCode = salesOrderCode.split(",");
salesOrderCodes = Arrays.asList(splitSalesOrderCode);
}
//生产订主表的数据
List<SysMakeOrder> sysMakeOrders = sysMakeOrderMapper.selectMakeOrderListBySalesOrderCodes(salesOrderCodes);
//获取销售订单的明细
List<SysSalesOrderChild> sysSalesOrderChildren = salesOrderChildMapper.selectBatchOrderChildListBySalesOrderCode(salesOrderCodes);
String realFileName = sysSalesShippingInform.getSalesOrderCode() +"-"+ fileName.substring(0, fileName.lastIndexOf("."))+ ".xlsx";
// 设置响应头,指定文件名和文件类型
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(realFileName, "UTF-8"));
response.setContentType("application/octet-stream");
List<AfterSalesShippingDevice> salesShippingDeviceList = salesShippingDeviceMapper.selectShippingDeviceBySalesOrderCode(salesOrderCode);
Map<String, SysMakeOrder> makeOrderMap = new HashMap<>();
for (SysMakeOrder sysMakeOrder : sysMakeOrders) {
makeOrderMap.put(sysMakeOrder.getSaleNo(),sysMakeOrder);
}
ArrayList<ExportShippingInformOrderDto> shippingInformOrderDtos = new ArrayList<>();
for (AfterSalesShippingDevice afterSalesShippingDevice : salesShippingDeviceList) {
for (SysSalesOrderChild sysSalesOrderChild : sysSalesOrderChildren) {
ExportShippingInformOrderDto shippingInformOrderDto = new ExportShippingInformOrderDto();
shippingInformOrderDto.setDeviceModelCode(afterSalesShippingDevice.getDeviceModelCode());
shippingInformOrderDto.setMaterialName(afterSalesShippingDevice.getMaterialName());
SysMakeOrder sysMakeOrder = makeOrderMap.get(sysSalesOrderChild.getQuoteId());
shippingInformOrderDto.setCustomerOrderCode(sysMakeOrder.getCustomerOderCode());
shippingInformOrderDto.setMakeNo(sysMakeOrder.getMakeNo());
shippingInformOrderDto.setSalesOrderCode(sysMakeOrder.getSaleNo());
shippingInformOrderDto.setMaterialName(sysSalesOrderChild.getMaterialName());
shippingInformOrderDto.setMaterialModel(sysSalesOrderChild.getMaterialModel());
shippingInformOrderDto.setMaterialNum(sysSalesOrderChild.getMaterialNum());
shippingInformOrderDto.setLogo(null);
shippingInformOrderDto.setRemark(null);
shippingInformOrderDto.setTrackingCode(null);
shippingInformOrderDtos.add(shippingInformOrderDto);
}
@ -1158,12 +1191,9 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String shippingDate = dateFormat.format(new Date());
map.put("makeNo",sysMakeOrder.getMakeNo());
map.put("salesOrderNumber",sysSalesShippingInform.getSalesOrderNumber());
map.put("customerContactAddress",sysSalesShippingInform.getCustomerContactAddress());
map.put("shippingInformOrderCode",shippingInformOrderCode);
map.put("shippingDate",shippingDate);
map.put("customerName",sysSalesShippingInform.getCustomerName());
map.put("businessMembers",sysSalesShippingInform.getBusinessMembers());
ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build();
WriteSheet sheet = EasyExcel.writerSheet().build();

8
ruoyi-admin/src/main/resources/mapper/system/SysMakeOrderMapper.xml

@ -302,4 +302,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE wso.warehouse_storage_code = #{warehouseStorageCode}
</select>
<select id="selectMakeOrderListBySalesOrderCodes" parameterType="String" resultMap="SysMakeOrderResult">
<include refid="selectSysMakeOrderVo"/>
where a.saleNo in
<foreach item="saleNo" collection="list" open="(" separator="," close=")">
#{saleNo}
</foreach>
</select>
</mapper>

BIN
ruoyi-admin/src/main/resources/static/attachments/出货通知单.xlsx

Binary file not shown.
Loading…
Cancel
Save