chen.lin
1 天以前 bb7dd1f513149ecd2887895c807861fdd06a43f6
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
@@ -8,10 +8,7 @@
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
import com.vincent.rsf.server.manager.controller.params.CheckOrderItemParams;
import com.vincent.rsf.server.manager.controller.params.CheckOrderParams;
import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
import com.vincent.rsf.server.manager.controller.params.*;
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.entity.excel.CheckOrderTemplate;
import com.vincent.rsf.server.manager.enums.*;
@@ -213,7 +210,12 @@
    @Override
    public R getSiteNos() {
        List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type);
        List<DeviceSite> sites = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>().in(DeviceSite::getType, list).groupBy(DeviceSite::getSite));
        // 先查全部再按 site 去重,避免 GROUP BY 与 only_full_group_by 冲突
        List<DeviceSite> all = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>().in(DeviceSite::getType, list));
        List<DeviceSite> sites = all.stream()
                .collect(Collectors.toMap(DeviceSite::getSite, d -> d, (a, b) -> a))
                .values().stream()
                .collect(Collectors.toList());
        return R.ok().add(sites);
    }
@@ -239,13 +241,15 @@
     * @version 1.0
     */
    @Override
    public R getAllLocByMatnr(List<String> matnrs) {
    public R getAllLocByMatnr(CheckLocQueryParams matnrs) {
        if (Objects.isNull(matnrs.getMatnrCode()) && matnrs.getMatnrCode().isEmpty()) {
            throw new CoolException("参数不能为空!!");
        }
        List<LocItem> locItems = locItemService.listByMatnr(matnrs);
        if (!locItems.isEmpty()) {
            List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type);
            DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
                    .in(DeviceSite::getType, list)
                    .groupBy(DeviceSite::getSite)
                    .last("limit 1"));
            if (Objects.isNull(deviceSite)) {
                throw new CoolException("库口不为空!!");
@@ -310,8 +314,8 @@
                itemParams.forEach(item -> {
                    TaskItem taskItem = new TaskItem();
                    taskItem.setTaskId(task.getId())
                            .setOrderId(checkParam.getOrderId())
                            .setOrderType(OrderType.ORDER_CHECK.type)
                            .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.type))
                            .setAnfme(item.getAnfme())
                            .setWorkQty(0.0)
                            .setBatch(checkParam.getBatch())
@@ -319,15 +323,19 @@
                            .setMatnrCode(checkParam.getMatnrCode())
                            .setPlatOrderCode(checkParam.getPlatOrderCode())
                            .setPlatWorkCode(checkParam.getPlatWorkCode())
                            .setUnit(checkParam.getStockUnit())
                            .setSpec(checkParam.getSpec())
                            .setModel(checkParam.getModel())
                            .setFieldsIndex(checkParam.getFieldsIndex())
                            .setMatnrId(checkParam.getMatnrId())
                            .setCreateBy(loginUserId)
                            .setSource(checkParam.getId())
                            .setSourceId(checkParam.getOrderId())
                            .setSourceCode(checkParam.getOrderCode())
                            .setCreateTime(new Date())
                            .setUpdateBy(loginUserId)
                            .setUpdateTime(new Date())
                            .setOrderItemId(checkItem.getId())
                            .setOrderItemId(checkParam.getId())
                            .setOrderId(checkParam.getOrderId())
                            .setPlatItemId(checkParam.getPlatItemId());
                    items.add(taskItem);