skyouc
6 天以前 e046dba174365eb8934ee1e4206f09821145e876
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.enums.LocAreaTypeSts;
@@ -26,6 +27,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
@Service("locDetlService")
public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
@@ -42,15 +44,14 @@
    @Override
    public PageParam<ViewLocDetl, BaseParam> getPage(PageParam<ViewLocDetl, BaseParam> pageParam, QueryWrapper<ViewLocDetl> buildWrapper) {
        PageParam<ViewLocDetl, BaseParam> result = viewLocDetlMapper.selectPage(pageParam, buildWrapper);
        //解析动态字段
        JSONObject data = JSON.parseObject(JSON.toJSONString(result));
        List<ViewLocDetl> records = result.getRecords();
        data.put("records", records);
        for (ViewLocDetl locDetl : records) {
            Map<String, Object> resultMap = viewLocDetlMapper.getById(locDetl.getId());
            locDetl.syncFieldMap(resultMap);
        }
//        JSONObject data = JSON.parseObject(JSON.toJSONString(result));
//        List<ViewLocDetl> records = result.getRecords();
//        data.put("records", records);
//        for (ViewLocDetl locDetl : records) {
//            Map<String, Object> resultMap = viewLocDetlMapper.getById(locDetl.getId());
//            locDetl.syncFieldMap(resultMap);
//        }
        return result;
    }
@@ -105,7 +106,7 @@
    public List<LocDetl> queryStock(String matnr, String batch, List<FieldParam> param, List<FieldSortParam> sortParam) {
        List<Map<String, Object>> list = viewLocDetlMapper.queryStock(matnr, batch, param, sortParam, LocAreaTypeSts.LOC_AREA_TYPE_UTC.id);
        List<LocDetl> locDetlsSort = resortDetls(list);
        return locDetlsSort;
        return locDetlsSort.stream().sorted(Comparator.comparing(LocDetl::getCreateTime)).collect(Collectors.toList());
    }
    private List<LocDetl> resortDetls(List<Map<String, Object>> list) {
@@ -156,6 +157,7 @@
            for (Integer row : direction) {
                Loc one = locService.getOne(new LambdaQueryWrapper<Loc>()
                                .select(Loc::getId)
                        .eq(Loc::getRow1, row)
                        .eq(Loc::getBay1, loc.getBay1())
                        .eq(Loc::getLev1, loc.getLev1()));
@@ -213,18 +215,18 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void removeLocDetl(Long locId) {
        List<LocDetl> locDetls = this.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, locId));
        for (LocDetl locDetl : locDetls) {
            boolean remove = locDetlFieldService.remove(new LambdaQueryWrapper<LocDetlField>().eq(LocDetlField::getDetlId, locDetl.getId()));
            if (!remove) {
                throw new CoolException("扩展字段删除失败");
            }
//            if (!remove) {
//                throw new CoolException("扩展字段删除失败");
//            }
            boolean result = this.removeById(locDetl.getId());
            if (!result) {
                throw new CoolException("明细删除失败");
            }
//            if (!result) {
//                throw new CoolException("明细删除失败");
//            }
        }
    }
@@ -239,4 +241,16 @@
        });
        return detls;
    }
    /**
     * 获取所有库存数量
     * @return
     */
    @Override
    public R getAllStockQty() {
        Map<String, Double> map = new HashMap<>();
        Double allQty = this.baseMapper.getAllStock();
        map.put("allQty", allQty);
        return R.ok().add(map);
    }
}