| | |
| | | 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; |
| | |
| | | // } |
| | | // } |
| | | excludeTrash(param); |
| | | applyBeBatchFilter(param, wrapper); |
| | | convert(param, wrapper); |
| | | allLike(LocDetl.class, param.keySet(), wrapper, condition); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | |
| | | 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()); |
| | | String key = humpToLine(entry.getKey()); |
| | | 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])); |
| | | wrapper.ge(key, DateUtils.convert(dates[0])); |
| | | wrapper.le(key, DateUtils.convert(dates[1])); |
| | | } else { |
| | | if (entry.getKey().equals("locNo")) { |
| | | if ("loc_no".equals(key)) { |
| | | wrapper.eq("loc_no", String.valueOf(entry.getValue())); |
| | | } else { |
| | | wrapper.like(entry.getKey(), String.valueOf(entry.getValue())); |
| | | wrapper.like(key, String.valueOf(entry.getValue())); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | private <T> void applyBeBatchFilter(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | Object beBatchObj = map.remove("beBatch"); |
| | | if (beBatchObj == null) { |
| | | beBatchObj = map.remove("be_batch"); |
| | | } |
| | | if (beBatchObj == null) { |
| | | return; |
| | | } |
| | | String beBatch = String.valueOf(beBatchObj).trim(); |
| | | if (Cools.isEmpty(beBatch)) { |
| | | return; |
| | | } |
| | | if ("1".equals(beBatch)) { |
| | | wrapper.eq("be_batch", 1); |
| | | return; |
| | | } |
| | | if ("0".equals(beBatch)) { |
| | | wrapper.andNew().isNull("be_batch").or().eq("be_batch", 0); |
| | | return; |
| | | } |
| | | wrapper.eq("be_batch", beBatch); |
| | | } |
| | | |
| | | @RequestMapping(value = "/locDetl/add/auth") |
| | |
| | | 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){ |
| | |
| | | map.remove("row"); |
| | | } |
| | | } |
| | | applyBeBatchFilter(map, wrapper); |
| | | convert(map, wrapper); |
| | | if (!row.equals("")) { |
| | | wrapper.and() |
| | | .where("loc_no like '" + row + "%'"); |
| | | .where("loc_no like {0}", row + "%"); |
| | | } |
| | | List<LocDetl> list = locDetlService.selectList(wrapper); |
| | | 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)); |
| | | return R.ok(exportSupport(list, fields)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/locDetl/selectOwner/list/auth") |