| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.ManLocDetl; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.LocDetlAdjustParam; |
| | | import com.zy.asrs.service.LocCheckService; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.ManLocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | |
| | | |
| | | @Autowired |
| | | private ManLocDetlService manLocDetlService; |
| | | |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | |
| | | @Autowired |
| | | private MatService matService; |
| | | |
| | | @Autowired |
| | | private LocCheckService locCheckService; |
| | | |
| | | @RequestMapping(value = "/manlocDetl/orderNo") |
| | | @ManagerAuth |
| | | public R locNoList(@RequestParam String orderNo){ |
| | | |
| | | if (Cools.isEmpty(orderNo)){ |
| | | return R.error("无数据"); |
| | | } |
| | | List<LocCheck> list = locCheckService.selectList(new EntityWrapper<LocCheck>().eq("order_no", orderNo)); |
| | | return R.ok(list); |
| | | } |
| | | |
| | | @RequestMapping(value = "/manLocDetl/list/auth") |
| | | @ManagerAuth |
| | |
| | | param.remove("update_time"); |
| | | } |
| | | } |
| | | return R.ok(manLocDetlService.getPage(toPage(curr, limit, param, ManLocDetl.class))); |
| | | Page<ManLocDetl> page = manLocDetlService.getPage(toPage(curr, limit, param, ManLocDetl.class)); |
| | | return R.ok(page); |
| | | } |
| | | |
| | | |
| | |
| | | // Page<ManLocDetl> page = manLocDetlService.getPage(manLocDetlPage); |
| | | return R.ok(outPage); |
| | | } |
| | | |
| | | @RequestMapping("/manLocDetl/adjust/start") |
| | | @ManagerAuth(memo = "库存调整") |
| | | public R locDetlAdjustStart(@RequestBody LocDetlAdjustParam param) { |
| | | manLocDetlService.adjustLocDetl(param, getUserId(),getUser()); |
| | | return R.ok("库存调整成功"); |
| | | } |
| | | |
| | | @RequestMapping(value = "/manLocDetl/asrsAndSaas/list") |
| | | @ManagerAuth |
| | | public R list(@RequestParam(defaultValue = "1")Integer curr, |
| | | @RequestParam(defaultValue = "10")Integer limit, |
| | | @RequestParam(required = false)String orderByField, |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam(required = false)String condition, |
| | | @RequestParam Map<String, Object> param){ |
| | | |
| | | Page<ManLocDetl> manLocDetlPage = toPage(curr, limit, param, ManLocDetl.class); |
| | | Page<ManLocDetl> all = manLocDetlService.selectAllPage(manLocDetlPage); |
| | | return R.ok().add(all); |
| | | } |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ |
| | | for (Map.Entry<String, Object> entry : map.entrySet()){ |
| | | String val = String.valueOf(entry.getValue()); |
| | | if (val.contains(RANGE_TIME_LINK)){ |
| | | String[] dates = val.split(RANGE_TIME_LINK); |
| | | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); |
| | | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); |
| | | } else { |
| | | if (entry.getKey().equals("locNo")) { |
| | | wrapper.eq("loc_no", String.valueOf(entry.getValue())); |
| | | } else { |
| | | wrapper.like(entry.getKey(), String.valueOf(entry.getValue())); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @RequestMapping(value = "/manlocDetl/statis/export") |
| | | // @ManagerAuth |
| | | public void statisExport(HttpServletResponse response) throws IOException { |
| | | List<LocDetlWarningDTO> list = manLocDetlService.selectAllWarning(); |
| | | for (LocDetlWarningDTO locDetl : list) { |
| | | Mat mat = matService.selectByMatnr(locDetl.getMatnr()); |
| | | if (mat != null) { |
| | | locDetl.sync(mat); |
| | | } |
| | | } |
| | | response.setContentType("application/vnd.ms-excel"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | String fileName = URLEncoder.encode("库存预警明细", "UTF-8"); |
| | | response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); |
| | | EasyExcel.write(response.getOutputStream(), LocDetlWarningDTO.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .sheet("表1") |
| | | .doWrite(list); |
| | | } |
| | | |
| | | // @RequestMapping(value = "/manlocDetl/updateStockFreeze/auth") |
| | | // @ManagerAuth(memo = "库位冻结") |
| | | // public R updateStockFreeze(ManLocDetl manLocDetl){ |
| | | // if (Cools.isEmpty(manLocDetl) || null==manLocDetl.getMatnr()){ |
| | | // return R.error(); |
| | | // } |
| | | // manLocDetlService.updateStockFreeze(manLocDetl.getMatnr(), manLocDetl.getLocNo(), manLocDetl.getStockFreeze()); |
| | | // return R.ok(); |
| | | // } |
| | | |
| | | @RequestMapping(value = "/manlocDetl/updateStockFreeze") |
| | | @ManagerAuth(memo = "库位冻结") |
| | | public R updateStockFreeze(@RequestParam String param){ |
| | | List<ManLocDetl> list = JSONArray.parseArray(param, ManLocDetl.class); |
| | | if (Cools.isEmpty(list)){ |
| | | return R.error("无数据"); |
| | | } |
| | | for (ManLocDetl manLocDetl : list){ |
| | | manLocDetl.setStockFreeze(0); |
| | | if (manLocDetlService.updateStockFreeze(manLocDetl.getMatnr(), manLocDetl.getLocNo(), manLocDetl.getStockFreeze()) != 1){ |
| | | return R.error(manLocDetl.getMatnr()+"冻结失败"); |
| | | } |
| | | |
| | | } |
| | | return R.ok("冻结成功"); |
| | | } |
| | | |
| | | @RequestMapping(value = "/manlocDetl/updateStockDisFreeze") |
| | | @ManagerAuth(memo = "库位解冻") |
| | | public R updateStockDisFreeze(@RequestParam String param){ |
| | | List<ManLocDetl> list = JSONArray.parseArray(param, ManLocDetl.class); |
| | | if (Cools.isEmpty(list)){ |
| | | return R.error("无数据"); |
| | | } |
| | | for (ManLocDetl manLocDetl : list){ |
| | | manLocDetl.setStockFreeze(1); |
| | | if (manLocDetlService.updateStockFreeze(manLocDetl.getMatnr(), manLocDetl.getLocNo(), manLocDetl.getStockFreeze()) != 1){ |
| | | return R.error(manLocDetl.getMatnr()+"解除冻结失败"); |
| | | } |
| | | |
| | | } |
| | | return R.ok("解除冻结成功"); |
| | | } |
| | | } |