111
k94314517
2023-10-24 60b3a617617ae46ba72bc04cee50c67ddf30a76c
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));
                }