jiaosong
2023-08-18 b5a63b29313463d1c2fd1b5678a2d6b2bb8a7044
server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java
@@ -37,10 +37,7 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
/**
 * 生产计划Service实现
@@ -167,6 +164,7 @@
        initPlanStatisticInfo(t);
        PlansExtListH5VO plan = new PlansExtListH5VO();
        BeanUtils.copyProperties(t,plan);
//        plan.setDoneNum();
        plan.setWorkorderList(workorderExtService.findByPlanId(plan,true));
        return plan;
    }
@@ -670,9 +668,9 @@
        order.setQrcodeId(barcodeParamExtService.getByType(user.getCompany().getId(),mp.getDepartId(),Constants.BARCODEPARAM_TYPE.workorder));
        order.setProUserList(param.getProUserList());
        order.setProGroupId(param.getProGroupId());
        //查询生产班组和人员是否合法
        checkUserAndGroup(order,mp,user);
        workorderExtMapper.insert(order);
        //查询生产班组和人员是否合法
        checkUserAndGroupNew(order,mp,user);
        //工单历史数据
        whList.add(WorkorderExtServiceImpl.initHistoryByModel(order,user.getId(),Constants.WORKORDER_HISTORY_STATUS.create));
        workorderHistoryExtMapper.insertBatch(whList);
@@ -683,6 +681,34 @@
            workorderUserExtMapper.insert(wu);
        }
        return order;
    }
    private void checkUserAndGroupNew(Workorder param, PlansExtListVO  model,LoginUserInfo user) throws BusinessException{
        QueryDeviceExtDTO ud = new QueryDeviceExtDTO();
        ud.setDeleted(Constants.ZERO);
        ud.setId(param.getProGroupId());
        ud.setRootDepartId(user.getRootDepartment().getId());
        //查询用户设备关联关系
        DeviceExtListVO d = deviceExtMapper.selectByModel( ud );
        if(d == null){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,生产设备信息不正确,请刷新页面重试!");
        }
        List<WorkorderUser> userList = new ArrayList<>();
        for(Integer userId : param.getProUserList()){
            WorkorderUser u = new WorkorderUser();
            u.setProUserId(userId);
            u.setPlanId(model.getId());
            u.setCreateUser(user.getId());
            u.setDeleted(Constants.ZERO);
            u.setCreateTime(DateUtil.getCurrentDate());
            u.setRootDepartId(model.getRootDepartId());
            u.setDepartId(model.getDepartId());
            userList.add(u);
        }
        param.setWorkorderUserList(userList);
    }
    private void checkUserAndGroup(Workorder param, PlansExtListVO  model,LoginUserInfo user) throws BusinessException{
@@ -1640,7 +1666,7 @@
        }
        //工单产出记录
        autoWorkReportDTO.getCreateWorkorderRecordDTO().setWorkorderId(workorder.getId());
        WorkorderRecord workorderRecord = workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user);
        WorkorderRecord workorderRecord = workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user,autoWorkReportDTO.getProUserList().get(Constants.ZERO));
        //工单报工
        workorderRecordStandardService.comfirmDone(workorder,false);
        //更新工单状态