Merge remote-tracking branch 'origin/master'

zhc4dev
lenovo 2 years ago
commit ccc21b683c
  1. 33
      ant-design-vue-jeecg/public/index.html
  2. 107
      ant-design-vue-jeecg/src/views/system/Depart3List.vue
  3. 55
      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. 76
      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> <title>黄淮学院服装智能制造管理平台</title>
<link rel="icon" href="<%= BASE_URL %>logohuanghuai.png"> <link rel="icon" href="<%= BASE_URL %>logohuanghuai.png">
<script src="<%= BASE_URL %>cdn/babel-polyfill/polyfill_7_2_5.js"></script> <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> <style>
html, html,
body, body,
@ -268,7 +274,7 @@
<!-- 全局配置 --> <!-- 全局配置 -->
<script> <script>
window._CONFIG = {}; 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['casPrefixUrl'] = 'http://cas.example.org:8443/cas';
window._CONFIG['imgDomainURL'] = window._CONFIG['domianURL'] + '/sys/common/view'; window._CONFIG['imgDomainURL'] = window._CONFIG['domianURL'] + '/sys/common/view';
window._CONFIG['downloadUrl'] = window._CONFIG['domianURL'] + '/sys/common/download'; window._CONFIG['downloadUrl'] = window._CONFIG['domianURL'] + '/sys/common/download';
@ -278,11 +284,28 @@
<body> <body>
<div id="app"> <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-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div> <!--<div id="loader"></div>-->
<div class="loader-section section-right"></div> <!--<div class="loader-section section-left"></div>-->
<div class="load_title">正在加载 服装智能制造软件平台V3.0,请耐心等待 <!--<div class="loader-section section-right"></div>-->
<!--<div class="load_title">正在加载 服装智能制造软件平台V3.0,请耐心等待-->
</div> </div>
</div> </div>

@ -75,13 +75,7 @@
<a-tab-pane tab="基本信息" key="1" > <a-tab-pane tab="基本信息" key="1" >
<a-card :bordered="false" v-if="selectedKeys.length>0"> <a-card :bordered="false" v-if="selectedKeys.length>0">
<a-form :form="form"> <a-form :form="form">
<a-form-item <template v-if="!orgTypeDisabled">
: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-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="上级部门">
<a-tree-select <a-tree-select
style="width:100%" style="width:100%"
@ -93,13 +87,40 @@
</a-tree-select> </a-tree-select>
</a-form-item> </a-form-item>
</template> </template>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="部门名称">
<a-input placeholder="请输入机构/部门名称" v-decorator="['departName', validatorRules.departName ]"/>
</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>
<a-form-item <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
label="部门编码"> label="部门编码">
<a-input disabled placeholder="请输入部门编码" v-decorator="['orgCode', validatorRules.orgCode ]"/> <a-input disabled placeholder="请输入部门编码" v-decorator="['orgCode', validatorRules.orgCode ]"/>
</a-form-item> </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 <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
@ -135,14 +156,9 @@
<!--</template>--> <!--</template>-->
</a-form-item> </a-form-item>
</template> </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 <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
@ -158,12 +174,13 @@
</template> </template>
<!--<a-form-item--> <a-form-item
<!--:labelCol="labelCol"--> :labelCol="labelCol"
<!--:wrapperCol="wrapperCol"--> :wrapperCol="wrapperCol"
<!--label="备注">--> label="备注">
<!--<a-textarea placeholder="请输入备注" v-decorator="['memo', {'initialValue':''}]"/>--> <a-textarea placeholder="请输入备注" v-decorator="['memo', {'initialValue':''}]"/>
<!--</a-form-item>--> </a-form-item>
</a-form> </a-form>
<div class="anty-form-btn"> <div class="anty-form-btn">
<a-button @click="emptyCurrForm" type="default" htmlType="button" icon="sync">重置</a-button> <a-button @click="emptyCurrForm" type="default" htmlType="button" icon="sync">重置</a-button>
@ -189,7 +206,7 @@
import DepartModal from './modules/DepartModal' import DepartModal from './modules/DepartModal'
import pick from 'lodash.pick' import pick from 'lodash.pick'
import {queryDepartTreeList, searchByKeywords, deleteByDepartId} from '@/api/api' 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 {JeecgListMixin} from '@/mixins/JeecgListMixin'
import DepartAuthModal from './modules/DepartAuthModal' import DepartAuthModal from './modules/DepartAuthModal'
// //
@ -198,6 +215,15 @@
title: '部门名称', title: '部门名称',
dataIndex: 'departName' dataIndex: 'departName'
}, },
{
title: '英文名称',
dataIndex: 'departNameEn'
},
{
title: '缩写',
dataIndex: 'departNameAbbr'
},
{ {
title: '', title: '',
align: 'center', align: 'center',
@ -282,7 +308,8 @@
departName: {rules: [{required: true, message: '请输入部门/部门名称!'}]}, departName: {rules: [{required: true, message: '请输入部门/部门名称!'}]},
orgCode: {rules: [{required: true, message: '请输入部门编码!'}]}, orgCode: {rules: [{required: true, message: '请输入部门编码!'}]},
orgCategory: {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: { url: {
delete: '/sys/sysDepart/delete', delete: '/sys/sysDepart/delete',
@ -290,8 +317,10 @@
deleteBatch: '/sys/sysDepart/deleteBatch', deleteBatch: '/sys/sysDepart/deleteBatch',
exportXlsUrl: "sys/sysDepart/exportXls", exportXlsUrl: "sys/sysDepart/exportXls",
importExcelUrl: "sys/sysDepart/importExcel", importExcelUrl: "sys/sysDepart/importExcel",
validatedepartNameAbbrUrl: "sys/sysDepart/validatedepartNameAbbr",
}, },
orgCategoryDisabled:false, orgCategoryDisabled:false,
orgTypeDisabled:false,
} }
}, },
computed: { computed: {
@ -375,9 +404,6 @@
ids += this.checkedKeys[a] + ',' ids += this.checkedKeys[a] + ','
} }
var that = this var that = this
this.$confirm( '确定要删除所选中的 ' + this.checkedKeys.length + ' 条数据,以及子节点数据吗?','确认删除', this.$confirm( '确定要删除所选中的 ' + this.checkedKeys.length + ' 条数据,以及子节点数据吗?','确认删除',
{ {
confirmButtonText: '确定', confirmButtonText: '确定',
@ -458,6 +484,12 @@
}else{ }else{
this.orgCategoryDisabled =true; this.orgCategoryDisabled =true;
} }
if(record.orgType == '1'){
this.orgTypeDisabled =true ;
}else{
this.orgTypeDisabled =false;
}
this.$nextTick(() => { this.$nextTick(() => {
// this.form.getFieldDecorator('fax', {initialValue: ''}) // this.form.getFieldDecorator('fax', {initialValue: ''})
this.form.setFieldsValue(pick(record, 'departName','orgCategory', 'orgCode', 'departOrder', 'mobile', 'fax', 'address', 'memo')) this.form.setFieldsValue(pick(record, 'departName','orgCategory', 'orgCode', 'departOrder', 'mobile', 'fax', 'address', 'memo'))
@ -634,9 +666,30 @@
this.getAllKeys(node.children[a]) this.getAllKeys(node.children[a])
} }
} }
} },
// <!---- author:os_chengtgen -- date:20190827 -- for: =======------> // <!---- 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() { created() {
this.currFlowId = this.$route.params.id this.currFlowId = this.$route.params.id

@ -30,6 +30,20 @@
:disabled="condition"> :disabled="condition">
</a-tree-select> </a-tree-select>
</a-form-item> </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"> <template v-if="seen">
<a-form-item <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
@ -85,12 +99,12 @@
<a-input placeholder="请输入地址" v-decorator="['address', {}]"/> <a-input placeholder="请输入地址" v-decorator="['address', {}]"/>
</a-form-item> </a-form-item>
</template> </template>
<!--<a-form-item--> <a-form-item
<!--:labelCol="labelCol"--> :labelCol="labelCol"
<!--:wrapperCol="wrapperCol"--> :wrapperCol="wrapperCol"
<!--label="备注">--> label="备注">
<!--<a-textarea placeholder="请输入备注" v-decorator="['memo', {}]"/>--> <a-textarea placeholder="请输入备注" v-decorator="['memo', {}]"/>
<!--</a-form-item>--> </a-form-item>
</a-form> </a-form>
</a-spin> </a-spin>
@ -98,7 +112,7 @@
</template> </template>
<script> <script>
import {httpAction} from '@/api/manage' import {httpAction,getAction} from '@/api/manage'
import {queryIdTree} from '@/api/api' import {queryIdTree} from '@/api/api'
import pick from 'lodash.pick' import pick from 'lodash.pick'
import ATextarea from 'ant-design-vue/es/input/TextArea' import ATextarea from 'ant-design-vue/es/input/TextArea'
@ -134,10 +148,12 @@
validatorRules: { validatorRules: {
departName: {rules: [{required: true, message: '请输入部门/部门名称!'}]}, departName: {rules: [{required: true, message: '请输入部门/部门名称!'}]},
orgCode: {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: { url: {
add: "/sys/sysDepart/add", add: "/sys/sysDepart/add",
validatedepartNameAbbrUrl: "sys/sysDepart/validatedepartNameAbbr",
}, },
dictDisabled: true, dictDisabled: true,
} }
@ -222,8 +238,31 @@
} else { } else {
callback("您的手机号码格式不正确!"); 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> </script>

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

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

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

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

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

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

@ -1,8 +1,11 @@
package org.jeecg.modules.workorder.service; 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 com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.workorder.entity.WorkOrder; import org.jeecg.modules.workorder.entity.WorkOrder;
import org.jeecg.modules.workorder.entity.WorkOrderVo;
/** /**
* @Description: 工单订单完工 * @Description: 工单订单完工
@ -12,4 +15,6 @@ import org.jeecg.modules.workorder.entity.WorkOrder;
*/ */
public interface IWorkOrderService extends IService<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; 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.WorkOrder;
import org.jeecg.modules.workorder.entity.WorkOrderVo;
import org.jeecg.modules.workorder.mapper.WorkOrderMapper; import org.jeecg.modules.workorder.mapper.WorkOrderMapper;
import org.jeecg.modules.workorder.service.IWorkOrderService; import org.jeecg.modules.workorder.service.IWorkOrderService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -17,4 +20,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service @Service
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements IWorkOrderService { 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 = "产品编号") @ApiModelProperty(value = "产品编号")
private String productCode; private String productCode;
@Excel(name = "产品编号", width = 50) @Excel(name = "产品名称", width = 50)
@ApiModelProperty(value = "产品名称") @ApiModelProperty(value = "产品名称")
private String productName; private String productName;
/**工单*/ /**工单*/

Loading…
Cancel
Save