Browse Source

[fix]

委外加工 委外订单
修改委外订单类、详情类添加注释;
修改查询委外订单详情controller接口,合并相同供应商ID数据,金额加和;
修改根据委外订单详情子表数据生成应付账款记录service方法,补充字段;
dev
王晓迪 1 month ago
parent
commit
2e90b0b818
  1. 20
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java
  2. 2
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceOrder.java
  3. 2
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceOrderDetail.java
  4. 24
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java
  5. 21
      ruoyi-admin/src/main/resources/templates/system/outsource_order/outsource_order.html

20
ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java

@ -1,5 +1,6 @@
package com.ruoyi.system.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -95,7 +96,7 @@ public class OutsourceOrderController extends BaseController
return prefix + "/detail";
}
/**
* 查询委外计划详情
* 查询委外订单详情
*/
@GetMapping("/sublist")
@ResponseBody
@ -103,10 +104,21 @@ public class OutsourceOrderController extends BaseController
{
OutsourceOrderVO outsourceOrderVO = outsourceOrderService.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId);
List<OutsourceOrderDetail> list = outsourceOrderVO.getOutsourceOrderDetailList();
Map<Integer, Long> processTypeCounts = list.stream()
.collect(Collectors.groupingBy(OutsourceOrderDetail::getOutsourceProcessType, Collectors.counting()));
return getDataTable(list);
Map<String, OutsourceOrderDetail> merged = list.stream()
.collect(Collectors.toMap(
OutsourceOrderDetail::getSupplierCode,
detail -> detail,
(existing, replacement) -> {
// existing.setOutsourceProcessAmount(existing.getProcessCount() + replacement.getProcessCount());
existing.setRmbSum(existing.getRmbSum().add(replacement.getRmbSum()));
existing.setNoRmbSum(existing.getNoRmbSum().add(replacement.getNoRmbSum()));
existing.setActualOutsourceAmount(existing.getActualOutsourceAmount() + replacement.getActualOutsourceAmount());
return existing;
}
));
List<OutsourceOrderDetail> resultList = new ArrayList<>(merged.values());
return getDataTable(resultList);
}
/**
* 导出委外订单列表

2
ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceOrder.java

@ -71,7 +71,7 @@ public class OutsourceOrder extends BaseEntity
@Excel(name = "入库状态")
private String warehouseStatus;
/** 结案状态 */
/** 结案状态(0待打款1部分打款2全部打款3待结案4已结案) */
@Excel(name = "结案状态")
private String closedStatus;

2
ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceOrderDetail.java

@ -74,7 +74,7 @@ public class OutsourceOrderDetail extends BaseEntity
@Excel(name = "结案状态")
private String closedStatus;
/** 打款状态 */
/** 打款状态 (0待打款1部分打款2全部打款3待结案4已结案)*/
@Excel(name = "打款状态")
private String remitStatus;

24
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java

@ -1,6 +1,8 @@
package com.ruoyi.system.service.impl;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import com.github.pagehelper.Page;
import com.ruoyi.common.core.domain.entity.SysUser;
@ -495,19 +497,35 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
throw new BusinessException("委外订单详情为空!");
}
int rows = 0;
for (OutsourceOrderDetail detail : orderDetails) {
Map<String, OutsourceOrderDetail> merged = orderDetails.stream()
.collect(Collectors.toMap(
OutsourceOrderDetail::getSupplierCode,
detail -> detail,
(existing, replacement) -> {
existing.setRmbSum(existing.getRmbSum().add(replacement.getRmbSum()));
existing.setNoRmbSum(existing.getNoRmbSum().add(replacement.getNoRmbSum()));
existing.setActualOutsourceAmount(existing.getActualOutsourceAmount() + replacement.getActualOutsourceAmount());
return existing;
}
));
List<OutsourceOrderDetail> resultList = new ArrayList<>(merged.values());
for (OutsourceOrderDetail detail : resultList) {
FinancialAccountsPayable financialPayable = new FinancialAccountsPayable();
financialPayable.setAccountsPayableCode(redisCache.generateBillNo("YF"));
financialPayable.setAccountsPayableStatus("0");
financialPayable.setStorageStatus("0");
financialPayable.setRelevanceCode(detail.getOutsourceOrderNo());
financialPayable.setPriceIncludesTax(detail.getRmbSum());
financialPayable.setPriceExcludingTax(detail.getNoRmbSum());
financialPayable.setActualPaidPrice(BigDecimal.ZERO);
financialPayable.setUnpaidPrice(detail.getRmbSum());
financialPayable.setCurrencyType("1");
financialPayable.setSupplierCode(detail.getSupplierCode());
financialPayable.setSupplierName(detail.getSupplierName());
SysSupplier supplier = supplierMapper.selectSysSupplierByCode(detail.getSupplierCode());
financialPayable.setOpenAccount(supplier.getBankAccount());
financialPayable.setOpenBank(supplier.getDepositBank());
financialPayable.setPriceExcludingTax(detail.getRmbSum());
financialPayable.setPriceExcludingTax(detail.getNoRmbSum());
financialPayable.setPaymentCondition(supplier.getPaymentTerms());
financialPayable.setPurchaseBuyer(outsourceOrder.getOutsourceStaff());
financialPayable.setCreateBy(ShiroUtils.getLoginName());
financialPayable.setCreateTime(DateUtils.getNowDate());

21
ruoyi-admin/src/main/resources/templates/system/outsource_order/outsource_order.html

@ -181,6 +181,7 @@
},
{
field: 'applyUserName',
align: 'center',
title: '<span style="color: red;">申请人</span>',
formatter: function(value, row, index) {
return '<span style="color: red;">' + (value ? value : "-") + '</span>';
@ -188,6 +189,7 @@
},
{
field: 'applyTime',
align: 'center',
title: '申请时间'
},
{
@ -217,12 +219,14 @@
field: 'useStatus',
title: '使用状态',
// visible: false,
align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(useStatusDatas, value);
}
},
{
field: 'receiveStatus',
align: 'center',
title: '收货状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(receiveStatusDatas, value);
@ -238,6 +242,7 @@
},
{
field: 'closedStatus',
align: 'center',
title: '结案状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(closedStatusDatas, value);
@ -245,42 +250,52 @@
},
{
field: 'outsourceOrderNo',
align: 'center',
title: '委外订单编号'
},
{
field: 'outsourceStaff',
align: 'center',
title: '委外员'
},
{
field: 'materialAmount',
align: 'center',
title: '物料合计'
},
{
field: 'outsourceMaterialAmount',
align: 'center',
title: '数量合计'
},
{
field: 'outsourceProcessType',
align: 'center',
title: '委外工序种类'
},
{
field: 'outsourceProcessAmount',
align: 'center',
title: '委外工序合计'
},
{
field: 'outsourceTotalPrice',
align: 'center',
title: '含税委外总价'
},
{
field: 'outsourceNoPrice',
align: 'center',
title: '不含税委外总价'
},
{
field: 'createTime',
align: 'center',
title: '录入时间'
},
{
field: 'updateTime',
align: 'center',
title: '上次更新时间'
},
{
@ -359,6 +374,7 @@
},
{
field : 'actualOutsourceAmount',
align: 'center',
title : '数量合计'
},
// {
@ -371,17 +387,20 @@
// },
{
field : 'rmbSum',
align: 'center',
title : '不含税委外总价'
},
{
field : 'noRmbSum',
align: 'center',
title : '含税委外总价'
},
{
field: 'remitStatus',
align: 'center',
title: '打款状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(remitStatusDatas, value);
return $.table.selectDictLabel(closedStatusDatas, value);
}
},
{

Loading…
Cancel
Save