检验单弃审时验证到货单是否已入库
This commit is contained in:
parent
2555e3c304
commit
168f1283e9
|
@ -12,39 +12,40 @@ import nccloud.framework.core.exception.ExceptionUtils;
|
|||
import nc.vo.pu.dhjyd.AggDhjydMasterVO;
|
||||
import nc.itf.pu.dhjyd.dhjydmaster.IDhjydMasterVOService;
|
||||
|
||||
public class PFlowDhjydMasterVOAction extends BaseAction{
|
||||
public class PFlowDhjydMasterVOAction extends BaseAction {
|
||||
|
||||
@Override
|
||||
public Object doAction(IRequest request, RequstParamWapper paramWapper) throws Throwable{
|
||||
RequestDTO param = VOTransform.toVO(paramWapper.requestString,RequestDTO.class);
|
||||
Map<String,String> tsMap = param.getTsMap();
|
||||
public Object doAction(IRequest request, RequstParamWapper paramWapper) throws Throwable {
|
||||
RequestDTO param = VOTransform.toVO(paramWapper.requestString, RequestDTO.class);
|
||||
Map<String, String> tsMap = param.getTsMap();
|
||||
String actionName = param.getActionName();
|
||||
if(tsMap==null || tsMap.size()==0){
|
||||
if (tsMap == null || tsMap.size() == 0) {
|
||||
ExceptionUtils.wrapBusinessException("请选择需要操作的数据!");
|
||||
}
|
||||
Map<String,Object> userJson = param.getUserJson();
|
||||
Object assign=null;//指派信息
|
||||
if(userJson!=null&&userJson.get("assign")!=null) {//获取指派信息
|
||||
Map<String, Object> userJson = param.getUserJson();
|
||||
Object assign = null;// 指派信息
|
||||
if (userJson != null && userJson.get("assign") != null) {// 获取指派信息
|
||||
assign = userJson.get("assign");
|
||||
}
|
||||
|
||||
return this.exeFlow(actionName,tsMap,assign);
|
||||
return this.exeFlow(actionName, tsMap, assign);
|
||||
}
|
||||
private Object exeFlow(String actionName,Map<String,String> tsMap,Object assign) throws BusinessException{
|
||||
final String ACTION_SAVE="SAVE",ACTION_UNSAVE="UNSAVE";//提交、收回
|
||||
|
||||
private Object exeFlow(String actionName, Map<String, String> tsMap, Object assign) throws BusinessException {
|
||||
final String ACTION_SAVE = "SAVE", ACTION_UNSAVE = "UNSAVE";// 提交、收回
|
||||
IDhjydMasterVOService service = ServiceLocator.find(IDhjydMasterVOService.class);
|
||||
Object res = null;
|
||||
|
||||
if(tsMap.size()==1){//单个操作
|
||||
if(ACTION_SAVE.equals(actionName)){//单个提交
|
||||
res = service.commitAggDhjydMasterVO(actionName,tsMap,assign);
|
||||
}else if(ACTION_UNSAVE.equals(actionName)){//单个收回
|
||||
res = service.uncommitAggDhjydMasterVO(actionName,tsMap);
|
||||
if (tsMap.size() == 1) {// 单个操作
|
||||
if (ACTION_SAVE.equals(actionName)) {// 单个提交
|
||||
res = service.commitAggDhjydMasterVO(actionName, tsMap, assign);
|
||||
} else if (ACTION_UNSAVE.equals(actionName)) {// 单个收回
|
||||
res = service.uncommitAggDhjydMasterVO(actionName, tsMap);
|
||||
}
|
||||
}else{//批量操作
|
||||
if(ACTION_SAVE.equals(actionName)){//批量提交
|
||||
} else {// 批量操作
|
||||
if (ACTION_SAVE.equals(actionName)) {// 批量提交
|
||||
res = service.batchCommitAggDhjydMasterVO(actionName, tsMap);
|
||||
}else if(ACTION_UNSAVE.equals(actionName)){//批量收回
|
||||
} else if (ACTION_UNSAVE.equals(actionName)) {// 批量收回
|
||||
res = service.batchUncommitAggDhjydMasterVO(actionName, tsMap);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,8 +12,10 @@ import nc.vo.pub.lang.UFDateTime;
|
|||
import nc.uap.utils.InSQLCreator;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.beanutils.PropertyUtils;
|
||||
|
||||
import com.informix.util.stringUtil;
|
||||
|
||||
import org.apache.commons.beanutils.PropertyUtils;
|
||||
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nc.vo.pub.BusinessRuntimeException;
|
||||
|
@ -27,64 +29,70 @@ import nc.vo.pu.dhjyd.DhjydMasterVO;
|
|||
import nc.vo.pu.dhjyd.DhjydSlave0VO;
|
||||
import nc.vo.pu.dhjyd.AggDhjydMasterVO;
|
||||
import nc.itf.pu.dhjyd.dhjydmaster.IDhjydMasterVOService;
|
||||
|
||||
|
||||
import nc.jdbc.framework.processor.ColumnProcessor;
|
||||
import nc.vo.pub.pf.BillStatusEnum;
|
||||
import nc.bs.dao.BaseDAO;
|
||||
import nc.bs.framework.common.InvocationInfoProxy;
|
||||
import nccloud.framework.core.exception.ExceptionUtils;
|
||||
|
||||
public class DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydMasterVOService {
|
||||
public class DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydMasterVOService {
|
||||
|
||||
private BaseDAO baseDAO = null;
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] listAggDhjydMasterVOByPk(String...pks) throws BusinessException{
|
||||
return listAggDhjydMasterVOByPk(false,pks);
|
||||
public AggDhjydMasterVO[] listAggDhjydMasterVOByPk(String... pks) throws BusinessException {
|
||||
return listAggDhjydMasterVOByPk(false, pks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] listAggDhjydMasterVOByPk(boolean blazyLoad,String... pks) throws BusinessException{
|
||||
return dao.listByPksWithOrder(AggDhjydMasterVO.class,pks,blazyLoad);
|
||||
public AggDhjydMasterVO[] listAggDhjydMasterVOByPk(boolean blazyLoad, String... pks) throws BusinessException {
|
||||
return dao.listByPksWithOrder(AggDhjydMasterVO.class, pks, blazyLoad);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO findAggDhjydMasterVOByPk(String pk) throws BusinessException{
|
||||
public AggDhjydMasterVO findAggDhjydMasterVOByPk(String pk) throws BusinessException {
|
||||
return dao.findByPk(AggDhjydMasterVO.class, pk, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] listAggDhjydMasterVOByCondition(String condition) throws BusinessException{
|
||||
return listAggDhjydMasterVOByCondition(condition,new String[]{"pk_chekbill_h"});
|
||||
public AggDhjydMasterVO[] listAggDhjydMasterVOByCondition(String condition) throws BusinessException {
|
||||
return listAggDhjydMasterVOByCondition(condition, new String[] { "pk_chekbill_h" });
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] listAggDhjydMasterVOByCondition(String condition,String[] orderPath) throws BusinessException{
|
||||
return dao.listByCondition(AggDhjydMasterVO.class, condition, false,false,orderPath);
|
||||
public AggDhjydMasterVO[] listAggDhjydMasterVOByCondition(String condition, String[] orderPath)
|
||||
throws BusinessException {
|
||||
return dao.listByCondition(AggDhjydMasterVO.class, condition, false, false, orderPath);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DhjydMasterVO[] listDhjydMasterVOByPk(String... pks) throws BusinessException{
|
||||
public DhjydMasterVO[] listDhjydMasterVOByPk(String... pks) throws BusinessException {
|
||||
return dao.listByPk(DhjydMasterVO.class, pks, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DhjydMasterVO findDhjydMasterVOByPk(String pk) throws BusinessException{
|
||||
public DhjydMasterVO findDhjydMasterVOByPk(String pk) throws BusinessException {
|
||||
return dao.findByPk(DhjydMasterVO.class, pk, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DhjydMasterVO[] listDhjydMasterVOByCondition(String condition) throws BusinessException{
|
||||
return listDhjydMasterVOByCondition(condition,new String[]{"pk_chekbill_h"});
|
||||
}
|
||||
@Override
|
||||
public DhjydMasterVO[] listDhjydMasterVOByCondition(String condition,String[] orderPath) throws BusinessException{
|
||||
return dao.listByCondition(DhjydMasterVO.class, condition, false,false,orderPath);
|
||||
public DhjydMasterVO[] listDhjydMasterVOByCondition(String condition) throws BusinessException {
|
||||
return listDhjydMasterVOByCondition(condition, new String[] { "pk_chekbill_h" });
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] listDhjydMasterVOPkByCond(String condition) throws BusinessException{
|
||||
return listDhjydMasterVOPkByCond(condition,new String[]{"pk_chekbill_h"});
|
||||
public DhjydMasterVO[] listDhjydMasterVOByCondition(String condition, String[] orderPath) throws BusinessException {
|
||||
return dao.listByCondition(DhjydMasterVO.class, condition, false, false, orderPath);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] listDhjydMasterVOPkByCond(String condition,String[] orderPath) throws BusinessException{
|
||||
if(StringUtils.isEmpty(condition)) {
|
||||
public String[] listDhjydMasterVOPkByCond(String condition) throws BusinessException {
|
||||
return listDhjydMasterVOPkByCond(condition, new String[] { "pk_chekbill_h" });
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] listDhjydMasterVOPkByCond(String condition, String[] orderPath) throws BusinessException {
|
||||
if (StringUtils.isEmpty(condition)) {
|
||||
condition = " 1 = 1 ";
|
||||
}
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
@ -101,142 +109,152 @@ public class DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM
|
|||
return pks.toArray(new String[0]);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initDefaultData(DhjydMasterVO vo){
|
||||
if(vo.getAttributeValue("pk_group") == null){
|
||||
vo.setAttributeValue("pk_group",InvocationInfoProxy.getInstance().getGroupId());
|
||||
public void initDefaultData(DhjydMasterVO vo) {
|
||||
if (vo.getAttributeValue("pk_group") == null) {
|
||||
vo.setAttributeValue("pk_group", InvocationInfoProxy.getInstance().getGroupId());
|
||||
}
|
||||
if(vo.getAttributeValue("billmaker") == null){
|
||||
vo.setAttributeValue("billmaker",InvocationInfoProxy.getInstance().getUserId());
|
||||
if (vo.getAttributeValue("billmaker") == null) {
|
||||
vo.setAttributeValue("billmaker", InvocationInfoProxy.getInstance().getUserId());
|
||||
}
|
||||
if(vo.getAttributeValue("maketime") == null){
|
||||
vo.setAttributeValue("maketime",new UFDateTime(InvocationInfoProxy.getInstance().getBizDateTime()));
|
||||
if (vo.getAttributeValue("maketime") == null) {
|
||||
vo.setAttributeValue("maketime", new UFDateTime(InvocationInfoProxy.getInstance().getBizDateTime()));
|
||||
}
|
||||
if(vo.getAttributeValue("billtype") == null){
|
||||
vo.setAttributeValue("billtype","DHJY");
|
||||
if (vo.getAttributeValue("billtype") == null) {
|
||||
vo.setAttributeValue("billtype", "DHJY");
|
||||
}
|
||||
if(vo.getAttributeValue("approvestatus") == null){
|
||||
vo.setAttributeValue("approvestatus",BillStatusEnum.FREE.toIntValue());
|
||||
if (vo.getAttributeValue("approvestatus") == null) {
|
||||
vo.setAttributeValue("approvestatus", BillStatusEnum.FREE.toIntValue());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO preAddAggDhjydMasterVO(AggDhjydMasterVO vo,Map<String,Object> userJson) throws BusinessException{
|
||||
public AggDhjydMasterVO preAddAggDhjydMasterVO(AggDhjydMasterVO vo, Map<String, Object> userJson)
|
||||
throws BusinessException {
|
||||
|
||||
getMainVO(vo).setStatus(VOStatus.NEW);
|
||||
initDefaultData((DhjydMasterVO)getMainVO(vo));
|
||||
initDefaultData((DhjydMasterVO) getMainVO(vo));
|
||||
|
||||
//下面这段要判断是否是树表界面插件
|
||||
Map<String,String> data = userJson!=null && userJson.get("data") != null?(Map<String,String>)userJson.get("data"):null;
|
||||
if(data!=null && data.size()>0){
|
||||
// 下面这段要判断是否是树表界面插件
|
||||
Map<String, String> data = userJson != null && userJson.get("data") != null
|
||||
? (Map<String, String>) userJson.get("data")
|
||||
: null;
|
||||
if (data != null && data.size() > 0) {
|
||||
String parentKey = data.get("parentKey");
|
||||
String parentPk = data.get("parentPk");
|
||||
getMainVO(vo).setAttributeValue(parentKey,parentPk);
|
||||
getMainVO(vo).setAttributeValue(parentKey, parentPk);
|
||||
}
|
||||
|
||||
//编码规则生成vo的编码
|
||||
// 编码规则生成vo的编码
|
||||
BillCodeContext billCodeContext = getBillCodeContext("pudhjyd");
|
||||
if(billCodeContext == null){
|
||||
throw new BusinessException("当前编码规则不存在,请到【编码规则定义-全局】节点检查是否存在"+"pudhjyd");
|
||||
if (billCodeContext == null) {
|
||||
throw new BusinessException("当前编码规则不存在,请到【编码规则定义-全局】节点检查是否存在" + "pudhjyd");
|
||||
}
|
||||
if(billCodeContext.isPrecode()){
|
||||
if (billCodeContext.isPrecode()) {
|
||||
String pk_group = InvocationInfoProxy.getInstance().getGroupId();
|
||||
String code = getBillcodeManage().getPreBillCode_RequiresNew("pudhjyd", pk_group, pk_group);
|
||||
getMainVO(vo).setAttributeValue("code",code);
|
||||
getMainVO(vo).setAttributeValue("code", code);
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO preAddAggDhjydMasterVO(Map<String,Object> userJson) throws BusinessException{
|
||||
public AggDhjydMasterVO preAddAggDhjydMasterVO(Map<String, Object> userJson) throws BusinessException {
|
||||
AggDhjydMasterVO result = null;
|
||||
|
||||
DhjydMasterVO mainvo = new DhjydMasterVO();
|
||||
//设置默认值
|
||||
// 设置默认值
|
||||
initDefaultData(mainvo);
|
||||
AggDhjydMasterVO aggvo = new AggDhjydMasterVO();
|
||||
aggvo.setParent(mainvo);
|
||||
result = aggvo;
|
||||
return preAddAggDhjydMasterVO(result,userJson);
|
||||
return preAddAggDhjydMasterVO(result, userJson);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO preEditAggDhjydMasterVO(String pk) throws BusinessException{
|
||||
public AggDhjydMasterVO preEditAggDhjydMasterVO(String pk) throws BusinessException {
|
||||
return dao.findByPk(AggDhjydMasterVO.class, pk, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO copyAggDhjydMasterVO(String pk) throws BusinessException{
|
||||
public AggDhjydMasterVO copyAggDhjydMasterVO(String pk) throws BusinessException {
|
||||
|
||||
AggDhjydMasterVO vo = dao.findByPk(AggDhjydMasterVO.class, pk, false);
|
||||
|
||||
getMainVO(vo).setPrimaryKey(null);
|
||||
getMainVO(vo).setStatus(VOStatus.NEW);
|
||||
|
||||
getMainVO(vo).setAttributeValue("srcbilltype",null);
|
||||
getMainVO(vo).setAttributeValue("srcbillid",null);
|
||||
getMainVO(vo).setAttributeValue("srcbilltype", null);
|
||||
getMainVO(vo).setAttributeValue("srcbillid", null);
|
||||
|
||||
getMainVO(vo).setAttributeValue("code",null);
|
||||
getMainVO(vo).setAttributeValue("",null);
|
||||
//编码规则生成vo的编码
|
||||
getMainVO(vo).setAttributeValue("code", null);
|
||||
getMainVO(vo).setAttributeValue("", null);
|
||||
// 编码规则生成vo的编码
|
||||
BillCodeContext billCodeContext = getBillCodeContext("pudhjyd");
|
||||
if(billCodeContext == null){
|
||||
throw new BusinessException("当前编码规则不存在,请到【编码规则定义-全局】节点检查是否存在"+"pudhjyd");
|
||||
if (billCodeContext == null) {
|
||||
throw new BusinessException("当前编码规则不存在,请到【编码规则定义-全局】节点检查是否存在" + "pudhjyd");
|
||||
}
|
||||
if(billCodeContext.isPrecode()){
|
||||
if (billCodeContext.isPrecode()) {
|
||||
String pk_group = InvocationInfoProxy.getInstance().getGroupId();
|
||||
String code = getBillcodeManage().getPreBillCode_RequiresNew("pudhjyd", pk_group, pk_group);
|
||||
getMainVO(vo).setAttributeValue("code",code);
|
||||
getMainVO(vo).setAttributeValue("code", code);
|
||||
}
|
||||
getMainVO(vo).setAttributeValue("approvestatus", BillStatusEnum.FREE.toIntValue());
|
||||
getMainVO(vo).setAttributeValue("billmaker", InvocationInfoProxy.getInstance().getUserId());
|
||||
getMainVO(vo).setAttributeValue("approver", null);
|
||||
getMainVO(vo).setAttributeValue("approvenote", null);
|
||||
getMainVO(vo).setAttributeValue("approvedate", null);
|
||||
//设置审计信息为空
|
||||
getMainVO(vo).setAttributeValue("creator",null);
|
||||
getMainVO(vo).setAttributeValue("creationtime",null);
|
||||
getMainVO(vo).setAttributeValue("modifier",null);
|
||||
getMainVO(vo).setAttributeValue("modifiedtime",null);
|
||||
// 设置审计信息为空
|
||||
getMainVO(vo).setAttributeValue("creator", null);
|
||||
getMainVO(vo).setAttributeValue("creationtime", null);
|
||||
getMainVO(vo).setAttributeValue("modifier", null);
|
||||
getMainVO(vo).setAttributeValue("modifiedtime", null);
|
||||
getMainVO(vo).setAttributeValue("maketime", new UFDateTime(InvocationInfoProxy.getInstance().getBizDateTime()));
|
||||
|
||||
DhjydSlave0VO[] dhjydSlave0VOs = (DhjydSlave0VO[])vo.getChildren(DhjydSlave0VO.class);
|
||||
if(dhjydSlave0VOs!=null && dhjydSlave0VOs.length>0){
|
||||
Arrays.stream(dhjydSlave0VOs).forEach(subvo->{
|
||||
DhjydSlave0VO[] dhjydSlave0VOs = (DhjydSlave0VO[]) vo.getChildren(DhjydSlave0VO.class);
|
||||
if (dhjydSlave0VOs != null && dhjydSlave0VOs.length > 0) {
|
||||
Arrays.stream(dhjydSlave0VOs).forEach(subvo -> {
|
||||
subvo.setPrimaryKey(null);
|
||||
subvo.setStatus(VOStatus.NEW);
|
||||
subvo.setAttributeValue("srcbilltype",null);
|
||||
subvo.setAttributeValue("srcbillid",null);
|
||||
subvo.setAttributeValue("srcbilltype", null);
|
||||
subvo.setAttributeValue("srcbillid", null);
|
||||
subvo.setAttributeValue("rowno", null);
|
||||
subvo.setAttributeValue("srcrowno", null);
|
||||
});
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] saveAggDhjydMasterVO(AggDhjydMasterVO vo) throws BusinessException{
|
||||
public AggDhjydMasterVO[] saveAggDhjydMasterVO(AggDhjydMasterVO vo) throws BusinessException {
|
||||
String pk = getVOPrimaryKey(vo);
|
||||
setDefaultVal(vo);
|
||||
if(StringUtils.isEmpty(pk)){
|
||||
return dao.insert(vo); //插入
|
||||
}else{
|
||||
return dao.update(vo); //更新
|
||||
if (StringUtils.isEmpty(pk)) {
|
||||
return dao.insert(vo); // 插入
|
||||
} else {
|
||||
return dao.update(vo); // 更新
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前处理编码规则
|
||||
*
|
||||
* @param vos
|
||||
*/
|
||||
private void setBillCode(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if(ArrayUtils.isNotEmpty(vos)) {
|
||||
for(AggDhjydMasterVO vo : vos) {
|
||||
if (ArrayUtils.isNotEmpty(vos)) {
|
||||
for (AggDhjydMasterVO vo : vos) {
|
||||
String pk = getVOPrimaryKey(vo);
|
||||
if(StringUtils.isEmpty(pk)){
|
||||
if (StringUtils.isEmpty(pk)) {
|
||||
BillCodeContext billCodeContext = getBillCodeContext("pudhjyd");
|
||||
String pk_group = InvocationInfoProxy.getInstance().getGroupId();
|
||||
if(billCodeContext!=null && !billCodeContext.isPrecode()){
|
||||
if(getMainVO(vo).getAttributeValue("code") == null){
|
||||
String code = getBillcodeManage().getBillCode_RequiresNew("pudhjyd", pk_group, pk_group, getMainVO(vo));
|
||||
getMainVO(vo).setAttributeValue("code",code);
|
||||
if (billCodeContext != null && !billCodeContext.isPrecode()) {
|
||||
if (getMainVO(vo).getAttributeValue("code") == null) {
|
||||
String code = getBillcodeManage().getBillCode_RequiresNew("pudhjyd", pk_group, pk_group,
|
||||
getMainVO(vo));
|
||||
getMainVO(vo).setAttributeValue("code", code);
|
||||
}
|
||||
} else {
|
||||
String code = (String) getMainVO(vo).getAttributeValue("code");
|
||||
|
@ -246,40 +264,44 @@ public class DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前设置审计信息
|
||||
*
|
||||
* @param vos
|
||||
*/
|
||||
private void setAuditInfo(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if(ArrayUtils.isNotEmpty(vos)) {
|
||||
if (ArrayUtils.isNotEmpty(vos)) {
|
||||
UFDateTime now = new UFDateTime();
|
||||
for(AggDhjydMasterVO vo : vos) {
|
||||
for (AggDhjydMasterVO vo : vos) {
|
||||
String pk = getVOPrimaryKey(vo);
|
||||
if(StringUtils.isEmpty(pk)){
|
||||
//设置创建人创建时间
|
||||
getMainVO(vo).setAttributeValue("creator",InvocationInfoProxy.getInstance().getUserId());
|
||||
getMainVO(vo).setAttributeValue("creationtime",now);
|
||||
getMainVO(vo).setAttributeValue("maketime",now);
|
||||
if (StringUtils.isEmpty(pk)) {
|
||||
// 设置创建人创建时间
|
||||
getMainVO(vo).setAttributeValue("creator", InvocationInfoProxy.getInstance().getUserId());
|
||||
getMainVO(vo).setAttributeValue("creationtime", now);
|
||||
getMainVO(vo).setAttributeValue("maketime", now);
|
||||
getMainVO(vo).setAttributeValue("billmaker", InvocationInfoProxy.getInstance().getUserId()); // 制单人
|
||||
getMainVO(vo).setAttributeValue("modifier",null);
|
||||
getMainVO(vo).setAttributeValue("modifiedtime",null);
|
||||
}else{
|
||||
//设置修改人修改时间
|
||||
getMainVO(vo).setAttributeValue("modifier",InvocationInfoProxy.getInstance().getUserId());
|
||||
getMainVO(vo).setAttributeValue("modifiedtime",now);
|
||||
getMainVO(vo).setAttributeValue("lastmaketime",now);
|
||||
getMainVO(vo).setAttributeValue("modifier", null);
|
||||
getMainVO(vo).setAttributeValue("modifiedtime", null);
|
||||
} else {
|
||||
// 设置修改人修改时间
|
||||
getMainVO(vo).setAttributeValue("modifier", InvocationInfoProxy.getInstance().getUserId());
|
||||
getMainVO(vo).setAttributeValue("modifiedtime", now);
|
||||
getMainVO(vo).setAttributeValue("lastmaketime", now);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前处理一些默认值
|
||||
*
|
||||
* @param vos
|
||||
*/
|
||||
private void setDefaultVal(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
setBillCode(vos);
|
||||
setAuditInfo(vos);
|
||||
//其他默认值处理
|
||||
// 其他默认值处理
|
||||
}
|
||||
|
||||
// 给单表(行编辑表)单独适配
|
||||
|
@ -303,237 +325,270 @@ public class DhjydMasterVOServiceImpl extends ServiceSupport implements IDhjydM
|
|||
throw new BusinessException("第" + (i + 1) + "张单据处理失败:单据状态不正确,不能删除!");
|
||||
}
|
||||
// 删除单据时回退单据号
|
||||
String code = (String)mainVO.getAttributeValue("code");
|
||||
String code = (String) mainVO.getAttributeValue("code");
|
||||
if (StringUtils.isNotEmpty(code)) {
|
||||
String pk_group = InvocationInfoProxy.getInstance().getGroupId();
|
||||
getBillcodeManage().returnBillCodeOnDelete("pudhjyd", pk_group, pk_group, code, deleteVOs[i]);
|
||||
}
|
||||
}
|
||||
return dao.save(vos,true);
|
||||
return dao.save(vos, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] deleteAggDhjydMasterVOs(Map<String,String> tsMap) throws BusinessException{
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class,tsMap.keySet().toArray(new String[0]));
|
||||
validate(vos,tsMap);
|
||||
public AggDhjydMasterVO[] deleteAggDhjydMasterVOs(Map<String, String> tsMap) throws BusinessException {
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class, tsMap.keySet().toArray(new String[0]));
|
||||
validate(vos, tsMap);
|
||||
String pk_group = InvocationInfoProxy.getInstance().getGroupId();
|
||||
Arrays.stream(vos).forEach(vo->{
|
||||
String code = (String)getMainVO(vo).getAttributeValue("code");
|
||||
Arrays.stream(vos).forEach(vo -> {
|
||||
String code = (String) getMainVO(vo).getAttributeValue("code");
|
||||
try {
|
||||
getBillcodeManage().returnBillCodeOnDelete("pudhjyd",pk_group,pk_group,code,vo);
|
||||
getBillcodeManage().returnBillCodeOnDelete("pudhjyd", pk_group, pk_group, code, vo);
|
||||
} catch (BusinessException e) {
|
||||
ExceptionUtils.wrapException(e.getMessage(),e);
|
||||
ExceptionUtils.wrapException(e.getMessage(), e);
|
||||
}
|
||||
});
|
||||
dao.delete(vos,true);
|
||||
dao.delete(vos, true);
|
||||
return vos;
|
||||
}
|
||||
|
||||
//校验 包括ts校验 已提交校验
|
||||
private void validate(AggDhjydMasterVO[] vos,Map<String,String> tsMap) throws BusinessException{
|
||||
// 校验 包括ts校验 已提交校验
|
||||
private void validate(AggDhjydMasterVO[] vos, Map<String, String> tsMap) throws BusinessException {
|
||||
|
||||
Boolean isPass = true;
|
||||
String error = ""; //错误信息
|
||||
if(ArrayUtils.isEmpty(vos)){
|
||||
String error = ""; // 错误信息
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
isPass = false;
|
||||
}
|
||||
|
||||
for(int i = 0 ; i < vos.length ; i++){
|
||||
for (int i = 0; i < vos.length; i++) {
|
||||
SuperVO mainvo = vos[i].getParentVO();
|
||||
UFDateTime ts = (UFDateTime)mainvo.getAttributeValue("ts");
|
||||
if(!StringUtils.equals(tsMap.get(mainvo.getPrimaryKey()),ts.toString())){
|
||||
UFDateTime ts = (UFDateTime) mainvo.getAttributeValue("ts");
|
||||
if (!StringUtils.equals(tsMap.get(mainvo.getPrimaryKey()), ts.toString())) {
|
||||
isPass = false;
|
||||
break;
|
||||
}
|
||||
Integer approvestatus = (Integer) mainvo.getAttributeValue("approvestatus");
|
||||
if(approvestatus == null || approvestatus != BillStatusEnum.FREE.toIntValue()){
|
||||
error += "第"+(i+1)+"张单据处理失败:审批状态不正确,不能删除!\n";
|
||||
if (approvestatus == null || approvestatus != BillStatusEnum.FREE.toIntValue()) {
|
||||
error += "第" + (i + 1) + "张单据处理失败:审批状态不正确,不能删除!\n";
|
||||
}
|
||||
}
|
||||
if(!isPass) {
|
||||
if (!isPass) {
|
||||
throw new BusinessException("您操作的数据已被他人修改或删除,请刷新后重试!");
|
||||
}
|
||||
if(!"".equals(error)){
|
||||
if (!"".equals(error)) {
|
||||
throw new BusinessException(error);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T[] loadTreeData(Class<T> clazz,Map<String,Object> userJson) throws BusinessException{
|
||||
public <T> T[] loadTreeData(Class<T> clazz, Map<String, Object> userJson) throws BusinessException {
|
||||
String condition = "dr = 0 ";
|
||||
return dao.listByCondition(clazz, condition, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] queryChildPksByParentId(Class childClazz, String parentId) throws BusinessException{
|
||||
public String[] queryChildPksByParentId(Class childClazz, String parentId) throws BusinessException {
|
||||
String cond = " pk_chekbill_h = '" + parentId + "' ";
|
||||
SuperVO[] vos = (SuperVO[]) dao.listByCondition(childClazz, cond, false);
|
||||
SuperVO[] vos = (SuperVO[]) dao.listByCondition(childClazz, cond, false);
|
||||
if (vos == null || vos.length == 0) {
|
||||
return new String[0];
|
||||
}
|
||||
return Stream.of(vos).map(vo -> vo.getPrimaryKey()).toArray(String[]::new);
|
||||
}
|
||||
|
||||
|
||||
public SuperVO[] queryChildVOByPks(Class childClazz, String[] pks) throws BusinessException{
|
||||
public SuperVO[] queryChildVOByPks(Class childClazz, String[] pks) throws BusinessException {
|
||||
return (SuperVO[]) dao.listByPk(childClazz, pks, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交前校验:
|
||||
* 检查单据状态
|
||||
* 提交前校验: 检查单据状态
|
||||
*
|
||||
* @throws BusinessException
|
||||
* */
|
||||
*/
|
||||
private void validateCommitAggDhjydMasterVO(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if(ArrayUtils.isEmpty(vos)) {
|
||||
return ;
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
return;
|
||||
}
|
||||
List<AggDhjydMasterVO> list = Arrays.stream(vos)
|
||||
.filter(item ->item.getParentVO()!=null)
|
||||
.filter(item->{
|
||||
Integer status = (Integer) item.getParentVO().getAttributeValue("approvestatus");
|
||||
return status==null||status!=BillStatusEnum.FREE.toIntValue()&&status!=BillStatusEnum.NOPASS.toIntValue();
|
||||
}).map(item->item)
|
||||
.collect(Collectors.toList());
|
||||
if(list == null||list.size() == 0) {
|
||||
List<AggDhjydMasterVO> list = Arrays.stream(vos).filter(item -> item.getParentVO() != null).filter(item -> {
|
||||
Integer status = (Integer) item.getParentVO().getAttributeValue("approvestatus");
|
||||
return status == null
|
||||
|| status != BillStatusEnum.FREE.toIntValue() && status != BillStatusEnum.NOPASS.toIntValue();
|
||||
}).map(item -> item).collect(Collectors.toList());
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
String errors = "";
|
||||
for(AggDhjydMasterVO vo : list) {
|
||||
errors+="单据号:["+vo.getParentVO().getAttributeValue("code")+"]提交失败,失败原因:单据状态不正确,请检查。\n";
|
||||
for (AggDhjydMasterVO vo : list) {
|
||||
errors += "单据号:[" + vo.getParentVO().getAttributeValue("code") + "]提交失败,失败原因:单据状态不正确,请检查。\n";
|
||||
}
|
||||
throw new BusinessException(errors);
|
||||
}
|
||||
|
||||
/**
|
||||
* 收回前校验:
|
||||
* 检查单据状态
|
||||
* 收回前校验: 检查单据状态
|
||||
*
|
||||
* @throws BusinessException
|
||||
* */
|
||||
*/
|
||||
private void validateUnCommitAggDhjydMasterVO(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if(ArrayUtils.isEmpty(vos)) {
|
||||
return ;
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
return;
|
||||
}
|
||||
List<AggDhjydMasterVO> list = Arrays.stream(vos)
|
||||
.filter(item ->item.getParentVO()!=null)
|
||||
.filter(item->{
|
||||
Integer status = (Integer)item.getParentVO().getAttributeValue("approvestatus");
|
||||
return status==null||status==BillStatusEnum.FREE.toIntValue();
|
||||
}).map(item->item)
|
||||
.collect(Collectors.toList());
|
||||
if(list == null||list.size() == 0) {
|
||||
List<AggDhjydMasterVO> list = Arrays.stream(vos).filter(item -> item.getParentVO() != null).filter(item -> {
|
||||
Integer status = (Integer) item.getParentVO().getAttributeValue("approvestatus");
|
||||
return status == null || status == BillStatusEnum.FREE.toIntValue();
|
||||
}).map(item -> item).collect(Collectors.toList());
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
String errors = "";
|
||||
for(AggDhjydMasterVO vo : list) {
|
||||
errors+="单据号:["+vo.getParentVO().getAttributeValue("code")+"]收回失败,失败原因:单据状态不正确,请检查。\n";
|
||||
for (AggDhjydMasterVO vo : list) {
|
||||
errors += "单据号:[" + vo.getParentVO().getAttributeValue("code") + "]收回失败,失败原因:单据状态不正确,请检查。\n";
|
||||
}
|
||||
throw new BusinessException(errors);
|
||||
}
|
||||
|
||||
private void validateUnCommitInOrder(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
return;
|
||||
}
|
||||
List<AggDhjydMasterVO> list = Arrays.stream(vos).filter(item -> item.getParentVO() != null).filter(item -> {
|
||||
String csourceid = (String) item.getParentVO().getAttributeValue("csourceid");
|
||||
return csourceid != null && !"".equals(csourceid);
|
||||
}).map(item -> item).collect(Collectors.toList());
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
String errors = "";
|
||||
for (AggDhjydMasterVO vo : list) {
|
||||
DhjydMasterVO jydMasterVO = vo.getParentVO();
|
||||
// 到货单的id 采购入库单的来源主键是到货单的主键
|
||||
String csourceid = jydMasterVO.getAttributeValue("csourceid") + "";
|
||||
if ("".equals(csourceid) || "null".equals(csourceid)) {
|
||||
continue;
|
||||
}
|
||||
// 查询采购入库单是否存在该id
|
||||
String countSql = "select count(1) from IC_PURCHASEIN_B where csourcebillhid = " + csourceid;
|
||||
Integer num = (Integer) getBaseDAO().executeQuery(countSql, new ColumnProcessor());
|
||||
if (num > 0) {
|
||||
errors += "单据号:[" + jydMasterVO.getAttributeValue("vbillcode") + "]收回失败,失败原因:到货单已入库,请勿收回。\n";
|
||||
}
|
||||
}
|
||||
if (!"".equals(errors)) {
|
||||
throw new BusinessException(errors);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object commitAggDhjydMasterVO(String actionName,Map<String,String> tsMap,Object assign) throws BusinessException{
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class,getAllPks(tsMap),false);
|
||||
validateTs(tsMap,vos);
|
||||
//提交前校验及业务逻辑
|
||||
public Object commitAggDhjydMasterVO(String actionName, Map<String, String> tsMap, Object assign)
|
||||
throws BusinessException {
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class, getAllPks(tsMap), false);
|
||||
validateTs(tsMap, vos);
|
||||
// 提交前校验及业务逻辑
|
||||
validateCommitAggDhjydMasterVO(vos);
|
||||
Map<String,Object> res = this.execFlows(actionName,"DHJY",assign,vos);
|
||||
//提交后业务逻辑
|
||||
Map<String, Object> res = this.execFlows(actionName, "DHJY", assign, vos);
|
||||
// 提交后业务逻辑
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object batchCommitAggDhjydMasterVO(String actionName,Map<String,String> tsMap) throws BusinessException{
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class,getAllPks(tsMap),false);
|
||||
validateTs(tsMap,vos);
|
||||
//批量提交前校验及业务逻辑
|
||||
public Object batchCommitAggDhjydMasterVO(String actionName, Map<String, String> tsMap) throws BusinessException {
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class, getAllPks(tsMap), false);
|
||||
validateTs(tsMap, vos);
|
||||
// 批量提交前校验及业务逻辑
|
||||
validateCommitAggDhjydMasterVO(vos);
|
||||
Map<String,Object> res = this.execFlows(actionName,"DHJY",vos);
|
||||
//批量提交后业务逻辑
|
||||
Map<String, Object> res = this.execFlows(actionName, "DHJY", vos);
|
||||
// 批量提交后业务逻辑
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object uncommitAggDhjydMasterVO(String actionName,Map<String,String> tsMap) throws BusinessException{
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class,getAllPks(tsMap),false);
|
||||
validateTs(tsMap,vos);
|
||||
//收回前校验及业务逻辑
|
||||
public Object uncommitAggDhjydMasterVO(String actionName, Map<String, String> tsMap) throws BusinessException {
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class, getAllPks(tsMap), false);
|
||||
validateTs(tsMap, vos);
|
||||
// 收回前校验及业务逻辑
|
||||
validateUnCommitAggDhjydMasterVO(vos);
|
||||
Map<String,Object> res = this.execFlows(actionName,"DHJY",vos);
|
||||
//收回后业务逻辑
|
||||
validateUnCommitInOrder(vos);
|
||||
Map<String, Object> res = this.execFlows(actionName, "DHJY", vos);
|
||||
// 收回后业务逻辑
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object batchUncommitAggDhjydMasterVO(String actionName,Map<String,String> tsMap) throws BusinessException{
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class,getAllPks(tsMap),false);
|
||||
validateTs(tsMap,vos);
|
||||
//批量收回前校验及业务逻辑
|
||||
public Object batchUncommitAggDhjydMasterVO(String actionName, Map<String, String> tsMap) throws BusinessException {
|
||||
AggDhjydMasterVO[] vos = dao.listByPk(AggDhjydMasterVO.class, getAllPks(tsMap), false);
|
||||
validateTs(tsMap, vos);
|
||||
// 批量收回前校验及业务逻辑
|
||||
validateUnCommitAggDhjydMasterVO(vos);
|
||||
Map<String,Object> res = this.execFlows(actionName,"DHJY",vos);
|
||||
//批量收回后业务逻辑
|
||||
Map<String, Object> res = this.execFlows(actionName, "DHJY", vos);
|
||||
// 批量收回后业务逻辑
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] callbackSAVEBASE(AggDhjydMasterVO...vos) throws BusinessException{
|
||||
if(ArrayUtils.isEmpty(vos)) {
|
||||
public AggDhjydMasterVO[] callbackSAVEBASE(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
return null;
|
||||
}
|
||||
return this.saveAggDhjydMasterVO(vos);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] callbackSAVE(AggDhjydMasterVO...vos) throws BusinessException{
|
||||
if(ArrayUtils.isEmpty(vos)) {
|
||||
public AggDhjydMasterVO[] callbackSAVE(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
return null;
|
||||
}
|
||||
//同步单据状态和审批状态(只有提交时候需要手动设置审批状态。其余审批完后审批状态都已更新)
|
||||
Arrays.stream(vos).forEach(v->{
|
||||
v.getParent().setAttributeValue("approvestatus",BillStatusEnum.COMMIT.toIntValue());
|
||||
// 同步单据状态和审批状态(只有提交时候需要手动设置审批状态。其余审批完后审批状态都已更新)
|
||||
Arrays.stream(vos).forEach(v -> {
|
||||
v.getParent().setAttributeValue("approvestatus", BillStatusEnum.COMMIT.toIntValue());
|
||||
});
|
||||
return this.saveAggDhjydMasterVO(vos);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] callbackUNSAVE(AggDhjydMasterVO...vos) throws BusinessException{
|
||||
if(ArrayUtils.isEmpty(vos)) {
|
||||
public AggDhjydMasterVO[] callbackUNSAVE(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
return null;
|
||||
}
|
||||
return this.saveAggDhjydMasterVO(vos);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] callbackAPPROVE(AggDhjydMasterVO...vos) throws BusinessException{
|
||||
if(ArrayUtils.isEmpty(vos)) {
|
||||
public AggDhjydMasterVO[] callbackAPPROVE(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
return null;
|
||||
}
|
||||
return this.saveAggDhjydMasterVO(vos);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AggDhjydMasterVO[] callbackUNAPPROVE(AggDhjydMasterVO...vos) throws BusinessException{
|
||||
if(ArrayUtils.isEmpty(vos)) {
|
||||
public AggDhjydMasterVO[] callbackUNAPPROVE(AggDhjydMasterVO... vos) throws BusinessException {
|
||||
if (ArrayUtils.isEmpty(vos)) {
|
||||
return null;
|
||||
}
|
||||
return this.saveAggDhjydMasterVO(vos);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BillCodeContext getBillCodeContext(String coderuleid) throws BusinessException{
|
||||
public BillCodeContext getBillCodeContext(String coderuleid) throws BusinessException {
|
||||
return super.getBillCodeContext(coderuleid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BillCodeContext getBillCodeContext(String coderuleid, String pkgroup, String pkorg) throws BusinessException{
|
||||
return super.getBillCodeContext(coderuleid,pkgroup,pkorg);
|
||||
public BillCodeContext getBillCodeContext(String coderuleid, String pkgroup, String pkorg)
|
||||
throws BusinessException {
|
||||
return super.getBillCodeContext(coderuleid, pkgroup, pkorg);
|
||||
}
|
||||
|
||||
private BaseDAO getBaseDAO() {
|
||||
if (this.baseDAO == null) {
|
||||
this.baseDAO = new BaseDAO();
|
||||
}
|
||||
return this.baseDAO;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue