feat(tsoorder): 更新订单项状态字段和查询逻辑

This commit is contained in:
zxy 2026-04-16 17:18:02 +08:00
parent 32e02d109f
commit 1348aa4451
4 changed files with 55 additions and 46 deletions

View File

@ -4,33 +4,33 @@
<select id="getOrderItemWithOrder" resultType="jnpf.model.order.OrderItemWithOrderVO">
SELECT
od.id AS itemId,
od.sale_ord_id AS saleOrdId,
od.ord_item_status AS ordItemStatus,
od.ord_qty AS ordQty,
od.produce_qty AS produceQty,
(od.ord_qty - IFNULL(od.produce_qty, 0)) AS remainingQty,
od.material_name AS materialName,
od.unit AS unit,
od.spec AS spec,
od.deliveried_qty AS deliveriedQty,
od.material_code AS materialCode,
od.price_tax AS priceTax,
od.material_use AS materialUse,
od.remark AS remark,
od.f_creator_user_id AS creatorUserId,
eo.is_urgent AS isUrgent,
eo.contract_no AS contractNo,
eo.sale_ord_no AS saleOrdNo,
eo.cust_name AS custName,
eo.ord_type AS ordType,
eo.ord_status AS ordStatus,
eo.pro_status AS proStatus,
eo.ord_date AS ordDate,
eo.req_delivery_date AS reqDeliveryDate,
eo.payment_terms AS paymentTerms,
eo.tax_rate AS taxRate,
eo.ord_status AS ordStatus
od.id AS itemId,
od.sale_ord_id AS saleOrdId,
od.ord_item_status AS ordItemStatus,
od.ord_qty AS ordQty,
od.produce_qty AS produceQty,
(od.ord_qty - IFNULL(od.produce_qty, 0)) AS remainingQty,
od.material_name AS materialName,
od.unit AS unit,
od.spec AS spec,
od.deliveried_qty AS deliveriedQty,
od.material_code AS materialCode,
od.price_tax AS priceTax,
od.material_use AS materialUse,
od.remark AS remark,
od.f_creator_user_id AS creatorUserId,
eo.is_urgent AS isUrgent,
eo.contract_no AS contractNo,
eo.sale_ord_no AS saleOrdNo,
eo.cust_name AS custName,
eo.ord_type AS ordType,
eo.ord_status AS ordStatus,
eo.pro_status AS proStatus,
eo.ord_date AS ordDate,
eo.req_delivery_date AS reqDeliveryDate,
eo.payment_terms AS paymentTerms,
eo.tax_rate AS taxRate,
eo.ord_status AS ordStatus
FROM tso_order_item od
LEFT JOIN tso_order eo ON od.sale_ord_id = eo.id
<where>
@ -39,7 +39,6 @@
AND eo.pro_status &lt;&gt; '2'
AND od.ord_item_status NOT IN ('2','9')
AND eo.ord_status = '3'
<if test="pagination.ordDateStart != null">
AND eo.ord_date &gt;= #{pagination.ordDateStart}
</if>
@ -52,11 +51,11 @@
<if test="pagination.custName != null and pagination.custName != ''">
AND eo.cust_name LIKE CONCAT('%', #{pagination.custName}, '%')
</if>
<if test="pagination.proStatus == null or pagination.proStatus == ''">
AND eo.pro_status IN ('1', '0')
<if test="pagination.ordItemStatus == null or pagination.ordItemStatus == ''">
AND od.ord_item_status IN ('1', '0')
</if>
<if test="pagination.proStatus != null and pagination.proStatus != ''">
AND eo.pro_status = #{pagination.proStatus}
<if test="pagination.ordItemStatus != null and pagination.ordItemStatus != ''">
AND od.ord_item_status = #{pagination.ordItemStatus}
</if>
</where>
ORDER BY eo.ord_date DESC, od.id DESC

View File

@ -1,7 +1,7 @@
package jnpf.model.order;
import jnpf.base.Pagination;
import io.swagger.v3.oas.annotations.media.Schema;
import jnpf.base.Pagination;
import lombok.Data;
import java.util.Date;
@ -22,6 +22,6 @@ public class OrderItemWithOrderPagination extends Pagination {
private String custName;
@Schema(description = "行状态")
private String proStatus;
private String ordItemStatus;
}

View File

@ -4,6 +4,8 @@
export const dictMaps = {
// 生产状态
proStatus: { '0': '正常', '1': '部分转生产', '2': '全部转生产' },
// 行状态
orderItemStatus: { '0': '正常', '1': '部分转产', '2': '全部转产', '9': '关闭' },
};
// 根据映射自动生成下拉选项

View File

@ -22,11 +22,11 @@
<el-col :span="6">
<el-form-item label="生产状态">
<JnpfSelect
v-model="query.proStatus"
v-model="query.ordItemStatus"
placeholder="请选择生产状态"
clearable
:options="generateStatusOptions"
:props="generateStatusProps"
:options="ordItemStatusOptions"
:props="ordItemStatusProps"
>
</JnpfSelect>
</el-form-item>
@ -104,10 +104,15 @@
{{ scope.row.unit == '1' ? 'kg' : scope.row.unit == '2' ? 'T' : scope.row.unit }}
</template>
</el-table-column>
<el-table-column prop="proStatus" label="生产状态" align="center" min-width="100">
<!-- <el-table-column prop="proStatus" label="生产状态" align="center" min-width="100">
<template slot-scope="scope">
{{ getLabel('proStatus', scope.row.proStatus) }}
</template>
</el-table-column> -->
<el-table-column prop="ordItemStatus" label="生产状态" align="center" min-width="100">
<template slot-scope="scope">
{{ getLabel('orderItemStatus', scope.row.ordItemStatus) }}
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="150">
<template slot-scope="scope">
@ -140,10 +145,9 @@ export default {
query: {
ordDate: undefined,
saleOrdNo: undefined,
proStatus: undefined,
ordItemStatus: undefined,
custName: undefined,
},
queryData: {},
list: [],
listLoading: false,
total: 0,
@ -151,8 +155,8 @@ export default {
currentPage: 1,
pageSize: 20,
},
generateStatusOptions: [],
generateStatusProps: { label: "fullName", value: "enCode" },
ordItemStatusOptions: [],
ordItemStatusProps: { label: "fullName", value: "enCode" },
ordStatusOptions: [],
};
},
@ -163,7 +167,6 @@ export default {
...mapGetters(["userInfo"]),
},
created() {
this.queryData = JSON.parse(JSON.stringify(this.query));
this.initDictData();
this.initSearchData();
this.initData();
@ -179,8 +182,8 @@ export default {
getDictionaryDataSelector("811520443046428805").then((res) => {
this.ordStatusOptions = res.data.list || [];
});
// 使
this.generateStatusOptions = dictOptions.proStatus;
// 使
this.ordItemStatusOptions = dictOptions.orderItemStatus;
},
initData() {
@ -216,7 +219,12 @@ export default {
},
reset() {
this.query = JSON.parse(JSON.stringify(this.queryData));
this.query = {
ordDate: undefined,
saleOrdNo: undefined,
ordItemStatus: undefined,
custName: undefined,
};
this.initSearchData();
this.search();
},