| | |
| | | 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.modules.mainPart.basicInfo.model.TyProductModel; |
| | | 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.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.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.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), |
| | | @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), |
| | | @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 PageResult<XhProductModel> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ |
| | | return PageResult.ok(xhProductModelService.page(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); |
| | | Long busid = null; |
| | | String fileName = ""; |
| | | if (StringUtils.isNotBlank(data.getOperationalStatus())&&sysOssService.get(Long.parseLong(data.getOperationalStatus()))!=null){ |
| | | busid =sysOssService.get(Long.parseLong(data.getOperationalStatus())).getBusiId(); |
| | | fileName =sysPictureBaseService.get(busid).getName(); |
| | | data.setOperationalStatus(fileName); |
| | | } |
| | | if (StringUtils.isNotBlank(data.getStandbyState())&&sysOssService.get(Long.parseLong(data.getStandbyState()))!=null){ |
| | | busid =sysOssService.get(Long.parseLong(data.getStandbyState())).getBusiId(); |
| | | fileName =sysPictureBaseService.get(busid).getName(); |
| | | data.setStandbyState(fileName); |
| | | } |
| | | if (StringUtils.isNotBlank(data.getFaultState())&&sysOssService.get(Long.parseLong(data.getFaultState()))!=null){ |
| | | busid =sysOssService.get(Long.parseLong(data.getFaultState())).getBusiId(); |
| | | fileName =sysPictureBaseService.get(busid).getName(); |
| | | data.setFaultState(fileName); |
| | | if (data.getOperatImg() != null) { |
| | | data.setOperatImgName(sysPictureBaseService.get(data.getOperatImg()).getName()); |
| | | } |
| | | 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); |
| | | } |
| | | |
| | | 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(); |
| | |
| | | @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(); |
| | | } |
| | |
| | | @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); |
| | | } |
| | | } |
| | | } |