Merge remote-tracking branch 'origin/master'

zhc4dev
wangjiadong 2 years ago
commit f1350efc39
  1. 13
      ant-design-vue-jeecg/src/views/goodsaccessories/GoodsAccessoriesList.vue
  2. 14
      ant-design-vue-jeecg/src/views/goodsfabric/GoodsFabricList.vue
  3. 22
      ant-design-vue-jeecg/src/views/goodsmodule/GoodsModuleList.vue
  4. 106
      ant-design-vue-jeecg/src/views/ordergoods/OrderGoodsList.vue
  5. 25
      ant-design-vue-jeecg/src/views/process/modules/ZyClothsComponentForm.vue
  6. 95
      ant-design-vue-jeecg/src/views/process/modules/ZyClothsModularForm.vue
  7. 8
      ant-design-vue-jeecg/src/views/process/modules/ZyClothsTypeForm.vue
  8. 381
      ant-design-vue-jeecg/src/views/productplan/ProductplanManage.vue
  9. 15
      ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessList.vue
  10. 6
      ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue
  11. 4
      ant-design-vue-jeecg/src/views/zyclothsstyle/modules/ZyClothsStyleForm.vue
  12. 3
      ant-design-vue-jeecg/src/views/zygoods/ZyGoodsList.vue
  13. 2
      ant-design-vue-jeecg/src/views/zygoods/modules/ZyGoodsForm.vue
  14. 92
      ant-design-vue-jeecg/src/views/zyorders/ZyOrdersList.vue
  15. 2
      ant-design-vue-jeecg/src/views/zystylemodel/ZyStyleModelList.vue
  16. 19
      jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsTypeController.java
  17. 2
      jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/service/IZyClothsTypeService.java
  18. 23
      jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/service/impl/ZyClothsTypeServiceImpl.java
  19. 4
      jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/pro/entity/ZyProcessAccessories.java
  20. 4
      jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/pro/entity/ZyProcessFabric.java
  21. 4
      jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/pro/entity/ZyProcessMachine.java
  22. 44
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/ordergoods/entity/OrderGoodsJk.java
  23. 188
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyorders/controller/ZyOrdersController.java
  24. 85
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyorders/entity/ZyOrdersJk.java
  25. 1
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyorders/service/IZyOrdersService.java
  26. 1
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/entity/ZyProductProcess.java
  27. 42
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java
  28. 18
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyPlanProcess.java
  29. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyPlanProcessAccessories.java
  30. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyPlanProcessFabric.java
  31. 66
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/enums/ProductPlanStatusEnum.java
  32. 4
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/IZyPlanProcessService.java
  33. 288
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java
  34. 4
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/service/IStationMachineService.java
  35. 1
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/service/IStationToolService.java
  36. 29
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/service/impl/StationMachineServiceImpl.java
  37. 27
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/team/service/impl/StationToolServiceImpl.java
  38. 20
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/controller/WorkOrderController.java
  39. 4
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/service/IWorkOrderService.java
  40. 129
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/workorder/service/impl/WorkOrderServiceImpl.java
  41. 28
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zyclothsstyle/controller/ZyClothsStyleController.java
  42. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zyclothsstyle/service/IZyClothsStyleService.java
  43. 14
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zyclothsstyle/service/impl/ZyClothsStyleServiceImpl.java

@ -1,5 +1,6 @@
<template>
<a-card :bordered="false">
<p style="font-size: 30px;color:#333;padding-left: 40%">{{biaoTi}}</p>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
@ -81,6 +82,8 @@
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleDetail(record)">详情</a>
<a-divider type="vertical" />
<!-- <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a @click="handleDetail(record)">详情</a>
@ -93,6 +96,7 @@
</div>
<goods-accessories-modal ref="modalForm" @ok="modalFormOk" @valueChange="valueChange"></goods-accessories-modal>
<ZyAccessoriesFormDetail ref="ZyAccessoriesFormDetail"></ZyAccessoriesFormDetail>
</a-card>
</template>
@ -104,17 +108,20 @@
import GoodsAccessoriesModal from './modules/GoodsAccessoriesModal'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
import { getAction,postAction } from '@/api/manage'
import ZyAccessoriesFormDetail from "../erp/accessories/modules/ZyAccessoriesFormDetail";
export default {
name: 'GoodsAccessoriesList',
mixins:[JeecgListMixin, mixinDevice],
components: {
GoodsAccessoriesModal
GoodsAccessoriesModal,
ZyAccessoriesFormDetail
},
data () {
return {
description: '商品辅料表管理页面',
//
biaoTi: '',
columns: [
{
title: '#',
@ -160,6 +167,7 @@
},
created() {
this.getSuperFieldList();
this.biaoTi = this.$route.query.goodsname+"商品辅料管理";
},
computed: {
importExcelUrl: function(){
@ -167,6 +175,9 @@
},
},
methods: {
handleDetail(record){
this.$refs.ZyAccessoriesFormDetail.showModal(record.accessoriesId)
},
fanHui() {
this.$router.push({
path: '/zygoods/ZyGoodsList',

@ -1,5 +1,6 @@
<template>
<a-card :bordered="false">
<p style="font-size: 30px;color:#333;padding-left: 40%">{{biaoTi}}</p>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
@ -81,6 +82,8 @@
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleDetail(record)">详情</a>
<a-divider type="vertical" />
<!-- <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a @click="handleDetail(record)">详情</a>
@ -93,6 +96,7 @@
</div>
<goods-fabric-modal ref="modalForm" @ok="modalFormOk" @valueChange="valueChange"></goods-fabric-modal>
<ZyFabricFormDetailModel ref="ZyFabricFormDetailModel"></ZyFabricFormDetailModel>
</a-card>
</template>
@ -104,17 +108,20 @@
import GoodsFabricModal from './modules/GoodsFabricModal'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
import { getAction,postAction } from '@/api/manage'
import ZyFabricFormDetailModel from "../erp/fabric/modules/ZyFabricFormDetailModel";
export default {
name: 'GoodsFabricList',
mixins:[JeecgListMixin, mixinDevice],
components: {
GoodsFabricModal
GoodsFabricModal,
ZyFabricFormDetailModel
},
data () {
return {
description: '商品面料表管理页面',
//
biaoTi: '',
columns: [
{
title: '#',
@ -160,6 +167,7 @@
},
created() {
this.getSuperFieldList();
this.biaoTi = this.$route.query.goodsname+"商品面料管理";
},
computed: {
importExcelUrl: function(){
@ -167,6 +175,10 @@
},
},
methods: {
handleDetail(record){
this.$refs.ZyFabricFormDetailModel.showModal(record.fabricId,'')
// this.$children[0].showModal(id)
},
fanHui() {
this.$router.push({
path: '/zygoods/ZyGoodsList',

@ -1,5 +1,6 @@
<template>
<a-card :bordered="false">
<p style="font-size: 30px;color:#333;padding-left: 40%">{{biaoTi}}</p>
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
@ -86,22 +87,11 @@
</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-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</span>
</a-table>
@ -130,6 +120,7 @@
return {
description: '商品模块表管理页面',
//
biaoTi: '',
columns: [
{
title: '#',
@ -185,6 +176,7 @@
},
created() {
this.getSuperFieldList();
this.biaoTi = this.$route.query.goodsname+"商品模块管理";
},
computed: {
importExcelUrl: function(){

@ -4,56 +4,50 @@
<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-col :xl="4" :lg="5" :md="6" :sm="22">
<a-form-item label="订单">
<j-dict-select-tag placeholder="请选择订单" v-model="queryParam.ordersId" dictCode="zy_orders,orders_num,id"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<!-- <a-col :xl="4" :lg="5" :md="6" :sm="22">
<a-form-item label="商品">
<j-dict-select-tag placeholder="请选择商品" v-model="queryParam.goodsId" dictCode="zy_goods,goods_name,id"/>
</a-form-item>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
</a-col>-->
<a-col :xl="4" :lg="5" :md="6" :sm="22">
<a-form-item label="商品编号">
<a-input placeholder="请输入商品编号" v-model="queryParam.goodsCode"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-col :xl="4" :lg="5" :md="6" :sm="22">
<a-form-item label="商品名称">
<a-input placeholder="请输入商品名称" v-model="queryParam.goodsName"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<a-form-item label="是否定制">
<j-dict-select-tag placeholder="请选择是否定制" v-model="queryParam.customized" dictCode="yn"/>
</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.measureId" dictCode="customer_measure,username,id"/>
</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.recommend" dictCode="yn"/>
<j-dict-select-tag type="radio" placeholder="请选择是否定制" v-model="queryParam.customized" dictCode="yn"/>
</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.status" dictCode="good_status"/>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<a-form-item label="是否推荐">
<j-dict-select-tag type="radio" placeholder="请选择是否推荐" v-model="queryParam.recommend" dictCode="yn"/>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<a-form-item label="状态">
<j-dict-select-tag type="radio" placeholder="请选择状态" v-model="queryParam.status" dictCode="good_status"/>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="5" :md="6" :sm="22">
<a-form-item label="顾客">
<j-dict-select-tag placeholder="请选择顾客" v-model="queryParam.measureId" dictCode="customer_measure,username,id"/>
</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>
</span>
</a-col>
</a-row>
@ -63,18 +57,18 @@
<!-- 操作按钮区域 -->
<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>
<!-- 高级查询区域 -->
<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-menu slot="overlay">
<!-- <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-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>-->
</a-dropdown>
</div>
@ -120,22 +114,12 @@
</template>
<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-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
<!--<a @click="handleEdit(record)">编辑</a>-->
<a @click="handleDetail(record)">详情</a>
<!-- <a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>-->
</span>
</a-table>
@ -179,16 +163,11 @@
align:"center",
dataIndex: 'ordersId_dictText'
},
{
/* {
title:'商品',
align:"center",
dataIndex: 'goodsId_dictText'
},
{
title:'商品数量',
align:"center",
dataIndex: 'goodsNum'
},
},*/
{
title:'商品编号',
align:"center",
@ -200,21 +179,26 @@
dataIndex: 'goodsName'
},
{
title:'商品数量',
align:"center",
dataIndex: 'goodsNum'
},
/* {
title:'商品描述',
align:"center",
dataIndex: 'goodsIntr'
},
},*/
{
title:'是否定制',
align:"center",
dataIndex: 'customized_dictText'
},
{
title:'顾客量体',
title:'顾客',
align:"center",
dataIndex: 'measureId_dictText'
},
{
/* {
title:'商品图片',
align:"center",
dataIndex: 'goodsPicture'
@ -229,21 +213,21 @@
align:"center",
dataIndex: 'goodsVideo',
scopedSlots: {customRender: 'fileSlot'}
},
},*/
{
title:'服装类型',
align:"center",
dataIndex: 'clothsTypeId'
dataIndex: 'clothsTypeId_dictText'
},
{
title:'款式',
align:"center",
dataIndex: 'styleId'
dataIndex: 'styleId_dictText'
},
{
title:'型号',
align:"center",
dataIndex: 'modelId'
dataIndex: 'modelId_dictText'
},
{
title:'单位',
@ -336,7 +320,7 @@
fieldList.push({type:'string',value:'goodsName',text:'商品名称',dictCode:''})
fieldList.push({type:'string',value:'goodsIntr',text:'商品描述',dictCode:''})
fieldList.push({type:'int',value:'customized',text:'是否定制',dictCode:'yn'})
fieldList.push({type:'string',value:'measureId',text:'顾客量体',dictCode:'customer_measure,username,id'})
fieldList.push({type:'string',value:'measureId',text:'顾客',dictCode:'customer_measure,username,id'})
fieldList.push({type:'string',value:'goodsPicture',text:'商品图片',dictCode:''})
fieldList.push({type:'string',value:'defaultPicture',text:'默认图片',dictCode:''})
fieldList.push({type:'string',value:'goodsVideo',text:'商品视频',dictCode:''})

@ -5,7 +5,7 @@
<a-row>
<a-col :span="48">
<a-form-model-item label="企业" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enterpriseId">
<j-select-depart v-model="model.enterpriseId"/>
<j-select-depart v-model="model.enterpriseId" @change="getEnterNums"/>
</a-form-model-item>
</a-col>
</a-row>
@ -167,7 +167,9 @@ export default {
edit: "/base/zyClothsComponent/edit",
queryById: "/base/zyClothsComponent/queryById",
//
sort: "/base/zyClothsComponent/sort"
sort: "/base/zyClothsComponent/sort",
//
enterpriseNum: "/base/zyClothsType/getEnterpriseNum"
}
}
},
@ -181,6 +183,25 @@ export default {
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
getEnterNums() {
if (this.model.id) {
getAction(this.url.enterpriseNum, {id: this.model.enterpriseId}).then((res) => {
if (res.code === 500) {
this.$message({
type: 'error',
message: '只能选择一个企业!'
});
} else if (res.code !== 200) {
this.$message({
type: 'error',
message: '未查询到数据!'
});
}
this.model.nums = res.result + this.model.nums.substring(4);
console.log('编辑中改变企业编号 res.result ' + this.model.nums)
})
}
},
async getNumberClothsComponentList() {
//const {data: res} = await this.$axios.get('/jeecg-boot/base/zyClothsComponent/sort?id=' + this.model.clothsTypeId)
getAction(this.url.sort, {id: this.model.clothsTypeId}).then((res) => {

@ -5,7 +5,7 @@
<a-row>
<a-col :span="48">
<a-form-model-item label="企业" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enterpriseId">
<j-select-depart v-model="model.enterpriseId" placeholder="请选择企业"/>
<j-select-depart v-model="model.enterpriseId" placeholder="请选择企业" @change="getEnterNums"/>
</a-form-model-item>
</a-col>
</a-row>
@ -49,7 +49,8 @@
<a-row>
<a-col :span="48">
<a-form-model-item label="模块类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="modularType">
<j-dict-select-tag type="list" v-model="model.modularType" dictCode="zyModularType" placeholder="请选择模块类型" />
<j-dict-select-tag type="list" v-model="model.modularType" dictCode="zyModularType"
placeholder="请选择模块类型"/>
</a-form-model-item>
</a-col>
</a-row>
@ -68,44 +69,44 @@
</a-form-model-item>
</a-col>
</a-row>
<!-- <a-row>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="企业" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enterpriseId">-->
<!-- <j-select-depart v-model="model.enterpriseId" placeholder="请选择企业"/>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-row>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="企业" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enterpriseId">-->
<!-- <j-select-depart v-model="model.enterpriseId" placeholder="请选择企业"/>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="模块名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="modularName">-->
<!-- <a-input v-model="model.modularName" placeholder="请输入模块名称" ></a-input>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="模块名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="modularName">-->
<!-- <a-input v-model="model.modularName" placeholder="请输入模块名称" ></a-input>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="服装类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="clothsTypeId">-->
<!-- <j-dict-select-tag type="list" v-model="model.clothsTypeId" dictCode="zy_cloths_type,type_name,id" placeholder="请选择服装类型" />-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="description">-->
<!-- <a-textarea v-model="model.description" rows="4" placeholder="请输入描述"/>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="企业" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enterpriseId">-->
<!-- <a-input v-model="model.enterpriseId" placeholder="请输入企业" ></a-input>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="服装类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="clothsTypeId">-->
<!-- <j-dict-select-tag type="list" v-model="model.clothsTypeId" dictCode="zy_cloths_type,type_name,id" placeholder="请选择服装类型" />-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="description">-->
<!-- <a-textarea v-model="model.description" rows="4" placeholder="请输入描述"/>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="企业" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enterpriseId">-->
<!-- <a-input v-model="model.enterpriseId" placeholder="请输入企业" ></a-input>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="图片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pictureUrl">-->
<!-- <j-image-upload isMultiple v-model="model.pictureUrl" ></j-image-upload>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="图片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pictureUrl">-->
<!-- <j-image-upload isMultiple v-model="model.pictureUrl" ></j-image-upload>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- </a-row>-->
</a-form-model>
</j-form-container>
</a-spin>
@ -162,7 +163,9 @@ export default {
edit: "/base/zyClothsModular/edit",
queryById: "/base/zyClothsModular/queryById",
//getActionurl
sort: "/base/zyClothsModular/sort"
sort: "/base/zyClothsModular/sort",
//
enterpriseNum: "/base/zyClothsType/getEnterpriseNum"
}
}
},
@ -176,8 +179,26 @@ export default {
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
getEnterNums() {
if (this.model.id) {
getAction(this.url.enterpriseNum, {id: this.model.enterpriseId}).then((res) => {
if (res.code === 500) {
this.$message({
type: 'error',
message: '只能选择一个企业!'
});
} else if (res.code !== 200) {
this.$message({
type: 'error',
message: '未查询到数据!'
});
}
this.model.nums = res.result + this.model.nums.substring(4);
console.log('编辑中改变企业编号 res.result ' + this.model.nums)
})
}
},
async bianhao() {
//var n=6
getAction(this.url.sort, {id: this.model.clothsTypeId}).then((res) => {
//let num = res.result;
console.log("+6++++aaa: " + res.result)

@ -78,6 +78,9 @@ export default {
},
confirmLoading: false,
validatorRules: {
enterpriseId: [
{required: true, message: '请选择一个企业!'},
],
nums: [
{required: true, message: '请输入编号!'},
],
@ -85,9 +88,6 @@ export default {
{required: true, message: '请输入类型名称!'},
{pattern: /^[0-9A-Za-z\u4e00-\u9fa5.,;,。;、!()?]{0,50}$/, message: '文本长度过长'},
],
enterpriseId: [
{required: true, message: '请选择一个企业!'},
],
},
url: {
add: "/base/zyClothsType/add",
@ -95,7 +95,7 @@ export default {
queryById: "/base/zyClothsType/queryById",
weiyi: "/base/zyClothsType/weiyi",
//
enterpriseNum: "/zyclothsstyle/zyClothsStyle/enterpriseNum"
enterpriseNum: "/base/zyClothsType/getEnterpriseNum"
}
}
},

@ -0,0 +1,381 @@
<template>
<a-card :bordered="false">
<template>
<div>
<el-descriptions border :column='4'>
<el-descriptions-item label="工单编号 ">{{ planInfo.productCode }}</el-descriptions-item>
<el-descriptions-item label="生产企业">{{ planInfo.productOrg }}</el-descriptions-item>
<!-- <el-descriptions-item label="企业负责人 ">admin</el-descriptions-item>-->
<el-descriptions-item label="车间 ">{{ planInfo.workshop }}</el-descriptions-item>
<!-- <el-descriptions-item label="车间负责人 ">admin</el-descriptions-item>-->
<el-descriptions-item label="班组">{{ planInfo.team }}</el-descriptions-item>
<el-descriptions-item label="班组长">{{ planInfo.teamLade }}</el-descriptions-item>
<el-descriptions-item label="产品类型">{{ planInfo.productType }}</el-descriptions-item>
<el-descriptions-item label="产品编号">{{ planInfo.productNo }}</el-descriptions-item>
<el-descriptions-item label="产品名称">{{ planInfo.productName }}</el-descriptions-item>
<el-descriptions-item label="开始时间">{{ planInfo.workTime }}</el-descriptions-item>
<el-descriptions-item label="生产时长">{{ planInfo.duration }}</el-descriptions-item>
<el-descriptions-item label="生产状态">{{ planInfo.status }}</el-descriptions-item>
<el-descriptions-item label="加急">{{ planInfo.speedUp }}</el-descriptions-item>
<el-descriptions-item label="销售企业">{{ planInfo.salesEnterprise }}</el-descriptions-item>
<el-descriptions-item label="订货期">{{ planInfo.orderTime }}</el-descriptions-item>
<!-- <el-descriptions-item label="制定人">100</el-descriptions-item>-->
<!-- <el-descriptions-item label="制定时间">100</el-descriptions-item>-->
<el-descriptions-item label="审核人">{{ planInfo.auditBy }}</el-descriptions-item>
<el-descriptions-item label="审核时间">{{ planInfo.auditTimr }}</el-descriptions-item>
</el-descriptions>
</div>
</template>
<!-- table区域-begin -->
<div>
<j-vxe-table
ref="xTable"
toolbar
:toolbarConfig="toolbarConfig"
row-number
row-selection
keep-source
:rowSelection="clickTrue"
:clickSelectRow="clickTrue"
:loading="loading"
:columns="columns"
@selectRowChange="handleSelectRowChange"
:dataSource="dataSource"
@valueChange="handleValueChange"
@save="handleTableSave"
>
<template v-slot:toolbarSuffix>
<a-button type="primary" icon="plus-circle" @click="syncProductProcess()">读取工序</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('计划工序')">导出</a-button>
<a-button type="primary" icon="rollback" @click="fanHui()">返回</a-button>
</template>
<template v-slot:action="props">
<a @click="jump2MianLiao('mianLiao',props)">面料</a>
<a-divider type="vertical"/>
<a @click="jump2FuLiao('fuLiao',props)">辅料</a>
<a-divider type="vertical"/>
<a @click="detail(props)">详情</a>
</template>
</j-vxe-table>
</div>
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import {getAction, postAction} from "@api/manage";
import {filterObj, pushIfNotExist, randomNumber, randomUUID} from "@/utils/util";
import {JVXETypes} from '@/components/jeecg/JVxeTable'
import Area from "@comp/_util/Area";
export default {
name: 'ZyPlanProcessDataList',
mixins: [JeecgListMixin, mixinDevice],
data() {
return {
toolbarConfig: {
// add remove clearSelection
btn: ['save',]
},
description: '生产计划工序管理页面',
loading: false,
dataSource: [],
columns: [
{
title: '工序名称',
key: 'processName',
width: '180px',
},
{
title: '工位ID',
key: 'stationId',
type: JVXETypes.hidden,
},
{
title: '工位名称',
key: 'stationName',
type: JVXETypes.select,
width: '200px',
options: [],
placeholder: '请选择${title}',
},
{
title: '设备名称',
key: 'machineIds',
type: JVXETypes.hidden
},
{
title: '设备名称',
key: 'machineNames',
type: JVXETypes.selectMultiple,
width: '180px',
options: [],
placeholder: '请选择${title}',
},
{
title: 'toodsIds',
key: 'toolsIds',
type: JVXETypes.hidden,
},
{
title: '工具名称',
key: 'toolsNames',
type: JVXETypes.selectMultiple,
width: '180px',
options: [],
placeholder: '请选择${title}',
},
{key: 'proProcess', type: JVXETypes.hidden, title: '前导工序ID', width: '120px'},
{
title: '前导工序',
key: 'proProcessName',
type: JVXETypes.popup,
width: '180px',
popupCode: 'zy_process',
field: 'id,process_code,process_name,process_describe',
// orgFields: 'id,process_code,process_name,process_describe',
// destFields: 'proProcessName,process_code,process_name,process_describe',
orgFields: 'process_name,id',
destFields: 'proProcessName,proProcess',
},
{key: 'postProcess', type: JVXETypes.hidden, title: '后导工序ID', width: '120px'},
{
title: '后导工序',
key: 'postProcessName',
type: JVXETypes.popup,
width: '180px',
popupCode: 'zy_process',
field: 'id,process_code,process_name,process_describe',
orgFields: 'process_name,id',
destFields: 'postProcessName,postProcess',
},
{key: 'inputProduct', title: '输入产品', width: '150', type: JVXETypes.input},
{key: 'semiProduct', title: '成品/半成品', width: '150', type: JVXETypes.input},
// {key: 'semiProduct', title: '', width: '150', type: JVXETypes.input},
{key: 'totalMachine', title: '机器时长', width: '80', type: JVXETypes.normal},
{key: 'totalMaunal', title: '人工时长', width: '80', type: JVXETypes.normal},
{
title: '管理',
key: 'action',
type: JVXETypes.slot,
fixed: 'right',
minWidth: '150px',
align: 'center',
slotName: 'action',
},
],
url: {
list: "/org.jeecg.modules.productplan/zyPlanProcess/getProcessDatalist",
getPlanInfo: "/org.jeecg.modules.productplan/zyPlanProcess/getPlanInfo",
syncProductProcess: "/org.jeecg.modules.productplan/zyPlanProcess/syncProductProcess",
stationToolslist: "/stationTool/list2",
stationMachinelist: "/stationMachine/list2",
addProcessBatch: "/org.jeecg.modules.productplan/zyPlanProcess/addProcessBatch",
},
loadRouteType: false,
planId: "",
dictOptions: {},
planInfo: {},
superFieldList: [],
stationIdList: [],
toolsList: [],
machineList: [],
clickTrue: true,
}
},
created() {
this.loadParameter();
this.getPlanInfo(this.planId);
},
methods: {
jump2MianLiao(key,props){
console.log("mianLiao() ----key:",key)
console.log("mianLiao() ----props:",props)
this.$router.push({
path: '/productplan/ZyPlanProcessFabricList',
// query: { //
// 'planProcessId': record.id,
// },
});
},
jump2FuLiao(key,props){
console.log("fuLiao() ----key:",key)
console.log("fuLiao() ----props:",props)
},
detail(props){
alert("稍等,正在开发中。。。")
},
getPlanInfo(planId) {
// debugger;
getAction(this.url.getPlanInfo, {"planId": planId}).then((res) => {
if (res.success) {
this.planInfo = res.result.records || res.result;
// console.log("getPlanInfo------------:" + JSON.stringify(this.planInfo));
} else {
// this.stationIdCode = "station,station_name,id,depart_id in (select workshop_id from zy_product_plan where id='" + this.planId + "')";
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
//
handleTableSave({$table, target}) {
console.log("生产计划工序保存开始-----------------")
//
$table.validate().then((errMap) => {
//
if (!errMap) {
//
let tableData = target.getTableData()
console.log('当前保存的数据是:', tableData)
//
this.loading = true
postAction(this.url.addProcessBatch, tableData).then(res => {
if (res.success) {
this.$message.success(`保存成功!`)
} else {
this.$message.warn(`保存失败:` + res.message)
}
}).finally(() => {
this.loading = false
})
}
})
},
fanHui() {
this.$router.push({
path: '/productplan/ZyProductPlanList',
});
},
//
syncProductProcess() {
getAction(this.url.syncProductProcess, {"planId": this.planId}).then((res) => {
if (res.success) {
this.$message.success("操作成功");
this.loadData();
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
//
loadParameter() {
// debugger;
if (this.loadRouteType === false) {
this.planId = this.$route.query.planId;
// this.biaoTi = this.$route.query.styleNames+"";
console.log("*******传递的planId:" + this.planId)
this.loadRouteType = true;
}
},
loadData(arg) {
console.log("the loadData---------开始");
// var that = this;
if (!this.url.list) {
this.$message.error("请设置url.list属性!")
return
}
// 1
this.loadParameter();
var params = this.getQueryParams();//
this.loading = true;
console.log("----------------the params:", params);
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records || res.result;
// this.stationId = this.dataSource[0].stationId;
this.stationIdList = this.dataSource[0].stationIdList;
} else {
// this.stationIdCode = "station,station_name,id,depart_id in (select workshop_id from zy_product_plan where id='" + this.planId + "')";
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
getQueryParams() {
//
let sqp = {}
if (this.superQueryParams) {
sqp['superQueryParams'] = encodeURI(this.superQueryParams)
sqp['superQueryMatchType'] = this.superQueryMatchType
}
var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
param.field = this.getQueryField();
param.pageNo = this.ipagination.current;
param.pageSize = this.ipagination.pageSize;
param.planId = this.planId;
return filterObj(param);
},
//
handleSelectRowChange(event) {
// console.log("handleSelectRowChange")
console.log("handleSelectRowChange-event:", event)
const {type, row, column, value, target, $table} = event
console.log("stationIdList", JSON.stringify(this.stationIdList));
target.$refs.vxe.columns[4].options = this.stationIdList;
},
/** 当选项被改变时,联动其他组件 */
handleValueChange(event) {
const {type, row, column, value, target} = event
console.log("选择列-" + column.key + ":的事件-----", event)
console.log("选择列-" + column.key + ":所在行数据-----", row)
// console.log("row", row)
//
if (column.key === 'stationName') {
let selectedStationId = event.value;
// options
// console.log('id---------:', selectedStationId)
row.stationId = selectedStationId;
//
target.setValues([{
rowKey: row.id,
values: {machineIds: '', toolsIds: '', machineNames: '', toolsNames: ''}
}])
target.$refs.vxe.columns[6].options = []
target.$refs.vxe.columns[8].options = []
getAction(this.url.stationMachinelist, {"stationId": selectedStationId}).then((res) => {
if (res.success) {
this.machineList = res.result.records || res.result;
console.log("machineList", JSON.stringify(this.machineList))
target.$refs.vxe.columns[6].options = this.machineList;
} else {
this.$message.warning(res.message)
}
});
getAction(this.url.stationToolslist, {"stationId": selectedStationId}).then((res) => {
if (res.success) {
this.toolsList = res.result.records || res.result;
console.log("toolsList", JSON.stringify(this.toolsList))
target.$refs.vxe.columns[8].options = this.toolsList;
} else {
this.$message.warning(res.message)
}
});
}
//
if (column.key === 'machineNames') {
row.machineIds = event.value;
}
if (column.key === 'toolsNames') {
row.toolsIds = event.value;
}
}
},
};
</script>

@ -18,19 +18,8 @@
<!-- <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>-->
<!--&lt;!&ndash; <a-button style="margin-left: 8px"> 批量操作&ndash;&gt;-->
<!--&lt;!&ndash; <a-icon type="down"/>&ndash;&gt;-->
<!--&lt;!&ndash; </a-button>&ndash;&gt;-->
<!-- </a-dropdown>-->
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->
<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->
</div>
<!-- table区域-begin -->

@ -146,6 +146,7 @@ import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import ZyProductPlanModal from './modules/ZyProductPlanModal'
import {getAction, putAction, httpAction, postAction} from "@api/manage";
import {filterObj} from "@/utils/util";
import Area from "@comp/_util/Area";
export default {
name: 'ZyProductPlanList',
@ -281,11 +282,12 @@ export default {
// },
},
methods: {
jumpPage1(record) {
this.$router.push({
path: '/team/StationMachineList',
path: '/productplan/ProductplanManage',
query: { //
'plan': record.id,
'planId': record.id,
// 'stationName': record.stationName,
// 'stationNum': record.stationNum,
// 'departName': record.departName,

@ -383,7 +383,7 @@ export default {
//getActionurl
sort: "/zyclothsstyle/zyClothsStyle/sort",
//
enterpriseNum: "/zyclothsstyle/zyClothsStyle/enterpriseNum"
enterpriseNum: "/base/zyClothsType/getEnterpriseNum"
}
}
},
@ -404,7 +404,7 @@ export default {
if (res.code === 500) {
this.$message({
type: 'error',
message: '只能选择一个企业!'
message: res.message,
});
} else if (res.code !== 200) {
this.$message({

@ -334,6 +334,7 @@
path: '/goodsmodule/GoodsModuleList',
query: { //
'goodsid': record.id,
'goodsname':record.goodsName,
}
});
},
@ -343,6 +344,7 @@
path: '/goodsfabric/GoodsFabricList',
query: { //
'goodsid': record.id,
'goodsname':record.goodsName,
}
});
},
@ -352,6 +354,7 @@
path: '/goodsaccessories/GoodsAccessoriesList',
query: { //
'goodsid': record.id,
'goodsname':record.goodsName,
}
});
},

@ -35,7 +35,7 @@
</a-col>
<a-col :span="24">
<a-form-model-item label="商品描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="goodsIntr">
<a-input v-model="model.goodsIntr" placeholder="请输入商品描述" ></a-input>
<a-textarea v-model="model.goodsIntr" placeholder="请输入商品描述" rows="4"/>
</a-form-model-item>
</a-col>
<a-col :span="24">

@ -4,62 +4,62 @@
<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-col :xl="4" :lg="7" :md="8" :sm="24">
<a-form-item label="是否子单">
<j-dict-select-tag placeholder="请选择是否子单" v-model="queryParam.ischild" dictCode="ischild"/>
<j-dict-select-tag type="radio" placeholder="请选择是否子单" v-model="queryParam.ischild" dictCode="ischild"/>
</a-form-item>
</a-col>
<a-col :xl="5" :lg="7" :md="8" :sm="24">
<a-form-item label="订单类型">
<j-dict-select-tag type="radio" placeholder="请选择订单类型" v-model="queryParam.ordersType" dictCode="orders_type"/>
</a-form-item>
</a-col>
<!-- <a-col :xl="4" :lg="7" :md="8" :sm="24">
<a-form-item label="发票客户类型">
<j-dict-select-tag type="radio" 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 type="radio" placeholder="请选择发票类型" v-model="queryParam.invoiceType" dictCode="invoice_type"/>
</a-form-item>
</a-col>-->
<a-col :xl="4" :lg="5" :md="6" :sm="22">
<a-form-item label="订单编号">
<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="订单类型">
<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-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-col>-->
<a-col :xl="3" :lg="5" :md="4" :sm="12">
<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-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-col>-->
<a-col :xl="4" :lg="5" :md="6" :sm="22">
<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-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-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-col>-->
<a-col :xl="3" :lg="5" :md="4" :sm="12">
<a-form-item label="交付状态">
<j-dict-select-tag placeholder="请选择交付状态" v-model="queryParam.deliveryStatus" dictCode="delivery_status"/>
</a-form-item>
@ -77,13 +77,13 @@
<!-- 操作按钮区域 -->
<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>
<!-- 高级查询区域 -->
<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-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
@ -141,12 +141,12 @@
<a-divider type="vertical" />
<a @click="shengchan(record)">生产</a>
<a-divider type="vertical" />
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<!-- <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />-->
<a @click="handleDetail(record)">详情</a>
<a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
<a-popconfirm title="确定撤销订单吗?" @confirm="() => handleDelete(record.id)">
<a>撤销订单</a>
</a-popconfirm>
</span>
@ -251,17 +251,17 @@
align:"center",
dataIndex: 'goodsQuantity'
},
{
/* {
title:'支付方式',
align:"center",
dataIndex: 'paymentMethod_dictText'
},
},*/
{
title:'支付状态',
align:"center",
dataIndex: 'paymentStatus_dictText'
},
{
/* {
title:'账号/卡号',
align:"center",
dataIndex: 'accountNo'
@ -270,7 +270,7 @@
title:'开户银行',
align:"center",
dataIndex: 'bankDeposit'
},
},*/
{
title:'支付时间',
align:"center",
@ -285,7 +285,7 @@
dataIndex: 'cityId',
scopedSlots: {customRender: 'pcaSlot'}
},
{
/* {
title:'地址',
align:"center",
dataIndex: 'address'
@ -294,7 +294,7 @@
title:'邮编',
align:"center",
dataIndex: 'zipCode'
},
},*/
{
title:'收货人',
align:"center",
@ -305,7 +305,7 @@
align:"center",
dataIndex: 'mobile'
},
{
/* {
title:'发票客户类型',
align:"center",
dataIndex: 'invoiceCustomerType_dictText'
@ -324,13 +324,13 @@
title:'开票地址',
align:"center",
dataIndex: 'addressBilling'
},
},*/
{
title:'电话',
align:"center",
dataIndex: 'telephone'
},
{
/* {
title:'公户开户行',
align:"center",
dataIndex: 'bankPublic'
@ -339,7 +339,7 @@
title:'公户账号',
align:"center",
dataIndex: 'accountNumber'
},
},*/
{
title:'销售门店',
align:"center",
@ -350,11 +350,11 @@
align:"center",
dataIndex: 'salespersonId_dictText'
},
{
/* {
title:'物流企业',
align:"center",
dataIndex: 'logisticsEnterprisesId_dictText'
},
},*/
{
title:'交付状态',
align:"center",

@ -75,6 +75,8 @@ import {filterObj, validateDuplicateValue} from '@/utils/util'
import ZyStyleModelListDetails from "@views/zystylemodel/modules/ZyStyleModelListDetails";
export default {
// Jv
//JVXETable
name: 'ZyStyleModelList',
mixins: [JeecgListMixin, mixinDevice],
components: {

@ -14,6 +14,7 @@ import org.jeecg.modules.demo.base.entity.ZyClothsType;
import org.jeecg.modules.demo.base.mapper.ZyClothsTypeMapper;
import org.jeecg.modules.demo.base.service.IZyClothsTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@ -79,6 +80,11 @@ public class ZyClothsTypeController extends JeecgController<ZyClothsType, IZyClo
@ApiOperation(value = "zy_cloths_type-添加", notes = "zy_cloths_type-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody ZyClothsType zyClothsType) {
//处理空值问题
// Result<?> resultEmpty = zyClothsTypeService.handleEmpty(zyClothsType);
// if (resultEmpty.getMessage().equals("都不为空")){
// return resultEmpty;
// }
if (StringUtils.isEmpty(zyClothsType.getNums())) {
return Result.error("服装类型编号 不能为空");
}
@ -207,5 +213,18 @@ public class ZyClothsTypeController extends JeecgController<ZyClothsType, IZyClo
return Result.OK(a);
}
@GetMapping(value = "/getEnterpriseNum")
public Result<?> enterpriseNum(@RequestParam(name = "id", required = true)String id) {
if (StringUtils.isEmpty(id)) {
return Result.error("请先选择一个企业");
} else if (id.contains(",")) {
//id.contains(",") 判断是否字符中是否包含","
return Result.error("只能选择一个企业");
} else {
String enterpriseName = zyClothsTypeMapper.getEnterprisenameById(id);
//根据企业名称拿到企业编号
return Result.OK(zyClothsTypeService.getEnterpriseNums(enterpriseName));
}
}
}

@ -1,5 +1,6 @@
package org.jeecg.modules.demo.base.service;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.demo.base.entity.ZyClothsType;
import com.baomidou.mybatisplus.extension.service.IService;
@ -30,4 +31,5 @@ public interface IZyClothsTypeService extends IService<ZyClothsType> {
*/
Long getListMax(List<String> stringList, int digits);
Result<?> handleEmpty(ZyClothsType zyClothsType);
}

@ -1,5 +1,6 @@
package org.jeecg.modules.demo.base.service.impl;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.demo.base.entity.ZyClothsType;
import org.jeecg.modules.demo.base.mapper.ZyClothsTypeMapper;
import org.jeecg.modules.demo.base.service.IZyClothsTypeService;
@ -7,6 +8,7 @@ import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
@ -93,7 +95,10 @@ public class ZyClothsTypeServiceImpl extends ServiceImpl<ZyClothsTypeMapper, ZyC
* @return 返回一个long类型的digits位数最大值
*/
@Override
public Long getListMax(@NotNull List<String> stringList, int digits) {
public Long getListMax(List<String> stringList, int digits) {
if (ObjectUtils.isEmpty(stringList)){
return 1L;
}
List<Long> longList = new ArrayList<>();
String REGEX = "[^0-9]";
for (String nums : stringList) {
@ -116,4 +121,20 @@ public class ZyClothsTypeServiceImpl extends ServiceImpl<ZyClothsTypeMapper, ZyC
return max;
}
@Override
public Result<?> handleEmpty(ZyClothsType zyClothsType) {
if (ObjectUtils.isEmpty(zyClothsType)){
return Result.error("服装类型数据 不能为空");
}
if (StringUtils.isEmpty(zyClothsType.getNums())) {
return Result.error("服装类型编号 不能为空");
}
//type_name,类型名称,varchar,50,非空,同类型下不重复
if (!StringUtils.hasText(zyClothsType.getTypeName())) {
return Result.error("类型名称 不能为空");
}
return Result.error("true");
}
}

@ -65,7 +65,7 @@ public class ZyProcessAccessories implements Serializable {
@ApiModelProperty(value = "面料表id")
private String accessoriesId;
private String processCode;
private String nums;
// private String processCode;
// private String nums;
}

@ -50,7 +50,7 @@ public class ZyProcessFabric implements Serializable {
@ApiModelProperty(value = "创建时间")
private Date createTime;
private String processCode;
private String fabricNumber;
// private String processCode;
// private String fabricNumber;
}

@ -40,9 +40,9 @@ public class ZyProcessMachine implements Serializable {
@ApiModelProperty(value = "工序")
private String processId;
/**机器*/
@Excel(name = "机器", width = 15, dictTable = "zy_devicetype", dicText = "name", dicCode = "id")
@Excel(name = "设备", width = 15, dictTable = "zy_devicetype", dicText = "name", dicCode = "id")
@Dict(dictTable = "zy_device", dicText = "name", dicCode = "id")
@ApiModelProperty(value = "机器")
@ApiModelProperty(value = "设备")
private String machineId;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")

@ -0,0 +1,44 @@
package org.jeecg.modules.demo.ordergoods.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 订单商品表
* @Author: jeecg-boot
* @Date: 2022-12-28
* @Version: V1.0
*/
@Data
public class OrderGoodsJk implements Serializable {
private static final long serialVersionUID = 1L;
/**商品id*/
@Excel(name = "商品id", width = 15, dictTable = "zy_goods", dicText = "goods_name", dicCode = "id")
@Dict(dictTable = "zy_goods", dicText = "goods_name", dicCode = "id")
@ApiModelProperty(value = "商品id")
private java.lang.String goodsId;
/**商品数量*/
@Excel(name = "商品数量", width = 15)
@ApiModelProperty(value = "商品数量")
private java.lang.Integer goodsNum;
/**顾客量体id*/
@Excel(name = "顾客量体id", width = 15, dictTable = "customer_measure", dicText = "username", dicCode = "id")
@Dict(dictTable = "customer_measure", dicText = "username", dicCode = "id")
@ApiModelProperty(value = "顾客量体id")
private java.lang.String measureId;
}

@ -1,6 +1,7 @@
package org.jeecg.modules.demo.zyorders.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -12,9 +13,31 @@ import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.demo.customerinvoice.entity.CustomerInvoice;
import org.jeecg.modules.demo.customerinvoice.service.ICustomerInvoiceService;
import org.jeecg.modules.demo.customerreceivingaddress.entity.CustomerReceivingAddress;
import org.jeecg.modules.demo.customerreceivingaddress.service.ICustomerReceivingAddressService;
import org.jeecg.modules.demo.goodsaccessories.entity.GoodsAccessories;
import org.jeecg.modules.demo.goodsaccessories.service.IGoodsAccessoriesService;
import org.jeecg.modules.demo.goodsfabric.entity.GoodsFabric;
import org.jeecg.modules.demo.goodsfabric.service.IGoodsFabricService;
import org.jeecg.modules.demo.goodsmodule.entity.GoodsModule;
import org.jeecg.modules.demo.goodsmodule.service.IGoodsModuleService;
import org.jeecg.modules.demo.ordergoods.entity.OrderGoods;
import org.jeecg.modules.demo.ordergoods.entity.OrderGoodsJk;
import org.jeecg.modules.demo.ordergoods.service.IOrderGoodsService;
import org.jeecg.modules.demo.ordergoodsaccessories.entity.OrderGoodsAccessories;
import org.jeecg.modules.demo.ordergoodsaccessories.service.IOrderGoodsAccessoriesService;
import org.jeecg.modules.demo.ordergoodsfabric.entity.OrderGoodsFabric;
import org.jeecg.modules.demo.ordergoodsfabric.service.IOrderGoodsFabricService;
import org.jeecg.modules.demo.ordergoodsmodule.entity.OrderGoodsModule;
import org.jeecg.modules.demo.ordergoodsmodule.service.IOrderGoodsModuleService;
import org.jeecg.modules.demo.zyaccessories.entity.ZyStyleAccessories;
import org.jeecg.modules.demo.zyaccessories.service.IZyStyleAccessoriesService;
import org.jeecg.modules.demo.zygoods.entity.ZyGoods;
import org.jeecg.modules.demo.zygoods.service.IZyGoodsService;
import org.jeecg.modules.demo.zyorders.entity.ZyOrders;
import org.jeecg.modules.demo.zyorders.entity.ZyOrdersJk;
import org.jeecg.modules.demo.zyorders.service.IZyOrdersService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -22,6 +45,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.zystylefabric.entity.ZyStyleFabric;
import org.jeecg.modules.zystylefabric.service.IZyStyleFabricService;
import org.jeecg.modules.zystylemodule.entity.ZyStyleModule;
import org.jeecg.modules.zystylemodule.service.IZyStyleModuleService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
@ -49,10 +76,147 @@ import org.jeecg.common.aspect.annotation.AutoLog;
@RequestMapping("/zyorders/zyOrders")
@Slf4j
public class ZyOrdersController extends JeecgController<ZyOrders, IZyOrdersService> {
@Autowired
private IZyOrdersService zyOrdersService;
@Autowired
private IZyOrdersService zyOrdersService;
@Autowired
private IOrderGoodsService orderGoodsService;
@Autowired
private ICustomerReceivingAddressService iCustomerReceivingAddressService;
@Autowired
private ICustomerInvoiceService iCustomerInvoiceService;
@Autowired
private IZyGoodsService zyGoodsService;
@Autowired
private IOrderGoodsModuleService orderGoodsModuleService;
@Autowired
private IOrderGoodsFabricService orderGoodsFabricService;
@Autowired
private IOrderGoodsAccessoriesService orderGoodsAccessoriesService;
@Autowired
private IGoodsModuleService goodsModuleService;
@Autowired
private IGoodsFabricService goodsFabricService;
@Autowired
private IGoodsAccessoriesService goodsAccessoriesService;
/**
* 订单和订单商品接口
*
* @param
* @return
*/
@AutoLog(value = "订单和订单商品接口")
@ApiOperation(value="订单和订单商品接口", notes="订单和订单商品接口")
@GetMapping(value = "/orderJk")
public Result<?> orderJk(ZyOrdersJk zyOrdersJk,List<OrderGoodsJk> orderGoodsJkList,HttpServletRequest req) {
Double actual_payment = 0.00;
Double money = 0.00;
for(int i = 0 ; i < orderGoodsJkList.size() ; i++){
ZyGoods zyGoods = zyGoodsService.getById(orderGoodsJkList.get(i).getGoodsId());
money = money + zyGoods.getUnitPrice()*orderGoodsJkList.get(i).getGoodsNum();
actual_payment = actual_payment + zyGoods.getPromotionPrice()*orderGoodsJkList.get(i).getGoodsNum();
}
ZyOrders zyOrders = new ZyOrders();
zyOrders.setIschild(0);
zyOrders.setOrderTime(new Date());
zyOrders.setOrdersNum(getOrdersNum());
zyOrders.setMoney(money);
zyOrders.setFreight(zyOrdersJk.getFreight());
zyOrders.setPromotionPrice(money-actual_payment);
zyOrders.setActualPayment(actual_payment);
zyOrders.setDeliveryTime(zyOrdersJk.getDeliveryTime());
zyOrders.setOrdersType(zyOrdersJk.getOrdersType());
zyOrders.setUserId(zyOrdersJk.getUserId());
zyOrders.setGoodsQuantity(zyOrdersJk.getGoodsQuantity());
CustomerReceivingAddress customerReceivingAddress = iCustomerReceivingAddressService.getById(zyOrdersJk.getAddressId());
zyOrders.setCityId(customerReceivingAddress.getCityId());
zyOrders.setAddress(customerReceivingAddress.getAddress());
zyOrders.setZipCode(customerReceivingAddress.getZipCode());
zyOrders.setReceiver(zyOrdersJk.getReceiver());
zyOrders.setMobile(customerReceivingAddress.getMobile());
CustomerInvoice customerInvoice = iCustomerInvoiceService.getById(zyOrdersJk.getInvoiceId());
zyOrders.setInvoiceCustomerType(Integer.parseInt(customerInvoice.getCustomerType()));
zyOrders.setInvoiceType(Integer.parseInt(customerInvoice.getInvoiceType()));
zyOrders.setTaxIdentificationNumber(customerInvoice.getTaxIdentificationNumber());
zyOrders.setAddressBilling(customerInvoice.getAddress());
zyOrders.setTelephone(customerInvoice.getTelephone());
zyOrders.setBankPublic(customerInvoice.getBankDeposit());
zyOrders.setAccountNumber(customerInvoice.getAccountNumber());
zyOrders.setSalesEnterpriseId(zyOrdersJk.getSalesEnterpriseId());
zyOrders.setSalespersonId(zyOrdersJk.getSalespersonId());
zyOrders.setLogisticsEnterprisesId(zyOrdersJk.getLogisticsEnterprisesId());
zyOrders.setDeliveryStatus(0);
zyOrdersService.save(zyOrders);
for(int j = 0 ; j < orderGoodsJkList.size() ; j++){
ZyGoods zyGoods = zyGoodsService.getById(orderGoodsJkList.get(j).getGoodsId());
OrderGoods orderGoods = new OrderGoods();
orderGoods.setOrdersId(zyOrders.getId());
orderGoods.setGoodsId(orderGoodsJkList.get(j).getGoodsId());
orderGoods.setGoodsNum(orderGoodsJkList.get(j).getGoodsNum());
orderGoods.setGoodsCode(zyGoods.getGoodsCode());
orderGoods.setGoodsName(zyGoods.getGoodsName());
orderGoods.setGoodsIntr(zyGoods.getGoodsIntr());
orderGoods.setCustomized(zyGoods.getCustomized());
orderGoods.setMeasureId(orderGoodsJkList.get(j).getMeasureId());
orderGoods.setGoodsPicture(zyGoods.getGoodsPicture());
orderGoods.setDefaultPicture(zyGoods.getDefaultPicture());
orderGoods.setGoodsVideo(zyGoods.getGoodsVideo());
orderGoods.setClothsTypeId(zyGoods.getClothsTypeId());
orderGoods.setStyleId(zyGoods.getStyleId());
orderGoods.setModelId(zyGoods.getModelId());
orderGoods.setUnit(zyGoods.getUnit());
orderGoods.setNumber(zyGoods.getNumber());
orderGoods.setUnitPrice(zyGoods.getUnitPrice());
orderGoods.setDiscount(zyGoods.getDiscount());
orderGoods.setPromotionPrice(zyGoods.getPromotionPrice());
orderGoods.setRecommend(zyGoods.getRecommend());
orderGoods.setPlaceOrigin(zyGoods.getPlaceOrigin());
orderGoods.setStatus(zyGoods.getStatus());
orderGoods.setTotalPrice(zyGoods.getUnitPrice()*orderGoodsJkList.get(j).getGoodsNum());
orderGoods.setPayTotalPrice(zyGoods.getPromotionPrice()*orderGoodsJkList.get(j).getGoodsNum());
orderGoodsService.save(orderGoods);
GoodsModule goodsModule = new GoodsModule();
QueryWrapper<GoodsModule> queryWrapperzsm = QueryGenerator.initQueryWrapper(goodsModule, req.getParameterMap());
queryWrapperzsm.eq("goods_id",zyGoods.getId());
queryWrapperzsm.eq("style_id",zyGoods.getStyleId());
List<GoodsModule> listzsm = goodsModuleService.list(queryWrapperzsm);
for (int k = 0 ; k < listzsm.size() ; k++){
OrderGoodsModule orderGoodsModule = new OrderGoodsModule();
orderGoodsModule.setOrderGoodsId(orderGoods.getId());
orderGoodsModule.setGoodsId(zyGoods.getId());
orderGoodsModule.setStyleId(zyGoods.getStyleId());
orderGoodsModule.setStyleModuleId(listzsm.get(k).getStyleModuleId());
orderGoodsModule.setModuleId(listzsm.get(k).getModuleId());
orderGoodsModuleService.save(orderGoodsModule);
}
GoodsFabric goodsFabric = new GoodsFabric();
QueryWrapper<GoodsFabric> queryWrapperzsf = QueryGenerator.initQueryWrapper(goodsFabric, req.getParameterMap());
queryWrapperzsf.eq("goods_id",zyGoods.getId());
List<GoodsFabric> listzsf = goodsFabricService.list(queryWrapperzsf);
for (int o = 0 ; o < listzsf.size() ; o++){
OrderGoodsFabric orderGoodsFabric = new OrderGoodsFabric();
orderGoodsFabric.setOrderGoodsId(orderGoods.getId());
orderGoodsFabric.setGoodsId(zyGoods.getId());
orderGoodsFabric.setFabricId(listzsf.get(o).getFabricId());
orderGoodsFabricService.save(orderGoodsFabric);
}
GoodsAccessories goodsAccessories = new GoodsAccessories();
QueryWrapper<GoodsAccessories> queryWrapperzsa = QueryGenerator.initQueryWrapper(goodsAccessories, req.getParameterMap());
queryWrapperzsa.eq("goods_id",zyGoods.getId());
List<GoodsAccessories> listzsa = goodsAccessoriesService.list(queryWrapperzsa);
for (int p = 0 ; p < listzsa.size() ; p++){
OrderGoodsAccessories orderGoodsAccessories = new OrderGoodsAccessories();
orderGoodsAccessories.setOrderGoodsId(orderGoods.getId());
orderGoodsAccessories.setGoodsId(zyGoods.getId());
orderGoodsAccessories.setAccessoriesId(listzsa.get(p).getAccessoriesId());
orderGoodsAccessoriesService.save(orderGoodsAccessories);
}
}
return Result.OK("成功");
}
/**
* 分页列表查询
@ -114,8 +278,10 @@ public class ZyOrdersController extends JeecgController<ZyOrders, IZyOrdersServi
@ApiOperation(value="订单基本信息管理-通过id删除", notes="订单基本信息管理-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
zyOrdersService.removeById(id);
return Result.OK("删除成功!");
ZyOrders zyOrders = zyOrdersService.getById(id);
zyOrders.setDeliveryStatus(9);
zyOrdersService.updateById(zyOrders);
return Result.OK("撤销订单成功!");
}
/**
@ -128,8 +294,13 @@ public class ZyOrdersController extends JeecgController<ZyOrders, IZyOrdersServi
@ApiOperation(value="订单基本信息管理-批量删除", notes="订单基本信息管理-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.zyOrdersService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
String str[] = ids.split(",");
for (int i = 0 ; i < str.length ; i ++){
ZyOrders zyOrders = zyOrdersService.getById(str[i]);
zyOrders.setDeliveryStatus(9);
zyOrdersService.updateById(zyOrders);
}
return Result.OK("批量撤销订单成功!");
}
/**
@ -175,7 +346,7 @@ public class ZyOrdersController extends JeecgController<ZyOrders, IZyOrdersServi
@AutoLog(value = "生成订单编号")
@ApiOperation(value="生成订单编号", notes="生成订单编号")
@GetMapping(value = "/getOrdersNum")
public Result<?> getOrdersNum() {
public String getOrdersNum() {
String mrstr = "000000000000000000";
int listsize = zyOrdersService.count();
int strsize = listsize+1;
@ -183,7 +354,7 @@ public class ZyOrdersController extends JeecgController<ZyOrders, IZyOrdersServi
int strlength = str.length();
String substr = mrstr.substring(0,mrstr.length()-strlength);
String OrdersNum = substr+str;
return Result.OK(OrdersNum);
return OrdersNum;
}
/**
@ -216,6 +387,7 @@ public class ZyOrdersController extends JeecgController<ZyOrders, IZyOrdersServi
ZyOrders zo = new ZyOrders();
zo = zyOrders;
zo.setId(null);
zo.setOrdersNum(getOrdersNum());
zo.setFreight(Double.parseDouble("0"));
zo.setIschild(1);
zo.setOrderId(id);

@ -0,0 +1,85 @@
package org.jeecg.modules.demo.zyorders.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 订单基本信息
* @Author: jeecg-boot
* @Date: 2022-12-26
* @Version: V1.0
*/
@Data
public class ZyOrdersJk implements Serializable {
private static final long serialVersionUID = 1L;
/**运费*/
@Excel(name = "运费", width = 15)
@ApiModelProperty(value = "运费")
private java.lang.Double freight;
/**交货期*/
@Excel(name = "交货期", width = 15)
@ApiModelProperty(value = "交货期")
private java.lang.Integer deliveryTime;
/**订单类型*/
@Excel(name = "订单类型", width = 15, dicCode = "orders_type")
@Dict(dicCode = "orders_type")
@ApiModelProperty(value = "订单类型")
private java.lang.Integer ordersType;
/**顾客id*/
@Excel(name = "顾客id", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@ApiModelProperty(value = "顾客id")
private java.lang.String userId;
/**商品条目数量*/
@Excel(name = "商品条目数量", width = 15)
@ApiModelProperty(value = "商品条目数量")
private java.lang.Integer goodsQuantity;
/**顾客地址id*/
@Excel(name = "顾客地址id", width = 15)
@ApiModelProperty(value = "顾客地址id")
private java.lang.String addressId;
/**收货人*/
@Excel(name = "收货人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@ApiModelProperty(value = "收货人")
private java.lang.String receiver;
/**顾客发票id*/
@Excel(name = "顾客发票id", width = 15)
@ApiModelProperty(value = "顾客发票id")
private java.lang.String invoiceId;
/**销售门店*/
@Excel(name = "销售门店", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@ApiModelProperty(value = "销售门店")
private java.lang.String salesEnterpriseId;
/**销售员*/
@Excel(name = "销售员", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@ApiModelProperty(value = "销售员")
private java.lang.String salespersonId;
/**物流企业*/
@Excel(name = "物流企业", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@ApiModelProperty(value = "物流企业")
private java.lang.String logisticsEnterprisesId;
/**交付状态*/
@Excel(name = "交付状态", width = 15, dicCode = "delivery_status")
@Dict(dicCode = "delivery_status")
@ApiModelProperty(value = "交付状态")
private java.lang.Integer deliveryStatus;
}

@ -1,5 +1,6 @@
package org.jeecg.modules.demo.zyorders.service;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.demo.zyorders.entity.ZyOrders;
import com.baomidou.mybatisplus.extension.service.IService;

@ -63,6 +63,7 @@ public class ZyProductProcess implements Serializable {
@ApiModelProperty(value = "工序id")
@Dict(dictTable = "zy_process",dicText = "process_name",dicCode = "id")
private String processId;
/**序号*/
@Excel(name = "序号", width = 15)
@ApiModelProperty(value = "序号")

@ -20,7 +20,10 @@ import org.jeecg.modules.productplan.entity.ZyPlanProcess;
import org.jeecg.modules.productplan.entity.vo.ProcessDataVo;
import org.jeecg.modules.productplan.service.IZyPlanProcessService;
import org.jeecg.modules.team.entity.Station;
import org.jeecg.modules.team.entity.StationMachine;
import org.jeecg.modules.team.service.IStationMachineService;
import org.jeecg.modules.team.service.IStationService;
import org.jeecg.modules.team.service.IStationToolService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
@ -32,6 +35,7 @@ import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
* @Description: 生产计划工序
@ -49,6 +53,10 @@ public class ZyPlanProcessController extends JeecgController<ZyPlanProcess, IZyP
@Autowired
private IStationService iStationService;
@Autowired
private IStationMachineService iStationMachineService;
@Autowired
private IStationToolService iStationToolService;
/**
* 分页列表查询
@ -122,6 +130,22 @@ public class ZyPlanProcessController extends JeecgController<ZyPlanProcess, IZyP
return Result.OK(processDatalist);
}
@ApiOperation(value = "生产计划工序-查询产品工序&计划", notes = "生产计划工序-查询产品工序&计划")
@GetMapping(value = "/getPlanInfo")
public Result<?> getPlanInfo(ZyPlanProcess zyPlanProcess,
HttpServletRequest req) {
Map<String, Object> map = zyPlanProcessService.getPlanInfo(zyPlanProcess);
return Result.OK(map);
}
@ApiOperation(value = "读取工序", notes = "读取工序")
@GetMapping(value = "/syncProductProcess")
public Result<?> syncProductProcess(ZyPlanProcess zyPlanProcess,
HttpServletRequest req) {
zyPlanProcessService.syncProductBaseProcess(zyPlanProcess);
return Result.OK();
}
@ApiOperation(value = "计划班组管理-查询产品工序&班组", notes = "计划班组管理-查询产品工序&班组")
@GetMapping(value = "/getTeamDatalist")
public Result<?> getTeamDatalist(ZyPlanProcess zyPlanProcess,
@ -167,11 +191,21 @@ public class ZyPlanProcessController extends JeecgController<ZyPlanProcess, IZyP
@PostMapping(value = "/addProcessBatch")
public Result<?> addProcessBatch(@RequestBody List<ZyPlanProcess> zyPlanProcessList) {
if (!ObjectUtils.isEmpty(zyPlanProcessList)) {
// zyPlanProcessService.remove(new LambdaQueryWrapper<ZyPlanProcess>()
// .eq(ZyPlanProcess::getPlanId, zyPlanProcessList.get(0).getPlanId()));
zyPlanProcessList.forEach(e -> {
Station station = iStationService.getById(e.getStationId());
e.setStationName(StringUtils.isNotBlank(station.getStationName()) ? station.getStationName() : "");
if (StringUtils.isNotBlank(e.getStationId())) {
Station station = iStationService.getById(e.getStationId());
e.setStationName(StringUtils.isNotBlank(station.getStationName()) ? station.getStationName() : "");
if (StringUtils.isNotBlank(e.getMachineIds())) {
e.setMachineNames(iStationMachineService.convertByMachineId(e.getStationId()));
}
if (StringUtils.isNotBlank(e.getToolsIds())) {
e.setToolsNames(iStationToolService.convertByToolId(e.getStationId()));
}
} else {
e.setMachineIds("");
e.setToolsIds("");
}
});
zyPlanProcessService.saveOrUpdateBatch(zyPlanProcessList);
}

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -78,6 +79,7 @@ public class ZyPlanProcess implements Serializable {
@ApiModelProperty(value = "工序id列表")
@Dict(dictTable = "zy_process", dicText = "process_name", dicCode = "id")
private String processId;
private String processName;
/**
* 工位id
*/
@ -85,7 +87,6 @@ public class ZyPlanProcess implements Serializable {
@ApiModelProperty(value = "工位id")
@Dict(dictTable = "station", dicText = "station_name", dicCode = "id")
private String stationId;
@ApiModelProperty(value = "工序名称")
private String stationName;
@ -98,6 +99,7 @@ public class ZyPlanProcess implements Serializable {
@ApiModelProperty(value = "设备id列表")
@Dict(dictTable = "zy_device", dicText = "name", dicCode = "id")
private String machineIds;
private String machineNames;
/**
* 工具id列表
*/
@ -105,6 +107,7 @@ public class ZyPlanProcess implements Serializable {
@ApiModelProperty(value = "工具id列表")
@Dict(dictTable = "zy_tool", dicText = "name", dicCode = "id")
private String toolsIds;
private String toolsNames;
/**
* 成员id列表
*/
@ -117,11 +120,11 @@ public class ZyPlanProcess implements Serializable {
* 前导工序
*/
@Excel(name = "前导工序", width = 15)
private String proProcess;
@ApiModelProperty(value = "前导工序")
private String proProcessName;
// @Dict(dictTable = "zy_process", dicText = "process_name", dicCode = "id")
private String proProcess;
private String proProcessName;
/**
* 后导工序
*/
@ -143,4 +146,13 @@ public class ZyPlanProcess implements Serializable {
@Excel(name = "成品/半成品", width = 15)
@ApiModelProperty(value = "成品/半成品")
private String semiProduct;
@Excel(name = "人工时长", width = 15)
@ApiModelProperty(value = "人工时长")
private Integer totalMaunal;
@Excel(name = "机器时长", width = 15)
@ApiModelProperty(value = "机器时长")
private Integer totalMachine;
}

@ -76,6 +76,8 @@ public class ZyPlanProcessAccessories implements Serializable {
@ApiModelProperty(value = "辅料id")
@Dict(dictTable = "zy_accessories", dicText = "contents", dicCode = "id")
private String accessoriesId;
private String accessoriesName;
/**
* 用量
*/

@ -76,6 +76,8 @@ public class ZyPlanProcessFabric implements Serializable {
@ApiModelProperty(value = "面料id")
@Dict(dictTable = "zy_fabric", dicText = "name", dicCode = "id")
private String fabricId;
private String fabricName;
/**
* 用量
*/

@ -0,0 +1,66 @@
package org.jeecg.modules.productplan.enums;
/**
* 生产计划状态枚举
*/
public enum ProductPlanStatusEnum {
UNAUDITED("0", "未审核"),
REVIEWED("1", "已审核"),
PRODUCTION("2", "生产中"),
COMPLETED("3", "已完成"),
REVOKED("8", "已撤销"),
EXCEPTION("9", "异常");
private String code;
private String val;
private ProductPlanStatusEnum(String code, String val) {
this.code = code;
this.val = val;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getVal() {
return val;
}
public void setVal(String val) {
this.val = val;
}
public static String getValueByCode(String code) {
ProductPlanStatusEnum[] values = ProductPlanStatusEnum.values();
for (ProductPlanStatusEnum type : values) {
if (type.code.equals(code)) {
return type.val;
}
}
return null;
}
public static String getCodeByValue(String value) {
ProductPlanStatusEnum[] values = ProductPlanStatusEnum.values();
for (ProductPlanStatusEnum type : values) {
if (type.val.equals(value)) {
return type.code;
}
}
return null;
}
@Override
public String toString() {
return "ProductPlanStatusEnum{" +
"code='" + code + '\'' +
", val='" + val + '\'' +
'}';
}
}

@ -6,6 +6,7 @@ import org.jeecg.modules.productplan.entity.ZyPlanProcess;
import org.jeecg.modules.productplan.entity.vo.ProcessDataVo;
import java.util.List;
import java.util.Map;
/**
* @Description: 生产计划工序
@ -17,5 +18,8 @@ public interface IZyPlanProcessService extends IService<ZyPlanProcess> {
List<ZyPlanProcess> getProcessDatalist(ZyPlanProcess zyPlanProcess);
List<ZyPlanProcess> syncProductBaseProcess(ZyPlanProcess zyPlanProcess);
Map<String,Object> getPlanInfo(ZyPlanProcess zyPlanProcess);
List<ProcessDataVo> getTeamDatalist(ZyPlanProcess zyPlanProcess);
}

@ -5,19 +5,43 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.demo.accessories.entity.ZyAccessories;
import org.jeecg.modules.demo.accessories.service.IZyAccessoriesService;
import org.jeecg.modules.demo.base.entity.ZyProcess;
import org.jeecg.modules.demo.base.service.IZyProcessService;
import org.jeecg.modules.demo.fabric.entity.ZyFabric;
import org.jeecg.modules.demo.fabric.service.IZyFabricService;
import org.jeecg.modules.demo.ordergoods.entity.OrderGoods;
import org.jeecg.modules.demo.ordergoods.service.IOrderGoodsService;
import org.jeecg.modules.demo.pro.entity.ZyProcessAccessories;
import org.jeecg.modules.demo.pro.entity.ZyProcessFabric;
import org.jeecg.modules.demo.pro.service.IZyProcessAccessoriesService;
import org.jeecg.modules.demo.pro.service.IZyProcessFabricService;
import org.jeecg.modules.demo.zyorders.entity.ZyOrders;
import org.jeecg.modules.demo.zyorders.service.IZyOrdersService;
import org.jeecg.modules.product.pdaccessories.entity.ProductAccessories;
import org.jeecg.modules.product.pdaccessories.service.IProductAccessoriesService;
import org.jeecg.modules.product.pdfabric.entity.ProductFabric;
import org.jeecg.modules.product.pdfabric.service.IProductFabricService;
import org.jeecg.modules.product.zyproductprocess.entity.ZyProductProcess;
import org.jeecg.modules.product.zyproductprocess.service.IZyProductProcessService;
import org.jeecg.modules.productplan.entity.ZyPlanProcess;
import org.jeecg.modules.productplan.entity.ZyPlanProcessAccessories;
import org.jeecg.modules.productplan.entity.ZyPlanProcessFabric;
import org.jeecg.modules.productplan.entity.ZyProductPlan;
import org.jeecg.modules.productplan.entity.vo.PaiWeiTuVo;
import org.jeecg.modules.productplan.entity.vo.ProcessDataVo;
import org.jeecg.modules.productplan.enums.ProductPlanStatusEnum;
import org.jeecg.modules.productplan.mapper.ZyPlanProcessMapper;
import org.jeecg.modules.productplan.service.IZyPlanProcessAccessoriesService;
import org.jeecg.modules.productplan.service.IZyPlanProcessFabricService;
import org.jeecg.modules.productplan.service.IZyPlanProcessService;
import org.jeecg.modules.productplan.service.IZyProductPlanService;
import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecg.modules.system.service.ISysUserService;
import org.jeecg.modules.team.entity.Groupx;
import org.jeecg.modules.team.entity.GroupxMember;
import org.jeecg.modules.team.entity.Station;
import org.jeecg.modules.team.service.IGroupxMemberService;
@ -25,17 +49,18 @@ import org.jeecg.modules.team.service.IGroupxService;
import org.jeecg.modules.team.service.IStationService;
import org.jeecg.modules.team.vo.GroupxMemeberVo;
import org.jeecg.modules.team.vo.StationVo;
import org.jeecg.modules.workorder.entity.WorkOrder;
import org.jeecg.modules.workorder.service.IWorkOrderService;
import org.jeecg.modules.workproduct.entity.ZyProduct;
import org.jeecg.modules.workproduct.service.IZyProductService;
import org.springframework.beans.BeanUtils;
import org.jeecg.modules.zyclothsstyle.entity.ZyClothsStyle;
import org.jeecg.modules.zyclothsstyle.service.IZyClothsStyleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
import java.util.*;
/**
@ -56,9 +81,24 @@ public class ZyPlanProcessServiceImpl extends ServiceImpl<ZyPlanProcessMapper, Z
private IStationService iStationService;
@Autowired
private ISysDepartService iSysDepartService;
private IZyOrdersService iZyOrdersService;
// 工单信息
@Autowired
private IWorkOrderService iWorkOrderService;
//商品订单信息
@Autowired
private IOrderGoodsService iOrderGoodsService;
@Autowired
private ISysUserService iSysUserService;
@Autowired
private IZyClothsStyleService iZyClothsStyleService;
@Autowired
private ISysDepartService iSysDepartService;
@Autowired
private IZyProcessService iZyProcessService;
@Autowired
@ -71,11 +111,29 @@ public class ZyPlanProcessServiceImpl extends ServiceImpl<ZyPlanProcessMapper, Z
private IZyProductService iZyProductService;
@Autowired
private IZyPlanProcessFabricService iZyPlanProcessFabricService;
@Autowired
private IZyPlanProcessAccessoriesService iZyPlanProcessAccessoriesService;
@Autowired
private IZyProcessFabricService iZyProcessFabricService;
@Autowired
IZyFabricService iZyFabricService;
@Autowired
private IZyProcessAccessoriesService iZyProcessAccessoriesService;
@Autowired
private IZyAccessoriesService iZyAccessoriesService;
public List<ZyPlanProcess> getProcessDatalist(ZyPlanProcess zyPlanProcess) {
//生产计划id
String planId = zyPlanProcess.getPlanId();
ZyProductPlan zyProductPlan = iZyProductPlanService.getById(planId);
if (ObjectUtils.isEmpty(zyPlanProcess)) {
if (ObjectUtils.isEmpty(zyProductPlan)) {
throw new JeecgBootException("生产计划不存在!");
}
@ -86,27 +144,8 @@ public class ZyPlanProcessServiceImpl extends ServiceImpl<ZyPlanProcessMapper, Z
if (ObjectUtils.isEmpty(zyProduct)) {
throw new JeecgBootException("产品不存在!");
}
List<ProcessDataVo> result = new LinkedList<>();
List<ZyPlanProcess> planProcessList = this.list(new LambdaQueryWrapper<ZyPlanProcess>().eq(ZyPlanProcess::getPlanId, planId));
//生产计划工序表没有对应工序时,说明没有制定过该产品的生产工序计划,先把该产品对应的基本工序数据插入到生产计划工序表
if (ObjectUtils.isEmpty(planProcessList)) {
List<ZyProductProcess> productProcessesList = iZyProductProcessService.list(new LambdaQueryWrapper<ZyProductProcess>().eq(ZyProductProcess::getProductId, zyProduct.getId()));
if (!ObjectUtils.isEmpty(planProcessList)) {
List<ZyPlanProcess> saveList = new LinkedList<>();
productProcessesList.forEach(o -> {
ZyPlanProcess en = new ZyPlanProcess();
en.setProcessId(o.getProcessId());
en.setPlanId(planId);
saveList.add(en);
});
this.saveBatch(saveList);
//重新查询已录入工序数据
planProcessList = this.list(new LambdaQueryWrapper<ZyPlanProcess>().eq(ZyPlanProcess::getPlanId, planId));
}
}
if (!ObjectUtils.isEmpty(planProcessList)) {
// SysDepart depart = iSysDepartService.getById(departId);
List<Station> stationList = iStationService.list(new LambdaQueryWrapper<Station>().eq(Station::getDepartId, departId));
List<StationVo> stationVoList = new LinkedList<>();
if (!ObjectUtils.isEmpty(stationList)) {
@ -119,25 +158,192 @@ public class ZyPlanProcessServiceImpl extends ServiceImpl<ZyPlanProcessMapper, Z
stationVoList.add(stationVo);
});
}
planProcessList.forEach(e -> {
// ProcessDataVo vo = new ProcessDataVo();
// vo.setId(e.getId());
// vo.setPlanId(planId);
// vo.setProcessId(e.getProcessId());
// e.setProcessName(iZyProcessService.getById(e.getProcessId()).getProcessName());
// vo.setProductName("产品名称");
// vo.setWorkOrderId(workOrderId);
// vo.setDepartId(departId);
// vo.setDepartName(depart.getDepartName());
// vo.setStationList(stationVoList);
// vo.setStationId(stationVoList);
e.setStationIdList(stationVoList);
// result.add(vo);
});
if (!ObjectUtils.isEmpty(planProcessList)) {
planProcessList.forEach(e -> {
e.setStationIdList(stationVoList);
});
}
}
return planProcessList;
}
@Override
@Transactional(readOnly = false, rollbackFor = Exception.class)
public List<ZyPlanProcess> syncProductBaseProcess(ZyPlanProcess zyPlanProcess) {
int count = this.count(new LambdaQueryWrapper<ZyPlanProcess>().eq(ZyPlanProcess::getPlanId, zyPlanProcess.getPlanId()));
//生产计划工序表没有对应工序时,说明没有制定过该产品的生产工序计划,先把该产品对应的基本工序数据插入到生产计划工序表
if (count == 0) {
ZyProductPlan zyProductPlan = iZyProductPlanService.getById(zyPlanProcess.getPlanId());
if (ObjectUtils.isEmpty(zyProductPlan)) {
throw new JeecgBootException(zyProductPlan.getId() + "生产计划不存在");
}
ZyProduct zyProduct = iZyProductService.getOne(new LambdaQueryWrapper<ZyProduct>()
.eq(ZyProduct::getWorkOrderId, zyProductPlan.getProductCode())
.eq(ZyProduct::getProductCode, zyProductPlan.getProductNo()));
if (ObjectUtils.isEmpty(zyProduct)) {
throw new JeecgBootException(zyProductPlan.getProductNo() + "产品不存在");
}
//产品基本工序
List<ZyProductProcess> productProcessesList = iZyProductProcessService.list(new LambdaQueryWrapper<ZyProductProcess>()
.eq(ZyProductProcess::getProductId, zyProduct.getId()));
if (!ObjectUtils.isEmpty(productProcessesList)) {
List<ZyPlanProcess> saveList = new LinkedList<>();
productProcessesList.forEach(o -> {
ZyPlanProcess en = new ZyPlanProcess();
en.setProcessId(o.getProcessId());
ZyProcess zyProcess = iZyProcessService.getById(o.getProcessId());
en.setProcessName(zyProcess.getProcessName());
en.setPlanId(zyPlanProcess.getPlanId());
en.setTotalMachine(zyProcess.getTotalMachine());
en.setTotalMaunal(zyProcess.getTotalMaunal());
saveList.add(en);
});
this.saveBatch(saveList);
}
//重新查询计划工序
List<ZyPlanProcess> planProcessList = this.list(new LambdaQueryWrapper<ZyPlanProcess>().eq(ZyPlanProcess::getPlanId, zyPlanProcess.getPlanId()));
//工序面料同步到计划工序面料表
this.saveBatchFabricByProcessIdList(planProcessList);
//工序辅料同步到计划工序辅料表
this.saveBatchAccessoriesByProcessIdList(planProcessList);
//填充前导工序、和后导工序
List<ZyPlanProcess> updateList = new LinkedList<>();
for (int i = 0; i < planProcessList.size(); i++) {
//第一个没有前导工序
if (i == 0) {
ZyPlanProcess process1 = planProcessList.get(i);
ZyPlanProcess process2 = planProcessList.get(i + 1);
process1.setPostProcess(process2.getProcessId());
process1.setPostProcessName(process2.getProcessName());
updateList.add(process1);
} else if (i > 0 && i < planProcessList.size() - 1) {
ZyPlanProcess process = planProcessList.get(i - 1);
ZyPlanProcess process1 = planProcessList.get(i);
ZyPlanProcess process2 = planProcessList.get(i + 1);
process1.setProProcess(process.getProcessId());
process1.setProProcessName(process.getProcessName());
process1.setPostProcess(process2.getProcessId());
process1.setPostProcessName(process2.getProcessName());
updateList.add(process1);
}
// 最后一个没有后导工序
else if (i == planProcessList.size() - 1) {
ZyPlanProcess process = planProcessList.get(i - 1);
ZyPlanProcess process1 = planProcessList.get(i);
process1.setProProcess(process.getProcessId());
process1.setProProcessName(process.getProcessName());
updateList.add(process1);
}
}
this.saveOrUpdateBatch(updateList);
}
return null;
}
void saveBatchAccessoriesByProcessIdList(List<ZyPlanProcess> planProcessList) {
Optional.ofNullable(planProcessList).orElse(new ArrayList<>()).forEach(e -> {
List<ZyProcessAccessories> accessoriesList = this.iZyProcessAccessoriesService.list(new LambdaQueryWrapper<ZyProcessAccessories>()
.eq(ZyProcessAccessories::getProcessId, e.getProcessId()));
List<ZyPlanProcessAccessories> list = new LinkedList<>();
Optional.ofNullable(accessoriesList).orElse(new ArrayList<>()).forEach(obj -> {
ZyPlanProcessAccessories en = new ZyPlanProcessAccessories();
en.setPlanProcessId(e.getProcessId());
en.setPlanId(e.getPlanId());
en.setAccessoriesId(obj.getAccessoriesId());
ZyAccessories zyAccessories = iZyAccessoriesService.getById(obj.getAccessoriesId());
en.setAccessoriesName(StringUtils.isNotBlank(zyAccessories.getContents()) ? zyAccessories.getContents() : "");
list.add(en);
});
iZyPlanProcessAccessoriesService.saveBatch(list);
});
}
void saveBatchFabricByProcessIdList(List<ZyPlanProcess> planProcessList) {
Optional.ofNullable(planProcessList).orElse(new ArrayList<>()).forEach(e -> {
List<ZyProcessFabric> fabricList = this.iZyProcessFabricService.list(new LambdaQueryWrapper<ZyProcessFabric>()
.eq(ZyProcessFabric::getProcessId, e.getProcessId()));
List<ZyPlanProcessFabric> list = new LinkedList<>();
Optional.ofNullable(fabricList).orElse(new ArrayList<>()).forEach(obj -> {
ZyPlanProcessFabric en = new ZyPlanProcessFabric();
en.setPlanProcessId(e.getProcessId());
en.setPlanId(e.getPlanId());
en.setFabricId(obj.getFabricId());
ZyFabric zyFabric = iZyFabricService.getById(obj.getFabricId());
en.setFabricName(StringUtils.isNotBlank(zyFabric.getName()) ? zyFabric.getName() : "");
list.add(en);
});
iZyPlanProcessFabricService.saveBatch(list);
});
}
@Override
public Map<String, Object> getPlanInfo(ZyPlanProcess planProcess) {
//生产计划id
String planId = planProcess.getPlanId();
ZyProductPlan zyProductPlan = iZyProductPlanService.getById(planId);
if (ObjectUtils.isEmpty(zyProductPlan)) {
throw new JeecgBootException("生产计划不存在!");
}
//工单id
String workOrderId = zyProductPlan.getProductCode();
String departId = zyProductPlan.getWorkshopId();
ZyProduct zyProduct = iZyProductService.getOne(new LambdaQueryWrapper<ZyProduct>().eq(ZyProduct::getWorkOrderId, workOrderId));
if (ObjectUtils.isEmpty(zyProduct)) {
throw new JeecgBootException("产品不存在!");
}
// 工单信息
WorkOrder workOrder = iWorkOrderService.getOne(new LambdaQueryWrapper<WorkOrder>().eq(WorkOrder::getProductCode, zyProductPlan.getProductCode()));
if (ObjectUtils.isEmpty(workOrder))
throw new JeecgBootException(zyProductPlan.getProductCode() + "工单信息不存在");
String ordersId = workOrder.getOrdersId();
//订单信息
OrderGoods orderGoods = iOrderGoodsService.getOne(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrdersId, ordersId));
if (ObjectUtils.isEmpty(orderGoods)) throw new JeecgBootException(ordersId + "订单商品信息不存在");
ZyOrders zyOrders = iZyOrdersService.getOne(new LambdaQueryWrapper<ZyOrders>().eq(ZyOrders::getId, ordersId));
if (ObjectUtils.isEmpty(zyOrders)) throw new JeecgBootException(ordersId + "订单信息不存在");
Map<String, Object> result = new HashMap<>();
result.put("productCode", zyProduct.getProductCode());
result.put("productName", zyProduct.getProductName());
result.put("productOrg", zyProductPlan.getProductOrg());
result.put("productName", zyProductPlan.getProductName());
result.put("productNo", zyProductPlan.getProductNo());
SysDepart depart = iSysDepartService.getById(departId);
Groupx groupx = iGroupxService.getById(zyProductPlan.getTeamId());
result.put("workshop", depart.getDepartName());
result.put("team", groupx.getGroupName());
result.put("teamLade", iSysUserService.getById(groupx.getEnterprisesManager()).getRealname());
result.put("productType", groupx.getEnterprisesManager());
result.put("workTime", zyProductPlan.getWorkTime());
result.put("duration", zyProductPlan.getDuration());
if ("0".equals(zyProductPlan.getSpeedUp())) {
result.put("speedUp", "否");
} else {
result.put("speedUp", "是");
}
result.put("orderTime", zyOrders.getOrderTime());
SysDepart depart1 = iSysDepartService.getById(zyOrders.getSalesEnterpriseId());
//销售门店
result.put("salesEnterprise", depart1.getDepartName());
SysUser sysUser = iSysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, zyProductPlan.getAuditBy()));
result.put("auditBy", sysUser.getRealname());
result.put("status", ProductPlanStatusEnum.getValueByCode(zyProductPlan.getStatus().toString()));
result.put("auditTimr", zyProductPlan.getAuditTimr());
ZyClothsStyle zyClothsStyle = iZyClothsStyleService.getById(orderGoods.getStyleId());
result.put("productType", zyClothsStyle.getStyleNames());
return result;
}
@Override
public List<ProcessDataVo> getTeamDatalist(ZyPlanProcess zyPlanProcess) {
//生产计划id

@ -4,6 +4,8 @@ package org.jeecg.modules.team.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.team.entity.StationMachine;
import java.util.List;
/**
* @Description: 工序设备管理
* @Author: jeecg-boot
@ -12,4 +14,6 @@ import org.jeecg.modules.team.entity.StationMachine;
*/
public interface IStationMachineService extends IService<StationMachine> {
String convertByMachineId(String stationId);
}

@ -12,4 +12,5 @@ import org.jeecg.modules.team.entity.StationTool;
*/
public interface IStationToolService extends IService<StationTool> {
String convertByToolId(String stationId);
}

@ -1,10 +1,19 @@
package org.jeecg.modules.team.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.device.entity.ZyDevice;
import org.jeecg.modules.device.service.IZyDeviceService;
import org.jeecg.modules.team.entity.StationMachine;
import org.jeecg.modules.team.mapper.StationMachineMapper;
import org.jeecg.modules.team.service.IStationMachineService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
/**
* @Description: 工序设备管理
@ -15,4 +24,24 @@ import org.springframework.stereotype.Service;
@Service
public class StationMachineServiceImpl extends ServiceImpl<StationMachineMapper, StationMachine> implements IStationMachineService {
@Autowired
private IZyDeviceService iZyDeviceService;
@Override
public String convertByMachineId(String stationId) {
List<StationMachine> machineList = this.list(new LambdaQueryWrapper<StationMachine>().eq(StationMachine::getStationId, stationId));
StringBuffer machineNames = new StringBuffer();
String machineNamesStr = "";
if (!ObjectUtils.isEmpty(machineList)) {
machineList.forEach(e -> {
ZyDevice zyDevice = iZyDeviceService.getById(e.getMachineId());
if (!ObjectUtils.isEmpty(zyDevice)) {
machineNames.append(zyDevice.getName()).append(",");
}
});
}
machineNamesStr = machineNames.toString();
machineNamesStr = machineNames.substring(0, machineNamesStr.length() - 1);
return machineNamesStr;
}
}

@ -1,10 +1,17 @@
package org.jeecg.modules.team.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.team.entity.StationTool;
import org.jeecg.modules.team.mapper.StationToolMapper;
import org.jeecg.modules.team.service.IStationToolService;
import org.jeecg.modules.zytool.zytool.entity.ZyTool;
import org.jeecg.modules.zytool.zytool.service.IZyToolService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.List;
/**
* @Description: 工序工具管理
@ -15,4 +22,24 @@ import org.springframework.stereotype.Service;
@Service
public class StationToolServiceImpl extends ServiceImpl<StationToolMapper, StationTool> implements IStationToolService {
@Autowired
private IZyToolService iZyToolService;
@Override
public String convertByToolId(String stationId) {
List<StationTool> toolList = this.list(new LambdaQueryWrapper<StationTool>().eq(StationTool::getStationId, stationId));
StringBuffer toolNames = new StringBuffer();
String toolNamesStr = "";
if (!ObjectUtils.isEmpty(toolList)) {
toolList.forEach(e -> {
ZyTool zyTool = iZyToolService.getById(e.getToolsId());
if (!ObjectUtils.isEmpty(zyTool)) {
toolNames.append(zyTool.getName()).append(",");
}
});
}
toolNamesStr = toolNames.toString();
toolNamesStr = toolNamesStr.substring(0, toolNamesStr.length() - 1);
return toolNamesStr;
}
}

@ -303,15 +303,11 @@ public class WorkOrderController extends JeecgController<WorkOrder, IWorkOrderSe
return Result.error("该订单已经派单,请不要重复操作!");
}
else {//start for 1
Result result=workOrderService.paidan(zyOrders,depId);
return workOrderService.paidan(zyOrders,depId);
}//end for 1
}
//修改订单状态
zyOrders.setDeliveryStatus(3);
zyOrdersService.updateById(zyOrders);
return Result.OK("成功");
}
/**
@ -329,17 +325,15 @@ public class WorkOrderController extends JeecgController<WorkOrder, IWorkOrderSe
if(woModel==null) {
return Result.error("未找到对应数据!");
}else{
// 增加撤销操作,点击撤销删除工单和对应的产品,订单状态改为派单前的状态。
// * 撤销操作,同时会撤销产品模块、产品面料、产品辅料、产品工序、以及制单数据
//增加撤销操作,点击撤销删除工单和对应的产品,订单状态改为派单前的状态。
//撤销操作,同时会撤销产品模块、产品面料、产品辅料、产品工序、以及制单数据
return workOrderService.cancellationWorkOrder(woModel);
//修改订单状态
ZyOrders zyOrders = zyOrdersService.getById(woModel.getOrdersId());
zyOrders.setDeliveryStatus(2);
zyOrdersService.updateById(zyOrders);
// ZyOrders zyOrders = zyOrdersService.getById(woModel.getOrdersId());
// zyOrders.setDeliveryStatus(2);
// zyOrdersService.updateById(zyOrders);
}
return Result.OK("成功");
}

@ -21,5 +21,7 @@ public interface IWorkOrderService extends IService<WorkOrder> {
IPage<WorkOrder> selectPage(Page<WorkOrder> page, WorkOrderVo workOrder);
//派单
Result paidan(ZyOrders zyOrders,String depId);
Result<?> paidan(ZyOrders zyOrders,String depId);
Result<?> cancellationWorkOrder(WorkOrder woModel);
}

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.demo.base.entity.ZyProcess;
import org.jeecg.modules.demo.base.mapper.ZyProcessMapper;
import org.jeecg.modules.demo.customermeasure.entity.CustomerMeasure;
import org.jeecg.modules.demo.customermeasure.mapper.CustomerMeasureMapper;
import org.jeecg.modules.demo.ordergoods.entity.OrderGoods;
@ -15,16 +17,26 @@ import org.jeecg.modules.demo.ordergoodsfabric.entity.OrderGoodsFabric;
import org.jeecg.modules.demo.ordergoodsfabric.mapper.OrderGoodsFabricMapper;
import org.jeecg.modules.demo.ordergoodsmodule.entity.OrderGoodsModule;
import org.jeecg.modules.demo.ordergoodsmodule.mapper.OrderGoodsModuleMapper;
import org.jeecg.modules.demo.pro.entity.ZyProcessMachine;
import org.jeecg.modules.demo.pro.mapper.ZyProcessMachineMapper;
import org.jeecg.modules.demo.zyStyleModular.entity.ZyStyleModular;
import org.jeecg.modules.demo.zyStyleModular.mapper.ZyStyleModularMapper;
import org.jeecg.modules.demo.zyorders.entity.ZyOrders;
import org.jeecg.modules.demo.zyorders.mapper.ZyOrdersMapper;
import org.jeecg.modules.operationtool.entity.ZyOperationtool;
import org.jeecg.modules.operationtool.mapper.ZyOperationtoolMapper;
import org.jeecg.modules.product.pdaccessories.entity.ProductAccessories;
import org.jeecg.modules.product.pdaccessories.mapper.ProductAccessoriesMapper;
import org.jeecg.modules.product.pdfabric.entity.ProductFabric;
import org.jeecg.modules.product.pdfabric.mapper.ProductFabricMapper;
import org.jeecg.modules.product.pdmachine.entity.ProductMachine;
import org.jeecg.modules.product.pdmachine.mapper.ProductMachineMapper;
import org.jeecg.modules.product.pdoperationtool.entity.ProductOperationtool;
import org.jeecg.modules.product.pdoperationtool.mapper.ProductOperationtoolMapper;
import org.jeecg.modules.product.productModule.entity.ProductModule;
import org.jeecg.modules.product.productModule.mapper.ProductModuleMapper;
import org.jeecg.modules.product.zyproductprocess.entity.ZyProductProcess;
import org.jeecg.modules.product.zyproductprocess.mapper.ZyProductProcessMapper;
import org.jeecg.modules.workorder.entity.WorkOrder;
import org.jeecg.modules.workorder.entity.WorkOrderVo;
import org.jeecg.modules.workorder.mapper.WorkOrderMapper;
@ -54,6 +66,10 @@ import java.util.List;
@Service
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements IWorkOrderService {
//订单
@Autowired
private ZyOrdersMapper zyOrdersMapper;
//订单商品
@Autowired
private OrderGoodsMapper orderGoodsMapper;
@ -78,10 +94,35 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
@Autowired
private ZyProductMapper productMapper;
//工序
//服装工序
@Autowired
private ZyStyleModularMapper styleModularMapper;
//基本工序
@Autowired
private ZyProcessMapper processMapper;
//产品工序
@Autowired
private ZyProductProcessMapper productProcessMapper;
//工序工具
@Autowired
private ZyOperationtoolMapper zyOperationtoolMapper;
//产品工具
@Autowired
private ProductOperationtoolMapper productOperationtoolMapper;
//工序设备
@Autowired
private ZyProcessMachineMapper zyProcessMachine;
//产品设备
@Autowired
private ProductMachineMapper productMachineMapper;
//订单商品模块表
@Autowired
private OrderGoodsModuleMapper orderGoodsModuleMapper;
@ -122,7 +163,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
* @return
*/
@Override
public Result paidan(ZyOrders zyOrders,String depId) {
public Result<?> paidan(ZyOrders zyOrders,String depId) {
//订单ID
String orderId=zyOrders.getId();
//商品订单是否存在
@ -213,34 +254,60 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
//产品模块、产品面料、产品辅料、产品工序、
//#region 产品工序-添加(服装款式类型中读取)
//根据服务款式表id 得到工序数据
//根据服务款式表id 得到服装工序,然后在得到基本工序
QueryWrapper<ZyStyleModular> styleModularLWrapper=new QueryWrapper<ZyStyleModular>();
styleModularLWrapper.eq("type_id",ogModel.getStyleId());
List<ZyStyleModular> zyStyleModularList=styleModularMapper.selectList(styleModularLWrapper);
//将工序保存到产品工序中
List<ZyProductProcess> productProcessList=new ArrayList<>();
//将工序保存到产品工序中
//List<ZyProductProcess> productProcessList=new ArrayList<>();
for(ZyStyleModular item:zyStyleModularList)
{
ZyProductProcess zpp=new ZyProductProcess();
//zpp.setProductId()//产品id
// /***/
// @Excel(name = "产品id", width = 15)
// @ApiModelProperty(value = "产品id")
// @Dict(dictTable = "zy_product",dicText = "product_code",dicCode = "id")
// private String productId;
// /**工序id*/
// @Excel(name = "工序id", width = 15)
// @ApiModelProperty(value = "工序id")
// @Dict(dictTable = "zy_process",dicText = "process_name",dicCode = "id")
// private String processId;
// /**序号*/
// @Excel(name = "序号", width = 15)
// @ApiModelProperty(value = "序号")
// private Integer number;
productProcessList.add(zpp);
zpp.setProductId(productModel.getId());//产品id
zpp.setProcessId(item.getProcessId());//工序id
zpp.setNumber(item.getSerialnumber());//序号
productProcessMapper.insert(zpp);//保存
//ZyProcess =processMapper.selectById(item.getProcessId());
//region 获取工序工具
QueryWrapper<ZyOperationtool> operationtoolWrapper=new QueryWrapper<ZyOperationtool>();
//根据工序ID
operationtoolWrapper.eq("operationid",item.getProcessId());
List<ZyOperationtool> operationtoolList=zyOperationtoolMapper.selectList(operationtoolWrapper);
int sort=1;
for(ZyOperationtool itemTool:operationtoolList)
{
ProductOperationtool poModel=new ProductOperationtool();
poModel.setProductId(productModel.getId());//产品id
poModel.setOperationtoolId(itemTool.getToolid());//工具id
poModel.setSort(sort++);//序号
productOperationtoolMapper.insert(poModel);
}
//endregion
//region 获取工序设备
QueryWrapper<ZyProcessMachine> processMachineWrapper=new QueryWrapper<ZyProcessMachine>();
//根据工序ID
processMachineWrapper.eq("process_id",item.getProcessId());
List<ZyProcessMachine> processMachineList=zyProcessMachine.selectList(processMachineWrapper);
//遍历设备
sort=1;
for(ZyProcessMachine itemMachine:processMachineList)
{
ProductMachine pmModel=new ProductMachine();
pmModel.setProductId(productModel.getId());//产品id
pmModel.setMachineId(itemMachine.getMachineId());//设备
pmModel.setSort(sort++);//序号
productMachineMapper.insert(pmModel);
}
//endregion
//productProcessList.add(zpp);
}
//zyProductProcessService.save()
//#endregion
@ -306,6 +373,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
{
ProductAccessories paModel=new ProductAccessories();
paModel.setProductId(productModel.getId());//产品id
paModel.setAccessoriesId(item.getAccessoriesId());//辅料id
productAccessoriesMapper.insert(paModel);
// productAccessoriesList.add(paModel);
@ -324,6 +392,21 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
{
return Result.error("订单商品数据未找到!");
}
//修改订单状态
zyOrders.setDeliveryStatus(3);
zyOrdersMapper.updateById(zyOrders);
return Result.OK("成功");
}
/**
* 撤销工单
* @param woModel
* @return
*/
@Override
public Result<?> cancellationWorkOrder(WorkOrder woModel) {
//ZyProduct
return null;
}

@ -172,20 +172,20 @@ public class ZyClothsStyleController extends JeecgController<ZyClothsStyle, IZyC
return Result.OK("添加成功!");
}
@GetMapping(value = "/enterpriseNum")
public Result<?> enterpriseNum(@RequestParam(name = "id", required = true) String id) {
//id.contains(",") 判断是否字符中是否包含","
if (id.contains(",")) {
return Result.error("只能选择一个企业");
} else {
String sort = zyClothsStyleService.enterpriseNum(id);
//System.err.println(sort + " enterpriseNum");
if (StringUtils.isEmpty(sort)) {
return Result.OK(0);
}
return Result.OK(sort);
}
}
// @GetMapping(value = "/enterpriseNum")
// public Result<?> enterpriseNum(@RequestParam(name = "id", required = true) String id) {
// //id.contains(",") 判断是否字符中是否包含","
// if (id.contains(",")) {
// return Result.error("只能选择一个企业");
// } else {
// String sort = zyClothsStyleService.enterpriseNum(id);
// //System.err.println(sort + " enterpriseNum");
// if (StringUtils.isEmpty(sort)) {
// return Result.OK(0);
// }
// return Result.OK(sort);
// }
// }
/**
* getAction的url sort 编码

@ -24,5 +24,5 @@ public interface IZyClothsStyleService extends IService<ZyClothsStyle> {
*/
AllClothStyle queryDetail(String id);
String enterpriseNum(String id);
//String enterpriseNum(String id);
}

@ -59,7 +59,7 @@ public class ZyClothsStyleServiceImpl extends ServiceImpl<ZyClothsStyleMapper, Z
public AllClothStyle queryDetail(String id) {
AllClothStyle zyAll = new AllClothStyle();
//服装款式详情
List<ZyClothsStyle> zyClothsStyles = detail(id);
List<ZyClothsStyle> zyClothsStyles = this.detail(id);
zyAll.setZyClothsStyles(zyClothsStyles);
//服装 款式 模块详情
List<NewStyleModule> zyStyleModuleList = zyStyleModuleService.detail(id);
@ -80,12 +80,12 @@ public class ZyClothsStyleServiceImpl extends ServiceImpl<ZyClothsStyleMapper, Z
return zyAll;
}
@Override
public String enterpriseNum(String id) {
String enterpriseName = zyClothsStyleMapper.getEnterpriseName(id);
//根据企业名称拿到企业编号
return zyClothsTypeService.getEnterpriseNums(enterpriseName);
}
// @Override
// public String enterpriseNum(String id) {
// String enterpriseName = zyClothsStyleMapper.getEnterpriseName(id);
// //根据企业名称拿到企业编号
// return zyClothsTypeService.getEnterpriseNums(enterpriseName);
// }
public List<ZyClothsStyle> detail(String id){
ZyClothsStyle zyClothsStyle = zyClothsStyleMapper.selectById(id);

Loading…
Cancel
Save