|  |  |  | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.core.common.DateUtils; | 
|---|
|  |  |  | import com.core.common.R; | 
|---|
|  |  |  | import com.zy.asrs.entity.FrozenParam; | 
|---|
|  |  |  | import com.zy.asrs.entity.LocDetl; | 
|---|
|  |  |  | import com.zy.asrs.entity.LocOwner; | 
|---|
|  |  |  | import com.zy.asrs.entity.Mat; | 
|---|
|  |  |  | import com.zy.asrs.entity.param.AbnormalLocDetlParam; | 
|---|
|  |  |  | import com.zy.asrs.entity.result.LocDetlAll; | 
|---|
|  |  |  | import com.zy.asrs.entity.result.LocDetlDTO; | 
|---|
|  |  |  | import com.zy.asrs.mapper.LocDetlMapper; | 
|---|
|  |  |  | import com.zy.asrs.service.LocDetlService; | 
|---|
|  |  |  | import com.zy.asrs.service.LocOwnerService; | 
|---|
|  |  |  | import com.zy.asrs.service.MatService; | 
|---|
|  |  |  | import com.zy.common.web.BaseController; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocDetlService locDetlService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocDetlMapper locDetlMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private MatService matService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocOwnerService locOwnerService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/update") | 
|---|
|  |  |  | public R update1() { | 
|---|
|  |  |  | 
|---|
|  |  |  | return R.error(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/groupLocList/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R groupLocList(@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) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        List<LocDetl> result = new ArrayList<>(); | 
|---|
|  |  |  | List<AbnormalLocDetlParam> result = new ArrayList<>(); | 
|---|
|  |  |  | //        excludeTrash(param); | 
|---|
|  |  |  | param.put("curr", curr); | 
|---|
|  |  |  | param.put("limit", limit); | 
|---|
|  |  |  | Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class)); | 
|---|
|  |  |  | //        List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit); | 
|---|
|  |  |  | for (LocDetl locDetl : groupLocDetl.getRecords()) { | 
|---|
|  |  |  | AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam(); | 
|---|
|  |  |  | Mat mat = matService.selectOne(new EntityWrapper<Mat>() | 
|---|
|  |  |  | .eq("matnr", locDetl.getMatnr())); | 
|---|
|  |  |  | if (Cools.isEmpty(mat)) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(mat.getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) { | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); | 
|---|
|  |  |  | abnormalLocDetlParam.setAnfme(locDetl.getAnfme()); | 
|---|
|  |  |  | abnormalLocDetlParam.setMaktx(mat.getMaktx()); | 
|---|
|  |  |  | abnormalLocDetlParam.setMatnr(mat.getMatnr()); | 
|---|
|  |  |  | abnormalLocDetlParam.setSpecs(mat.getSpecs()); | 
|---|
|  |  |  | abnormalLocDetlParam.setBatch(locDetl.getBatch()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //                SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); | 
|---|
|  |  |  | //                Date maxDate = simple.parse(locDetl.getBatch()); | 
|---|
|  |  |  | //                long time = maxDate.getTime(); | 
|---|
|  |  |  | //                Date now = new Date(); | 
|---|
|  |  |  | //                long time1 = now.getTime(); | 
|---|
|  |  |  | //                abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24))); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) { | 
|---|
|  |  |  | result.add(abnormalLocDetlParam); | 
|---|
|  |  |  | } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) { | 
|---|
|  |  |  | result.add(abnormalLocDetlParam); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Page<AbnormalLocDetlParam> locDetlPage = new Page<>(); | 
|---|
|  |  |  | locDetlPage.setRecords(paging(result, curr, limit)); | 
|---|
|  |  |  | locDetlPage.setTotal(result.size()); | 
|---|
|  |  |  | locDetlPage.setCurrent(curr); | 
|---|
|  |  |  | locDetlPage.setSize(limit); | 
|---|
|  |  |  | return R.ok(locDetlPage); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private List<AbnormalLocDetlParam> paging(List<AbnormalLocDetlParam> result, Integer curr, Integer limit) { | 
|---|
|  |  |  | List<AbnormalLocDetlParam> pageRecord = new ArrayList<AbnormalLocDetlParam>(); | 
|---|
|  |  |  | int minIndex = (curr - 1) * limit; | 
|---|
|  |  |  | int maxIndex = (curr * limit) - 1; | 
|---|
|  |  |  | if (result.size() < maxIndex) { | 
|---|
|  |  |  | maxIndex = result.size(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (int i = minIndex; i < maxIndex; i++) { | 
|---|
|  |  |  | pageRecord.add(result.get(i)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return pageRecord; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/{id}/auth") | 
|---|
|  |  |  | 
|---|
|  |  |  | param.remove("modi_time"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class))); | 
|---|
|  |  |  | Page<LocDetl> stockOut = locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class)); | 
|---|
|  |  |  | if (stockOut.getRecords().size()==0){ | 
|---|
|  |  |  | stockOut = locDetlService.getStockOut(toPage(1, limit, param, LocDetl.class)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(stockOut); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/list/auth") | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/list/auth")// /locDetl/list/auth 接口问题 | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R list(@RequestParam(defaultValue = "1")Integer curr, | 
|---|
|  |  |  | @RequestParam(defaultValue = "10")Integer limit, | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestParam(required = false)String orderByType, | 
|---|
|  |  |  | @RequestParam(required = false)String condition, | 
|---|
|  |  |  | @RequestParam Map<String, Object> param){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String row = ""; | 
|---|
|  |  |  | //        String row = ""; | 
|---|
|  |  |  | EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); | 
|---|
|  |  |  | if (param.get("row") != null) { | 
|---|
|  |  |  | String chooseRow = (String) param.get("row"); | 
|---|
|  |  |  | if (chooseRow.length() == 1) { | 
|---|
|  |  |  | row = "0" + chooseRow; | 
|---|
|  |  |  | param.remove("row"); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | row = chooseRow; | 
|---|
|  |  |  | param.remove("row"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        if (param.get("row") != null) { | 
|---|
|  |  |  | //            String chooseRow = (String) param.get("row"); | 
|---|
|  |  |  | //            if (chooseRow.length() == 1) { | 
|---|
|  |  |  | //                row = "0" + chooseRow; | 
|---|
|  |  |  | //                param.remove("row"); | 
|---|
|  |  |  | //            }else { | 
|---|
|  |  |  | //                row = chooseRow; | 
|---|
|  |  |  | //                param.remove("row"); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | excludeTrash(param); | 
|---|
|  |  |  | convert(param, wrapper); | 
|---|
|  |  |  | allLike(LocDetl.class, param.keySet(), wrapper, condition); | 
|---|
|  |  |  | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} | 
|---|
|  |  |  | if (!row.equals("")){ | 
|---|
|  |  |  | wrapper.and() | 
|---|
|  |  |  | .where("loc_no like '" +row +"%'"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        if (!row.equals("")){ | 
|---|
|  |  |  | //            wrapper.and() | 
|---|
|  |  |  | //                    .where("loc_no like '" +row +"%'"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ | 
|---|
|  |  |  | for (Map.Entry<String, Object> entry : map.entrySet()){ | 
|---|
|  |  |  | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping(value = "/locDetl/frozenInventory") | 
|---|
|  |  |  | @ManagerAuth(memo = "库存冻结") | 
|---|
|  |  |  | public R frozen(@RequestBody List<FrozenParam> param){ | 
|---|
|  |  |  | if (param.size() == 0)  { | 
|---|
|  |  |  | return R.parse("未收到数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return locDetlService.frozenInventory(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping(value = "/locDetl/unfreezeInventory") | 
|---|
|  |  |  | @ManagerAuth(memo = "库存解冻") | 
|---|
|  |  |  | public R unfreeze(@RequestBody List<FrozenParam> param){ | 
|---|
|  |  |  | if (param.size() == 0)  { | 
|---|
|  |  |  | return R.parse("未收到数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return locDetlService.unfreezeInventory(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/export/auth") | 
|---|
|  |  |  | @ManagerAuth(memo = "库位明细导出") | 
|---|
|  |  |  | public R export(@RequestBody JSONObject param){ | 
|---|
|  |  |  | 
|---|
|  |  |  | if (chooseRow.length() == 1) { | 
|---|
|  |  |  | row = "0" + chooseRow; | 
|---|
|  |  |  | map.remove("row"); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | row = chooseRow; | 
|---|
|  |  |  | map.remove("row"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | convert(map, wrapper); | 
|---|
|  |  |  | if (!row.equals("")){ | 
|---|
|  |  |  | if (!row.equals("")) { | 
|---|
|  |  |  | wrapper.and() | 
|---|
|  |  |  | .where("loc_no like '" +row +"%'"); | 
|---|
|  |  |  | .where("loc_no like '" + row + "%'"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<LocDetl> list = locDetlService.selectList(wrapper); | 
|---|
|  |  |  | return R.ok(exportSupport(list, fields)); | 
|---|
|  |  |  | List<AbnormalLocDetlParam> result = new ArrayList<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class)); | 
|---|
|  |  |  | for (LocDetl locDetl : groupLocDetl.getRecords()) { | 
|---|
|  |  |  | AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam(); | 
|---|
|  |  |  | Mat mat = matService.selectOne(new EntityWrapper<Mat>() | 
|---|
|  |  |  | .eq("matnr", locDetl.getMatnr())); | 
|---|
|  |  |  | if (Cools.isEmpty(mat)) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(mat                                                                          .getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) { | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); | 
|---|
|  |  |  | abnormalLocDetlParam.setAnfme(locDetl.getAnfme()); | 
|---|
|  |  |  | abnormalLocDetlParam.setMaktx(mat.getMaktx()); | 
|---|
|  |  |  | abnormalLocDetlParam.setMatnr(mat.getMatnr()); | 
|---|
|  |  |  | abnormalLocDetlParam.setSpecs(mat.getSpecs()); | 
|---|
|  |  |  | abnormalLocDetlParam.setBatch(locDetl.getBatch()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //                SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd"); | 
|---|
|  |  |  | //                Date maxDate = simple.parse(locDetl.getBatch()); | 
|---|
|  |  |  | //                long time = maxDate.getTime(); | 
|---|
|  |  |  | //                Date now = new Date(); | 
|---|
|  |  |  | //                long time1 = now.getTime(); | 
|---|
|  |  |  | //                abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24))); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) { | 
|---|
|  |  |  | result.add(abnormalLocDetlParam); | 
|---|
|  |  |  | } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) { | 
|---|
|  |  |  | result.add(abnormalLocDetlParam); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(exportSupport(result, fields)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/selectOwner/list/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R selectOwnerlist(@RequestParam(defaultValue = "1")Integer curr, | 
|---|
|  |  |  | @RequestParam(defaultValue = "10")Integer limit, | 
|---|
|  |  |  | @RequestParam(required = false)String orderByField, | 
|---|
|  |  |  | @RequestParam(required = false)String orderByType, | 
|---|
|  |  |  | @RequestParam Map<String, Object> param){ | 
|---|
|  |  |  | Integer owner = null; | 
|---|
|  |  |  | if (param.get("owner$") != null && param.get("owner$") != ""){ | 
|---|
|  |  |  | LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().like("owner", (String) param.get("owner$"))); | 
|---|
|  |  |  | if(locOwner == null){ | 
|---|
|  |  |  | return R.error("参数有误!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | param.remove("owner$"); | 
|---|
|  |  |  | owner = locOwner.getId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | LocDetlDTO locDetlDTO = new LocDetlDTO(); | 
|---|
|  |  |  | locDetlDTO.setPageSize(limit); | 
|---|
|  |  |  | locDetlDTO.setPageNumber(curr); | 
|---|
|  |  |  | String locNo = String.valueOf(param.get("locNo")); | 
|---|
|  |  |  | String matnr = String.valueOf(param.get("matnr")); | 
|---|
|  |  |  | if (!Cools.isEmpty(locNo) && !locNo.equals("null")) { | 
|---|
|  |  |  | locDetlDTO.setLocNo(locNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(matnr) && !matnr.equals("null")) { | 
|---|
|  |  |  | locDetlDTO.setMatnr(matnr); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(owner) && !owner.equals("null")) { | 
|---|
|  |  |  | locDetlDTO.setOwner(owner); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<LocDetlAll> list = locDetlService.selectAllOwner(locDetlDTO); | 
|---|
|  |  |  | int count = locDetlService.selectAllCount(locDetlDTO); | 
|---|
|  |  |  | Page<LocDetlAll> page = new Page<>(); | 
|---|
|  |  |  | page.setRecords(list); | 
|---|
|  |  |  | page.setTotal(count); | 
|---|
|  |  |  | if (list.size()==0){ | 
|---|
|  |  |  | locDetlDTO.setPageNumber(1); | 
|---|
|  |  |  | list = locDetlService.selectAllOwner(locDetlDTO); | 
|---|
|  |  |  | count = locDetlService.selectAllCount(locDetlDTO); | 
|---|
|  |  |  | page = new Page<>(); | 
|---|
|  |  |  | page.setRecords(list); | 
|---|
|  |  |  | page.setTotal(count); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(page); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetlQuery/auth") | 
|---|