历史订单导出,表格中明细一栏把内容分开,便于统计, 如下图,明细分成:类别、处置费和中转运营费三列,其中中转运营费仅为数字,便于统计
parent
ff2c600ae7
commit
14ae1d0e39
|
|
@ -15,6 +15,7 @@ public enum ExpenseItemCategory implements DictStr {
|
||||||
ChanPin("ChanPin", "产品"),
|
ChanPin("ChanPin", "产品"),
|
||||||
QingYunFuWuFei("QingYunFuWuFei", "清运服务费"),
|
QingYunFuWuFei("QingYunFuWuFei", "清运服务费"),
|
||||||
YunFei("YunFei", "运费"),
|
YunFei("YunFei", "运费"),
|
||||||
|
ZhongZhuanYunYingFei("ZhongZhuanYunYingFei", "中转运营费"),
|
||||||
;
|
;
|
||||||
private final String val;
|
private final String val;
|
||||||
private final String txt;
|
private final String txt;
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public class ExpenseItemsConfigService extends ServiceImpl<ExpenseItemsConfigMap
|
||||||
* 新增
|
* 新增
|
||||||
*/
|
*/
|
||||||
public void add(ExpenseItemsConfigEntity expenseItemsConfigEntity) {
|
public void add(ExpenseItemsConfigEntity expenseItemsConfigEntity) {
|
||||||
expenseItemsConfigEntity.setExpenseItemCategory(ExpenseItemCategory.QingYunFuWuFei.getVal());
|
// expenseItemsConfigEntity.setExpenseItemCategory(ExpenseItemCategory.QingYunFuWuFei.getVal());
|
||||||
this.save(expenseItemsConfigEntity);
|
this.save(expenseItemsConfigEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -55,7 +55,8 @@ public class ExpenseItemsConfigService extends ServiceImpl<ExpenseItemsConfigMap
|
||||||
* 分页查询
|
* 分页查询
|
||||||
*/
|
*/
|
||||||
public PageResult<ExpenseItemsConfigEntity> paging(PageParam pageParam, ExpenseItemsConfigEntity expenseItemsConfigEntity) {
|
public PageResult<ExpenseItemsConfigEntity> paging(PageParam pageParam, ExpenseItemsConfigEntity expenseItemsConfigEntity) {
|
||||||
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<ExpenseItemsConfigEntity>query(expenseItemsConfigEntity)));
|
expenseItemsConfigEntity.setDeleted(Boolean.FALSE);
|
||||||
|
return PageResult.of(this.page(pageParam.toPage(), Wrappers.query(expenseItemsConfigEntity)));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,11 @@ public class OrderExportDetailResult {
|
||||||
*/
|
*/
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 付费项类型
|
||||||
|
*/
|
||||||
|
private String expenseItemCategory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 产品名称
|
* 产品名称
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -95,4 +95,9 @@ public class OrderExportResult {
|
||||||
*/
|
*/
|
||||||
private String checkerMemo;
|
private String checkerMemo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品名称
|
||||||
|
*/
|
||||||
|
private String goodsName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,8 @@ import com.njzscloud.supervisory.order.utils.FileUtil;
|
||||||
import com.njzscloud.supervisory.station.pojo.entity.StationManageEntity;
|
import com.njzscloud.supervisory.station.pojo.entity.StationManageEntity;
|
||||||
import com.njzscloud.supervisory.station.service.StationManageService;
|
import com.njzscloud.supervisory.station.service.StationManageService;
|
||||||
import com.njzscloud.supervisory.sys.auth.pojo.result.MyResult;
|
import com.njzscloud.supervisory.sys.auth.pojo.result.MyResult;
|
||||||
|
import com.njzscloud.supervisory.sys.dict.pojo.DictItemEntity;
|
||||||
|
import com.njzscloud.supervisory.sys.dict.service.DictItemService;
|
||||||
import com.njzscloud.supervisory.sys.role.pojo.entity.RoleEntity;
|
import com.njzscloud.supervisory.sys.role.pojo.entity.RoleEntity;
|
||||||
import com.njzscloud.supervisory.sys.role.service.RoleService;
|
import com.njzscloud.supervisory.sys.role.service.RoleService;
|
||||||
import com.njzscloud.supervisory.sys.stationletter.constant.WarnCategory;
|
import com.njzscloud.supervisory.sys.stationletter.constant.WarnCategory;
|
||||||
|
|
@ -117,6 +119,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||||
private final BizTruckService bizTruckService;
|
private final BizTruckService bizTruckService;
|
||||||
private final DiscountManageService discountManageService;
|
private final DiscountManageService discountManageService;
|
||||||
private final HsoaService hsoaService;
|
private final HsoaService hsoaService;
|
||||||
|
private final DictItemService dictItemService;
|
||||||
private final AtomicBoolean test_thread_running = new AtomicBoolean(false);
|
private final AtomicBoolean test_thread_running = new AtomicBoolean(false);
|
||||||
Thread test_thread = null;
|
Thread test_thread = null;
|
||||||
@Value("${app.check-gps:false}")
|
@Value("${app.check-gps:false}")
|
||||||
|
|
@ -1362,7 +1365,8 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||||
*/
|
*/
|
||||||
private BigDecimal calculateItemTotalMoney(OrderExpenseItemsEntity item) {
|
private BigDecimal calculateItemTotalMoney(OrderExpenseItemsEntity item) {
|
||||||
// 判断是否为清运服务费的弹性计费
|
// 判断是否为清运服务费的弹性计费
|
||||||
if (ExpenseItemCategory.QingYunFuWuFei.getVal().equals(item.getExpenseItemCategory())
|
if ((ExpenseItemCategory.QingYunFuWuFei.getVal().equals(item.getExpenseItemCategory())
|
||||||
|
|| ExpenseItemCategory.ZhongZhuanYunYingFei.getVal().equals(item.getExpenseItemCategory()))
|
||||||
&& MoneyStrategy.Dun.getVal().equals(item.getMoneyStrategy())
|
&& MoneyStrategy.Dun.getVal().equals(item.getMoneyStrategy())
|
||||||
&& BillingType.ELASTICITY.getVal().equals(item.getBillingType())) {
|
&& BillingType.ELASTICITY.getVal().equals(item.getBillingType())) {
|
||||||
// 弹性计费逻辑
|
// 弹性计费逻辑
|
||||||
|
|
@ -1416,7 +1420,8 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||||
return discountMoney;
|
return discountMoney;
|
||||||
}
|
}
|
||||||
goodsId = entity.getOriginGoodsId();
|
goodsId = entity.getOriginGoodsId();
|
||||||
} else if (ExpenseItemCategory.QingYunFuWuFei.getVal().equals(item.getExpenseItemCategory())) {
|
} else if (ExpenseItemCategory.QingYunFuWuFei.getVal().equals(item.getExpenseItemCategory())
|
||||||
|
|| ExpenseItemCategory.ZhongZhuanYunYingFei.getVal().equals(item.getExpenseItemCategory())) {
|
||||||
itemId = item.getOriginExpenseItemId();
|
itemId = item.getOriginExpenseItemId();
|
||||||
}
|
}
|
||||||
List<DiscountManageEntity> discountList = discountManageService.list(Wrappers.lambdaQuery(DiscountManageEntity.class)
|
List<DiscountManageEntity> discountList = discountManageService.list(Wrappers.lambdaQuery(DiscountManageEntity.class)
|
||||||
|
|
@ -1766,6 +1771,10 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||||
List<OrderExportResult> list = baseMapper.exportList(ew);
|
List<OrderExportResult> list = baseMapper.exportList(ew);
|
||||||
List<OrderExportDetailResult> detailResults = baseMapper.exportDetailList(ew);
|
List<OrderExportDetailResult> detailResults = baseMapper.exportDetailList(ew);
|
||||||
List<Map<String, Object>> downList = new ArrayList<>();
|
List<Map<String, Object>> downList = new ArrayList<>();
|
||||||
|
List<DictItemEntity> dictItems = dictItemService.list(Wrappers.<DictItemEntity>lambdaQuery()
|
||||||
|
.eq(DictItemEntity::getDictKey, "expense_item_category")
|
||||||
|
.eq(DictItemEntity::getDeleted, Boolean.FALSE)
|
||||||
|
.orderByAsc(DictItemEntity::getSort));
|
||||||
int i = 1;
|
int i = 1;
|
||||||
for (OrderExportResult result : list) {
|
for (OrderExportResult result : list) {
|
||||||
Map<String, Object> map = new LinkedHashMap<>();
|
Map<String, Object> map = new LinkedHashMap<>();
|
||||||
|
|
@ -1784,19 +1793,29 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
||||||
map.put("皮重(吨)", result.getTareWeight());
|
map.put("皮重(吨)", result.getTareWeight());
|
||||||
map.put("净重(吨)", result.getSettleWeight());
|
map.put("净重(吨)", result.getSettleWeight());
|
||||||
map.put("驾驶员", result.getDriverName());
|
map.put("驾驶员", result.getDriverName());
|
||||||
if (null != detailResults && detailResults.size() > 0) {
|
map.put("产品", result.getGoodsName());
|
||||||
List<OrderExportDetailResult> details = detailResults.stream().filter(t -> t.getOrderId()
|
List<OrderExportDetailResult> details = detailResults.stream()
|
||||||
.equals(result.getId())).collect(Collectors.toList());
|
.filter(t -> t.getOrderId().equals(result.getId()))
|
||||||
List<String> detailList = new ArrayList<>();
|
.collect(Collectors.toList());
|
||||||
if (details.size() > 0) {
|
// 根据dictItems动态添加费用列
|
||||||
for (OrderExportDetailResult detailResult : details) {
|
if (null != dictItems && !dictItems.isEmpty()) {
|
||||||
detailList.add(detailResult.getExpenseItemName() + detailResult.getSettleMoney() + "元");
|
for (DictItemEntity dictItem : dictItems) {
|
||||||
|
String headerName = "ChanPin".equals(dictItem.getVal()) ? "处置费" : dictItem.getTxt();
|
||||||
|
BigDecimal amount = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if (!details.isEmpty()) {
|
||||||
|
Optional<OrderExportDetailResult> matchedDetail = details.stream()
|
||||||
|
.filter(detail -> dictItem.getVal().equals(detail.getExpenseItemCategory()))
|
||||||
|
.findFirst();
|
||||||
|
if (matchedDetail.isPresent()) {
|
||||||
|
amount = matchedDetail.get().getSettleMoney();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
map.put("明细", JSONObject.toJSONString(detailList));
|
|
||||||
} else {
|
map.put(headerName, amount);
|
||||||
map.put("明细", "");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
map.put("备注", result.getCheckerMemo());
|
map.put("备注", result.getCheckerMemo());
|
||||||
downList.add(map);
|
downList.add(map);
|
||||||
i++;
|
i++;
|
||||||
|
|
|
||||||
|
|
@ -228,10 +228,12 @@
|
||||||
<result property="settleWeight" column="settle_weight"/>
|
<result property="settleWeight" column="settle_weight"/>
|
||||||
<result property="driverName" column="driver_name"/>
|
<result property="driverName" column="driver_name"/>
|
||||||
<result property="checkerMemo" column="checker_memo"/>
|
<result property="checkerMemo" column="checker_memo"/>
|
||||||
|
<result property="goodsName" column="goods_name"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="OrderExportDetailResultMap" type="com.njzscloud.supervisory.order.pojo.result.OrderExportDetailResult">
|
<resultMap id="OrderExportDetailResultMap" type="com.njzscloud.supervisory.order.pojo.result.OrderExportDetailResult">
|
||||||
<result property="orderId" column="order_id"/>
|
<result property="orderId" column="order_id"/>
|
||||||
|
<result property="expenseItemCategory" column="expense_item_category"/>
|
||||||
<result property="expenseItemName" column="expense_item_name"/>
|
<result property="expenseItemName" column="expense_item_name"/>
|
||||||
<result property="settleMoney" column="settle_money"/>
|
<result property="settleMoney" column="settle_money"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
@ -261,7 +263,8 @@
|
||||||
ROUND( ocio.tare_weight / 1000, 2 ) AS tare_weight,
|
ROUND( ocio.tare_weight / 1000, 2 ) AS tare_weight,
|
||||||
ROUND( ocio.settle_weight / 1000, 2 ) AS settle_weight,
|
ROUND( ocio.settle_weight / 1000, 2 ) AS settle_weight,
|
||||||
f.driver_name,
|
f.driver_name,
|
||||||
a.checker_memo
|
a.checker_memo,
|
||||||
|
og.goods_name
|
||||||
FROM
|
FROM
|
||||||
order_info a
|
order_info a
|
||||||
LEFT JOIN biz_company b ON b.id = a.station_id
|
LEFT JOIN biz_company b ON b.id = a.station_id
|
||||||
|
|
@ -273,6 +276,7 @@
|
||||||
LEFT JOIN sys_user su ON a.user_id = su.id
|
LEFT JOIN sys_user su ON a.user_id = su.id
|
||||||
LEFT JOIN order_cargo_place h ON h.id = a.cargo_place_id
|
LEFT JOIN order_cargo_place h ON h.id = a.cargo_place_id
|
||||||
LEFT JOIN biz_driver f ON f.id = a.driver_id
|
LEFT JOIN biz_driver f ON f.id = a.driver_id
|
||||||
|
LEFT JOIN order_goods og ON og.id = a.goods_id
|
||||||
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -283,6 +287,7 @@
|
||||||
<select id="exportDetailList" resultMap="OrderExportDetailResultMap">
|
<select id="exportDetailList" resultMap="OrderExportDetailResultMap">
|
||||||
SELECT
|
SELECT
|
||||||
oei.order_id,
|
oei.order_id,
|
||||||
|
oei.expense_item_category,
|
||||||
oei.expense_item_name,
|
oei.expense_item_name,
|
||||||
oei.settle_money
|
oei.settle_money
|
||||||
FROM
|
FROM
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue