diff --git a/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/bussiness/OrderDetailMapper.xml b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/bussiness/OrderDetailMapper.xml
new file mode 100644
index 0000000..89d8950
--- /dev/null
+++ b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/bussiness/OrderDetailMapper.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/mapper/OrderDetailMapper.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/mapper/OrderDetailMapper.java
index 7d1f817..ddfa55c 100644
--- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/mapper/OrderDetailMapper.java
+++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/mapper/OrderDetailMapper.java
@@ -1,7 +1,13 @@
package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.entity.OrderDetailEntity;
+import jnpf.model.order.OrderItemWithOrderPagination;
+import jnpf.model.order.OrderItemWithOrderVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 业务订单明细 Mapper
@@ -13,4 +19,7 @@ import jnpf.entity.OrderDetailEntity;
*/
public interface OrderDetailMapper extends BaseMapper {
+ List getOrderItemWithOrder(Page page, @Param("pagination") OrderItemWithOrderPagination pagination);
+
}
+
diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/OrderDetailService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/OrderDetailService.java
index 386f0a1..f04fc2d 100644
--- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/OrderDetailService.java
+++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/OrderDetailService.java
@@ -2,6 +2,8 @@ package jnpf.service;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.entity.OrderDetailEntity;
+import jnpf.model.order.OrderItemWithOrderPagination;
+import jnpf.model.order.OrderItemWithOrderVO;
import jnpf.model.orderdetail.OrderDetailPagination;
import java.util.List;
@@ -32,4 +34,7 @@ public interface OrderDetailService extends IService {
*/
List getListByOrderId(Long saleOrdId);
+ List getOrderItemWithOrder(OrderItemWithOrderPagination pagination);
+
+
}
diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/OrderDetailServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/OrderDetailServiceImpl.java
index 2a38a7b..8747534 100644
--- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/OrderDetailServiceImpl.java
+++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/OrderDetailServiceImpl.java
@@ -1,9 +1,12 @@
package jnpf.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.entity.OrderDetailEntity;
import jnpf.mapper.OrderDetailMapper;
+import jnpf.model.order.OrderItemWithOrderPagination;
+import jnpf.model.order.OrderItemWithOrderVO;
import jnpf.model.orderdetail.OrderDetailPagination;
import jnpf.service.OrderDetailService;
import org.springframework.stereotype.Service;
@@ -23,7 +26,7 @@ public class OrderDetailServiceImpl extends ServiceImpl getList(OrderDetailPagination orderDetailPagination) {
- return null;
+ return null;
}
@Override
@@ -34,6 +37,11 @@ public class OrderDetailServiceImpl extends ServiceImpl getOrderItemWithOrder(OrderItemWithOrderPagination pagination) {
+ Page page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize());
+ List voList = this.baseMapper.getOrderItemWithOrder(page, pagination);
+ pagination.setTotal((int) page.getTotal());
+ return voList;
+ }
}
diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/OrderDetailController.java b/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/OrderDetailController.java
index ba7498a..abbaae8 100644
--- a/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/OrderDetailController.java
+++ b/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/OrderDetailController.java
@@ -12,6 +12,8 @@ import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.constant.MsgCode;
import jnpf.entity.OrderDetailEntity;
+import jnpf.model.order.OrderItemWithOrderPagination;
+import jnpf.model.order.OrderItemWithOrderVO;
import jnpf.model.orderdetail.OrderDetailForm;
import jnpf.model.orderdetail.OrderDetailPagination;
import jnpf.model.orderdetail.OrderDetailVO;
@@ -52,6 +54,13 @@ public class OrderDetailController {
return ActionResult.page(voList, JsonUtil.getJsonToBean(orderDetailPagination, PaginationVO.class));
}
+
+ @Operation(summary = "订单明细分页查询(关联订单主表)")
+ @PostMapping("/getOrderItemWithOrder")
+ public ActionResult> getOrderItemWithOrder(@RequestBody OrderItemWithOrderPagination pagination) {
+ List voList = orderDetailService.getOrderItemWithOrder(pagination);
+ return ActionResult.page(voList, JsonUtil.getJsonToBean(pagination, PaginationVO.class));
+ }
/**
* 根据订单ID获取明细列表
*
diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/order/OrderItemWithOrderPagination.java b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/order/OrderItemWithOrderPagination.java
new file mode 100644
index 0000000..cde393a
--- /dev/null
+++ b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/order/OrderItemWithOrderPagination.java
@@ -0,0 +1,27 @@
+package jnpf.model.order;
+
+import jnpf.base.Pagination;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class OrderItemWithOrderPagination extends Pagination {
+
+ @Schema(description = "下单时间开始")
+ private Date ordDateStart;
+
+ @Schema(description = "下单时间结束")
+ private Date ordDateEnd;
+
+ @Schema(description = "订单编码")
+ private String saleOrdNo;
+
+ @Schema(description = "客户名称")
+ private String custName;
+
+ @Schema(description = "行状态")
+ private String proStatus;
+
+}
diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/order/OrderItemWithOrderVO.java b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/order/OrderItemWithOrderVO.java
new file mode 100644
index 0000000..8e1ac66
--- /dev/null
+++ b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/order/OrderItemWithOrderVO.java
@@ -0,0 +1,93 @@
+package jnpf.model.order;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Schema(description = "订单子表与主表联表查询VO", name = "订单明细与订单联表查询")
+public class OrderItemWithOrderVO implements Serializable {
+
+ @Schema(description = "子表主键")
+ private Integer itemId;
+
+ @Schema(description = "销售订单主表ID")
+ private Integer saleOrdId;
+
+ @Schema(description = "订单编码")
+ private String saleOrdNo;
+
+ @Schema(description = "订单状态")
+ private String ordStatus;
+
+ @Schema(description = "生产状态")
+ private String proStatus;
+
+ @Schema(description = "下单日期")
+ private Date ordDate;
+
+ @Schema(description = "客户名称")
+ private String custName;
+
+ @Schema(description = "产品名称")
+ private String materialName;
+
+ @Schema(description = "规格型号")
+ private String spec;
+
+ @Schema(description = "订单数量")
+ private BigDecimal ordQty;
+
+ @Schema(description = "已转生产数量")
+ private BigDecimal produceQty;
+
+ @Schema(description = "剩余数量")
+ private BigDecimal remainingQty;
+
+ @Schema(description = "订单类型")
+ private String ordType;
+
+ @Schema(description = "要求交货日期")
+ private Date reqDeliveryDate;
+
+ @Schema(description = "是否急单")
+ private String isUrgent;
+
+ @Schema(description = "单位")
+ private String unit;
+
+ @Schema(description = "生产状态")
+ private String produceStatus;
+
+ @Schema(description = "物料编码")
+ private String materialCode;
+
+ @Schema(description = "含税单价")
+ private BigDecimal priceTax;
+
+ @Schema(description = "用途")
+ private String materialUse;
+
+ @Schema(description = "已发货数量")
+ private BigDecimal deliveriedQty;
+
+ @Schema(description = "行状态")
+ private String ordItemStatus;
+
+ @Schema(description = "备注")
+ private String remark;
+
+ @Schema(description = "合同编号")
+ private String contractNo;
+
+ @Schema(description = "创建时间")
+ private Date creatorTime;
+
+ @Schema(description = "创建用户ID")
+ private String creatorUserId;
+
+}
diff --git a/jnpf-java-boot/jnpf-web/src/views/example/common/dict.js b/jnpf-java-boot/jnpf-web/src/views/example/common/dict.js
new file mode 100644
index 0000000..5f73670
--- /dev/null
+++ b/jnpf-java-boot/jnpf-web/src/views/example/common/dict.js
@@ -0,0 +1,20 @@
+// 维护后期的字典信息
+
+// 字典映射配置(id -> 名称)
+export const dictMaps = {
+ // 生产状态
+ proStatus: { '0': '正常', '1': '部分转生产', '2': '全部转生产' },
+};
+
+// 根据映射自动生成下拉选项
+export const dictOptions = {};
+for (const key in dictMaps) {
+ const map = dictMaps[key];
+ dictOptions[key] = Object.entries(map).map(([enCode, fullName]) => ({ enCode, fullName }));
+}
+
+// 获取显示名称
+export function getLabel(type, value) {
+ const map = dictMaps[type];
+ return map ? (map[value] || value) : value;
+}
diff --git a/jnpf-java-boot/jnpf-web/src/views/example/supplier/form.vue b/jnpf-java-boot/jnpf-web/src/views/example/supplier/form.vue
index 645f69a..28582db 100644
--- a/jnpf-java-boot/jnpf-web/src/views/example/supplier/form.vue
+++ b/jnpf-java-boot/jnpf-web/src/views/example/supplier/form.vue
@@ -231,7 +231,31 @@ export default {
},
handleClose() {
this.visible = false;
- this.$emit('refresh', true)
+ this.$emit('refresh', true);
+ this.resetDataForm();
+ },
+ resetDataForm() {
+ this.dataForm = {
+ id: "",
+ supplierNo: undefined,
+ supplierName: undefined,
+ supplierSimName: undefined,
+ supplierType: undefined,
+ supplierReg: undefined,
+ contact1: undefined,
+ conPhone1: undefined,
+ conAddress1: undefined,
+ contact2: undefined,
+ conPhone2: undefined,
+ conAddress2: undefined,
+ bankName: undefined,
+ bankAccount: undefined,
+ taxNo: undefined,
+ remark: undefined,
+ enabledStatus: "1",
+ status: "1",
+ isBlacklist: "0",
+ };
},
},
};
diff --git a/jnpf-java-boot/jnpf-web/src/views/example/supplier/index.vue b/jnpf-java-boot/jnpf-web/src/views/example/supplier/index.vue
index 5e280e0..0ea839a 100644
--- a/jnpf-java-boot/jnpf-web/src/views/example/supplier/index.vue
+++ b/jnpf-java-boot/jnpf-web/src/views/example/supplier/index.vue
@@ -50,8 +50,7 @@
-
-
+
diff --git a/jnpf-java-boot/jnpf-web/src/views/example/tsoorder/index.vue b/jnpf-java-boot/jnpf-web/src/views/example/tsoorder/index.vue
new file mode 100644
index 0000000..11c8e14
--- /dev/null
+++ b/jnpf-java-boot/jnpf-web/src/views/example/tsoorder/index.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+ {{ getDictText(scope.row.ordStatus, ordStatusOptions) }}
+
+
+
+
+
+
+
+
+
+ {{ Number(scope.row.produceQty) || 0 }}
+
+
+
+
+ {{ (Number(scope.row.ordQty) || 0) - (Number(scope.row.produceQty) || 0) }}
+
+
+
+
+
+ {{ scope.row.ordType == '1' ? '常规' : scope.row.ordType == '2' ? '定制' : scope.row.ordType }}
+
+
+
+
+
+ {{ scope.row.isUrgent == '0' ? '是' : scope.row.isUrgent == '1' ? '否' : '' }}
+
+
+
+
+ {{ scope.row.unit == '1' ? 'kg' : scope.row.unit == '2' ? 'T' : scope.row.unit }}
+
+
+
+
+ {{ getLabel('proStatus', scope.row.proStatus) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jnpf-java-boot/jnpf-web/src/views/example/tsoorder/orderDetail.js b/jnpf-java-boot/jnpf-web/src/views/example/tsoorder/orderDetail.js
new file mode 100644
index 0000000..fc80a8b
--- /dev/null
+++ b/jnpf-java-boot/jnpf-web/src/views/example/tsoorder/orderDetail.js
@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+
+export function getOrderDetailWithOrder(data) {
+ return request({
+ url: '/api/example/OrderDetail/getOrderDetailWithOrder',
+ method: 'post',
+ data
+ })
+}
+
+export function exportOrderDetailWithOrder(data) {
+ return request({
+ url: '/api/example/OrderDetail/exportOrderDetailWithOrder',
+ method: 'post',
+ data
+ })
+}
diff --git a/jnpf-java-boot/jnpf-web/src/views/example/usermachine/index.vue b/jnpf-java-boot/jnpf-web/src/views/example/usermachine/index.vue
index a950a8e..3f4959f 100644
--- a/jnpf-java-boot/jnpf-web/src/views/example/usermachine/index.vue
+++ b/jnpf-java-boot/jnpf-web/src/views/example/usermachine/index.vue
@@ -201,6 +201,10 @@ export default {
this.list = res.data.list || [];
this.total = res.data.pagination.total;
this.listLoading = false;
+ // 如果有数据,默认显示第一条的机台信息
+ if (this.list.length > 0) {
+ this.showMachineList(this.list[0]);
+ }
});
},
addOrUpdateHandle(row) {
@@ -217,7 +221,10 @@ export default {
},
refresh(isRefresh) {
this.formVisible = false;
- if (isRefresh) this.search();
+ if (isRefresh) {
+ this.listQuery.currentPage = 1;
+ this.initData();
+ }
},
reset() {
this.query = {