¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.tms.controller; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | 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.common.system.base.controller.JeecgController; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.modules.tms.entity.dto.PreparationOrderAndDetailDto; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | import java.util.Arrays; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.tms.entity.PreparationOrderDetail; |
| | | import org.jeecg.modules.tms.entity.PreparationOrder; |
| | | import org.jeecg.modules.tms.service.IPreparationOrderService; |
| | | import org.jeecg.modules.tms.service.IPreparationOrderDetailService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | 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.springframework.web.multipart.MultipartFile; |
| | | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @Description: åå
·åå¤å |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-06-09 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags="åå
·åå¤å") |
| | | @RestController |
| | | @RequestMapping("/tms/preparationOrder") |
| | | @Slf4j |
| | | public class PreparationOrderController extends JeecgController<PreparationOrder, IPreparationOrderService> { |
| | | |
| | | @Autowired |
| | | private IPreparationOrderService preparationOrderService; |
| | | |
| | | @Autowired |
| | | private IPreparationOrderDetailService preparationOrderDetailService; |
| | | |
| | | |
| | | /*---------------------------------主表å¤ç-begin-------------------------------------*/ |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * @param preparationOrder |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "åå
·åå¤å-å页å表æ¥è¯¢") |
| | | @ApiOperation(value="åå
·åå¤å-å页å表æ¥è¯¢", notes="åå
·åå¤å-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<PreparationOrder>> queryPageList(PreparationOrder preparationOrder, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | Map<String, String[]> parameterMap = req.getParameterMap(); |
| | | QueryWrapper<PreparationOrder> queryWrapper = QueryGenerator.initQueryWrapper(preparationOrder, parameterMap); |
| | | Page<PreparationOrder> page = new Page<PreparationOrder>(pageNo, pageSize); |
| | | IPage<PreparationOrder> pageList = preparationOrderService.queryPageList(page, parameterMap); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * @param preparationOrder |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åå
·åå¤å-æ·»å ") |
| | | @ApiOperation(value="åå
·åå¤å-æ·»å ", notes="åå
·åå¤å-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody PreparationOrder preparationOrder) { |
| | | preparationOrderService.save(preparationOrder); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | @AutoLog(value = "åå
·åå¤å-ä»DNCç³»ç»åå
¥åå
·åå¤ååæç»") |
| | | @ApiOperation(value="åå
·åå¤å-ä»DNCç³»ç»åå
¥åå
·åå¤ååæç»", notes="åå
·åå¤å-ä»DNCç³»ç»åå
¥åå
·åå¤ååæç»") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:add") |
| | | @PostMapping(value = "/addPreparationOrderFromDnc") |
| | | public Result<String> addPreparationOrderFromDnc(@RequestBody PreparationOrderAndDetailDto preparationOrderAndDetailDto) { |
| | | preparationOrderService.addPreparationOrderFromDnc(preparationOrderAndDetailDto); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * @param preparationOrder |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åå
·åå¤å-ç¼è¾") |
| | | @ApiOperation(value="åå
·åå¤å-ç¼è¾", notes="åå
·åå¤å-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody PreparationOrder preparationOrder) { |
| | | preparationOrderService.updateById(preparationOrder); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | |
| | | @AutoLog(value = "åå
·åå¤å-ç¡®è®¤å®æ") |
| | | @ApiOperation(value="åå
·åå¤å-è°æºåä¿®æ£ç¡®è®¤", notes = "åå
·åå¤å-è°æºåä¿®æ£ç¡®è®¤") |
| | | @RequestMapping(value = "/editTotal", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> editTotal(@RequestBody PreparationOrderAndDetailDto preparationOrderAndDetailDto) { |
| | | preparationOrderService.editTotal(preparationOrderAndDetailDto); |
| | | return Result.OK("ç¡®è®¤å®æï¼"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åå
·åå¤å-éè¿idå é¤åå¤ååæç»") |
| | | @ApiOperation(value="åå
·åå¤å-éè¿idå é¤åå¤ååæç»", notes="åå
·åå¤å-éè¿idå é¤åå¤ååæç»") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | preparationOrderService.delMain(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åå
·åå¤å-æ¹éå é¤") |
| | | @ApiOperation(value="åå
·åå¤å-æ¹éå é¤", notes="åå
·åå¤å-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | preparationOrderService.delBatchMain(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | |
| | | @AutoLog(value = "åå
·åå¤å-转åºåºç³è¯·å") |
| | | @ApiOperation(value = "åå
·åå¤å-转åºåºç³è¯·å", notes = "åå
·åå¤å-转åºåºç³è¯·å") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:convert") |
| | | @PostMapping(value = "/convertToOutboundOrder") |
| | | public Result<String> convertToOutboundOrder(@RequestBody List<String> preparationOrderIds) { |
| | | List<String> result = preparationOrderService.convertToOutboundOrder(preparationOrderIds); |
| | | return Result.OK(JSONObject.toJSONString(result)); |
| | | } |
| | | |
| | | /** |
| | | * å¯¼åº |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, PreparationOrder preparationOrder) { |
| | | return super.exportXls(request, preparationOrder, PreparationOrder.class, "åå
·åå¤å"); |
| | | } |
| | | |
| | | /** |
| | | * 导å
¥ |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, PreparationOrder.class); |
| | | } |
| | | /*---------------------------------主表å¤ç-end-------------------------------------*/ |
| | | |
| | | |
| | | /*--------------------------------å表å¤ç-åå
·åå¤åæç»-begin----------------------------------------------*/ |
| | | /** |
| | | * éè¿ä¸»è¡¨IDæ¥è¯¢ |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "åå
·åå¤åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢") |
| | | @ApiOperation(value="åå
·åå¤åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢", notes="åå
·åå¤åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢") |
| | | @GetMapping(value = "/listPreparationOrderDetailByMainId") |
| | | public Result<IPage<PreparationOrderDetail>> listPreparationOrderDetailByMainId(PreparationOrderDetail preparationOrderDetail, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | Map<String, String[]> parameterMap = req.getParameterMap(); |
| | | QueryWrapper<PreparationOrderDetail> queryWrapper = QueryGenerator.initQueryWrapper(preparationOrderDetail, parameterMap); |
| | | Page<PreparationOrderDetail> page = new Page<PreparationOrderDetail>(pageNo, pageSize); |
| | | IPage<PreparationOrderDetail> pageList = preparationOrderDetailService.queryPageList(page, parameterMap); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * @param preparationOrderDetail |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åå
·åå¤åæç»-æ·»å ") |
| | | @ApiOperation(value="åå
·åå¤åæç»-æ·»å ", notes="åå
·åå¤åæç»-æ·»å ") |
| | | @PostMapping(value = "/addPreparationOrderDetail") |
| | | public Result<String> addPreparationOrderDetail(@RequestBody PreparationOrderDetail preparationOrderDetail) { |
| | | preparationOrderDetailService.save(preparationOrderDetail); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * @param preparationOrderDetail |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åå
·åå¤åæç»-ç¼è¾") |
| | | @ApiOperation(value="åå
·åå¤åæç»-ç¼è¾", notes="åå
·åå¤åæç»-ç¼è¾") |
| | | @RequestMapping(value = "/editPreparationOrderDetail", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> editPreparationOrderDetail(@RequestBody PreparationOrderDetail preparationOrderDetail) { |
| | | preparationOrderDetailService.updateById(preparationOrderDetail); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åå
·åå¤åæç»-éè¿idå é¤") |
| | | @ApiOperation(value="åå
·åå¤åæç»-éè¿idå é¤", notes="åå
·åå¤åæç»-éè¿idå é¤") |
| | | @DeleteMapping(value = "/deletePreparationOrderDetail") |
| | | public Result<String> deletePreparationOrderDetail(@RequestParam(name="id",required=true) String id) { |
| | | preparationOrderDetailService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åå
·åå¤åæç»-æ¹éå é¤") |
| | | @ApiOperation(value="åå
·åå¤åæç»-æ¹éå é¤", notes="åå
·åå¤åæç»-æ¹éå é¤") |
| | | @DeleteMapping(value = "/deleteBatchPreparationOrderDetail") |
| | | public Result<String> deleteBatchPreparationOrderDetail(@RequestParam(name="ids",required=true) String ids) { |
| | | this.preparationOrderDetailService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * å¯¼åº |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/exportPreparationOrderDetail") |
| | | public ModelAndView exportPreparationOrderDetail(HttpServletRequest request, PreparationOrderDetail preparationOrderDetail) { |
| | | // Step.1 ç»è£
æ¥è¯¢æ¡ä»¶ |
| | | QueryWrapper<PreparationOrderDetail> queryWrapper = QueryGenerator.initQueryWrapper(preparationOrderDetail, request.getParameterMap()); |
| | | LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | |
| | | // Step.2 è·åå¯¼åºæ°æ® |
| | | List<PreparationOrderDetail> pageList = preparationOrderDetailService.list(queryWrapper); |
| | | List<PreparationOrderDetail> exportList = null; |
| | | |
| | | // è¿æ»¤é䏿°æ® |
| | | String selections = request.getParameter("selections"); |
| | | if (oConvertUtils.isNotEmpty(selections)) { |
| | | List<String> selectionList = Arrays.asList(selections.split(",")); |
| | | exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); |
| | | } else { |
| | | exportList = pageList; |
| | | } |
| | | |
| | | // Step.3 AutoPoi 导åºExcel |
| | | ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); |
| | | //æ¤å¤è®¾ç½®çfilenameæ æ,å端ä¼éæ´æ°è®¾ç½®ä¸ä¸ |
| | | mv.addObject(NormalExcelConstants.FILE_NAME, "åå
·åå¤åæç»"); |
| | | mv.addObject(NormalExcelConstants.CLASS, PreparationOrderDetail.class); |
| | | mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("åå
·åå¤åæç»æ¥è¡¨", "导åºäºº:" + sysUser.getRealname(), "åå
·åå¤åæç»")); |
| | | mv.addObject(NormalExcelConstants.DATA_LIST, exportList); |
| | | return mv; |
| | | } |
| | | |
| | | /** |
| | | * 导å
¥ |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/importPreparationOrderDetail/{mainId}") |
| | | public Result<?> importPreparationOrderDetail(HttpServletRequest request, HttpServletResponse response, @PathVariable("mainId") String mainId) { |
| | | MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; |
| | | Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); |
| | | for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { |
| | | // è·åä¸ä¼ æä»¶å¯¹è±¡ |
| | | MultipartFile file = entity.getValue(); |
| | | ImportParams params = new ImportParams(); |
| | | params.setTitleRows(2); |
| | | params.setHeadRows(1); |
| | | params.setNeedSave(true); |
| | | try { |
| | | List<PreparationOrderDetail> list = ExcelImportUtil.importExcel(file.getInputStream(), PreparationOrderDetail.class, params); |
| | | for (PreparationOrderDetail temp : list) { |
| | | temp.setPreparationOrderId(mainId); |
| | | } |
| | | long start = System.currentTimeMillis(); |
| | | preparationOrderDetailService.saveBatch(list); |
| | | log.info("æ¶èæ¶é´" + (System.currentTimeMillis() - start) + "毫ç§"); |
| | | return Result.OK("æä»¶å¯¼å
¥æåï¼æ°æ®è¡æ°ï¼" + list.size()); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | return Result.error("æä»¶å¯¼å
¥å¤±è´¥:" + e.getMessage()); |
| | | } finally { |
| | | try { |
| | | file.getInputStream().close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | return Result.error("æä»¶å¯¼å
¥å¤±è´¥ï¼"); |
| | | } |
| | | |
| | | /*--------------------------------å表å¤ç-åå
·åå¤åæç»-end----------------------------------------------*/ |
| | | |
| | | |
| | | |
| | | |
| | | } |