feat: 过程检验 总体判定结果校验
This commit is contained in:
parent
c72ba6302e
commit
c5735e3688
@ -273,6 +273,18 @@ public class QmsInspecJob extends Model<QmsInspecJob> {
|
|||||||
@ApiModelProperty(value = "检验批")
|
@ApiModelProperty(value = "检验批")
|
||||||
private String inspectionBatch;
|
private String inspectionBatch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复核人
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "复核人")
|
||||||
|
private String checkUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复核时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "复核时间")
|
||||||
|
private LocalDateTime checkDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 引用物料性检验任务BO
|
* 引用物料性检验任务BO
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -348,6 +348,19 @@ public class QmsInspecJobController {
|
|||||||
return R.ok(qmsInspecJobService.selectPropertyInspectResult(dto));
|
return R.ok(qmsInspecJobService.selectPropertyInspectResult(dto));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过程检验资质校验
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "过程检验资质校验",notes = "过程检验资质校验")
|
||||||
|
@GetMapping("/selectQualification")
|
||||||
|
public R selectQualification(@RequestParam("user")String user,
|
||||||
|
@RequestParam("password")String password,
|
||||||
|
@RequestParam("qualification")String qualification,
|
||||||
|
@RequestParam("operationBo")String operationBo){
|
||||||
|
qmsInspecJobService.selectQualification(user,password,qualification,operationBo);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@GlobalTransactional
|
@GlobalTransactional
|
||||||
@ApiOperation(value = "根据operationBo+targetBo查询检验任务", notes = "根据operationBo+targetBo查询检验任务")
|
@ApiOperation(value = "根据operationBo+targetBo查询检验任务", notes = "根据operationBo+targetBo查询检验任务")
|
||||||
|
|||||||
@ -201,5 +201,10 @@ public interface QmsInspecJobService extends IService<QmsInspecJob> {
|
|||||||
*/
|
*/
|
||||||
QmsInspecJobDTO selectByHandle(String handle);
|
QmsInspecJobDTO selectByHandle(String handle);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资质校验
|
||||||
|
*/
|
||||||
|
void selectQualification (String user,String password,String qualification,String operationBo);
|
||||||
|
|
||||||
List<QmsInspecJob> getQmsInspecJobList(String site, String operationBo, String targetBo);
|
List<QmsInspecJob> getQmsInspecJobList(String site, String operationBo, String targetBo);
|
||||||
}
|
}
|
||||||
@ -25,6 +25,9 @@ import com.foreverwin.iep.common.spc.constant.SpcMethod;
|
|||||||
import com.foreverwin.iep.common.utils.HandleBoProcessor;
|
import com.foreverwin.iep.common.utils.HandleBoProcessor;
|
||||||
import com.foreverwin.iep.common.utils.ListUtils;
|
import com.foreverwin.iep.common.utils.ListUtils;
|
||||||
import com.foreverwin.iep.common.utils.SidUtils;
|
import com.foreverwin.iep.common.utils.SidUtils;
|
||||||
|
import com.foreverwin.iep.hrs.dto.QualiFicationDto;
|
||||||
|
import com.foreverwin.iep.hrs.entity.Qualification;
|
||||||
|
import com.foreverwin.iep.hrs.feign.RemoteQualificationService;
|
||||||
import com.foreverwin.iep.integration.feign.RemoteInvokeService;
|
import com.foreverwin.iep.integration.feign.RemoteInvokeService;
|
||||||
import com.foreverwin.iep.prd.constant.NextNumberTypeEnum;
|
import com.foreverwin.iep.prd.constant.NextNumberTypeEnum;
|
||||||
import com.foreverwin.iep.prd.domain.GenerateNextNumberRequest;
|
import com.foreverwin.iep.prd.domain.GenerateNextNumberRequest;
|
||||||
@ -88,6 +91,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static org.apache.commons.collections4.CollectionUtils.isEmpty;
|
import static org.apache.commons.collections4.CollectionUtils.isEmpty;
|
||||||
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 产品检验任务作业-主文件
|
* 产品检验任务作业-主文件
|
||||||
@ -160,6 +165,8 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
|
|
||||||
private final QmsProcessInspectionService qmsProcessInspectionService;
|
private final QmsProcessInspectionService qmsProcessInspectionService;
|
||||||
|
|
||||||
|
private final RemoteQualificationService remoteQualificationService;
|
||||||
|
|
||||||
private static final String OK = "1";
|
private static final String OK = "1";
|
||||||
|
|
||||||
private static final String NG = "0";
|
private static final String NG = "0";
|
||||||
@ -1559,6 +1566,9 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
}
|
}
|
||||||
List<QmsInspecDetailDTO> inspecDetailList = dto.getInspecDetailList();
|
List<QmsInspecDetailDTO> inspecDetailList = dto.getInspecDetailList();
|
||||||
saveAllInspecAndDetailResult(dto);
|
saveAllInspecAndDetailResult(dto);
|
||||||
|
if (!StringUtil.isEmpty(dto.getCheckUser())) {
|
||||||
|
dto.setCheckDateTime(LocalDateTime.now());
|
||||||
|
}
|
||||||
String inspecJobBo = inspecDetailList.get(0).getInspecJobBo();
|
String inspecJobBo = inspecDetailList.get(0).getInspecJobBo();
|
||||||
super.update(Wrappers.lambdaUpdate(QmsInspecJob.class)
|
super.update(Wrappers.lambdaUpdate(QmsInspecJob.class)
|
||||||
.set(QmsInspecJob::getResult, dto.getResult())
|
.set(QmsInspecJob::getResult, dto.getResult())
|
||||||
@ -1569,6 +1579,8 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
.set(QmsInspecJob::getCompleteDateTime,LocalDateTime.now())
|
.set(QmsInspecJob::getCompleteDateTime,LocalDateTime.now())
|
||||||
.set(QmsInspecJob::getJudgeUser, SecurityUtils.getUserName())
|
.set(QmsInspecJob::getJudgeUser, SecurityUtils.getUserName())
|
||||||
.set(QmsInspecJob::getJudgeDateTime,LocalDateTime.now())
|
.set(QmsInspecJob::getJudgeDateTime,LocalDateTime.now())
|
||||||
|
.set(QmsInspecJob::getCheckUser,dto.getCheckUser())
|
||||||
|
.set(QmsInspecJob::getCheckDateTime,dto.getCheckDateTime())
|
||||||
.eq(QmsInspecJob::getHandle,inspecJobBo));
|
.eq(QmsInspecJob::getHandle,inspecJobBo));
|
||||||
// 调用【基膜加严检验频率切换】逻辑
|
// 调用【基膜加严检验频率切换】逻辑
|
||||||
updateQcPlan(dto);
|
updateQcPlan(dto);
|
||||||
@ -2027,6 +2039,57 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
return qmsInspecJobMapper.getQmsInspecJobList(site, operationBo, targetBo, qcSubCategories);
|
return qmsInspecJobMapper.getQmsInspecJobList(site, operationBo, targetBo, qcSubCategories);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectQualification(String user, String password,String qualification,String operationBo) {
|
||||||
|
String site = TenantContextHolder.getTenantId();
|
||||||
|
//查询用户
|
||||||
|
List<Map<String, String>> mapList = baseMapper.selectUserRole(user);
|
||||||
|
if (mapList.isEmpty()) {
|
||||||
|
throw BusinessException.build("用户不存在");
|
||||||
|
}
|
||||||
|
boolean flag = new BCryptPasswordEncoder().matches(password, mapList.get(0).get("PASSWORD"));
|
||||||
|
if (!flag) {
|
||||||
|
throw BusinessException.build("密码错误");
|
||||||
|
}
|
||||||
|
//查询资质
|
||||||
|
QualiFicationDto quaData = remoteQualificationService.getApiById(Qualification.genHandle(site, qualification)).getData();
|
||||||
|
if (quaData == null) {
|
||||||
|
throw BusinessException.build("资质["+qualification+"]不存在");
|
||||||
|
}
|
||||||
|
//校验角色
|
||||||
|
List<String> roleCodeList = quaData.getRoleCodeList();
|
||||||
|
List<String> relevanceHandleList = quaData.getRelevanceHandleList();
|
||||||
|
boolean stopRoleFlag = false;
|
||||||
|
boolean stopHandleFlag = false;
|
||||||
|
for (int i = 0; i < mapList.size(); i++) {
|
||||||
|
Map<String, String> map = mapList.get(i);
|
||||||
|
for (String roleCode : roleCodeList) {
|
||||||
|
if (map.get("ROLE_CODE").equals(roleCode)) {
|
||||||
|
stopRoleFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (String relevaceHandle : relevanceHandleList ) {
|
||||||
|
if (relevaceHandle.equals(operationBo)) {
|
||||||
|
stopHandleFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (stopRoleFlag) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (stopHandleFlag) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!stopRoleFlag) {
|
||||||
|
throw BusinessException.build("用户["+user+"]没有资质["+qualification+"]的权限");
|
||||||
|
}
|
||||||
|
if (!stopHandleFlag) {
|
||||||
|
throw BusinessException.build("工序["+HandleBoProcessor.trimHandle(operationBo)+"]不在["+qualification+"]资质下");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建检验作业
|
* 创建检验作业
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.foreverwin.iep.qms.domain.ReceiptInfo;
|
|||||||
import com.foreverwin.iep.qms.domain.Resource;
|
import com.foreverwin.iep.qms.domain.Resource;
|
||||||
import com.foreverwin.iep.qms.dto.QmsInspecJobDTO;
|
import com.foreverwin.iep.qms.dto.QmsInspecJobDTO;
|
||||||
import com.foreverwin.iep.qms.entity.QmsInspecJob;
|
import com.foreverwin.iep.qms.entity.QmsInspecJob;
|
||||||
|
import com.foreverwin.mom.admin.api.entity.SysUser;
|
||||||
import com.foreverwin.mom.common.data.datascope.MomBaseMapper;
|
import com.foreverwin.mom.common.data.datascope.MomBaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@ -65,6 +66,8 @@ public interface QmsInspecJobMapper extends MomBaseMapper<QmsInspecJob> {
|
|||||||
List<String> selectLotNoByShop(@Param("shopOrderBo")String shopOrderBo,@Param("site")String site);
|
List<String> selectLotNoByShop(@Param("shopOrderBo")String shopOrderBo,@Param("site")String site);
|
||||||
//根据handle查询全部
|
//根据handle查询全部
|
||||||
QmsInspecJobDTO selectByHandle(@Param("handle")String handle);
|
QmsInspecJobDTO selectByHandle(@Param("handle")String handle);
|
||||||
|
//查询用户是否存在
|
||||||
|
List<Map<String,String>> selectUserRole(@Param("userName")String userName);
|
||||||
|
|
||||||
// 根据工序+生产批号查询检验细类为ZHPD,检验结果不为空的数据
|
// 根据工序+生产批号查询检验细类为ZHPD,检验结果不为空的数据
|
||||||
List<QmsInspecJob> getQmsInspecJobList(@Param("site") String site, @Param("operationBo")String operationBo, @Param("targetBo")String targetBo, @Param("qcSubCategories") String qcSubCategories);
|
List<QmsInspecJob> getQmsInspecJobList(@Param("site") String site, @Param("operationBo")String operationBo, @Param("targetBo")String targetBo, @Param("qcSubCategories") String qcSubCategories);
|
||||||
|
|||||||
@ -37,6 +37,8 @@
|
|||||||
<result property="physicsResult" column="PHYSICS_RESULT"/>
|
<result property="physicsResult" column="PHYSICS_RESULT"/>
|
||||||
<result property="storageLocationBo" column="STORAGE_LOCATION_BO"/>
|
<result property="storageLocationBo" column="STORAGE_LOCATION_BO"/>
|
||||||
<result property="physicsJobBo" column="PHYSICS_JOB_BO"/>
|
<result property="physicsJobBo" column="PHYSICS_JOB_BO"/>
|
||||||
|
<result property="checkUser" column="CHECK_USER"/>
|
||||||
|
<result property="checkDateTime" column="CHECK_DATE_TIME"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<resultMap id="full" type="com.foreverwin.iep.qms.dto.QmsInspecJobDTO" extends="qmsInspecJobMap">
|
<resultMap id="full" type="com.foreverwin.iep.qms.dto.QmsInspecJobDTO" extends="qmsInspecJobMap">
|
||||||
<result property="qcPlan" column="QC_PLAN"/>
|
<result property="qcPlan" column="QC_PLAN"/>
|
||||||
@ -578,4 +580,12 @@
|
|||||||
order by qij.DATE_CREATE desc
|
order by qij.DATE_CREATE desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectUserRole" resultType="java.util.HashMap">
|
||||||
|
SELECT sr.USERNAME ,sr.PASSWORD ,sl.ROLE_NAME ,sl.ROLE_CODE
|
||||||
|
from momx.SYS_USER sr
|
||||||
|
join momx.SYS_USER_ROLE se on se.USER_ID = sr.USER_ID
|
||||||
|
join momx.SYS_ROLE sl on sl.ROLE_ID = se.ROLE_ID
|
||||||
|
where USERNAME = #{userName}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user