111
k94314517
2023-08-18 ca27f46e204ee9772040b5b1170b0e2c1addc738
server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java
@@ -298,11 +298,11 @@
        wrModel.setMaterialId(wStock.getMaterialId());
        wrModel.setDepartId(mp.getDepartId());
        wrModel.setCreateTime(DateUtil.getCurrentDate());
        wrModel.setCreateUser(user.getId());
        wrModel.setCreateUser(mp.getCreateUser());
        wrModel.setMaterialBatch(mp.getBatch());
        wrModel.setType(Constants.WORKORDER_RECORD_TYPE.materail);
        wrModel.setFactoryId(mp.getFactoryId());
        wrModel.setProcedureId(mp.getProcedureId());
        wrModel.setProcedureId(wStock.getProcedureId());
        wrModel.setBatch(wStock.getBatch());
        wrModel.setUnitId(mp.getUnitId());
        wrModel.setPlanId(mp.getPlanId());
@@ -1527,13 +1527,16 @@
        workorderRecord = new WorkorderRecord();
        workorderRecord.setDeleted(Constants.ZERO);
        if(!Objects.isNull(userId)){
            CompanyUser companyUser = companyUserExtMapper.selectById(userId);
            CompanyUser companyUser = new CompanyUser();
            companyUser.setUserId(userId);
            companyUser.setRootDepartId(loginUserInfo.getRootDepartment().getId());
            companyUser =     companyUserExtMapper.selectOne(new QueryWrapper<>(companyUser).last("limit 1"));
            if(Objects.isNull(companyUser)){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起,未查询到生产人员对应企业用户信息!");
            }
            workorderRecord.setCreateUser(companyUser.getUserId());
            workorderRecord.setRootDepartId(companyUser.getRootDepartId());
            workorderRecord.setDepartId(companyUser.getComDepartId());
            workorderRecord.setCreateUser(userId);
            workorderRecord.setRootDepartId(loginUserInfo.getRootDepartment().getId());
            workorderRecord.setDepartId(loginUserInfo.getCurComDepartment().getId());
        }else{
            workorderRecord.setCreateUser(loginUserInfo.getId());
            workorderRecord.setRootDepartId(loginUserInfo.getRootDepartment().getId());
@@ -1555,8 +1558,8 @@
        workorderRecord.setQualifiedNum(createWorkorderRecordDTO.getQualifiedNum());
        //计算工资信息
        SalaryParam salaryParam = salaryParamMapper.selectOne(new QueryWrapper<SalaryParam>().eq("DELETED",Constants.ZERO).eq("MATERIAL_ID",workorderRecord.getMaterialId())
                .eq("DEPART_ID",workorderRecord.getFactoryId()).eq("PROCEDURE_ID",workorderRecord.getProcedureId()).last(" limit 1  "));
        if(!Objects.isNull(salaryParam)&&!Objects.isNull(createWorkorderRecordDTO.getDuration())){
                .eq("DEPART_ID",workorderRecord.getFactoryId()).eq("PROCEDURE_ID",workorderRecord.getProcedureId()).eq("TYPE",createWorkorderRecordDTO.getType()).last(" limit 1  "));
        if(!Objects.isNull(salaryParam)){
            workorderRecord.setSalaryPrice(salaryParam.getSalary());
            workorderRecord.setSalaryType(salaryParam.getType());
            workorderRecord.setSalaryUnqualified(salaryParam.getUnqualified());
@@ -1565,8 +1568,10 @@
                workorderRecord.setSalaryNum(salaryParam.getNum());
                workorderRecord.setSalary(salaryParam.getSalary().multiply(salaryParam.getUnqualified()==Constants.ONE?num:createWorkorderRecordDTO.getQualifiedNum()));
            }else{
                workorderRecord.setDuration(createWorkorderRecordDTO.getDuration());
                workorderRecord.setSalary(BigDecimal.valueOf(createWorkorderRecordDTO.getDuration()).multiply(salaryParam.getSalary()).divide(new BigDecimal(3600),BigDecimal.ROUND_HALF_UP));
                if(!Objects.isNull(createWorkorderRecordDTO.getDuration())&&Constants.formatIntegerNum(createWorkorderRecordDTO.getDuration())>Constants.ZERO){
                    workorderRecord.setDuration(createWorkorderRecordDTO.getDuration());
                    workorderRecord.setSalary(BigDecimal.valueOf(createWorkorderRecordDTO.getDuration()).multiply(salaryParam.getSalary()).divide(new BigDecimal(3600),BigDecimal.ROUND_HALF_UP));
                }
            }
        }
        //插入工单操作记录,并且判断是否更改为工单的状态【生产中】