¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.tms.controller; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import java.io.IOException; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLDecoder; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; |
| | | import org.jeecg.modules.tms.entity.InboundDetail; |
| | | import org.jeecg.modules.tms.entity.InboundOrder; |
| | | import org.jeecg.modules.tms.entity.dto.InboundOrderFlowDto; |
| | | import org.jeecg.modules.tms.entity.dto.OutBoundOrderFlowDto; |
| | | import org.jeecg.modules.tms.service.IInboundDetailService; |
| | | import org.jeecg.modules.tms.service.IInboundOrderService; |
| | | |
| | | 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.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.jeecg.common.system.base.controller.JeecgController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | import com.alibaba.fastjson.JSON; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | |
| | | /** |
| | | * @Description: å
¥åºç³è¯·å |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-05-19 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags="å
¥åºç³è¯·å") |
| | | @RestController |
| | | @RequestMapping("/tms/inboundOrder") |
| | | @Slf4j |
| | | public class InboundOrderController extends JeecgController<InboundOrder, IInboundOrderService> { |
| | | @Autowired |
| | | private IInboundOrderService inboundOrderService; |
| | | |
| | | @Autowired |
| | | private IInboundDetailService inboundDetailService; |
| | | |
| | | |
| | | @Autowired |
| | | private ISysBusinessCodeRuleService businessCodeRuleService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param inboundOrder |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å
¥åºç³è¯·å-å页å表æ¥è¯¢") |
| | | @ApiOperation(value="å
¥åºç³è¯·å-å页å表æ¥è¯¢", notes="å
¥åºç³è¯·å-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<InboundOrder>> queryPageList(InboundOrder inboundOrder, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<InboundOrder> queryWrapper = QueryGenerator.initQueryWrapper(inboundOrder, req.getParameterMap()); |
| | | Page<InboundOrder> page = new Page<InboundOrder>(pageNo, pageSize); |
| | | IPage<InboundOrder> pageList = inboundOrderService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param jSONObject |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å
¥åºç³è¯·å-æ·»å ") |
| | | @ApiOperation(value="å
¥åºç³è¯·å-æ·»å ", notes="å
¥åºç³è¯·å-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_inbound_order:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<?> add(@RequestBody JSONObject jSONObject) { |
| | | InboundOrder inboundOrder = jSONObject.toJavaObject(InboundOrder.class); |
| | | inboundOrder.setOrderStatus("1"); |
| | | inboundOrder.setInStatus("1"); |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | inboundOrder.setHandler(user.getUsername()); |
| | | inboundOrder.setInboundNum(businessCodeRuleService.generateBusinessCodeSeq("InBoundOrder")); |
| | | inboundOrderService.save(inboundOrder); |
| | | // ä¿åå
¥åºç³è¯·åæç»æ°æ® |
| | | JSONArray jsonArray = jSONObject.getJSONArray("detailData"); |
| | | List<InboundDetail> list = jsonArray.toJavaList(InboundDetail.class); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | InboundDetail temp = list.get(i); |
| | | temp.setId(null); |
| | | temp.setInStorehouseId(inboundOrder.getId()); |
| | | temp.setInActualCount(BigDecimal.ZERO); |
| | | temp.setInStatus("1"); |
| | | temp.setToolId(temp.getOnlyCode()); |
| | | temp.setToolCode(temp.getToolCodeId()); |
| | | } |
| | | inboundDetailService.saveBatch(list); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param jSONObject |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å
¥åºç³è¯·å-ç¼è¾") |
| | | @ApiOperation(value="å
¥åºç³è¯·å-ç¼è¾", notes="å
¥åºç³è¯·å-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_inbound_order:edit") |
| | | @PostMapping(value = "/edit") |
| | | public Result<?> edit(@RequestBody JSONObject jSONObject) { |
| | | InboundOrder inboundOrder = jSONObject.toJavaObject(InboundOrder.class); |
| | | inboundOrderService.updateById(inboundOrder); |
| | | // å é¤ç³è¯·åæç»æ°æ® |
| | | inboundDetailService.deleteByInboundOrderId(inboundOrder.getId()); |
| | | // ä¿åå
¥åºç³è¯·åæç»æ°æ® |
| | | JSONArray jsonArray = jSONObject.getJSONArray("detailData"); |
| | | List<InboundDetail> list = jsonArray.toJavaList(InboundDetail.class); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | InboundDetail temp = list.get(i); |
| | | temp.setId(null); |
| | | temp.setInStorehouseId(inboundOrder.getId()); |
| | | temp.setInStatus("1"); |
| | | temp.setInActualCount(BigDecimal.ZERO); |
| | | temp.setToolId(temp.getOnlyCode()); |
| | | temp.setToolCode(temp.getToolCodeId()); |
| | | } |
| | | inboundDetailService.saveOrUpdateBatch(list); |
| | | return Result.OK("æä½æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å
¥åºç³è¯·å-éè¿idå é¤") |
| | | @ApiOperation(value="å
¥åºç³è¯·å-éè¿idå é¤", notes="å
¥åºç³è¯·å-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_inbound_order:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | inboundOrderService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å
¥åºç³è¯·å-æ¹éå é¤") |
| | | @ApiOperation(value="å
¥åºç³è¯·å-æ¹éå é¤", notes="å
¥åºç³è¯·å-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_inbound_order:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | this.inboundOrderService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å
¥åºç³è¯·å-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="å
¥åºç³è¯·å-éè¿idæ¥è¯¢", notes="å
¥åºç³è¯·å-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<InboundOrder> queryById(@RequestParam(name="id",required=true) String id) { |
| | | InboundOrder inboundOrder = inboundOrderService.getById(id); |
| | | if(inboundOrder==null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(inboundOrder); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param inboundOrder |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:tms_inbound_order:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, InboundOrder inboundOrder) { |
| | | return super.exportXls(request, inboundOrder, InboundOrder.class, "å
¥åºç³è¯·å"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("tms_inbound_order:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, InboundOrder.class); |
| | | } |
| | | |
| | | /** |
| | | * æäº¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å
¥åºç³è¯·å-æäº¤") |
| | | @GetMapping(value = "/submit") |
| | | public Result<String> submit(@RequestParam(name = "id") String id) { |
| | | inboundOrderService.submit(id); |
| | | return Result.OK("æäº¤æå!"); |
| | | } |
| | | |
| | | @AutoLog(value = "å®¡æ¹æµç¨") |
| | | @ApiOperation(value = "å
¥åºç³è¯·å-å®¡æ¹æµç¨", notes = "å
¥åºç³è¯·å-å®¡æ¹æµç¨") |
| | | @PostMapping("/approval") |
| | | public Result<?> approval(@RequestBody InboundOrderFlowDto inboundOrderFlowDto) { |
| | | inboundOrderService.approvalProcess(inboundOrderFlowDto); |
| | | return Result.OK("æä½æå"); |
| | | } |
| | | |
| | | |
| | | @AutoLog(value = "å·¥å
·å
¥åº-æ°å¢å
¥åº") |
| | | @ApiOperation(value = "å·¥å
·å
¥åº-æ°å¢å
¥åº", notes = "å·¥å
·å
¥åº-æ°å¢å
¥åº") |
| | | @PostMapping("/addInStorage") |
| | | public Result<List<Map<String,String>>> addInStorage(@RequestBody JSONObject jSONObject) { |
| | | List<Map<String,String>> result = inboundOrderService.addInStorage(jSONObject); |
| | | return Result.OK(result); |
| | | } |
| | | |
| | | @AutoLog(value = "å·¥å
·å
¥åº-ç³è¯·åå
¥åº") |
| | | @ApiOperation(value = "å·¥å
·å
¥åº-ç³è¯·åå
¥åº", notes = "å·¥å
·å
¥åº-ç³è¯·åå
¥åº") |
| | | @PostMapping("/addApplyInStorage") |
| | | public Result<List<Map<String,String>>> addApplyInStorage(@RequestBody JSONObject jSONObject) { |
| | | List<Map<String,String>> result = inboundOrderService.addApplyInStorage(jSONObject); |
| | | return Result.OK(result); |
| | | } |
| | | |
| | | } |