This commit is contained in:
lihao 2025-06-21 16:08:53 +08:00
parent 9086a9d93b
commit 64b83e3f7e
1 changed files with 49 additions and 3 deletions

View File

@ -7,19 +7,31 @@ import nc.bs.framework.common.NCLocator;
import nc.itf.so.m30.closemanage.ISaleOrderCloseManageMaintain; import nc.itf.so.m30.closemanage.ISaleOrderCloseManageMaintain;
import nc.pubitf.so.m30.api.ISaleOrderQueryAPI; import nc.pubitf.so.m30.api.ISaleOrderQueryAPI;
import nc.pubitf.uapbd.IRateTypePubService; import nc.pubitf.uapbd.IRateTypePubService;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDateTime;
import nc.vo.scmpub.util.CombineViewToAggUtil;
import nc.vo.so.m30.entity.SaleOrderBVO; import nc.vo.so.m30.entity.SaleOrderBVO;
import nc.vo.so.m30.entity.SaleOrderHVO;
import nc.vo.so.m30.entity.SaleOrderVO; import nc.vo.so.m30.entity.SaleOrderVO;
import nc.vo.so.m30.entity.SaleOrderViewVO; import nc.vo.so.m30.entity.SaleOrderViewVO;
import nccloud.api.rest.utils.IJsonForAPI;
import nccloud.api.rest.utils.JsonFactoryForAPI;
import nccloud.api.rest.utils.ResultMessageUtil; import nccloud.api.rest.utils.ResultMessageUtil;
import nccloud.framework.core.json.IJson; import nccloud.framework.core.json.IJson;
import nccloud.framework.service.ServiceLocator; import nccloud.framework.service.ServiceLocator;
import nccloud.framework.web.json.JsonFactory; import nccloud.framework.web.json.JsonFactory;
import nccloud.pubitf.arap.arappub.IArapBillPubUtilService;
import nccloud.pubitf.scmpub.pub.batchopr.dto.ISCMBatchOprContext; import nccloud.pubitf.scmpub.pub.batchopr.dto.ISCMBatchOprContext;
import nccloud.pubitf.scmpub.pub.batchopr.dto.SCMBatchOprContext; import nccloud.pubitf.scmpub.pub.batchopr.dto.SCMBatchOprContext;
import nccloud.pubitf.scmpub.pub.batchopr.dto.SCMBatchResultDTO; import nccloud.pubitf.scmpub.pub.batchopr.dto.SCMBatchResultDTO;
import nccloud.pubitf.so.saleorderclose.service.IQuerySaleOrderCloseService;
import nccloud.pubitf.so.saleorderclose.service.ISaleOrderCloseMaintainService;
import nccloud.pubitf.so.saleorderclose.utils.SaleOrderCloseUtils;
import nccloud.util.so.TransBillUtil;
import nccloud.web.scmpub.pub.resexp.PfResumeExceptionNccUtils; import nccloud.web.scmpub.pub.resexp.PfResumeExceptionNccUtils;
import nccloud.web.scmpub.pub.utils.SCMBatchOperatorResult; import nccloud.web.scmpub.pub.utils.SCMBatchOperatorResult;
import nccloud.web.scmpub.pub.utils.batchopr.SCMBatchOperator; import nccloud.web.scmpub.pub.utils.batchopr.SCMBatchOperator;
import nccloud.web.scmpub.vocheck.VOSagaFrozenCheck;
import nccloud.web.so.saleorderclose.entity.SaleOrderCloseInfo; import nccloud.web.so.saleorderclose.entity.SaleOrderCloseInfo;
import nccloud.api.so.so.UpCloses.SaleOrderCloseUtil; import nccloud.api.so.so.UpCloses.SaleOrderCloseUtil;
import nccloud.ws.rest.resource.AbstractNCCRestResource; import nccloud.ws.rest.resource.AbstractNCCRestResource;
@ -29,6 +41,7 @@ import javax.ws.rs.Consumes;
import javax.ws.rs.POST; import javax.ws.rs.POST;
import javax.ws.rs.Path; import javax.ws.rs.Path;
import javax.ws.rs.Produces; import javax.ws.rs.Produces;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
@Path("so/so/Close") @Path("so/so/Close")
@ -111,10 +124,13 @@ public class CloseSoResource extends AbstractNCCRestResource {
if (array.isEmpty()) { if (array.isEmpty()) {
return ResultMessageUtil.exceptionToJSON(new NullPointerException("헝朞嶝饋簡땐데")); return ResultMessageUtil.exceptionToJSON(new NullPointerException("헝朞嶝饋簡땐데"));
} }
String[] stringArray = new String[array.size()];
IJson json1 = JsonFactory.create(); for (int i = 0; i < array.size(); i++) {
SaleOrderCloseInfo combineinfo = (SaleOrderCloseInfo)json1.fromJson(json.toJSONString(), SaleOrderCloseInfo.class); // 直接获取每个元素的字符串形式
SaleOrderViewVO[] result = SaleOrderCloseUtil.buttonClick(combineinfo, "billOpen"); stringArray[i] = array.getString(i);
}
SaleOrderViewVO[] result = this.buttonClick(stringArray, "billOpen");
if (result.length == 0 ){ if (result.length == 0 ){
errojson.put("status", "0"); errojson.put("status", "0");
errojson.put("message", "댔역呵겨"); errojson.put("message", "댔역呵겨");
@ -151,4 +167,34 @@ public class CloseSoResource extends AbstractNCCRestResource {
public static SaleOrderViewVO[] buttonClick(String [] bids, String buttonType) throws BusinessException {
SaleOrderViewVO[] vos = queryViewByBIDs(bids, "");
CombineViewToAggUtil<SaleOrderVO> combineViewToAggUtil = new CombineViewToAggUtil(SaleOrderVO.class, SaleOrderHVO.class, SaleOrderBVO.class);
SaleOrderVO[] bills = (SaleOrderVO[])combineViewToAggUtil.combineViewToAgg(vos, "csaleorderid");
ISaleOrderCloseMaintainService service=NCLocator.getInstance()
.lookup(ISaleOrderCloseMaintainService.class);
SaleOrderViewVO[] saleOrderViewVOS= service.billOpen(bills,false);
return saleOrderViewVOS;
}
public static SaleOrderViewVO[] queryViewByBIDs(String[] bidts, String vclosereason) throws BusinessException {
Map<String, UFDateTime> bid_ts = new HashMap();
String[] bids = TransBillUtil.splitBidts(bidts, bid_ts);
IQuerySaleOrderCloseService service = NCLocator.getInstance()
.lookup(IQuerySaleOrderCloseService.class);
SaleOrderViewVO[] vos = service.queryByIds(bids);
TransBillUtil.fillBodyTs(vos, "csaleorderbid", bid_ts);
SaleOrderCloseUtils.setCloseOpenReason(vos, vclosereason);
return vos;
}
} }