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)); }