From d0e1a3fb24d0ee76aa4ef1b0e042392b4d3ac794 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期四, 07 十一月 2024 16:38:26 +0800 Subject: [PATCH] 预计参数多层次分级,新增型号增加namePath --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java | 156 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 124 insertions(+), 32 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java index 4716cef..07f6d0b 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java @@ -6,82 +6,89 @@ import com.zt.common.annotation.QueryParam; import com.zt.common.db.query.QueryFilter; import com.zt.common.servlet.Result; -import com.zt.common.servlet.PageResult; +import com.zt.common.utils.CacheUtils; +import com.zt.common.utils.UUIDUtil; import com.zt.common.validator.AssertUtils; import com.zt.common.validator.ValidatorUtils; import com.zt.common.validator.group.AddGroup; import com.zt.common.validator.group.DefaultGroup; import com.zt.common.validator.group.UpdateGroup; +import com.zt.life.core.service.ZtProductService; +import com.zt.life.dto.ImportErrDto; +import com.zt.life.modules.mainPart.basicInfo.model.ParamData; import com.zt.life.modules.mainPart.basicInfo.model.ProductImg; -import com.zt.life.modules.mainPart.basicInfo.model.TyProductModel; import com.zt.life.modules.mainPart.basicInfo.model.XhProductModel; +import com.zt.life.modules.mainPart.basicInfo.service.ParamDataService; import com.zt.life.modules.mainPart.basicInfo.service.XhProductModelService; -import com.zt.life.modules.sysPictureBase.model.SysPictureBase; -import com.zt.life.modules.sysPictureBase.service.SysPictureBaseService; +import com.zt.life.modules.mainPart.sysPictureBase.service.SysPictureBaseService; +import com.zt.life.util.ImportUtil; import com.zt.modules.oss.service.SysOssService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * product_model * - * @author zt generator + * @author zt generator * @since 1.0.0 2024-02-29 */ @RestController @RequestMapping("/basicInfo/XhProductModel/") -@Api(tags="product_model") +@Api(tags = "product_model") public class XhProductModelController { @Autowired private XhProductModelService xhProductModelService; - - @Autowired - private SysOssService sysOssService; @Autowired private SysPictureBaseService sysPictureBaseService; + + @Autowired + private ParamDataService paramDataService; @GetMapping("page") @ApiOperation("鍒嗛〉") @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), - @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), - @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = Constant.QT.STRING, format = "NAME^LK"), - @ApiImplicitParam(name = "nodeType", value = "鑺傜偣绫诲瀷", dataType = Constant.QT.STRING, format = "node_type^EQ"), - @ApiImplicitParam(name = "pid", value = "涓婄骇ID", dataType = Constant.QT.STRING) + @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = Constant.QT.STRING, format = "NAME^LK"), + @ApiImplicitParam(name = "productType", value = "鑺傜偣绫诲瀷", dataType = Constant.QT.STRING, format = "product_type^EQ"), + @ApiImplicitParam(name = "pid", value = "涓婄骇ID", dataType = Constant.QT.STRING) }) - public Result<List<XhProductModel>> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + public Result<List<XhProductModel>> page(@ApiIgnore @QueryParam QueryFilter queryFilter) { return Result.ok(xhProductModelService.page(queryFilter)); } @GetMapping("tree") - public Result<List<XhProductModel>> getTreeList() { - List<XhProductModel> list = xhProductModelService.getAllTree(); + public Result<List<XhProductModel>> getTreeList(Boolean showXdy, Integer ztShow, Long productId) { + List<XhProductModel> list = xhProductModelService.getAllTree(showXdy, ztShow, productId); + return Result.ok(list); } @GetMapping("getProduct") public Result<List<ProductImg>> getProduct(Long productId) { - List<ProductImg> list = xhProductModelService.getProduct(productId); - return Result.ok(list); } @GetMapping("{id}") @ApiOperation("淇℃伅") - public Result<XhProductModel> get(@PathVariable("id") Long id){ + public Result<XhProductModel> get(@PathVariable("id") Long id) { XhProductModel data = xhProductModelService.get(id); if (data.getOperatImg() != null) { data.setOperatImgName(sysPictureBaseService.get(data.getOperatImg()).getName()); @@ -89,31 +96,101 @@ return Result.ok(data); } + @GetMapping("getImg") + @ApiOperation("淇℃伅") + public void getImg(HttpServletResponse response, Long id) { + xhProductModelService.getImg(response, id); + } + + @GetMapping("getProductList") - public Result<List<XhProductModel>> getProductList() { - List<XhProductModel> list = xhProductModelService.getProductList(); + public Result<List<XhProductModel>> getProductList(Long shipId, Integer productType) { + if(productType==2){ + shipId =null; + } + List<XhProductModel> list = xhProductModelService.getProductList(shipId, productType - 1); + if(productType == 5){ + List<XhProductModel> list2 = xhProductModelService.getProductList(shipId, productType - 2); + list.addAll(list2); + } return Result.ok(list); } + + @GetMapping("getTaskProductList") + public Result<List<XhProductModel>> getTaskProductList() { + List<XhProductModel> list = xhProductModelService.getTaskProductList(); + return Result.ok(list); + } + + @PostMapping("importProductExcel") + @ApiOperation("瀵煎叆浜у搧妯″瀷") + @LogOperation("瀵煎叆浜у搧妯″瀷") + public Result importProductExcel(MultipartFile file, String progressId, Long pid) { + Result<List<ImportErrDto>> result = Result.ok(); + try { + List<Map<String, Object>> importResults = xhProductModelService.importProductExcel(file, progressId, pid); + StringBuilder str = new StringBuilder(); + ImportUtil.importResult(result, importResults, str); + ImportUtil.ImportErrResult(result, importResults, str); + + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + @GetMapping("exportData") + @ApiOperation("瀵煎嚭浜у搧妯″瀷") + @LogOperation("瀵煎嚭浜у搧妯″瀷") + public Result exportDataExcel(HttpServletRequest request, HttpServletResponse response, Long shipId, String fileName) { + xhProductModelService.exportDataExcel(request, response, shipId, fileName); + + return null; + } + @PostMapping @ApiOperation("鏂板") @LogOperation("鏂板") - public Result insert(@RequestBody XhProductModel xhProductModel){ + public Result insert(@RequestBody XhProductModel xhProductModel) { //鏁堥獙鏁版嵁 ValidatorUtils.validateEntity(xhProductModel, AddGroup.class, DefaultGroup.class); - Integer no = xhProductModelService.getNo(xhProductModel.getPid()); - xhProductModel.setSort(no + 1); + Integer no = xhProductModelService.getNo(xhProductModel.getPid(), xhProductModel.getProductType()); + if (xhProductModel.getSort() == null || xhProductModel.getSort() < no) { + xhProductModel.setSort(no + 1); + } + if (xhProductModel.getProductType().equals("2")) { + Long id = UUIDUtil.generateId(); + xhProductModel.setId(id); + xhProductModel.setShipId(id); + + ParamData data = new ParamData(); + data.setShipId(id); + data.setProductId(id); + + paramDataService.insert(data); + } + xhProductModel.setNamePath(xhProductModel.getNamePath() + "," + xhProductModel.getName()); xhProductModelService.insert(xhProductModel); - + Map<Long, XhProductModel> imgMap = new HashMap<>(); + imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache"); + imgMap.put(xhProductModel.getId(), xhProductModel); return Result.ok(); } @PostMapping("get") - public Result getSelect(@RequestBody List<XhProductModel> list){ - for(XhProductModel xhProductModel:list){ + public Result getSelect(@RequestBody List<XhProductModel> list) { + for (XhProductModel xhProductModel : list) { xhProductModel.setSrcId(xhProductModel.getId()); xhProductModel.setId(null); + xhProductModel.setSort(xhProductModel.getSort()); + xhProductModel.setProductType(xhProductModel.getNodeType()); + if (xhProductModel.getNamePath() == null) { + xhProductModel.setNamePath(xhProductModel.getName()); + } else { + xhProductModel.setNamePath(xhProductModel.getNamePath() + "," + xhProductModel.getName()); + } this.insert(xhProductModel); } return Result.ok(); @@ -122,10 +199,13 @@ @PutMapping @ApiOperation("淇敼") @LogOperation("淇敼") - public Result update(@RequestBody XhProductModel xhProductModel){ + public Result update(@RequestBody XhProductModel xhProductModel) { //鏁堥獙鏁版嵁 ValidatorUtils.validateEntity(xhProductModel, UpdateGroup.class, DefaultGroup.class); xhProductModelService.update(xhProductModel); + Map<Long, XhProductModel> imgMap = new HashMap<>(); + imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache"); + imgMap.put(xhProductModel.getId(), xhProductModel); return Result.ok(); } @@ -133,12 +213,24 @@ @DeleteMapping @ApiOperation("鍒犻櫎") @LogOperation("鍒犻櫎") - public Result delete(@RequestBody Long[] ids){ + public Result delete(@RequestBody Long[] ids) { //鏁堥獙鏁版嵁 AssertUtils.isArrayEmpty(ids, "id"); - xhProductModelService.delete(ids); + this.deleteByProduct(ids); return Result.ok(); } + private void deleteByProduct(Long[] ids) { + Map<Long, XhProductModel> imgMap = new HashMap<>(); + imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache"); + for (Long id : ids) { + Long[] list = xhProductModelService.getByPid(id); + if (list.length > 0){ + this.deleteByProduct(list); + } + imgMap.remove(id); + xhProductModelService.deleteLogic(id); + } + } } -- Gitblit v1.9.1