package com.javaweb.geo.controller; import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import com.javaweb.common.annotation.Log; import com.javaweb.common.enums.BusinessType; import com.javaweb.geo.domain.TubLog; import com.javaweb.geo.service.ITubLogService; import com.javaweb.common.core.controller.BaseController; import com.javaweb.common.core.domain.AjaxResult; import com.javaweb.common.utils.poi.ExcelUtil; import com.javaweb.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; /** * 材料出入库记录Controller * * @author cxy * @date 2024-05-22 */ @Controller @RequestMapping("/geo/TubLog") public class TubLogController extends BaseController { private String prefix = "geo/TubLog"; @Autowired private ITubLogService tubLogService; @RequiresPermissions("geo:TubLog:view") @GetMapping() public String TubLog(String id, ModelMap mmap) { mmap.put("projectId", id); return prefix + "/TubLog"; } /** * 查询材料出入库记录列表 */ @RequiresPermissions("geo:TubLog:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(TubLog tubLog) { startPage(); List list = tubLogService.selectTubLogList(tubLog); return getDataTable(list); } /** * 导出材料出入库记录列表 */ @RequiresPermissions("geo:TubLog:export") @Log(title = "材料出入库记录", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(TubLog tubLog) { List list = tubLogService.selectTubLogList(tubLog); ExcelUtil util = new ExcelUtil(TubLog.class); return util.exportExcel(list, "TubLog"); } /** * 新增材料出入库记录 */ @GetMapping("/add") public String add(String projectId, ModelMap mmap) { Integer number = tubLogService.selectMaxTubLogId(projectId); if (ObjectUtils.isEmpty(number)){ number = 1; }else { number++; } String formattedNumber = String.format("%06d", number); String code = "ZTCJ" + formattedNumber; mmap.put("projectId", projectId); mmap.put("code", code); return prefix + "/add"; } /** * 新增保存材料出入库记录 */ @RequiresPermissions("geo:TubLog:add") @Log(title = "材料出入库记录", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(TubLog tubLog) { return toAjax(tubLogService.insertTubLog(tubLog)); } /** * 修改材料出入库记录 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap mmap) { TubLog tubLog = tubLogService.selectTubLogById(id); mmap.put("tubLog", tubLog); return prefix + "/edit"; } /** * 修改保存材料出入库记录 */ @RequiresPermissions("geo:TubLog:edit") @Log(title = "材料出入库记录", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(TubLog tubLog) { return toAjax(tubLogService.updateTubLog(tubLog)); } /** * 删除材料出入库记录 */ @RequiresPermissions("geo:TubLog:remove") @Log(title = "材料出入库记录", businessType = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(tubLogService.deleteTubLogByIds(ids)); } /** * 导入管材出入库记录 */ @RequiresPermissions("geo:deviceLog:import") @Log(title = "导入管材出入库记录") @PostMapping( "/importTubLog/{projectId}") @ResponseBody public AjaxResult importTubLog(@PathVariable("projectId") String projectId, @RequestParam("file") MultipartFile file, boolean updateSupport){ String message = tubLogService.importTubLog(projectId,file,updateSupport); return AjaxResult.success(message); } }