diff --git a/ant-design-vue-jeecg/src/views/pdmodulecomponent/ProductModuleComponentList.vue b/ant-design-vue-jeecg/src/views/pdmodulecomponent/ProductModuleComponentList.vue new file mode 100644 index 00000000..1cd056a1 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmodulecomponent/ProductModuleComponentList.vue @@ -0,0 +1,284 @@ + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentForm.vue b/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentForm.vue new file mode 100644 index 00000000..f46bc54f --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentForm.vue @@ -0,0 +1,124 @@ + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentModal.vue b/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentModal.vue new file mode 100644 index 00000000..26e7ac59 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentModal.vue @@ -0,0 +1,78 @@ + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentModal__Style#Drawer.vue b/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentModal__Style#Drawer.vue new file mode 100644 index 00000000..95261a91 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ProductModuleComponentModal__Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ZyClothsComponentList.vue b/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ZyClothsComponentList.vue new file mode 100644 index 00000000..cd056eb5 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmodulecomponent/modules/ZyClothsComponentList.vue @@ -0,0 +1,165 @@ + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmoduleprocess/ProductModuleProcessList.vue b/ant-design-vue-jeecg/src/views/pdmoduleprocess/ProductModuleProcessList.vue new file mode 100644 index 00000000..894b976c --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmoduleprocess/ProductModuleProcessList.vue @@ -0,0 +1,286 @@ + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessForm.vue b/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessForm.vue new file mode 100644 index 00000000..c7fd6047 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessForm.vue @@ -0,0 +1,124 @@ + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessModal.vue b/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessModal.vue new file mode 100644 index 00000000..e2daf499 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessModal.vue @@ -0,0 +1,76 @@ + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessModal__Style#Drawer.vue b/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessModal__Style#Drawer.vue new file mode 100644 index 00000000..0a9b3768 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ProductModuleProcessModal__Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ZyProcessList.vue b/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ZyProcessList.vue new file mode 100644 index 00000000..31f8b3f8 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/pdmoduleprocess/modules/ZyProcessList.vue @@ -0,0 +1,288 @@ + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/process/modules/ZyClothsModularForm.vue b/ant-design-vue-jeecg/src/views/process/modules/ZyClothsModularForm.vue index 2fbe55e7..041cdd62 100644 --- a/ant-design-vue-jeecg/src/views/process/modules/ZyClothsModularForm.vue +++ b/ant-design-vue-jeecg/src/views/process/modules/ZyClothsModularForm.vue @@ -1,7 +1,7 @@ @@ -85,6 +100,8 @@ import '@/assets/less/TableExpand.less' import {mixinDevice} from '@/utils/mixin' import {JeecgListMixin} from '@/mixins/JeecgListMixin' import ZyPlanProcessModal from './modules/ZyPlanProcessModal2' +import {getAction} from "@api/manage"; +import {filterObj} from "@/utils/util"; export default { name: 'ZyPlanProcessList', @@ -94,7 +111,7 @@ export default { }, data() { return { - description: '计划工序制定数据列表', + description: '生产计划工序管理页面', // 表头 columns: [ { @@ -107,35 +124,57 @@ export default { return parseInt(index) + 1; } }, + // { + // title: '计划id', + // align: "center", + // dataIndex: 'planId' + // }, { - title: '生产计划id', + title: '工单编号', align: "center", - dataIndex: 'planId' + dataIndex: 'workOrderId' }, { - title: '车间名称', + title: '产品id', align: "center", - dataIndex: 'teamName' + dataIndex: 'productId' }, { - title: '工单编号', + title: '产品', align: "center", - dataIndex: 'productCode' + dataIndex: 'productName' }, { - title: '产品名称', + title: '车间', align: "center", - dataIndex: 'productCode2' + dataIndex: 'departName' }, { - title:'工序名称', - align:"center", - dataIndex: 'processId_dictText' + title: '工序', + align: "center", + dataIndex: 'processName' }, { - title:'序号', - align:"center", - dataIndex: 'number' + title: '工位列表', + align: "center", + dataIndex: 'stationList', + width: 150, + scopedSlots: {customRender: 'stationList'} + }, + { + title: '工位工具列表', + align: "center", + dataIndex: 'toolsList', + width: 150, + scopedSlots: {customRender: 'toolsList'} + // scopedSlots: {customRender: this.toolsList} + }, + { + title: '工具设备列表', + align: "center", + dataIndex: 'machineList', + width: 150, + scopedSlots: {customRender: 'machineList'} }, { title: '操作', @@ -147,16 +186,21 @@ export default { } ], url: { - list: "/org.jeecg.modules.productplan/zyPlanProcess/list", - productPlanlist: "/org.jeecg.modules.productplan/zyProductPlan/list", + list: "/org.jeecg.modules.productplan/zyPlanProcess/getProcessDatalist", + stationToolslist: "/stationTool/list", + stationMachinelist: "/stationMachine/list", + // productPlanlist: "/org.jeecg.modules.productplan/zyProductPlan/list", delete: "/org.jeecg.modules.productplan/zyPlanProcess/delete", - deleteBatch: "/org.jeecg.modules.productplan/zyPlanProcess/deleteBatch", - exportXlsUrl: "/org.jeecg.modules.productplan/zyPlanProcess/exportXls", - importExcelUrl: "org.jeecg.modules.productplan/zyPlanProcess/importExcel", - + // deleteBatch: "/org.jeecg.modules.productplan/zyPlanProcess/deleteBatch", + // exportXlsUrl: "/org.jeecg.modules.productplan/zyPlanProcess/exportXls", + // importExcelUrl: "org.jeecg.modules.productplan/zyPlanProcess/importExcel", }, + loadRouteType: false, + planId: "", dictOptions: {}, superFieldList: [], + toolsList: [], + machineList: [], } }, created() { @@ -168,8 +212,88 @@ export default { }, }, methods: { - initDictConfig() { + fanHui() { + this.$router.push({ + path: '/productplan/ZyPlanProcessList', + }); + }, + getToolAndMachine(stationId) { + // alert("stationId=" + stationId); + getAction(this.url.stationToolslist, {"stationId": stationId}).then((res) => { + if (res.success) { + this.toolsList = res.result.records || res.result; + console.log("toolsList", JSON.stringify(this.toolsList)) + } else { + this.$message.warning(res.message) + } + }); + + getAction(this.url.stationMachinelist, {"stationId": stationId}).then((res) => { + if (res.success) { + this.machineList = res.result.records || res.result; + console.log("machineList", JSON.stringify(this.toolsList)) + } else { + this.$message.warning(res.message) + } + }); + }, + //加载传递参数 + loadParameter() { + 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) { + if (!this.url.list) { + this.$message.error("请设置url.list属性!") + return + } + //加载数据 若传入参数1则加载第一页的内容 + if (arg === 1) { + this.ipagination.current = 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; + if (res.result.total) { + this.ipagination.total = res.result.total; + } else { + this.ipagination.total = 0; + } + } else { + this.$message.warning(res.message) + } + }).finally(() => { + // this.dataSource.forEach(item => { + // item['stationName'] = this.stationName; + // item['stationNum'] = this.stationNum; + // }) + 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); }, + // initDictConfig() { + // }, getSuperFieldList() { let fieldList = []; fieldList.push({type: 'string', value: 'planId', text: '生产计划id', dictCode: ''}) @@ -180,16 +304,17 @@ export default { fieldList.push({type: 'string', value: 'userIds', text: '成员id列表', dictCode: ''}) this.superFieldList = fieldList }, - jumpPage1(record) { - this.$router.push({ - path: '/productplan/ZyProductPlanList', - - // query: { // 路由携带参数 - // 'stationId': record.id, - // 'stationName': record.stationName, - // }, - }); - }, + // jumpPage1(record) { + // this.$router.push({ + // // path: '/productplan/ZyProductPlanList', + // path: '/productplan/ZyPlanProcessDataList', + // + // // query: { // 路由携带参数 + // // 'stationId': record.id, + // // 'stationName': record.stationName, + // // }, + // }); + // }, // pf(record) { // this.$router.push({ // path: '/productplan/ZyPlanProcessAddList', @@ -197,17 +322,17 @@ export default { // } // }); - // getAction("productPlanlist", {id: record.id}).then((res) => { - // if (res.success) { - // this.$router.push({ - // path: '/src/views/processassessment/assessmentCourse/ClassOpeningTaskList', - // query: { // 路由携带参数 - // } - // }); - // } else { - // this.$message.error(res.message) - // } - // }); + // getAction("productPlanlist", {id: record.id}).then((res) => { + // if (res.success) { + // this.$router.push({ + // path: '/src/views/processassessment/assessmentCourse/ClassOpeningTaskList', + // query: { // 路由携带参数 + // } + // }); + // } else { + // this.$message.error(res.message) + // } + // }); // }, } } diff --git a/ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessList.vue b/ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessList.vue index f63c30b1..02a75a6b 100644 --- a/ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessList.vue +++ b/ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessList.vue @@ -55,16 +55,51 @@ class="j-table-force-nowrap" @change="handleTableChange"> - - - - - + + + + {{ text }} + + + + + + {{ text }} + + + + + + + {{ text }} + + + + + + + {{ text }} + + + + + + + {{ text }} + + + - - - - 删除 @@ -108,33 +143,39 @@ export default { } }, { - title: '生产计划id', + title: '生产计划', align: "center", dataIndex: 'planId' - }, { - title: '工位id', + }, + { + title: '工序', align: "center", - dataIndex: 'stationId' + dataIndex: 'processId_dictText', + scopedSlots: {customRender: 'stationId_dictText'} }, { - title: '设备id列表', + title: '工位', align: "center", - dataIndex: 'machineIds' + dataIndex: 'stationId_dictText', + scopedSlots: {customRender: 'stationId_dictText'} }, { - title: '工具id列表', + title: '设备', align: "center", - dataIndex: 'toolsIds' + dataIndex: 'machineIds_dictText', + scopedSlots: {customRender: 'machineIds_dictText'} }, { - title: '工序id列表', + title: '工具', align: "center", - dataIndex: 'processIds' + dataIndex: 'toolsIds_dictText', + scopedSlots: {customRender: 'toolsIds_dictText'} }, { - title: '成员id列表', + title: '成员', align: "center", - dataIndex: 'userIds' + dataIndex: 'userIds', + scopedSlots: {customRender: 'userIds'} }, { title: '操作', @@ -146,7 +187,8 @@ export default { } ], url: { - list: "/org.jeecg.modules.productplan/zyPlanProcess/list", + // list: "/org.jeecg.modules.productplan/zyPlanProcess/list", + list: "/org.jeecg.modules.productplan/zyPlanProcess/list2", productPlanlist: "/org.jeecg.modules.productplan/zyProductPlan/list", delete: "/org.jeecg.modules.productplan/zyPlanProcess/delete", deleteBatch: "/org.jeecg.modules.productplan/zyPlanProcess/deleteBatch", @@ -181,12 +223,11 @@ export default { }, jumpPage1(record) { this.$router.push({ - path: '/productplan/ZyProductPlanList', - - // query: { // 路由携带参数 - // 'stationId': record.id, - // 'stationName': record.stationName, - // }, + path: '/productplan/ZyPlanProcessDataList', + query: { // 路由携带参数 + 'planId': record.planId, + // 'stationName': record.stationName, + }, }); }, // pf(record) { @@ -196,17 +237,17 @@ export default { // } // }); - // getAction("productPlanlist", {id: record.id}).then((res) => { - // if (res.success) { - // this.$router.push({ - // path: '/src/views/processassessment/assessmentCourse/ClassOpeningTaskList', - // query: { // 路由携带参数 - // } - // }); - // } else { - // this.$message.error(res.message) - // } - // }); + // getAction("productPlanlist", {id: record.id}).then((res) => { + // if (res.success) { + // this.$router.push({ + // path: '/src/views/processassessment/assessmentCourse/ClassOpeningTaskList', + // query: { // 路由携带参数 + // } + // }); + // } else { + // this.$message.error(res.message) + // } + // }); // }, } } diff --git a/ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue b/ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue index 2233a512..9540c7e7 100644 --- a/ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue +++ b/ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue @@ -184,7 +184,7 @@ export default { { title: '生产时长', align: "center", - dataIndex: 'offTime' + dataIndex: 'duration' }, { title: '状态', @@ -252,7 +252,7 @@ export default { fieldList.push({type: 'string', value: 'teamId', text: '班组', dictCode: ''}) fieldList.push({type: 'string', value: 'teamLeader', text: '组长', dictCode: ''}) fieldList.push({type: 'date', value: 'workTime', text: '生产开始时间'}) - fieldList.push({type: 'int', value: 'offTime', text: '生产时长', dictCode: ''}) + fieldList.push({type: 'int', value: 'duration', text: '生产时长', dictCode: ''}) fieldList.push({type: 'int', value: 'status', text: '状态', dictCode: ''}) fieldList.push({type: 'int', value: 'speedUp', text: '是否加急', dictCode: ''}) fieldList.push({type: 'string', value: 'auditBy', text: '审核人', dictCode: ''}) diff --git a/ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue b/ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue index 58ab2ebf..d7c93fad 100644 --- a/ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue +++ b/ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue @@ -57,8 +57,8 @@ - - + + @@ -134,7 +134,7 @@ export default { // status: [ // {required: true,message: "状态不能为空"}, // ], - offTime: [ + duration: [ {required: true, message: "生产时长不能不空"}, {pattern: /^[0-9]{0,100}$/, message: '生产时间不能为空且长度为正整数'} ], diff --git a/ant-design-vue-jeecg/src/views/zyclothsstyle/modules/ZyClothsStyleForm.vue b/ant-design-vue-jeecg/src/views/zyclothsstyle/modules/ZyClothsStyleForm.vue index 616a5dee..28e428fb 100644 --- a/ant-design-vue-jeecg/src/views/zyclothsstyle/modules/ZyClothsStyleForm.vue +++ b/ant-design-vue-jeecg/src/views/zyclothsstyle/modules/ZyClothsStyleForm.vue @@ -3,9 +3,9 @@ - + - + @@ -23,10 +23,9 @@ - - + - + @@ -37,11 +36,9 @@ - - - + @@ -51,11 +48,9 @@ - - - + @@ -64,10 +59,9 @@ - - + - + @@ -76,27 +70,22 @@ - - - + - - - - + - - + + @@ -106,14 +95,14 @@ - + - + @@ -121,7 +110,7 @@ - + @@ -391,7 +380,7 @@ export default { }, wrapperCol1: { xs: {span: 24}, - sm: {span: 18}, + sm: {span: 20}, }, confirmLoading: false, validatorRules: { @@ -485,4 +474,7 @@ export default { .ant-form-item { margin-bottom: 16px; } +/deep/ .label label{ + text-align:left; +} \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/controller/ProductModuleComponentController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/controller/ProductModuleComponentController.java new file mode 100644 index 00000000..aa2049fd --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/controller/ProductModuleComponentController.java @@ -0,0 +1,217 @@ +package org.jeecg.modules.pdmodulecomponent.controller; + + + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecg.modules.pdmodulecomponent.entity.ProductModuleComponent; +import org.jeecg.modules.pdmodulecomponent.service.IProductModuleComponentService; +import org.jeecg.modules.pdmoduleprocess.entity.ProductModuleProcess; +import org.jeecg.modules.product.zyproductprocess.service.IZyProductProcessService; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 产品模块部件表 + * @Author: jeecg-boot + * @Date: 2022-12-19 + * @Version: V1.0 + */ +@Api(tags="产品模块部件表") +@RestController +@RequestMapping("/pdmodulecomponent/productModuleComponent") +@Slf4j +public class ProductModuleComponentController extends JeecgController { + @Autowired + private IProductModuleComponentService productModuleComponentService; + @Autowired + IZyProductProcessService zyProductProcessService; + /** + * 分页列表查询 + * + * @param productModuleComponent + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "产品模块部件表-分页列表查询") + @ApiOperation(value="产品模块部件表-分页列表查询", notes="产品模块部件表-分页列表查询") + @GetMapping(value = "/list") + public Result queryPageList(ProductModuleComponent productModuleComponent, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper=new QueryWrapper(); + queryWrapper.orderByDesc("number"); + //查询指定模块对应的工序 + queryWrapper.eq("product_module_id",productModuleComponent.getProductModuleId()); + //根据产品编号查询 +// if(productModuleComponent.getProductId()!=null&&!productModuleComponent.getProductId().equals("")){ +// String s="%"+productModuleComponent.getProductId()+"%"; +// List list=zyProductProcessService.findProduct(s); +// queryWrapper.in("product_id",list); +// } + //根据部件查询 + if(productModuleComponent.getComponentId()!=null&&!productModuleComponent.getComponentId().equals("")){ + String s="%"+productModuleComponent.getComponentId()+"%"; + List list=productModuleComponentService.find(s); + queryWrapper.in("component_id",list); + } + Page page = new Page(pageNo, pageSize); + IPage pageList = productModuleComponentService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param productModuleComponent + * @return + */ + @AutoLog(value = "产品模块部件表-添加") + @ApiOperation(value="产品模块部件表-添加", notes="产品模块部件表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody ProductModuleComponent productModuleComponent) { + /* + * 通过模块id获取模块中的模块id和产品id,由于当前产品模块还没有写,暂时先不添加模块id和产品id + * */ + String[] split = productModuleComponent.getComponentId().split(","); + for (String k : split) { + productModuleComponent.setComponentId(k); + QueryWrapper s=new QueryWrapper(); + s.eq("product_module_id",productModuleComponent.getProductModuleId()); + s.eq("component_id",productModuleComponent.getComponentId()); + int a=productModuleComponentService.count(s); + if(a==0) + productModuleComponentService.save(productModuleComponent); + productModuleComponent.setId(null); + } + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param productModuleComponent + * @return + */ + @AutoLog(value = "产品模块部件表-编辑") + @ApiOperation(value="产品模块部件表-编辑", notes="产品模块部件表-编辑") + @PutMapping(value = "/edit") + public Result edit(@RequestBody ProductModuleComponent productModuleComponent) { + productModuleComponentService.updateById(productModuleComponent); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "产品模块部件表-通过id删除") + @ApiOperation(value="产品模块部件表-通过id删除", notes="产品模块部件表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + productModuleComponentService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "产品模块部件表-批量删除") + @ApiOperation(value="产品模块部件表-批量删除", notes="产品模块部件表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.productModuleComponentService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "产品模块部件表-通过id查询") + @ApiOperation(value="产品模块部件表-通过id查询", notes="产品模块部件表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProductModuleComponent productModuleComponent = productModuleComponentService.getById(id); + if(productModuleComponent==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(productModuleComponent); + } + + /** + * 导出excel + * + * @param request + * @param productModuleComponent + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProductModuleComponent productModuleComponent) { + return super.exportXls(request, productModuleComponent, ProductModuleComponent.class, "产品模块部件表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProductModuleComponent.class); + } + @GetMapping(value = "/up") + public Result up(@RequestParam(name="id",required=true) String id) { + productModuleComponentService.up(id); + return Result.OK("升序成功"); + } + @GetMapping(value = "/down") + public Result down(@RequestParam(name="id",required=true) String id) { + ProductModuleComponent zyProductProcess = productModuleComponentService.getById(id); + if(zyProductProcess==null||zyProductProcess.getNumber()==0) + return Result.error("当前以是最低级别!!"); + productModuleComponentService.down(id); + return Result.OK("降序成功"); + } +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/entity/ProductModuleComponent.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/entity/ProductModuleComponent.java new file mode 100644 index 00000000..d909362b --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/entity/ProductModuleComponent.java @@ -0,0 +1,70 @@ +package org.jeecg.modules.pdmodulecomponent.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-19 + * @Version: V1.0 + */ +@Data +@TableName("product_module_component") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="product_module_component对象", description="产品模块部件表") +public class ProductModuleComponent implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**产品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") + private String productModuleId; + /**模块id*/ + @Excel(name = "模块id", width = 15) + @ApiModelProperty(value = "模块id") + @Dict(dictTable = "zy_cloths_modular",dicText = "modular_name",dicCode = "id") + private String moduleId; + /**部件id*/ + @Excel(name = "部件id", width = 15) + @ApiModelProperty(value = "部件id") + @Dict(dictTable = "zy_cloths_component",dicText = "parts_name",dicCode = "id") + private String componentId; + /**序号*/ + @Excel(name = "序号", width = 15) + @ApiModelProperty(value = "序号") + private Integer number; +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/mapper/ProductModuleComponentMapper.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/mapper/ProductModuleComponentMapper.java new file mode 100644 index 00000000..be7c943f --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/mapper/ProductModuleComponentMapper.java @@ -0,0 +1,27 @@ +package org.jeecg.modules.pdmodulecomponent.mapper; + + +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; +import org.jeecg.modules.pdmodulecomponent.entity.ProductModuleComponent; + +/** + * @Description: 产品模块部件表 + * @Author: jeecg-boot + * @Date: 2022-12-19 + * @Version: V1.0 + */ +public interface ProductModuleComponentMapper extends BaseMapper { + + @Select("select id from zy_cloths_component where parts_name like #{s}") + List find(String s); + @Update("update product_module_component set number=number+1 where id=#{id}") + void up(String id); + @Update("update product_module_component set number=number-1 where id=#{id}") + void down(String id); +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/mapper/xml/ProductModuleComponentMapper.xml b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/mapper/xml/ProductModuleComponentMapper.xml new file mode 100644 index 00000000..c4361def --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/mapper/xml/ProductModuleComponentMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/service/IProductModuleComponentService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/service/IProductModuleComponentService.java new file mode 100644 index 00000000..ffbfa035 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/service/IProductModuleComponentService.java @@ -0,0 +1,22 @@ +package org.jeecg.modules.pdmodulecomponent.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.pdmodulecomponent.entity.ProductModuleComponent; + +import java.util.List; + +/** + * @Description: 产品模块部件表 + * @Author: jeecg-boot + * @Date: 2022-12-19 + * @Version: V1.0 + */ +public interface IProductModuleComponentService extends IService { + + List find(String s); + + void up(String id); + + void down(String id); +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/service/impl/ProductModuleComponentServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/service/impl/ProductModuleComponentServiceImpl.java new file mode 100644 index 00000000..379e8471 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmodulecomponent/service/impl/ProductModuleComponentServiceImpl.java @@ -0,0 +1,39 @@ +package org.jeecg.modules.pdmodulecomponent.service.impl; + + +import org.jeecg.modules.pdmodulecomponent.entity.ProductModuleComponent; +import org.jeecg.modules.pdmodulecomponent.mapper.ProductModuleComponentMapper; +import org.jeecg.modules.pdmodulecomponent.service.IProductModuleComponentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.List; + +/** + * @Description: 产品模块部件表 + * @Author: jeecg-boot + * @Date: 2022-12-19 + * @Version: V1.0 + */ +@Service +public class ProductModuleComponentServiceImpl extends ServiceImpl implements IProductModuleComponentService { + + @Autowired + ProductModuleComponentMapper productModuleComponentMapper; + @Override + public List find(String s) { + return productModuleComponentMapper.find(s); + } + + @Override + public void up(String id) { + productModuleComponentMapper.up(id); + } + + @Override + public void down(String id) { + productModuleComponentMapper.down(id); + } +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/controller/ProductModuleProcessController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/controller/ProductModuleProcessController.java new file mode 100644 index 00000000..d752d09c --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/controller/ProductModuleProcessController.java @@ -0,0 +1,217 @@ +package org.jeecg.modules.pdmoduleprocess.controller; + + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecg.modules.pdmoduleprocess.entity.ProductModuleProcess; +import org.jeecg.modules.pdmoduleprocess.service.IProductModuleProcessService; +import org.jeecg.modules.product.zyproductprocess.entity.ZyProductProcess; +import org.jeecg.modules.product.zyproductprocess.service.IZyProductProcessService; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 产品模块工序 + * @Author: jeecg-boot + * @Date: 2022-12-16 + * @Version: V1.0 + */ +@Api(tags="产品模块工序") +@RestController +@RequestMapping("/pdmoduleprocess/productModuleProcess") +@Slf4j +public class ProductModuleProcessController extends JeecgController { + @Autowired + private IProductModuleProcessService productModuleProcessService; + @Autowired + IZyProductProcessService zyProductProcessService; + /** + * 分页列表查询 + * + * @param productModuleProcess + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "产品模块工序-分页列表查询") + @ApiOperation(value="产品模块工序-分页列表查询", notes="产品模块工序-分页列表查询") + @GetMapping(value = "/list") + public Result queryPageList(ProductModuleProcess productModuleProcess, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { +// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(productModuleProcess, req.getParameterMap()); + QueryWrapper queryWrapper=new QueryWrapper(); + queryWrapper.orderByDesc("number"); + //查询指定模块对应的工序 + queryWrapper.eq("product_module_id",productModuleProcess.getProductModuleId()); + //根据产品编号查询 +// if(productModuleProcess.getProductId()!=null&&!productModuleProcess.getProductId().equals("")){ +// String s="%"+productModuleProcess.getProductId()+"%"; +// List list=zyProductProcessService.findProduct(s); +// queryWrapper.in("product_id",list); +// } + if(productModuleProcess.getProcessId()!=null&&!productModuleProcess.getProcessId().equals("")){ + String s="%"+productModuleProcess.getProcessId()+"%"; + List list=zyProductProcessService.find(s); + queryWrapper.in("process_id",list); + } + Page page = new Page(pageNo, pageSize); + IPage pageList = productModuleProcessService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param productModuleProcess + * @return + */ + @AutoLog(value = "产品模块工序-添加") + @ApiOperation(value="产品模块工序-添加", notes="产品模块工序-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody ProductModuleProcess productModuleProcess) { + /* + * 通过模块id获取模块中的模块id和产品id,由于当前产品模块还没有写,暂时先不添加模块id和产品id + * */ + String[] split = productModuleProcess.getProcessId().split(","); + for (String k : split) { + productModuleProcess.setProcessId(k); + QueryWrapper s=new QueryWrapper(); + s.eq("product_module_id",productModuleProcess.getProductModuleId()); + s.eq("process_id",productModuleProcess.getProcessId()); + int a=productModuleProcessService.count(s); + if(a==0) + productModuleProcessService.save(productModuleProcess); + productModuleProcess.setId(null); + } + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param productModuleProcess + * @return + */ + @AutoLog(value = "产品模块工序-编辑") + @ApiOperation(value="产品模块工序-编辑", notes="产品模块工序-编辑") + @PutMapping(value = "/edit") + public Result edit(@RequestBody ProductModuleProcess productModuleProcess) { + productModuleProcessService.updateById(productModuleProcess); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "产品模块工序-通过id删除") + @ApiOperation(value="产品模块工序-通过id删除", notes="产品模块工序-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + productModuleProcessService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "产品模块工序-批量删除") + @ApiOperation(value="产品模块工序-批量删除", notes="产品模块工序-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.productModuleProcessService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "产品模块工序-通过id查询") + @ApiOperation(value="产品模块工序-通过id查询", notes="产品模块工序-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProductModuleProcess productModuleProcess = productModuleProcessService.getById(id); + if(productModuleProcess==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(productModuleProcess); + } + + /** + * 导出excel + * + * @param request + * @param productModuleProcess + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProductModuleProcess productModuleProcess) { + return super.exportXls(request, productModuleProcess, ProductModuleProcess.class, "产品模块工序"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProductModuleProcess.class); + } + @GetMapping(value = "/up") + public Result up(@RequestParam(name="id",required=true) String id) { + productModuleProcessService.up(id); + return Result.OK("升序成功"); + } + @GetMapping(value = "/down") + public Result down(@RequestParam(name="id",required=true) String id) { + ProductModuleProcess zyProductProcess = productModuleProcessService.getById(id); + if(zyProductProcess==null||zyProductProcess.getNumber()==0) + return Result.error("当前以是最低级别!!"); + productModuleProcessService.down(id); + return Result.OK("降序成功"); + } + +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/entity/ProductModuleProcess.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/entity/ProductModuleProcess.java new file mode 100644 index 00000000..2d991040 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/entity/ProductModuleProcess.java @@ -0,0 +1,71 @@ +package org.jeecg.modules.pdmoduleprocess.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-16 + * @Version: V1.0 + */ +@Data +@TableName("product_module_process") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="product_module_process对象", description="产品模块工序") +public class ProductModuleProcess implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**产品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") + private String productModuleId; + /**模块id*/ + @Excel(name = "模块id", width = 15) + @ApiModelProperty(value = "模块id") + @Dict(dictTable = "zy_cloths_modular",dicText = "modular_name",dicCode = "id") + private String moduleId; + /**工序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; +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/mapper/ProductModuleProcessMapper.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/mapper/ProductModuleProcessMapper.java new file mode 100644 index 00000000..506448fb --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/mapper/ProductModuleProcessMapper.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.pdmoduleprocess.mapper; + + + +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Update; +import org.jeecg.modules.pdmoduleprocess.entity.ProductModuleProcess; + +/** + * @Description: 产品模块工序 + * @Author: jeecg-boot + * @Date: 2022-12-16 + * @Version: V1.0 + */ +public interface ProductModuleProcessMapper extends BaseMapper { + @Update("update product_module_process set number=number+1 where id=#{id}") + void up(String id); + @Update("update product_module_process set number=number-1 where id=#{id}") + void down(String id); +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/mapper/xml/ProductModuleProcessMapper.xml b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/mapper/xml/ProductModuleProcessMapper.xml new file mode 100644 index 00000000..a880954d --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/mapper/xml/ProductModuleProcessMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/service/IProductModuleProcessService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/service/IProductModuleProcessService.java new file mode 100644 index 00000000..300f0892 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/service/IProductModuleProcessService.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.pdmoduleprocess.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.pdmoduleprocess.entity.ProductModuleProcess; + +/** + * @Description: 产品模块工序 + * @Author: jeecg-boot + * @Date: 2022-12-16 + * @Version: V1.0 + */ +public interface IProductModuleProcessService extends IService { + + void up(String id); + + void down(String id); +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/service/impl/ProductModuleProcessServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/service/impl/ProductModuleProcessServiceImpl.java new file mode 100644 index 00000000..3ce6d1f1 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/pdmoduleprocess/service/impl/ProductModuleProcessServiceImpl.java @@ -0,0 +1,31 @@ +package org.jeecg.modules.pdmoduleprocess.service.impl; + +import org.jeecg.modules.pdmoduleprocess.entity.ProductModuleProcess; +import org.jeecg.modules.pdmoduleprocess.mapper.ProductModuleProcessMapper; +import org.jeecg.modules.pdmoduleprocess.service.IProductModuleProcessService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 产品模块工序 + * @Author: jeecg-boot + * @Date: 2022-12-16 + * @Version: V1.0 + */ +@Service +public class ProductModuleProcessServiceImpl extends ServiceImpl implements IProductModuleProcessService { + + @Autowired + ProductModuleProcessMapper productModuleProcessMapper; + @Override + public void up(String id) { + productModuleProcessMapper.up(id); + } + + @Override + public void down(String id) { + productModuleProcessMapper.down(id); + } +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/mapper/ZyProductProcessMapper.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/mapper/ZyProductProcessMapper.java index 299c0ff8..ff07e99e 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/mapper/ZyProductProcessMapper.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/mapper/ZyProductProcessMapper.java @@ -24,4 +24,7 @@ public interface ZyProductProcessMapper extends BaseMapper { @Select("select id from zy_process where process_name like #{s}") List find(String s); + + @Select("select id from zy_product where product_code like #{s}") + List findProduct(String s); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/service/IZyProductProcessService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/service/IZyProductProcessService.java index b53b84b3..da88cbb4 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/service/IZyProductProcessService.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/service/IZyProductProcessService.java @@ -19,4 +19,6 @@ public interface IZyProductProcessService extends IService { void down(String id); List find(String s); + + List findProduct(String s); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/service/impl/ZyProductProcessServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/service/impl/ZyProductProcessServiceImpl.java index 7270a804..f7079f5e 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/service/impl/ZyProductProcessServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/zyproductprocess/service/impl/ZyProductProcessServiceImpl.java @@ -36,4 +36,9 @@ public class ZyProductProcessServiceImpl extends ServiceImpl find(String s) { return zyProductProcessMapper.find(s); } + + @Override + public List findProduct(String s) { + return zyProductProcessMapper.findProduct(s); + } } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java index 1340be1d..b26835f3 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java @@ -3,6 +3,7 @@ package org.jeecg.modules.productplan.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.PageList; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -15,6 +16,7 @@ import org.jeecg.modules.productplan.entity.ZyPlanProcess; import org.jeecg.modules.productplan.entity.vo.ProcessDataVo; import org.jeecg.modules.productplan.service.IZyPlanProcessService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -47,7 +49,7 @@ public class ZyPlanProcessController extends JeecgController queryPageList(ZyPlanProcess zyPlanProcess, @@ -60,17 +62,53 @@ public class ZyPlanProcessController extends JeecgController queryPageList2(ZyPlanProcess zyPlanProcess, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyPlanProcess, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = zyPlanProcessService.page(page, queryWrapper); + if (!ObjectUtils.isEmpty(pageList)) { + String processIdList = ""; + String stationIdList = ""; + String machineIdList = ""; + String toolsIdList = ""; + String userIdList = ""; + List records = pageList.getRecords(); + for (ZyPlanProcess e : records) { + processIdList += e.getProcessId(); + stationIdList += e.getStationId(); + machineIdList += e.getMachineIds(); + toolsIdList += e.getToolsIds(); + userIdList += e.getUserIds(); + } + for (ZyPlanProcess e : records) { + e.setProcessId(processIdList); + e.setStationId(stationIdList); + e.setMachineIds(machineIdList); + e.setToolsIds(toolsIdList); + e.setUserIds(userIdList); + } + } + return Result.OK(pageList); + } + @ApiOperation(value = "生产计划工序-查询产品工序&计划", notes = "生产计划工序-查询产品工序&计划") @GetMapping(value = "/getProcessDatalist") public Result getProcessDatalist(ZyPlanProcess zyPlanProcess, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyPlanProcess, req.getParameterMap()); Page page = new Page(pageNo, pageSize); -// IPage pageList = zyPlanProcessService.getProcessDatalist(page, queryWrapper); - List pageList = zyPlanProcessService.getProcessDatalist(zyPlanProcess); - return Result.OK(pageList); + List processDatalist = zyPlanProcessService.getProcessDatalist(zyPlanProcess); + PageList processDataVos = new PageList<>(processDatalist, processDatalist.size()); + + return Result.OK(processDatalist); } /** diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyPlanProcess.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyPlanProcess.java index 36cd67d0..ae3b5c27 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyPlanProcess.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyPlanProcess.java @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; @@ -66,34 +67,39 @@ public class ZyPlanProcess implements Serializable { @Excel(name = "生产计划id", width = 15) @ApiModelProperty(value = "生产计划id") private String planId; + /** + * 工序id列表 + */ + @Excel(name = "工序id", width = 15) + @ApiModelProperty(value = "工序id列表") + @Dict(dictTable = "zy_process",dicText = "process_name",dicCode = "id") + private String processId; /** * 工位id */ @Excel(name = "工位id", width = 15) @ApiModelProperty(value = "工位id") + @Dict(dictTable = "station",dicText = "station_name",dicCode = "id") private String stationId; /** * 设备id列表 */ @Excel(name = "设备id列表", width = 15) @ApiModelProperty(value = "设备id列表") + @Dict(dictTable = "zy_devicetype", dicText = "name", dicCode = "id") private String machineIds; /** * 工具id列表 */ @Excel(name = "工具id列表", width = 15) @ApiModelProperty(value = "工具id列表") + @Dict(dictTable = "zy_tool", dicText = "name", dicCode = "id") private String toolsIds; - /** - * 工序id列表 - */ - @Excel(name = "工序id列表", width = 15) - @ApiModelProperty(value = "工序id列表") - private String processIds; /** * 成员id列表 */ @Excel(name = "成员id列表", width = 15) @ApiModelProperty(value = "成员id列表") +// @Dict(dictTable = "sys_user", dicText = "name", dicCode = "id") private String userIds; } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java index bf4e54e3..9f8a5495 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java @@ -103,7 +103,7 @@ public class ZyProductPlan implements Serializable { */ @Excel(name = "生产时长", width = 15) @ApiModelProperty(value = "生产时长") - private Integer offTime; + private Integer duration; /** * 值:未审核0、已审核1、生产中2、已完成3、已撤销8、异常9,默认0 */ diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/vo/ProcessDataVo.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/vo/ProcessDataVo.java index d0dfb54b..596a69f1 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/vo/ProcessDataVo.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/vo/ProcessDataVo.java @@ -1,27 +1,38 @@ package org.jeecg.modules.productplan.entity.vo; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.modules.team.entity.Station; +import java.io.Serializable; import java.util.List; @Data -public class ProcessDataVo { +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class ProcessDataVo implements Serializable { + + private static final long serialVersionUID = 1009888L; //工单id private String workOrderId; //产品id private String productId; + private String productName; //车间 +// @Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id") private String departId; + private String departName; //工位 private List stationList; -// @Dict("") //产品工序id +// @Dict(dictTable ="zy_process",dicText = "process_name",dicCode = "id") private String productProcessId; + private String processName; } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java index 5af4f5c4..ee9ddff8 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java @@ -4,6 +4,8 @@ package org.jeecg.modules.productplan.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import io.swagger.annotations.Authorization; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.modules.demo.base.service.IZyProcessService; import org.jeecg.modules.product.zyproductprocess.entity.ZyProductProcess; import org.jeecg.modules.product.zyproductprocess.service.IZyProductProcessService; import org.jeecg.modules.productplan.entity.ZyPlanProcess; @@ -12,12 +14,16 @@ import org.jeecg.modules.productplan.entity.vo.ProcessDataVo; import org.jeecg.modules.productplan.mapper.ZyPlanProcessMapper; 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.service.ISysDepartService; import org.jeecg.modules.team.entity.Station; import org.jeecg.modules.team.service.IStationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; import java.util.Optional; @@ -38,27 +44,43 @@ public class ZyPlanProcessServiceImpl extends ServiceImpl getProcessDatalist(ZyPlanProcess zyPlanProcess) { //生产计划id String planId = zyPlanProcess.getPlanId(); ZyProductPlan zyProductPlan = iZyProductPlanService.getById(planId); + if (ObjectUtils.isEmpty(zyPlanProcess)) { + throw new JeecgBootException("生产计划不存在!"); + } //工单id String productCode = zyProductPlan.getProductCode(); String departId = zyProductPlan.getWorkshopId(); // TODO zy_product产品表,根据工单id获取产品id, - + List result = new LinkedList<>(); //根据产品id获取产品工序列表 - List productProcessesList = iZyProductProcessService.list(new LambdaQueryWrapper().eq(ZyProductProcess::getProductId, "产品id")); - Optional.ofNullable(productProcessesList).orElse(new ArrayList<>()).forEach(e -> { - ProcessDataVo vo = new ProcessDataVo(); - vo.setProductProcessId(e.getProcessId()); - vo.setProductId(e.getProductId()); - vo.setWorkOrderId(productCode); - vo.setDepartId(departId); - vo.setStationList(iStationService.list(new LambdaQueryWrapper().eq(Station::getDepartId, departId))); - }); - - return null; +// List productProcessesList = iZyProductProcessService.list(new LambdaQueryWrapper().eq(ZyProductProcess::getProductId, "产品id")); + List productProcessesList = iZyProductProcessService.list(new LambdaQueryWrapper().eq(ZyProductProcess::getProductId, "1")); + if (!ObjectUtils.isEmpty(productProcessesList)) { + SysDepart depart = iSysDepartService.getById(departId); + List stationList = iStationService.list(new LambdaQueryWrapper().eq(Station::getDepartId, departId)); + productProcessesList.forEach(e -> { + ProcessDataVo vo = new ProcessDataVo(); + vo.setProductProcessId(e.getProcessId()); + vo.setProcessName(iZyProcessService.getById(e.getProcessId()).getProcessName()); + vo.setProductId(e.getProductId()); +// vo.setProductName("产品名称") + vo.setWorkOrderId(productCode); + vo.setDepartId(departId); + vo.setDepartName(depart.getDepartName()); + vo.setStationList(stationList); + result.add(vo); + }); + } + return result; } }