Merge remote-tracking branch 'origin/master'

zhc4dev
lenovo 2 years ago
commit ccc21b683c
  1. 33
      ant-design-vue-jeecg/public/index.html
  2. 115
      ant-design-vue-jeecg/src/views/system/Depart3List.vue
  3. 57
      ant-design-vue-jeecg/src/views/system/modules/DepartModal.vue
  4. 60
      ant-design-vue-jeecg/src/views/zyWorkProduct/ZyProductList.vue
  5. 299
      ant-design-vue-jeecg/src/views/zyWorkorderManagement/ZyProductionOrderList.vue
  6. 84
      ant-design-vue-jeecg/src/views/zyWorkorderManagement/ZyWorkOrderList.vue
  7. 5
      ant-design-vue-jeecg/src/views/zyWorkorderManagement/workdep/JSelectProductionDep.vue
  8. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/JeecgSystemApplication.java
  9. 18
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
  10. 24
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/controller/WorkOrderController.java
  11. 115
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/entity/WorkOrderVo.java
  12. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/mapper/WorkOrderMapper.java
  13. 34
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/mapper/xml/WorkOrderMapper.xml
  14. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/service/IWorkOrderService.java
  15. 13
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/service/impl/WorkOrderServiceImpl.java
  16. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workproduct/entity/ZyProduct.java

@ -8,6 +8,12 @@
<title>黄淮学院服装智能制造管理平台</title>
<link rel="icon" href="<%= BASE_URL %>logohuanghuai.png">
<script src="<%= BASE_URL %>cdn/babel-polyfill/polyfill_7_2_5.js"></script>
<!--<script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>-->
<!--<script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>-->
<!--<script src="https://cdn.bootcss.com/vuex/3.1.0/vuex.min.js"></script>-->
<!--<script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script>-->
<!--<script src="https://cdn.bootcss.com/element-ui/2.6.1/index.js"></script>-->
<style>
html,
body,
@ -268,7 +274,7 @@
<!-- 全局配置 -->
<script>
window._CONFIG = {};
window._CONFIG['domianURL'] = 'http://localhost:8081/jeecg-boot';
window._CONFIG['domianURL'] = 'http://localhost:10085/jeecg-boot';
window._CONFIG['casPrefixUrl'] = 'http://cas.example.org:8443/cas';
window._CONFIG['imgDomainURL'] = window._CONFIG['domianURL'] + '/sys/common/view';
window._CONFIG['downloadUrl'] = window._CONFIG['domianURL'] + '/sys/common/download';
@ -278,11 +284,28 @@
<body>
<div id="app">
<!--<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js"></script>-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/vue-router/3.1.6/vue-router.min.js"></script>-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.18.1/axios.min.js"></script>-->
<!--<link href="https://cdn.bootcdn.net/ajax/libs/ant-design-vue/1.7.2/antd.min.css" rel="stylesheet">-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/ant-design-vue/1.7.2/antd.min.js"></script>-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.1/moment.min.js"></script>-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.1/locale/zh-cn.min.js"></script>-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/vuex/3.1.2/vuex.min.js"></script>-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/jsoneditor/9.0.0/jsoneditor.min.js"></script>-->
<!--<link href="https://cdn.bootcdn.net/ajax/libs/jsoneditor/9.0.0/jsoneditor.min.css" rel="stylesheet">-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.9.0-rc.1/echarts.min.js"></script>-->
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载 服装智能制造软件平台V3.0,请耐心等待
<!--<div id="loader"></div>-->
<!--<div class="loader-section section-left"></div>-->
<!--<div class="loader-section section-right"></div>-->
<!--<div class="load_title">正在加载 服装智能制造软件平台V3.0,请耐心等待-->
</div>
</div>

@ -75,31 +75,52 @@
<a-tab-pane tab="基本信息" key="1" >
<a-card :bordered="false" v-if="selectedKeys.length>0">
<a-form :form="form">
<template v-if="!orgTypeDisabled">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="上级部门">
<a-tree-select
style="width:100%"
:dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
:treeData="treeData"
:disabled="disable"
v-model="model.parentId"
placeholder="无">
</a-tree-select>
</a-form-item>
</template>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="部门名称">
<a-input placeholder="请输入机构/部门名称" v-decorator="['departName', validatorRules.departName ]"/>
</a-form-item>
<template v-if="!orgCategoryDisabled">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="上级部门">
<a-tree-select
style="width:100%"
:dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
:treeData="treeData"
:disabled="disable"
v-model="model.parentId"
placeholder="无">
</a-tree-select>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="英文名称">
<a-input placeholder="请输入英文名称" v-decorator="['departNameEn', {'initialValue':''}]"/>
</a-form-item>
</template>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="缩写">
<a-input placeholder="请输入手机号" v-decorator="['departNameAbbr', validatorRules.departNameAbbr ]"/>
</a-form-item>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="部门编码">
<a-input disabled placeholder="请输入部门编码" v-decorator="['orgCode', validatorRules.orgCode ]"/>
</a-form-item>
<template v-if="orgCategoryDisabled">
<template v-if="orgTypeDisabled">
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="排序">
<a-input-number v-decorator="[ 'departOrder',{'initialValue':0}]"/>
</a-form-item>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
@ -135,14 +156,9 @@
<!--</template>-->
</a-form-item>
</template>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="排序">
<a-input-number v-decorator="[ 'departOrder',{'initialValue':0}]"/>
</a-form-item>
<template v-if="orgCategoryDisabled">
<template v-if="orgTypeDisabled">
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
@ -158,12 +174,13 @@
</template>
<!--<a-form-item-->
<!--:labelCol="labelCol"-->
<!--:wrapperCol="wrapperCol"-->
<!--label="备注">-->
<!--<a-textarea placeholder="请输入备注" v-decorator="['memo', {'initialValue':''}]"/>-->
<!--</a-form-item>-->
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="备注">
<a-textarea placeholder="请输入备注" v-decorator="['memo', {'initialValue':''}]"/>
</a-form-item>
</a-form>
<div class="anty-form-btn">
<a-button @click="emptyCurrForm" type="default" htmlType="button" icon="sync">重置</a-button>
@ -189,7 +206,7 @@
import DepartModal from './modules/DepartModal'
import pick from 'lodash.pick'
import {queryDepartTreeList, searchByKeywords, deleteByDepartId} from '@/api/api'
import {httpAction, deleteAction} from '@/api/manage'
import {httpAction, deleteAction,getAction} from '@/api/manage'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import DepartAuthModal from './modules/DepartAuthModal'
//
@ -198,6 +215,15 @@
title: '部门名称',
dataIndex: 'departName'
},
{
title: '英文名称',
dataIndex: 'departNameEn'
},
{
title: '缩写',
dataIndex: 'departNameAbbr'
},
{
title: '',
align: 'center',
@ -282,7 +308,8 @@
departName: {rules: [{required: true, message: '请输入部门/部门名称!'}]},
orgCode: {rules: [{required: true, message: '请输入部门编码!'}]},
orgCategory: {rules: [{required: true, message: '请输入部门类型!'}]},
mobile: {rules: [{validator: this.validateMobile}]}
mobile: {rules: [{validator: this.validateMobile}]},
departNameAbbr: {rules: [{required: true,validator: this.validatedepartNameAbbr}]}
},
url: {
delete: '/sys/sysDepart/delete',
@ -290,8 +317,10 @@
deleteBatch: '/sys/sysDepart/deleteBatch',
exportXlsUrl: "sys/sysDepart/exportXls",
importExcelUrl: "sys/sysDepart/importExcel",
validatedepartNameAbbrUrl: "sys/sysDepart/validatedepartNameAbbr",
},
orgCategoryDisabled:false,
orgTypeDisabled:false,
}
},
computed: {
@ -375,9 +404,6 @@
ids += this.checkedKeys[a] + ','
}
var that = this
this.$confirm( '确定要删除所选中的 ' + this.checkedKeys.length + ' 条数据,以及子节点数据吗?','确认删除',
{
confirmButtonText: '确定',
@ -458,6 +484,12 @@
}else{
this.orgCategoryDisabled =true;
}
if(record.orgType == '1'){
this.orgTypeDisabled =true ;
}else{
this.orgTypeDisabled =false;
}
this.$nextTick(() => {
// this.form.getFieldDecorator('fax', {initialValue: ''})
this.form.setFieldsValue(pick(record, 'departName','orgCategory', 'orgCode', 'departOrder', 'mobile', 'fax', 'address', 'memo'))
@ -634,9 +666,30 @@
this.getAllKeys(node.children[a])
}
}
}
},
// <!---- author:os_chengtgen -- date:20190827 -- for: =======------>
//
validatedepartNameAbbr(rule, value, callback){
let reg = /^[_a-zA-Z0-9]+$/
let reg2 = /^.{4,4}$/
// 618
if (value !== '' && !reg.test(value)) {
callback('只允许字母、数字、下划线')
} else if (value !== '' && !reg2.test(value)) {
callback('长度为4个字符')
} else {
getAction(this.url.validatedepartNameAbbrUrl,{'name':value}).then((res) => {
if (res.success) {
callback()
}else{
// this.$message.error(res.message);
callback('缩写已存在,请重新输入')
}
})
}
},
},
created() {
this.currFlowId = this.$route.params.id

@ -30,6 +30,20 @@
:disabled="condition">
</a-tree-select>
</a-form-item>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="英文名称">
<a-input placeholder="请输入英文名称" v-decorator="['departNameEn', {'initialValue':''}]"/>
</a-form-item>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="缩写">
<a-input placeholder="请输入手机号" v-decorator="['departNameAbbr', validatorRules.departNameAbbr ]"/>
</a-form-item>
<template v-if="seen">
<a-form-item
:labelCol="labelCol"
@ -85,12 +99,12 @@
<a-input placeholder="请输入地址" v-decorator="['address', {}]"/>
</a-form-item>
</template>
<!--<a-form-item-->
<!--:labelCol="labelCol"-->
<!--:wrapperCol="wrapperCol"-->
<!--label="备注">-->
<!--<a-textarea placeholder="请输入备注" v-decorator="['memo', {}]"/>-->
<!--</a-form-item>-->
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="备注">
<a-textarea placeholder="请输入备注" v-decorator="['memo', {}]"/>
</a-form-item>
</a-form>
</a-spin>
@ -98,7 +112,7 @@
</template>
<script>
import {httpAction} from '@/api/manage'
import {httpAction,getAction} from '@/api/manage'
import {queryIdTree} from '@/api/api'
import pick from 'lodash.pick'
import ATextarea from 'ant-design-vue/es/input/TextArea'
@ -134,10 +148,12 @@
validatorRules: {
departName: {rules: [{required: true, message: '请输入部门/部门名称!'}]},
orgCode: {rules: [{required: true, message: '请输入部门编码!'}]},
mobile: {rules: [{validator: this.validateMobile}]}
mobile: {rules: [{validator: this.validateMobile}]},
departNameAbbr: {rules: [{required: true,validator: this.validatedepartNameAbbr}]}
},
url: {
add: "/sys/sysDepart/add",
validatedepartNameAbbrUrl: "sys/sysDepart/validatedepartNameAbbr",
},
dictDisabled: true,
}
@ -222,8 +238,31 @@
} else {
callback("您的手机号码格式不正确!");
}
},
//
validatedepartNameAbbr(rule, value, callback){
let reg = /^[_a-zA-Z0-9]+$/
let reg2 = /^.{4,4}$/
// 618
if (value !== '' && !reg.test(value)) {
callback('只允许字母、数字、下划线')
} else if (value !== '' && !reg2.test(value)) {
callback('长度为4个字符')
} else {
//
}
console.log("validatedepartNameAbbrUrl");
console.log(value);
getAction(this.url.validatedepartNameAbbrUrl,{'name':value}).then((res) => {
if (res.success) {
callback()
}else{
// this.$message.error(res.message);
callback('缩写已存在,请重新输入')
}
})
}
},
}
}
</script>

@ -11,27 +11,27 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('产品表')">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<!--<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>-->
<!--<a-button type="primary" icon="download" @click="handleExportXls('产品表')">导出</a-button>-->
<!--<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
<!--<a-button type="primary" icon="import">导入</a-button>-->
<!--</a-upload>-->
<!-- 高级查询区域 -->
<j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
</a-dropdown>
<!--<a-dropdown v-if="selectedRowKeys.length > 0">-->
<!--<a-menu slot="overlay">-->
<!--<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>-->
<!--</a-menu>-->
<!--<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>-->
<!--</a-dropdown>-->
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<!--<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
<!--<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>-->
<!--<a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
<!--</div>-->
<a-table
ref="table"
@ -68,22 +68,22 @@
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleDetail(record)">详情</a>
<a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
<a-menu slot="overlay">
<a-menu-item>
<a @click="handleDetail(record)">详情</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
<!--<a-divider type="vertical" />-->
<!--<a-dropdown>-->
<!--<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>-->
<!--<a-menu slot="overlay">-->
<!--<a-menu-item>-->
<!--<a @click="handleDetail(record)">详情</a>-->
<!--</a-menu-item>-->
<!--<a-menu-item>-->
<!--<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
<!--<a>删除</a>-->
<!--</a-popconfirm>-->
<!--</a-menu-item>-->
<!--</a-menu>-->
<!--</a-dropdown>-->
</span>
</a-table>

@ -4,11 +4,11 @@
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="是否子单">
<j-dict-select-tag placeholder="请选择是否子单" v-model="queryParam.ischild" dictCode="ischild"/>
</a-form-item>
</a-col>
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="是否子单">-->
<!--<j-dict-select-tag placeholder="请选择是否子单" v-model="queryParam.ischild" dictCode="ischild"/>-->
<!--</a-form-item>-->
<!--</a-col>-->
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="订单编号">
<a-input placeholder="请输入订单编号" v-model="queryParam.ordersNum"></a-input>
@ -19,46 +19,46 @@
<j-dict-select-tag placeholder="请选择订单类型" v-model="queryParam.ordersType" dictCode="orders_type"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="支付方式">
<j-dict-select-tag placeholder="请选择支付方式" v-model="queryParam.paymentMethod" dictCode="payment_method"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="支付状态">
<j-dict-select-tag placeholder="请选择支付状态" v-model="queryParam.paymentStatus" dictCode="payment_status"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="账号/卡号">
<a-input placeholder="请输入账号/卡号" v-model="queryParam.accountNo"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="城市">
<j-area-linkage type="cascader" v-model="queryParam.cityId" placeholder="请选择省市区"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="发票客户类型">
<j-dict-select-tag placeholder="请选择发票客户类型" v-model="queryParam.invoiceCustomerType" dictCode="invoice_customer_type"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="发票类型">
<j-dict-select-tag placeholder="请选择发票类型" v-model="queryParam.invoiceType" dictCode="invoice_type"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="公户账号">
<a-input placeholder="请输入公户账号" v-model="queryParam.accountNumber"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="物流企业">
<j-select-depart placeholder="请选择物流企业" v-model="queryParam.logisticsEnterprisesId"/>
</a-form-item>
</a-col>
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="支付方式">-->
<!--<j-dict-select-tag placeholder="请选择支付方式" v-model="queryParam.paymentMethod" dictCode="payment_method"/>-->
<!--</a-form-item>-->
<!--</a-col>-->
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="支付状态">-->
<!--<j-dict-select-tag placeholder="请选择支付状态" v-model="queryParam.paymentStatus" dictCode="payment_status"/>-->
<!--</a-form-item>-->
<!--</a-col>-->
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="账号/卡号">-->
<!--<a-input placeholder="请输入账号/卡号" v-model="queryParam.accountNo"></a-input>-->
<!--</a-form-item>-->
<!--</a-col>-->
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="城市">-->
<!--<j-area-linkage type="cascader" v-model="queryParam.cityId" placeholder="请选择省市区"/>-->
<!--</a-form-item>-->
<!--</a-col>-->
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="发票客户类型">-->
<!--<j-dict-select-tag placeholder="请选择发票客户类型" v-model="queryParam.invoiceCustomerType" dictCode="invoice_customer_type"/>-->
<!--</a-form-item>-->
<!--</a-col>-->
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="发票类型">-->
<!--<j-dict-select-tag placeholder="请选择发票类型" v-model="queryParam.invoiceType" dictCode="invoice_type"/>-->
<!--</a-form-item>-->
<!--</a-col>-->
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="公户账号">-->
<!--<a-input placeholder="请输入公户账号" v-model="queryParam.accountNumber"></a-input>-->
<!--</a-form-item>-->
<!--</a-col>-->
<!--<a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<!--<a-form-item label="物流企业">-->
<!--<j-select-depart placeholder="请选择物流企业" v-model="queryParam.logisticsEnterprisesId"/>-->
<!--</a-form-item>-->
<!--</a-col>-->
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="交付状态">
<j-dict-select-tag placeholder="请选择交付状态" v-model="queryParam.deliveryStatus" dictCode="delivery_status"/>
@ -94,10 +94,10 @@
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<!--<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
<!--<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>-->
<!--<a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
<!--</div>-->
<a-table
ref="table"
@ -211,30 +211,25 @@
}
},
// {
// title:'',
// title:'()',
// align:"center",
// dataIndex: 'ordersNum'
// dataIndex: 'money'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'freight'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'promotionPrice'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'actualPayment'
// },
{
title:'总金额(元)',
align:"center",
dataIndex: 'money'
},
{
title:'运费',
align:"center",
dataIndex: 'freight'
},
{
title:'促销',
align:"center",
dataIndex: 'promotionPrice'
},
{
title:'实付款',
align:"center",
dataIndex: 'actualPayment'
},
{
title:'交货期(天)',
align:"center",
@ -246,7 +241,7 @@
dataIndex: 'ordersType_dictText'
},
{
title:'客',
title:'客',
align:"center",
dataIndex: 'userId_dictText'
},
@ -255,50 +250,50 @@
// align:"center",
// dataIndex: 'goodsQuantity'
// },
{
title:'支付方式',
align:"center",
dataIndex: 'paymentMethod_dictText'
},
// {
// title:'',
// align:"center",
// dataIndex: 'paymentMethod_dictText'
// },
{
title:'支付状态',
align:"center",
dataIndex: 'paymentStatus_dictText'
},
{
title:'账号/卡号',
align:"center",
dataIndex: 'accountNo'
},
{
title:'开户银行',
align:"center",
dataIndex: 'bankDeposit'
},
{
title:'支付时间',
align:"center",
dataIndex: 'paymentTime',
customRender:function (text) {
return !text?"":(text.length>10?text.substr(0,10):text)
}
},
{
title:'城市',
align:"center",
dataIndex: 'cityId',
scopedSlots: {customRender: 'pcaSlot'}
},
{
title:'地址',
align:"center",
dataIndex: 'address'
},
{
title:'邮编',
align:"center",
dataIndex: 'zipCode'
},
// {
// title:'/',
// align:"center",
// dataIndex: 'accountNo'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'bankDeposit'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'paymentTime',
// customRender:function (text) {
// return !text?"":(text.length>10?text.substr(0,10):text)
// }
// },
// {
// title:'',
// align:"center",
// dataIndex: 'cityId',
// scopedSlots: {customRender: 'pcaSlot'}
// },
// {
// title:'',
// align:"center",
// dataIndex: 'address'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'zipCode'
// },
{
title:'收货人',
align:"center",
@ -309,41 +304,41 @@
align:"center",
dataIndex: 'mobile'
},
{
title:'发票客户类型',
align:"center",
dataIndex: 'invoiceCustomerType_dictText'
},
{
title:'发票类型',
align:"center",
dataIndex: 'invoiceType_dictText'
},
{
title:'纳税人识别号',
align:"center",
dataIndex: 'taxIdentificationNumber'
},
{
title:'开票地址',
align:"center",
dataIndex: 'addressBilling'
},
{
title:'电话',
align:"center",
dataIndex: 'telephone'
},
{
title:'公户开户行',
align:"center",
dataIndex: 'bankPublic'
},
{
title:'公户账号',
align:"center",
dataIndex: 'accountNumber'
},
// {
// title:'',
// align:"center",
// dataIndex: 'invoiceCustomerType_dictText'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'invoiceType_dictText'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'taxIdentificationNumber'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'addressBilling'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'telephone'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'bankPublic'
// },
// {
// title:'',
// align:"center",
// dataIndex: 'accountNumber'
// },
{
title:'销售门店',
align:"center",
@ -354,11 +349,11 @@
align:"center",
dataIndex: 'salespersonId_dictText'
},
{
title:'物流企业',
align:"center",
dataIndex: 'logisticsEnterprisesId_dictText'
},
// {
// title:'',
// align:"center",
// dataIndex: 'logisticsEnterprisesId_dictText'
// },
{
title:'交付状态',
align:"center",
@ -398,7 +393,7 @@
},
methods: {
paidan(record){
this.$refs.productionForm.showModal(record.id)
this.$refs.productionForm.showModal(record.id,record.ordersNum+"订单派单管理")
// getAction(this.url.paidan,{id:record.id}).then((res) => {
// if (res.success) {

@ -6,29 +6,27 @@
<a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="工单编号">
<a-input placeholder="请输入工单编号" v-model="queryParam.workCode"></a-input>
<a-input placeholder="请输入工单编号" v-model="queryParam.productCode"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="订单编号">
<a-input placeholder="请输入订单编号" v-model="queryParam.orderCode"></a-input>
<a-input placeholder="请输入订单编号" v-model="queryParam.ordersNum"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="客户名称">
<a-input placeholder="请输入客户名称" v-model="queryParam.realname"></a-input>
</a-form-item>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="客户名称">
<a-input placeholder="请输入客户名称" v-model="queryParam.customerName"></a-input>
</a-form-item>
</a-col>
</template>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
<!--<a @click="handleToggleSearch" style="margin-left: 8px">-->
<!--{{ toggleSearchStatus ? '收起' : '展开' }}-->
<!--<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
<!--</a>-->
</span>
</a-col>
</a-row>
@ -38,25 +36,25 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<!--<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>-->
<a-button type="primary" icon="download" @click="handleExportXls('工单订单完工')">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
</a-dropdown>
<!--<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
<!--<a-button type="primary" icon="import">导入</a-button>-->
<!--</a-upload>-->
<!--<a-dropdown v-if="selectedRowKeys.length > 0">-->
<!--<a-menu slot="overlay">-->
<!--<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>-->
<!--</a-menu>-->
<!--<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>-->
<!--</a-dropdown>-->
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<!--<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
<!--<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>-->
<!--<a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
<!--</div>-->
<a-table
ref="table"
@ -93,8 +91,8 @@
</template>
<span slot="action" slot-scope="text, record">
<!--<a @click="handleEdit(record)">编辑</a>-->
<!--<a-divider type="vertical" />-->
<a @click="handleProductDetail(record)">产品管理</a>
<a-divider type="vertical" />
<a @click="handleDetail(record)">详情</a>
@ -104,6 +102,7 @@
</div>
<work-order-modal ref="modalForm" @ok="modalFormOk"></work-order-modal>
<zy-product-modal ref="productForm" @ok="modalFormOk"></zy-product-modal>
</a-card>
</template>
@ -113,12 +112,14 @@
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import WorkOrderModal from '@/views/workorder/modules/WorkOrderModal'
import ZyProductModal from '@/views/zyWorkProduct/modules/ZyProductModal'
export default {
name: 'ZyWorkOrderList',
mixins:[JeecgListMixin, mixinDevice],
components: {
WorkOrderModal
WorkOrderModal,
ZyProductModal
},
data () {
return {
@ -135,20 +136,25 @@
return parseInt(index)+1;
}
},
{
title:'订单编号',
align:"center",
dataIndex: 'ordersNum'
},
{
title:'工单编号',
align:"center",
dataIndex: 'productCode'
},
{
title:'订单',
title:'客户名称',
align:"center",
dataIndex: 'ordersId'
dataIndex: 'realname'
},
{
title:'订单商品',
title:'商品名称',
align:"center",
dataIndex: 'orderGoodsId'
dataIndex: 'goodsName'
},
{
title:'商品数量',
@ -160,6 +166,7 @@
align:"center",
dataIndex: 'orderTime'
},
{
title:'交货期',
align:"center",
@ -168,7 +175,7 @@
{
title:'工单状态',
align:"center",
dataIndex: 'workOrderStatus_dictText'
dataIndex: 'workOrderStatusText'
},
{
title:'企业',
@ -204,7 +211,12 @@
},
methods: {
initDictConfig(){
}
},
handleProductDetail(record){
this.$refs.productForm.edit(record);
this.$refs.productForm.title="产品管理";
this.$refs.productForm.disableSubmit = true;
},
}
}
</script>

@ -10,6 +10,7 @@
cancelText="关闭"
>
<a-card :bordered="false">
<p style="font-size: 30px;color:#333; padding-left: 28% ">{{ biaoTi }}</p>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
@ -149,6 +150,7 @@
selectedRowKeys: [],
selectdepRows: [],
selectdepIds: [],
biaoTi:"",
}
},
created() {
@ -162,10 +164,11 @@
methods: {
initDictConfig(){
},
showModal(orderId) {
showModal(orderId,biaoTi) {
this.selectedRowKeys=[]
this.orderId=orderId
this.visible = true;
this.biaoTi=biaoTi
this.loadData();
},
close () {

@ -29,7 +29,7 @@ import java.net.UnknownHostException;
@Slf4j
@SpringBootApplication(exclude = {org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class
,org.activiti.spring.boot.SecurityAutoConfiguration.class
// ,org.activiti.spring.boot.SecurityAutoConfiguration.class
})
@EnableScheduling
@EnableTransactionManagement

@ -527,4 +527,22 @@ public class SysDepartController {
result.setResult(sysUsers);
return result;
}
/**
* 根据部门id获取用户信息
*
* @return
*/
@GetMapping("/validatedepartNameAbbr")
public Result<?> getValidatedepartNameAbbr(@RequestParam(name = "name") String name) {
QueryWrapper<SysDepart> depWrapper=new QueryWrapper<SysDepart>();
depWrapper.eq("depart_name_abbr",name);
List<SysDepart> list = sysDepartService.list(depWrapper);
if(list.size()>0)
{
return Result.error("缩写已存在!");
}
return Result.OK("成功!");
}
}

@ -26,6 +26,7 @@ import org.jeecg.modules.demo.zyorders.service.IZyOrdersService;
import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecg.modules.workorder.entity.WorkOrder;
import org.jeecg.modules.workorder.entity.WorkOrderVo;
import org.jeecg.modules.workorder.service.IWorkOrderService;
import org.jeecg.modules.workproduct.entity.ZyProduct;
import org.jeecg.modules.workproduct.service.IZyProductService;
@ -254,13 +255,13 @@ public class WorkOrderController extends JeecgController<WorkOrder, IWorkOrderSe
@AutoLog(value = "工单管理-分页列表查询")
@ApiOperation(value="工单管理-分页列表查询", notes="工单管理工-分页列表查询")
@GetMapping(value = "/workList")
public Result<?> queryPageWorkList(WorkOrder workOrder,
public Result<?> queryPageWorkList(WorkOrderVo workOrder,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<WorkOrder> queryWrapper = QueryGenerator.initQueryWrapper(workOrder, req.getParameterMap());
//QueryWrapper<WorkOrder> queryWrapper = QueryGenerator.initQueryWrapper(workOrder, req.getParameterMap());
Page<WorkOrder> page = new Page<WorkOrder>(pageNo, pageSize);
IPage<WorkOrder> pageList = workOrderService.page(page, queryWrapper);
IPage<WorkOrder> pageList = workOrderService.selectPage(page, workOrder);
return Result.OK(pageList);
}
@ -332,11 +333,11 @@ public class WorkOrderController extends JeecgController<WorkOrder, IWorkOrderSe
csWrapper.eq("style_id",ogModel.getStyleId());
csWrapper.eq("stylemodel_id",ogModel.getModelId());
List<ZyClothSample> csList=zyClothSampleService.list(csWrapper);
// if(csList.size()<=0)
// {
// return Result.error("商品成衣样板不存在,请检查后在操作!");
// }
// ZyClothSample cSampleModel=csList.get(0);
if(csList.size()<=0)
{
return Result.error("商品成衣样板不存在,请检查后在操作!");
}
ZyClothSample cSampleModel=csList.get(0);
int goodNum=ogModel.getGoodsNum();
WorkOrder workOrder=new WorkOrder();
@ -363,6 +364,7 @@ public class WorkOrderController extends JeecgController<WorkOrder, IWorkOrderSe
for(int i=0;i<goodNum;i++)
{
ZyProduct productModel=new ZyProduct();
productModel.setProductName(ogModel.getGoodsName());
productModel.setProductCode(CreateProductCode(workOrder.getProductCode()));// 产品编号
productModel.setWorkOrderId(workOrder.getId());//_ 工单id
// productModel.setProduceTime("");// 生产时间
@ -372,9 +374,9 @@ public class WorkOrderController extends JeecgController<WorkOrder, IWorkOrderSe
// productModel.setTotalMachine("");// 合计(设备秒)
// productModel.setEnterprisesId("");//_id 企业id
productModel.setUserId(zyOrders.getUserId());//_id 用户id
// productModel.setStructureDiagram(cSampleModel.getStructureDiagram());//_diagram 结构图
// productModel.setLayoutDiagram(cSampleModel.getLayoutDiagram());//_diagram 排料图
// productModel.setProductPicture(cSampleModel.getUrl());//_picture 产品图片
productModel.setStructureDiagram(cSampleModel.getStructureDiagram());//_diagram 结构图
productModel.setLayoutDiagram(cSampleModel.getLayoutDiagram());//_diagram 排料图
productModel.setProductPicture(cSampleModel.getUrl());//_picture 产品图片
productModel.setHeight(mesureModel.getHeight());// 身高
productModel.setWeight(mesureModel.getWeight());// 体重
productModel.setHem(mesureModel.getHem());// 下摆

@ -0,0 +1,115 @@
package org.jeecg.modules.workorder.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 工单订单完工
* @Author: jeecg-boot
* @Date: 2023-01-07
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="work_order对象", description="工单订单完工")
public class WorkOrderVo implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**工单编号*/
@Excel(name = "工单编号", width = 15)
@ApiModelProperty(value = "工单编号")
private String productCode;
// /**订单*/
// @Excel(name = "订单", width = 15)
// @ApiModelProperty(value = "订单")
// private String ordersId;
/**原订单id*/
@Excel(name = "订单", width = 15)
@Dict(dictTable = "zy_orders", dicText = "orders_num", dicCode = "id")
@ApiModelProperty(value = "订单")
private String ordersId;
/**订单商品*/
@Excel(name = "订单商品", width = 15)
@ApiModelProperty(value = "订单商品")
private String orderGoodsId;
@ApiModelProperty(value = "订单商品名称")
private String goodsName;
/**商品数量*/
@Excel(name = "商品数量", width = 15)
@ApiModelProperty(value = "商品数量")
private Integer goodsNum;
/**下单时间*/
@Excel(name = "下单时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "下单时间")
private Date orderTime;
/**交货期*/
@Excel(name = "交货期", width = 15)
@ApiModelProperty(value = "交货期")
private Integer deliveryTime;
/**工单状态*/
@Excel(name = "工单状态", width = 15, dicCode = "work_order_status")
@Dict(dicCode = "work_order_status")
@ApiModelProperty(value = "工单状态")
private Integer workOrderStatus;
@ApiModelProperty(value = "工单状态")
private String workOrderStatusText;
/**企业*/
@Excel(name = "企业", width = 15)
@ApiModelProperty(value = "企业")
private String enterprisesId;
@ApiModelProperty(value = "客户姓名")
private String realname;
@ApiModelProperty(value = "企业")
private String departName;
@ApiModelProperty(value = "订单编号")
private java.lang.String ordersNum;
}

@ -2,9 +2,12 @@ package org.jeecg.modules.workorder.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.workorder.entity.WorkOrder;
import org.jeecg.modules.workorder.entity.WorkOrderVo;
/**
* @Description: 工单订单完工
@ -14,4 +17,6 @@ import org.jeecg.modules.workorder.entity.WorkOrder;
*/
public interface WorkOrderMapper extends BaseMapper<WorkOrder> {
//自定义分页查询
IPage<WorkOrder> selectListPage(Page<WorkOrder> page,@Param("model") WorkOrderVo model);
}

@ -2,4 +2,38 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.workorder.mapper.WorkOrderMapper">
<select id="selectListPage" resultType="org.jeecg.modules.workorder.entity.WorkOrderVo">
SELECT wo.*,og.goods_name AS goodsName ,us.realname,dict.item_text AS workOrderStatusText ,dep.`depart_name` AS departName ,o.orders_num AS ordersNum
FROM work_order AS wo
LEFT JOIN zy_orders o ON o.id= wo.orders_id
LEFT JOIN order_goods og ON og.id= wo.order_goods_id
LEFT JOIN sys_user us ON us.username= o.user_id
LEFT JOIN sys_dict_item dict ON dict.dict_id='1611565939851538433'
LEFT JOIN sys_depart dep ON dep.id=wo.enterprises_id
<where>
dict.item_value=wo.work_order_status
<if test="model != null">
<!--工单编号 -->
<if test="model.productCode!=null and model.productCode!=''">
and wo.product_code =#{model.productCode}
</if >
<!--订单编号 -->
<if test="model.ordersNum!=null and model.ordersNum!=''">
and o.orders_num =#{model.ordersNum}
</if >
<!--客户名称 -->
<if test="model.realname!=null and model.realname!=''">
and us.realname LIKE CONCAT("%",#{model.realname},"%")
</if >
</if>
</where>
order by wo.create_time desc
</select>
</mapper>

@ -1,8 +1,11 @@
package org.jeecg.modules.workorder.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.workorder.entity.WorkOrder;
import org.jeecg.modules.workorder.entity.WorkOrderVo;
/**
* @Description: 工单订单完工
@ -12,4 +15,6 @@ import org.jeecg.modules.workorder.entity.WorkOrder;
*/
public interface IWorkOrderService extends IService<WorkOrder> {
//自定义分页查询
IPage<WorkOrder> selectPage(Page<WorkOrder> page, WorkOrderVo workOrder);
}

@ -1,7 +1,10 @@
package org.jeecg.modules.workorder.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.workorder.entity.WorkOrder;
import org.jeecg.modules.workorder.entity.WorkOrderVo;
import org.jeecg.modules.workorder.mapper.WorkOrderMapper;
import org.jeecg.modules.workorder.service.IWorkOrderService;
import org.springframework.stereotype.Service;
@ -17,4 +20,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements IWorkOrderService {
/**
* 自定义分页查询
* @param page
* @param workOrder
* @return
*/
@Override
public IPage<WorkOrder> selectPage(Page<WorkOrder> page, WorkOrderVo workOrder) {
return baseMapper.selectListPage(page,workOrder);
}
}

@ -59,7 +59,7 @@ public class ZyProduct implements Serializable {
@ApiModelProperty(value = "产品编号")
private String productCode;
@Excel(name = "产品编号", width = 50)
@Excel(name = "产品名称", width = 50)
@ApiModelProperty(value = "产品名称")
private String productName;
/**工单*/

Loading…
Cancel
Save