|
@@ -249,12 +249,27 @@ public class StepWorkServiceImpl implements StepWorkService {
|
|
|
params.add(prodcode);
|
|
params.add(prodcode);
|
|
|
params.add(macode);
|
|
params.add(macode);
|
|
|
|
|
|
|
|
|
|
+ StringBuilder sqlWhere2 = new StringBuilder(" where DeviceType=? and pd_makecode=? ");
|
|
|
|
|
+ List<Object> params2 = new ArrayList<>();
|
|
|
|
|
+ params2.add(prodcode);
|
|
|
|
|
+ params2.add(macode);
|
|
|
|
|
+ String err ="";
|
|
|
// 将配置的所有字段作为等值条件加入查询
|
|
// 将配置的所有字段作为等值条件加入查询
|
|
|
for (String field : configFields) {
|
|
for (String field : configFields) {
|
|
|
Object val = inputMap.get(field);
|
|
Object val = inputMap.get(field);
|
|
|
// 传入值必非空(已校验),直接做等值匹配
|
|
// 传入值必非空(已校验),直接做等值匹配
|
|
|
sqlWhere.append(" and ").append(field).append("=? ");
|
|
sqlWhere.append(" and ").append(field).append("=? ");
|
|
|
params.add(val.toString());
|
|
params.add(val.toString());
|
|
|
|
|
+ params2.add(val.toString());
|
|
|
|
|
+ Integer pd_id = baseDao.getJdbcTemplate().queryForObject("select max(pd_id) from PRODPARAMDATA "+sqlWhere2 +" and "+field+"=? ",
|
|
|
|
|
+ Integer.class, params2.toArray()); // 根据实际 DAO 调整方法名
|
|
|
|
|
+ if (null == pd_id || pd_id <= 0) {
|
|
|
|
|
+ err += "个参-"+field+":"+val.toString()+",错误不存在!";
|
|
|
|
|
+ }
|
|
|
|
|
+ params2.remove(2);
|
|
|
|
|
+ }
|
|
|
|
|
+ if(!"".equals(err)){
|
|
|
|
|
+ return StepWorkApiResponse.failRsp(err);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
String sql = "select max(pd_id) from PRODPARAMDATA " + sqlWhere.toString();
|
|
String sql = "select max(pd_id) from PRODPARAMDATA " + sqlWhere.toString();
|
|
@@ -262,7 +277,7 @@ public class StepWorkServiceImpl implements StepWorkService {
|
|
|
if (null != pd_id && pd_id > 0) {
|
|
if (null != pd_id && pd_id > 0) {
|
|
|
baseDao.execute("update PRODPARAMDATA set pd_checkcount=nvl(pd_checkcount,0)+1 where pd_id=?",pd_id);
|
|
baseDao.execute("update PRODPARAMDATA set pd_checkcount=nvl(pd_checkcount,0)+1 where pd_id=?",pd_id);
|
|
|
}else{
|
|
}else{
|
|
|
- return StepWorkApiResponse.failRsp("工单[" + macode + "]+产品["+prodcode+"]中无任何个参数据与传入数据匹配!");
|
|
|
|
|
|
|
+ return StepWorkApiResponse.failRsp("工单[" + macode + "]+产品["+prodcode+"]中传入数据组合与个参数据不匹配!");
|
|
|
}
|
|
}
|
|
|
// ========== 所有校验通过,写入日志 ==========
|
|
// ========== 所有校验通过,写入日志 ==========
|
|
|
long id = baseDao.getSeqId("PRODPARAMCHECKLOGGER_SEQ"); // 请确认序列名
|
|
long id = baseDao.getSeqId("PRODPARAMCHECKLOGGER_SEQ"); // 请确认序列名
|