2023-01-16-02

zhc4dev
喻忠伟 2 years ago
parent 5aaa7cbc21
commit a392a391dd
  1. 93
      ant-design-vue-jeecg/src/views/system/Depart3List.vue
  2. 57
      ant-design-vue-jeecg/src/views/system/modules/DepartModal.vue
  3. 17
      ant-design-vue-jeecg/src/views/zyWorkorderManagement/ZyProductionOrderList.vue
  4. 38
      ant-design-vue-jeecg/src/views/zyWorkorderManagement/ZyWorkOrderList.vue
  5. 5
      ant-design-vue-jeecg/src/views/zyWorkorderManagement/workdep/JSelectProductionDep.vue
  6. 18
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
  7. 8
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/controller/WorkOrderController.java
  8. 115
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/entity/WorkOrderVo.java
  9. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/mapper/WorkOrderMapper.java
  10. 34
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/mapper/xml/WorkOrderMapper.xml
  11. 5
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/service/IWorkOrderService.java
  12. 13
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/service/impl/WorkOrderServiceImpl.java
  13. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workproduct/entity/ZyProduct.java

@ -75,37 +75,46 @@
<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">
<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 <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
label="部门名称"> label="部门名称">
<a-input placeholder="请输入机构/部门名称" v-decorator="['departName', validatorRules.departName ]"/> <a-input placeholder="请输入机构/部门名称" v-decorator="['departName', validatorRules.departName ]"/>
</a-form-item> </a-form-item>
<template v-if="!orgCategory">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="上级部门"> <a-form-item
<a-tree-select :labelCol="labelCol"
style="width:100%" :wrapperCol="wrapperCol"
:dropdownStyle="{maxHeight:'200px',overflow:'auto'}" label="英文名称">
:treeData="treeData" <a-input placeholder="请输入英文名称" v-decorator="['departNameEn', {'initialValue':''}]"/>
:disabled="disable"
v-model="model.parentId"
placeholder="无">
</a-tree-select>
</a-form-item> </a-form-item>
</template>
<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 placeholder="请输入手机号" v-decorator="['departNameAbbr', validatorRules.departNameAbbr ]"/>
</a-form-item> </a-form-item>
<template v-if="orgCategory">
<a-form-item <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
label="排序"> label="部门编码">
<a-input-number v-decorator="[ 'departOrder',{'initialValue':0}]"/> <a-input disabled placeholder="请输入部门编码" v-decorator="['orgCode', validatorRules.orgCode ]"/>
</a-form-item> </a-form-item>
<template v-if="orgTypeDisabled">
<a-form-item <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
@ -165,18 +174,13 @@
</template> </template>
<!--<a-form-item-->
<!--:labelCol="labelCol"-->
<!--:wrapperCol="wrapperCol"-->
<!--label="备注">-->
<!--<a-textarea placeholder="请输入备注" v-decorator="['memo', {'initialValue':''}]"/>-->
<!--</a-form-item>-->
<a-form-item <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
label="排序"> label="备注">
<a-input-number v-decorator="[ 'departOrder',{'initialValue':0}]"/> <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>
@ -202,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'
// //
@ -211,6 +215,15 @@
title: '部门名称', title: '部门名称',
dataIndex: 'departName' dataIndex: 'departName'
}, },
{
title: '英文名称',
dataIndex: 'departNameEn'
},
{
title: '缩写',
dataIndex: 'departNameAbbr'
},
{ {
title: '', title: '',
align: 'center', align: 'center',
@ -295,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',
@ -303,6 +317,7 @@
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, orgTypeDisabled:false,
@ -389,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: '确定',
@ -654,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>

@ -210,11 +210,6 @@
return !text?"":(text.length>10?text.substr(0,10):text) return !text?"":(text.length>10?text.substr(0,10):text)
} }
}, },
{
title:'订单编号',
align:"center",
dataIndex: 'ordersNum'
},
// { // {
// title:'()', // title:'()',
// align:"center", // align:"center",
@ -245,11 +240,11 @@
align:"center", align:"center",
dataIndex: 'ordersType_dictText' dataIndex: 'ordersType_dictText'
}, },
// { {
// title:'', title:'客户',
// align:"center", align:"center",
// dataIndex: 'userId_dictText' dataIndex: 'userId_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,17 +6,17 @@
<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>
<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>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
@ -91,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>
@ -102,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>
@ -111,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 {
@ -133,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:'商品数量',
@ -158,6 +166,7 @@
align:"center", align:"center",
dataIndex: 'orderTime' dataIndex: 'orderTime'
}, },
{ {
title:'交货期', title:'交货期',
align:"center", align:"center",
@ -166,7 +175,7 @@
{ {
title:'工单状态', title:'工单状态',
align:"center", align:"center",
dataIndex: 'workOrderStatus_dictText' dataIndex: 'workOrderStatusText'
}, },
{ {
title:'企业', title:'企业',
@ -202,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 () {

@ -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);
} }
@ -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("");// 生产时间

@ -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