到货检验单删除前校验审核状态和是否存在下游的不合格检验单
This commit is contained in:
parent
adfef3a109
commit
75864f8c5f
|
@ -36,6 +36,7 @@ import nc.vo.pub.lang.UFDateTime;
|
|||
import nc.vo.pub.lang.UFDouble;
|
||||
import nc.vo.pub.pf.BillStatusEnum;
|
||||
import nc.vo.pubapp.pattern.pub.MathTool;
|
||||
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
||||
import nc.vo.scmf.ic.mbatchcode.BatchcodeVO;
|
||||
import nccloud.framework.core.exception.ExceptionUtils;
|
||||
|
||||
|
@ -345,6 +346,7 @@ public class DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydMa
|
|||
public AggDhjydMasterVO[] deleteAggDhjydMasterVOs(Map<String, String> tsMap) throws BusinessException {
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class, tsMap.keySet().toArray(new String[0]));
|
||||
validate(vos, tsMap);
|
||||
validateStatusBeforeDel(vos);
|
||||
String pk_group = InvocationInfoProxy.getInstance().getGroupId();
|
||||
Arrays.stream(vos).forEach(vo -> {
|
||||
String code = (String) getMainVO(vo).getAttributeValue("code");
|
||||
|
@ -389,6 +391,49 @@ public class DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydMa
|
|||
}
|
||||
}
|
||||
|
||||
// 到货检验单删除前校验审核状态和是否存在下游的不合格检验单
|
||||
private void validateStatusBeforeDel(AggDhjydMasterVO[] vos) throws BusinessException {
|
||||
String error = ""; // 错误信息
|
||||
for (int i = 0; i < vos.length; i++) {
|
||||
AggDhjydMasterVO vo = vos[i];
|
||||
DhjydMasterVO mainVo = vo.getParentVO();
|
||||
String transtype = mainVo.getTranstype();
|
||||
String srcbillid = mainVo.getSrcbillid();// 到货单主键
|
||||
if (srcbillid == null || "".equals(srcbillid)) {
|
||||
continue;
|
||||
}
|
||||
String pk_chekbill_h = mainVo.getPk_chekbill_h();
|
||||
// 类型是到货检验单的判断
|
||||
if ("DHJY-Cxx-01".equals(transtype)) {
|
||||
// 判断是否存在相同来源的检验单已审核,不包含自身
|
||||
SqlBuilder countSql = new SqlBuilder();
|
||||
countSql.append("select count(1) from hfdl_chekbill_h ");
|
||||
countSql.append("where nvl(dr, 0) = 0");
|
||||
countSql.append(" and approvestatus = 1");
|
||||
countSql.append(" and srcbillid = '" + srcbillid + "'");
|
||||
countSql.append(" and pk_chekbill_h != '" + pk_chekbill_h + "'");
|
||||
Integer statusNum = (Integer) getBaseDAO().executeQuery(countSql.toString(), new ColumnProcessor());
|
||||
if (statusNum > 0) {
|
||||
error += "存在相同来源的到货检验单已审批,不能删除!\n";
|
||||
break;
|
||||
}
|
||||
countSql.reset();
|
||||
countSql.append("select count(1) from hfdl_chekbill_h ");
|
||||
countSql.append("where nvl(dr, 0) = 0");
|
||||
countSql.append(" and transtype = 'DHJY-Cxx-02'");
|
||||
countSql.append(" and srcbillid = '" + pk_chekbill_h + "'");
|
||||
Integer billNum = (Integer) getBaseDAO().executeQuery(countSql.toString(), new ColumnProcessor());
|
||||
if (billNum > 0) {
|
||||
error += "存在关联的不合格检验单,不能删除!\n";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!"".equals(error)) {
|
||||
throw new BusinessException(error);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T[] loadTreeData(Class<T> clazz, Map<String, Object> userJson) throws BusinessException {
|
||||
String condition = "dr = 0 ";
|
||||
|
|
Loading…
Reference in New Issue