111
k94314517
2023-10-24 60b3a617617ae46ba72bc04cee50c67ddf30a76c
111
已修改4个文件
57 ■■■■■ 文件已修改
server/src/main/java/doumeemes/dao/business/model/WorkorderRecord.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/doumeemes/service/business/UnqualifiedRecordService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/doumeemes/dao/business/model/WorkorderRecord.java
@@ -13,6 +13,7 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * 工单类-工单生产过程记录表
@@ -183,4 +184,9 @@
    @ApiModelProperty(value = "工资结果(分)"  )
    private BigDecimal salary;
    @ApiModelProperty(value = "不良记录列表"  )
    @TableField(exist = false)
    private List<UnqualifiedRecord> unqualifiedRecordList;
}
server/src/main/java/doumeemes/service/business/UnqualifiedRecordService.java
@@ -99,4 +99,6 @@
    PageData<UnqualifiedRecord> findJoinPage(PageWrap<QueryUnQualifiedRecordDTO> pageWrap);
    List<UnqualifiedRecord> findJoinList(Integer recordId);
}
server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java
@@ -180,4 +180,37 @@
    }
    @Override
    public List<UnqualifiedRecord> findJoinList(Integer recordId) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!");
        }
        MPJLambdaWrapper<UnqualifiedRecord> mpjLambdaWrapper = new MPJLambdaWrapper<>();
        mpjLambdaWrapper.selectAll(UnqualifiedRecord.class);
        mpjLambdaWrapper.selectAs(Workorder::getCode, UnqualifiedRecord::getWorkOrderCode);
        mpjLambdaWrapper.selectAs(Material::getName, UnqualifiedRecord::getMaterialName);
        mpjLambdaWrapper.selectAs(Material::getCode, UnqualifiedRecord::getMaterialCode);
        mpjLambdaWrapper.selectAs(Procedures::getName, UnqualifiedRecord::getProceduresName);
        mpjLambdaWrapper.selectAs(Category::getName, UnqualifiedRecord::getCategoryName);
        mpjLambdaWrapper.selectAs(SystemUser::getRealname, UnqualifiedRecord::getCreateUserName);
        mpjLambdaWrapper.leftJoin(Workorder.class,Workorder::getId,UnqualifiedRecord::getWorkorderId);
        mpjLambdaWrapper.leftJoin(MaterialDistribute.class,MaterialDistribute::getId,Workorder::getMaterialId);
        mpjLambdaWrapper.leftJoin(Material.class,Material::getId,MaterialDistribute::getMaterialId);
        mpjLambdaWrapper.leftJoin(Procedures.class,Procedures::getId,Workorder::getProcedureId);
        mpjLambdaWrapper.leftJoin(Category.class,Category::getId,UnqualifiedRecord::getCategoryId);
        mpjLambdaWrapper.leftJoin(SystemUser.class,SystemUser::getId,UnqualifiedRecord::getCreateUser);
        //只能查看当前根组织的数据
        mpjLambdaWrapper.eq(Workorder::getRootDepartId,user.getRootDepartment().getId());
        //如果当前选择的公司级组织非根组织信息,只能查看当前选择公司级组织数据
        mpjLambdaWrapper.eq(Workorder::getDepartId,user.getCurComDepartment().getId());
        mpjLambdaWrapper.eq(UnqualifiedRecord::getDeleted,Constants.ZERO);
        mpjLambdaWrapper.eq(UnqualifiedRecord::getRecordId, recordId);
        List<UnqualifiedRecord> unqualifiedRecordList =  unQualifiedRecordJoinMapper.selectJoinList(UnqualifiedRecord.class,mpjLambdaWrapper);
        return unqualifiedRecordList;
    }
}
server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java
@@ -26,6 +26,7 @@
import doumeemes.dao.ext.dto.*;
import doumeemes.dao.ext.vo.*;
import doumeemes.dao.system.model.SystemDictData;
import doumeemes.service.business.UnqualifiedRecordService;
import doumeemes.service.business.WOutboundService;
import doumeemes.service.ext.*;
import doumeemes.service.system.SystemDictDataService;
@@ -89,6 +90,9 @@
    private UnqualifiedRecordMapper unqualifiedRecordMapper;
    @Autowired
    private CompanyUserExtMapper companyUserExtMapper;
    @Autowired
    private UnqualifiedRecordService unqualifiedRecordService;
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    @Override
@@ -1401,6 +1405,15 @@
    public List<WorkorderRecord> getWorkorderRecordList(Integer workorderId) {
        List<WorkorderRecord>  workorderRecordList = workorderRecordExtMapper.selectList(
                new QueryWrapper<WorkorderRecord>().eq("WORKORDER_ID",workorderId).eq("TYPE",Constants.ONE).eq("DELETED",Constants.ZERO).orderByAsc(" DONE_TYPE "));
        if(!Objects.isNull(workorderRecordList)&workorderRecordList.size()>Constants.ZERO){
            for (WorkorderRecord workorderRecord:workorderRecordList) {
                //查询不良产出记录详情 产出 且 不良 才存在该数据
                if(workorderRecord.getType().equals(Constants.ONE)&&workorderRecord.getUnqualifiedNum().compareTo(BigDecimal.ZERO)>Constants.ZERO){
                    List<UnqualifiedRecord> unqualifiedRecordList = unqualifiedRecordService.findJoinList(workorderRecord.getId());
                    workorderRecord.setUnqualifiedRecordList(unqualifiedRecordList);
                }
            }
        }
        return  workorderRecordList;
    }
@@ -1563,12 +1576,15 @@
            workorderRecord.setSalaryPrice(salaryParam.getSalary());
            workorderRecord.setSalaryType(salaryParam.getType());
            workorderRecord.setSalaryUnqualified(salaryParam.getUnqualified());
            workorderRecord.setSalaryTimes(salaryParam.getTimes());
            //计件工资
            if(salaryParam.getType().equals(Constants.ZERO)){
                workorderRecord.setSalaryNum(salaryParam.getNum());
                workorderRecord.setDuration(createWorkorderRecordDTO.getDuration());
                workorderRecord.setSalary(salaryParam.getSalary().multiply(salaryParam.getUnqualified()==Constants.ONE?num:createWorkorderRecordDTO.getQualifiedNum()));
            }else{
                if(!Objects.isNull(createWorkorderRecordDTO.getDuration())&&Constants.formatIntegerNum(createWorkorderRecordDTO.getDuration())>Constants.ZERO){
                    workorderRecord.setSalaryNum(salaryParam.getNum());
                    workorderRecord.setDuration(createWorkorderRecordDTO.getDuration());
                    workorderRecord.setSalary(BigDecimal.valueOf(createWorkorderRecordDTO.getDuration()).multiply(salaryParam.getSalary()).divide(new BigDecimal(3600),BigDecimal.ROUND_HALF_UP));
                }