From 3a9948373aa41e04a2fa8f2e3e5267992181bd22 Mon Sep 17 00:00:00 2001 From: mors <3067699729@qq.com> Date: Thu, 29 Dec 2022 21:27:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=A7=E5=93=81=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=83=A8=E5=88=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/modules/ZyClothsModularForm.vue | 16 +- .../ZyStyleAccessoriesList.vue | 17 +- .../modules/ZyStyleAccListDetail.vue | 160 +++++++++++++ .../views/zystylefabric/ZyStyleFabricList.vue | 13 +- .../modules/ZyStyleFabricListDetail.vue | 174 ++++++++++++++ .../views/zystylemodel/ZyStyleModelList.vue | 9 + .../modules/ZyStyleModelListDetails.vue | 221 ++++++++++++++++++ .../zystylemodular/ZyStyleModularList.vue | 31 ++- .../zystylemodular/modules/ZyProcessList.vue | 26 +-- .../modules/ZyStyleModularListDetails.vue | 155 ++++++++++++ .../views/zystylemodule/ZyStyleModuleList.vue | 38 +-- .../modules/ZyClothsModularList.vue | 22 +- .../modules/ZyStyleModuleListDetail.vue | 172 ++++++++++++++ .../modules/ZyStyleModuleModal.vue | 136 +++++------ .../controller/ZyStyleModularController.java | 29 ++- .../entity/ZyStyleModularDetailsVO.java | 13 ++ .../service/IZyStyleModularService.java | 3 + .../impl/ZyStyleModularServiceImpl.java | 12 + .../controller/ZyClothsModularController.java | 19 ++ .../controller/ZyClothsTypeController.java | 8 +- .../demo/base/entity/ZyClothsModular.java | 5 +- .../demo/base/entity/ZyClothsType.java | 5 + .../demo/base/mapper/ZyClothsTypeMapper.java | 4 + .../service/impl/ZyClothsTypeServiceImpl.java | 10 +- .../ZyStyleAccessoriesController.java | 15 ++ .../entity/ZyStyleAccDetailVO.java | 17 ++ .../service/IZyStyleAccessoriesService.java | 4 + .../impl/ZyStyleAccessoriesServiceImpl.java | 18 ++ .../service/IZyClothsStyleService.java | 2 +- .../controller/ZyStyleFabricController.java | 39 ++-- .../entity/ZyStyleFabricDetailVo.java | 17 ++ .../service/IZyStyleFabricService.java | 3 + .../impl/ZyStyleFabricServiceImpl.java | 14 +- .../controller/ZyStyleModelController.java | 27 ++- .../entity/ZyStyleModelDetailsVO.java | 13 ++ .../service/IZyStyleModelService.java | 3 + .../service/impl/ZyStyleModelServiceImpl.java | 70 +++++- .../controller/ZyStyleModuleController.java | 21 +- .../entity/ZyStyleModuleDetailVO.java | 13 ++ .../service/IZyStyleModuleService.java | 2 + .../impl/ZyStyleModuleServiceImpl.java | 13 ++ 41 files changed, 1425 insertions(+), 164 deletions(-) create mode 100644 ant-design-vue-jeecg/src/views/zystyleaccessories/modules/ZyStyleAccListDetail.vue create mode 100644 ant-design-vue-jeecg/src/views/zystylefabric/modules/ZyStyleFabricListDetail.vue create mode 100644 ant-design-vue-jeecg/src/views/zystylemodel/modules/ZyStyleModelListDetails.vue create mode 100644 ant-design-vue-jeecg/src/views/zystylemodular/modules/ZyStyleModularListDetails.vue create mode 100644 ant-design-vue-jeecg/src/views/zystylemodule/modules/ZyStyleModuleListDetail.vue create mode 100644 jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/entity/ZyStyleModularDetailsVO.java create mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/entity/ZyStyleAccDetailVO.java create mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/entity/ZyStyleFabricDetailVo.java create mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/entity/ZyStyleModelDetailsVO.java create mode 100644 jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/entity/ZyStyleModuleDetailVO.java 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 041cdd62..9192a4e7 100644 --- a/ant-design-vue-jeecg/src/views/process/modules/ZyClothsModularForm.vue +++ b/ant-design-vue-jeecg/src/views/process/modules/ZyClothsModularForm.vue @@ -58,7 +58,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -107,9 +107,9 @@ diff --git a/ant-design-vue-jeecg/src/views/zystyleaccessories/ZyStyleAccessoriesList.vue b/ant-design-vue-jeecg/src/views/zystyleaccessories/ZyStyleAccessoriesList.vue index 5641d45d..f3dd836b 100644 --- a/ant-design-vue-jeecg/src/views/zystyleaccessories/ZyStyleAccessoriesList.vue +++ b/ant-design-vue-jeecg/src/views/zystyleaccessories/ZyStyleAccessoriesList.vue @@ -1,6 +1,6 @@ @@ -139,11 +142,13 @@ import {JeecgListMixin} from '@/mixins/JeecgListMixin' import ZyStyleAccessoriesModal from './modules/ZyStyleAccessoriesModal' import {getAction} from "@api/manage"; import {filterObj} from "@/utils/util"; +import ZyStyleAccListDetail from "@views/zystyleaccessories/modules/ZyStyleAccListDetail"; export default { name: 'ZyStyleAccessoriesList', mixins: [JeecgListMixin, mixinDevice], components: { + ZyStyleAccListDetail, ZyStyleAccessoriesModal }, data() { @@ -215,6 +220,10 @@ export default { }, }, methods: { + // 详情 + viewDetail(id) { + this.$refs.ZyStyleAccListDetail.showModal(id) + }, fanHui() { this.$router.push({ path: '/src/views/zyclothsstyle/ZyClothsStyleList', diff --git a/ant-design-vue-jeecg/src/views/zystyleaccessories/modules/ZyStyleAccListDetail.vue b/ant-design-vue-jeecg/src/views/zystyleaccessories/modules/ZyStyleAccListDetail.vue new file mode 100644 index 00000000..d9e4bae7 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/zystyleaccessories/modules/ZyStyleAccListDetail.vue @@ -0,0 +1,160 @@ + + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/zystylefabric/ZyStyleFabricList.vue b/ant-design-vue-jeecg/src/views/zystylefabric/ZyStyleFabricList.vue index af0b00a9..a6c6a8d5 100644 --- a/ant-design-vue-jeecg/src/views/zystylefabric/ZyStyleFabricList.vue +++ b/ant-design-vue-jeecg/src/views/zystylefabric/ZyStyleFabricList.vue @@ -1,6 +1,6 @@ @@ -122,11 +123,13 @@ import ZyStyleFabricModal from './modules/ZyStyleFabricModal' import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' import {getAction} from "@api/manage"; import {filterObj} from "@/utils/util"; +import ZyStyleFabricListDetail from "@views/zystylefabric/modules/ZyStyleFabricListDetail"; export default { name: 'ZyStyleFabricList', mixins: [JeecgListMixin, mixinDevice], components: { + ZyStyleFabricListDetail, ZyStyleFabricModal }, data() { @@ -277,6 +280,10 @@ export default { param.id = this.id; return filterObj(param); }, + // 详情 + viewDetail(id) { + this.$refs.ZyStyleFabricListDetail.showModal(id) + }, getSuperFieldList() { let fieldList = []; fieldList.push({type: 'string', value: 'styleId', text: '款式id', dictCode: "zy_cloths_style,id,style_names"}) diff --git a/ant-design-vue-jeecg/src/views/zystylefabric/modules/ZyStyleFabricListDetail.vue b/ant-design-vue-jeecg/src/views/zystylefabric/modules/ZyStyleFabricListDetail.vue new file mode 100644 index 00000000..62a654fa --- /dev/null +++ b/ant-design-vue-jeecg/src/views/zystylefabric/modules/ZyStyleFabricListDetail.vue @@ -0,0 +1,174 @@ + + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/zystylemodel/ZyStyleModelList.vue b/ant-design-vue-jeecg/src/views/zystylemodel/ZyStyleModelList.vue index b6603011..a632b523 100644 --- a/ant-design-vue-jeecg/src/views/zystylemodel/ZyStyleModelList.vue +++ b/ant-design-vue-jeecg/src/views/zystylemodel/ZyStyleModelList.vue @@ -38,6 +38,8 @@ @@ -59,11 +62,13 @@ import ZyStyleModelModal from './modules/ZyStyleModelModal' import {deleteAction, getAction, postAction, putAction, postFormAction, httpAction} from "@api/manage"; import store from "@/store"; import {filterObj, validateDuplicateValue} from '@/utils/util' +import ZyStyleModelListDetails from "@views/zystylemodel/modules/ZyStyleModelListDetails"; export default { name: 'ZyStyleModelList', mixins: [JeecgListMixin, mixinDevice], components: { + ZyStyleModelListDetails, ZyStyleModelModal }, data() { @@ -173,6 +178,10 @@ export default { }, }, methods: { + // 详情 + viewDetail(id) { + this.$refs.ZyStyleModelListDetails.showModal(id) + }, fanHui() { this.$router.push({ path: '/src/views/zyclothsstyle/ZyClothsStyleList', diff --git a/ant-design-vue-jeecg/src/views/zystylemodel/modules/ZyStyleModelListDetails.vue b/ant-design-vue-jeecg/src/views/zystylemodel/modules/ZyStyleModelListDetails.vue new file mode 100644 index 00000000..67413d90 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/zystylemodel/modules/ZyStyleModelListDetails.vue @@ -0,0 +1,221 @@ + + + + diff --git a/ant-design-vue-jeecg/src/views/zystylemodular/ZyStyleModularList.vue b/ant-design-vue-jeecg/src/views/zystylemodular/ZyStyleModularList.vue index e9aa4fb1..b7ced6f1 100644 --- a/ant-design-vue-jeecg/src/views/zystylemodular/ZyStyleModularList.vue +++ b/ant-design-vue-jeecg/src/views/zystylemodular/ZyStyleModularList.vue @@ -1,14 +1,26 @@ @@ -107,11 +122,13 @@ import {JeecgListMixin} from '@/mixins/JeecgListMixin' import ZyStyleModularModal from './modules/ZyStyleModularModal' import {getAction} from "@api/manage"; import {filterObj} from "@/utils/util"; +import ZyStyleModularListDetails from "@views/zystylemodular/modules/ZyStyleModularListDetails"; export default { name: 'ZyStyleModularList', mixins: [JeecgListMixin, mixinDevice], components: { + ZyStyleModularListDetails, ZyStyleModularModal }, data() { @@ -178,6 +195,10 @@ export default { }, }, methods: { + // 详情 + viewDetail(id) { + this.$refs.ZyStyleModularListDetails.showModal(id) + }, fanHui() { this.$router.push({ path: '/src/views/zyclothsstyle/ZyClothsStyleList', diff --git a/ant-design-vue-jeecg/src/views/zystylemodular/modules/ZyProcessList.vue b/ant-design-vue-jeecg/src/views/zystylemodular/modules/ZyProcessList.vue index a06dedad..cb8287fa 100644 --- a/ant-design-vue-jeecg/src/views/zystylemodular/modules/ZyProcessList.vue +++ b/ant-design-vue-jeecg/src/views/zystylemodular/modules/ZyProcessList.vue @@ -93,9 +93,7 @@ import {filterObj} from "@/utils/util"; export default { name: 'ZyProcessList', mixins: [JeecgListMixin, mixinDevice], - components: { - - }, + components: {}, data() { return { description: 'zy_process管理页面', @@ -167,17 +165,17 @@ export default { methods: { initDictConfig() { }, - add(){ - }, - onSelectChange1(selectedRowKeys, selectionRows) { - this.selectedRowKeys = selectedRowKeys; - this.selectionRows = selectionRows; - let ids = ""; - for (var a = 0; a < this.selectedRowKeys.length; a++) { - ids += this.selectedRowKeys[a] + ","; - } - this.$emit('onChangeRowKey',ids) - }, + add() { + }, + onSelectChange1(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + let ids = ""; + for (var a = 0; a < this.selectedRowKeys.length; a++) { + ids += this.selectedRowKeys[a] + ","; + } + this.$emit('onChangeRowKey', ids) + }, //加载传递参数 loadParameter() { if (this.loadRouteType === false) { diff --git a/ant-design-vue-jeecg/src/views/zystylemodular/modules/ZyStyleModularListDetails.vue b/ant-design-vue-jeecg/src/views/zystylemodular/modules/ZyStyleModularListDetails.vue new file mode 100644 index 00000000..4bb6c673 --- /dev/null +++ b/ant-design-vue-jeecg/src/views/zystylemodular/modules/ZyStyleModularListDetails.vue @@ -0,0 +1,155 @@ + + + + diff --git a/ant-design-vue-jeecg/src/views/zystylemodule/ZyStyleModuleList.vue b/ant-design-vue-jeecg/src/views/zystylemodule/ZyStyleModuleList.vue index 6ff9aa3e..d8eeeca7 100644 --- a/ant-design-vue-jeecg/src/views/zystylemodule/ZyStyleModuleList.vue +++ b/ant-design-vue-jeecg/src/views/zystylemodule/ZyStyleModuleList.vue @@ -1,6 +1,6 @@ + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/zystylemodule/modules/ZyStyleModuleModal.vue b/ant-design-vue-jeecg/src/views/zystylemodule/modules/ZyStyleModuleModal.vue index 1d658a1c..250c228c 100644 --- a/ant-design-vue-jeecg/src/views/zystylemodule/modules/ZyStyleModuleModal.vue +++ b/ant-design-vue-jeecg/src/views/zystylemodule/modules/ZyStyleModuleModal.vue @@ -8,81 +8,83 @@ :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @cancel="handleCancel" cancelText="关闭"> - - + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/controller/ZyStyleModularController.java b/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/controller/ZyStyleModularController.java index 9d9fa4f7..23d4e9c9 100644 --- a/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/controller/ZyStyleModularController.java +++ b/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/controller/ZyStyleModularController.java @@ -15,6 +15,7 @@ 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.zyStyleModular.entity.ZyStyleModular; +import org.jeecg.modules.demo.zyStyleModular.entity.ZyStyleModularDetailsVO; import org.jeecg.modules.demo.zyStyleModular.mapper.ZyStyleModularMapper; import org.jeecg.modules.demo.zyStyleModular.service.IZyStyleModularService; @@ -30,6 +31,7 @@ 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.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; @@ -66,15 +68,19 @@ public class ZyStyleModularController extends JeecgController queryPageList(ZyStyleModular zyStyleModular, String id, + public Result queryPageList(ZyStyleModular zyStyleModular, String id,String processId, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyStyleModular, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); + //QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyStyleModular, req.getParameterMap()); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StringUtils.hasText(id), "style_id", id); + queryWrapper.eq(StringUtils.hasText(processId), "process_id", processId); + Page page = new Page<>(pageNo, pageSize); IPage pageList = zyStyleModularService.page(page, queryWrapper); - List list = zyStyleModularMapper.selectListByStyleId(id); - pageList.setRecords(list); + //List list = zyStyleModularMapper.selectListByStyleId(id); + //pageList.setRecords(list); return Result.OK(pageList); } @@ -131,6 +137,19 @@ public class ZyStyleModularController extends JeecgController detail(@RequestParam(name = "id", required = true) String id) { + //System.out.println("款式辅料管理 /detail controller层接受到的id: : "+id); + ZyStyleModularDetailsVO detailVO = zyStyleModularService.queryDetails(id); + return Result.OK(detailVO); + } + /** * 批量删除 * diff --git a/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/entity/ZyStyleModularDetailsVO.java b/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/entity/ZyStyleModularDetailsVO.java new file mode 100644 index 00000000..0b6c0e85 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/entity/ZyStyleModularDetailsVO.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.demo.zyStyleModular.entity; + +import lombok.Data; + +import java.util.List; + +@Data +public class ZyStyleModularDetailsVO { + /*服装款式*/ + //private List zyClothsStyles; + /**子模块 款式工序*/ + private List zyStyleModularList; +} diff --git a/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/service/IZyStyleModularService.java b/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/service/IZyStyleModularService.java index 7456bed3..10747751 100644 --- a/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/service/IZyStyleModularService.java +++ b/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/service/IZyStyleModularService.java @@ -2,6 +2,7 @@ package org.jeecg.modules.demo.zyStyleModular.service; import org.jeecg.modules.demo.zyStyleModular.entity.ZyStyleModular; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.demo.zyStyleModular.entity.ZyStyleModularDetailsVO; import java.util.List; @@ -14,4 +15,6 @@ import java.util.List; public interface IZyStyleModularService extends IService { List detail(String id); + + ZyStyleModularDetailsVO queryDetails(String id); } diff --git a/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/service/impl/ZyStyleModularServiceImpl.java b/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/service/impl/ZyStyleModularServiceImpl.java index de9abb09..6b5359f9 100644 --- a/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/service/impl/ZyStyleModularServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-erp/src/main/java/org/jeecg/modules/demo/zyStyleModular/service/impl/ZyStyleModularServiceImpl.java @@ -1,8 +1,10 @@ package org.jeecg.modules.demo.zyStyleModular.service.impl; import org.jeecg.modules.demo.zyStyleModular.entity.ZyStyleModular; +import org.jeecg.modules.demo.zyStyleModular.entity.ZyStyleModularDetailsVO; import org.jeecg.modules.demo.zyStyleModular.mapper.ZyStyleModularMapper; import org.jeecg.modules.demo.zyStyleModular.service.IZyStyleModularService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -19,6 +21,7 @@ import java.util.List; @Service public class ZyStyleModularServiceImpl extends ServiceImpl implements IZyStyleModularService { + @Resource private ZyStyleModularMapper zyStyleModularMapper; @@ -33,4 +36,13 @@ public class ZyStyleModularServiceImpl extends ServiceImpl list = detail(modular.getStyleId()); + ZyStyleModularDetailsVO detailsVo = new ZyStyleModularDetailsVO(); + detailsVo.setZyStyleModularList(list); + return detailsVo; + } } diff --git a/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsModularController.java b/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsModularController.java index 4c27a837..ab988496 100644 --- a/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsModularController.java +++ b/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsModularController.java @@ -1,5 +1,6 @@ package org.jeecg.modules.demo.base.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -16,6 +17,7 @@ import org.jeecg.modules.demo.base.entity.vo.ZyClothsModularDetail; import org.jeecg.modules.demo.base.service.IZyClothsModularService; import org.jeecg.modules.demo.base.service.IZyClothsTypeService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -63,6 +65,23 @@ public class ZyClothsModularController extends JeecgController queryList(ZyClothsModular zyClothsModular, + @RequestParam(name = "clothsTypeId", required = true) String clothsTypeId, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + System.out.println("clothsTypeId "+clothsTypeId); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StringUtils.hasText(clothsTypeId), ZyClothsModular::getClothsTypeId, clothsTypeId); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = zyClothsModularService.page(page, queryWrapper); + return Result.OK(pageList); + } + + @AutoLog(value = "zy_cloths_modular-查询所有") @ApiOperation(value = "zy_cloths_modular-查询所有", notes = "zy_cloths_modular-查询所有") @GetMapping(value = "/findAll") diff --git a/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsTypeController.java b/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsTypeController.java index 0206f6c9..7e3b0594 100644 --- a/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsTypeController.java +++ b/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/controller/ZyClothsTypeController.java @@ -104,8 +104,14 @@ public class ZyClothsTypeController extends JeecgController { @Select("select nums from zy_cloths_type where id = #{id} ") String selectNumOne(String id); + + /**根据type_id拿到类型名称*/ + @Select("select type_name from zy_cloths_type where type_id = #{id} ") + String getNameByTypeId(String id); } diff --git a/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/service/impl/ZyClothsTypeServiceImpl.java b/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/service/impl/ZyClothsTypeServiceImpl.java index bf8bd43f..81c8a4b0 100644 --- a/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/service/impl/ZyClothsTypeServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-process/src/main/java/org/jeecg/modules/demo/base/service/impl/ZyClothsTypeServiceImpl.java @@ -62,17 +62,17 @@ public class ZyClothsTypeServiceImpl extends ServiceImpl detail(@RequestParam(name = "id", required = true) String id) { + //System.out.println("款式辅料管理 /detail controller层接受到的id: : "+id); + ZyStyleAccDetailVO detailVO = zyStyleAccessoriesService.queryDetail(id); + return Result.OK(detailVO); + } + + /** * 批量删除 * diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/entity/ZyStyleAccDetailVO.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/entity/ZyStyleAccDetailVO.java new file mode 100644 index 00000000..194399fa --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/entity/ZyStyleAccDetailVO.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.demo.zyaccessories.entity; + +import lombok.Data; +import org.jeecg.modules.zyclothsstyle.entity.ZyClothsStyle; +import org.jeecg.modules.zystylefabric.entity.NewZyStyleFabric; +import org.jeecg.modules.zystylemodule.entity.NewStyleModule; + +import java.util.List; + +@Data +public class ZyStyleAccDetailVO { + /**服装款式*/ + private List zyClothsStyles; + + /**子模块 款式辅料*/ + private List zyStyleAccessoriesList; +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/service/IZyStyleAccessoriesService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/service/IZyStyleAccessoriesService.java index c1b09d56..42055083 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/service/IZyStyleAccessoriesService.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/service/IZyStyleAccessoriesService.java @@ -1,7 +1,9 @@ package org.jeecg.modules.demo.zyaccessories.service; +import org.jeecg.modules.demo.zyaccessories.entity.ZyStyleAccDetailVO; import org.jeecg.modules.demo.zyaccessories.entity.ZyStyleAccessories; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.zystylefabric.entity.ZyStyleFabricDetailVo; import java.util.List; @@ -14,4 +16,6 @@ import java.util.List; public interface IZyStyleAccessoriesService extends IService { List detail(String id); + + ZyStyleAccDetailVO queryDetail(String id); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/service/impl/ZyStyleAccessoriesServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/service/impl/ZyStyleAccessoriesServiceImpl.java index 5604ef70..74d6df95 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/service/impl/ZyStyleAccessoriesServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/zyaccessories/service/impl/ZyStyleAccessoriesServiceImpl.java @@ -1,10 +1,15 @@ package org.jeecg.modules.demo.zyaccessories.service.impl; import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.demo.zyaccessories.entity.ZyStyleAccDetailVO; import org.jeecg.modules.demo.zyaccessories.entity.ZyStyleAccessories; import org.jeecg.modules.demo.zyaccessories.mapper.ZyStyleAccessoriesMapper; import org.jeecg.modules.demo.zyaccessories.service.IZyStyleAccessoriesService; +import org.jeecg.modules.zyclothsstyle.entity.vo.AllClothStyle; +import org.jeecg.modules.zyclothsstyle.service.IZyClothsStyleService; +import org.jeecg.modules.zystylefabric.entity.ZyStyleFabricDetailVo; import org.jeecg.modules.zystylefabric.mapper.ZyStyleFabricMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -20,12 +25,15 @@ import java.util.List; */ @Service public class ZyStyleAccessoriesServiceImpl extends ServiceImpl implements IZyStyleAccessoriesService { + @Autowired + private IZyClothsStyleService zyClothsStyleService; @Resource private ZyStyleAccessoriesMapper zyStyleAccessoriesMapper; @Resource private ZyStyleFabricMapper zyStyleFabricMapper; + @Override public List detail(String id) { List list = zyStyleAccessoriesMapper.listByStyleId(id); @@ -39,4 +47,14 @@ public class ZyStyleAccessoriesServiceImpl extends ServiceImpl { /** * 服装类型详情 - * @param id 根据服装款式id进行查询 + * @param id 一般为style_id 根据服装款式id进行查询 */ AllClothStyle queryDetail(String id); diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/controller/ZyStyleFabricController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/controller/ZyStyleFabricController.java index 528f84c8..918a69f5 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/controller/ZyStyleFabricController.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/controller/ZyStyleFabricController.java @@ -1,36 +1,34 @@ package org.jeecg.modules.zystylefabric.controller; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.jeecg.common.api.vo.Result; - - import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; - +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.demo.fabric.entity.ZyFabric; import org.jeecg.modules.demo.fabric.service.IZyFabricService; import org.jeecg.modules.zyclothsstyle.entity.ZyClothsStyle; import org.jeecg.modules.zyclothsstyle.service.IZyClothsStyleService; import org.jeecg.modules.zystylefabric.entity.NewZyStyleFabric; import org.jeecg.modules.zystylefabric.entity.ZyStyleFabric; +import org.jeecg.modules.zystylefabric.entity.ZyStyleFabricDetailVo; import org.jeecg.modules.zystylefabric.mapper.ZyStyleFabricMapper; import org.jeecg.modules.zystylefabric.service.INewZyStyleFabricService; import org.jeecg.modules.zystylefabric.service.IZyStyleFabricService; -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.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.jeecg.common.aspect.annotation.AutoLog; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; /** * @Description: 款式面料表 @@ -173,6 +171,17 @@ public class ZyStyleFabricController extends JeecgController detail(@RequestParam(name = "id", required = true) String id) { + //System.out.println("款式面料表 /detail controller层接受到的id: : "+id); + ZyStyleFabricDetailVo detailVO = zyStyleFabricService.queryDetail(id); + return Result.OK(detailVO); + } /** * 批量删除 diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/entity/ZyStyleFabricDetailVo.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/entity/ZyStyleFabricDetailVo.java new file mode 100644 index 00000000..61d34c45 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/entity/ZyStyleFabricDetailVo.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.zystylefabric.entity; + +import lombok.Data; +import org.jeecg.modules.zyclothsstyle.entity.ZyClothsStyle; +import org.jeecg.modules.zystylemodule.entity.NewStyleModule; + +import java.util.List; + +@Data +public class ZyStyleFabricDetailVo { + /**服装款式*/ + private List zyClothsStyles; + + /**子模块 款式面料*/ + private List zyStyleFabricList; + +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/IZyStyleFabricService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/IZyStyleFabricService.java index bf78f492..dfb17e1f 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/IZyStyleFabricService.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/IZyStyleFabricService.java @@ -4,6 +4,7 @@ package org.jeecg.modules.zystylefabric.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.zystylefabric.entity.NewZyStyleFabric; import org.jeecg.modules.zystylefabric.entity.ZyStyleFabric; +import org.jeecg.modules.zystylefabric.entity.ZyStyleFabricDetailVo; import java.util.List; @@ -16,4 +17,6 @@ import java.util.List; public interface IZyStyleFabricService extends IService { List detail(String id); + + ZyStyleFabricDetailVo queryDetail(String id); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/impl/ZyStyleFabricServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/impl/ZyStyleFabricServiceImpl.java index 1548f515..206b1d3d 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/impl/ZyStyleFabricServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylefabric/service/impl/ZyStyleFabricServiceImpl.java @@ -3,9 +3,11 @@ package org.jeecg.modules.zystylefabric.service.impl; import org.jeecg.modules.demo.fabric.entity.ZyFabric; import org.jeecg.modules.demo.fabric.service.IZyFabricService; import org.jeecg.modules.zyclothsstyle.entity.ZyClothsStyle; +import org.jeecg.modules.zyclothsstyle.entity.vo.AllClothStyle; import org.jeecg.modules.zyclothsstyle.service.IZyClothsStyleService; import org.jeecg.modules.zystylefabric.entity.NewZyStyleFabric; import org.jeecg.modules.zystylefabric.entity.ZyStyleFabric; +import org.jeecg.modules.zystylefabric.entity.ZyStyleFabricDetailVo; import org.jeecg.modules.zystylefabric.mapper.ZyStyleFabricMapper; import org.jeecg.modules.zystylefabric.service.IZyStyleFabricService; import org.springframework.beans.factory.annotation.Autowired; @@ -39,7 +41,7 @@ public class ZyStyleFabricServiceImpl extends ServiceImpl list = zyStyleFabricMapper.listByStyleId(id); List newZyStyleFabrics = new ArrayList<>(); for (ZyStyleFabric zyStyleF : list) { - System.out.println("****" + zyStyleF); + //System.out.println("****" + zyStyleF); NewZyStyleFabric newZySF = new NewZyStyleFabric(); //编辑回显 newZySF.setId(zyStyleF.getId()); @@ -67,4 +69,14 @@ public class ZyStyleFabricServiceImpl extends ServiceImpl { @Autowired private IZyStyleModelService zyStyleModelService; - + /** * 分页列表查询 * @@ -77,7 +79,7 @@ public class ZyStyleModelController extends JeecgController pageList = zyStyleModelService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -90,11 +92,11 @@ public class ZyStyleModelController extends JeecgController add(@RequestBody ZyStyleModel zyStyleModel) { zyStyleModel.setId(null); - System.out.println(zyStyleModel); + System.out.println("zyStyleModel add"+zyStyleModel); zyStyleModelService.save(zyStyleModel); return Result.OK("添加成功!"); } - + /** * 编辑 * @@ -109,7 +111,7 @@ public class ZyStyleModelController extends JeecgController detail(@RequestParam(name = "id", required = true) String id) { + ZyStyleModelDetailsVO detailVO = zyStyleModelService.queryDetails(id); + return Result.OK(detailVO); + } + /** * 批量删除 * @@ -143,7 +156,7 @@ public class ZyStyleModelController extends JeecgController zyClothsStyles; + /**子模块 款式型号 */ + private List zyStyleModels; +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/service/IZyStyleModelService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/service/IZyStyleModelService.java index 46fd543e..5b8d0e26 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/service/IZyStyleModelService.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/service/IZyStyleModelService.java @@ -3,6 +3,7 @@ package org.jeecg.modules.zystylemodel.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.zystylemodel.entity.ZyStyleModel; +import org.jeecg.modules.zystylemodel.entity.ZyStyleModelDetailsVO; import java.util.List; @@ -15,4 +16,6 @@ import java.util.List; public interface IZyStyleModelService extends IService { List detail(String id); + + ZyStyleModelDetailsVO queryDetails(String id); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/service/impl/ZyStyleModelServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/service/impl/ZyStyleModelServiceImpl.java index 7e50de56..8a7fb075 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/service/impl/ZyStyleModelServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodel/service/impl/ZyStyleModelServiceImpl.java @@ -2,11 +2,18 @@ package org.jeecg.modules.zystylemodel.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang.math.NumberUtils; +import org.jeecg.modules.zyclothsstyle.entity.vo.AllClothStyle; +import org.jeecg.modules.zyclothsstyle.service.IZyClothsStyleService; import org.jeecg.modules.zystylefabric.mapper.ZyStyleFabricMapper; import org.jeecg.modules.zystylemodel.entity.ZyStyleModel; +import org.jeecg.modules.zystylemodel.entity.ZyStyleModelDetailsVO; import org.jeecg.modules.zystylemodel.mapper.ZyStyleModelMapper; import org.jeecg.modules.zystylemodel.service.IZyStyleModelService; +import org.jetbrains.annotations.NotNull; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import javax.annotation.Resource; @@ -22,6 +29,9 @@ import java.util.List; @Service public class ZyStyleModelServiceImpl extends ServiceImpl implements IZyStyleModelService { + @Autowired + private IZyClothsStyleService zyClothsStyleService; + @Resource private ZyStyleModelMapper zyStyleModelMapper; @Resource @@ -46,22 +56,67 @@ public class ZyStyleModelServiceImpl extends ServiceImpl queryPageList(ZyStyleModule zyStyleModule2, - @RequestParam(name = "id" )String id, + @RequestParam(name = "id" )String id,String modularId, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - System.err.println("ZyStyleModule 款式模块表 传来的 " + id); + //System.err.println("ZyStyleModule 款式模块表 传来的 " + id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.hasText(id),"style_id", id); + queryWrapper.eq(StringUtils.hasText(modularId),"modular_id", modularId); Page page = new Page<>(pageNo, pageSize); IPage pageList = zyStyleModuleService.page(page, queryWrapper); - System.out.println(pageList.getRecords()); + //List zyStyleModules = zyStyleModuleMapper.getListByStyleId(id); //改变list中的实体类 类型 @@ -139,6 +142,18 @@ public class ZyStyleModuleController extends JeecgController detail(@RequestParam(name = "id", required = true) String id) { + System.out.println("款式模块表 /detail controller层接受到的id: : "+id); + ZyStyleModuleDetailVO detailVO = zyStyleModuleService.queryDetail(id); + return Result.OK(detailVO); + } + /** * 添加 * diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/entity/ZyStyleModuleDetailVO.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/entity/ZyStyleModuleDetailVO.java new file mode 100644 index 00000000..2434ee77 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/entity/ZyStyleModuleDetailVO.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.zystylemodule.entity; + +import lombok.Data; +import org.jeecg.modules.zyclothsstyle.entity.ZyClothsStyle; + +import java.util.List; +@Data +public class ZyStyleModuleDetailVO { + /**服装款式*/ + private List zyClothsStyles; + /**子模块 款式模块*/ + private List zyStyleModuleList; +} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/service/IZyStyleModuleService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/service/IZyStyleModuleService.java index fa5752f5..28c11b5d 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/service/IZyStyleModuleService.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/service/IZyStyleModuleService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.zystylemodule.entity.NewStyleModule; import org.jeecg.modules.zystylemodule.entity.ZyStyleModule; +import org.jeecg.modules.zystylemodule.entity.ZyStyleModuleDetailVO; import java.util.List; @@ -23,4 +24,5 @@ public interface IZyStyleModuleService extends IService { */ List changeList(List zyStyleModules); + ZyStyleModuleDetailVO queryDetail(String id); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/service/impl/ZyStyleModuleServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/service/impl/ZyStyleModuleServiceImpl.java index 2e2b789a..7d22ff3d 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/service/impl/ZyStyleModuleServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/zystylemodule/service/impl/ZyStyleModuleServiceImpl.java @@ -4,10 +4,12 @@ package org.jeecg.modules.zystylemodule.service.impl; import org.jeecg.modules.demo.base.entity.ZyClothsModular; import org.jeecg.modules.demo.base.service.IZyClothsModularService; import org.jeecg.modules.zyclothsstyle.entity.ZyClothsStyle; +import org.jeecg.modules.zyclothsstyle.entity.vo.AllClothStyle; import org.jeecg.modules.zyclothsstyle.service.IZyClothsStyleService; import org.jeecg.modules.zystylefabric.mapper.ZyStyleFabricMapper; import org.jeecg.modules.zystylemodule.entity.NewStyleModule; import org.jeecg.modules.zystylemodule.entity.ZyStyleModule; +import org.jeecg.modules.zystylemodule.entity.ZyStyleModuleDetailVO; import org.jeecg.modules.zystylemodule.mapper.ZyStyleModuleMapper; import org.jeecg.modules.zystylemodule.service.IZyStyleModuleService; import org.springframework.beans.factory.annotation.Autowired; @@ -83,4 +85,15 @@ public class ZyStyleModuleServiceImpl extends ServiceImpl