From dc8a09b92e5047d1d40cffd713ec7abd4e474a5e Mon Sep 17 00:00:00 2001 From: lihao Date: Fri, 16 May 2025 09:39:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- so/META-INF/Updatecolse.rest | 6 + .../api/so/so/UpCloses/CloseSoResource.java | 105 ++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 so/META-INF/Updatecolse.rest create mode 100644 so/src/public/nccloud/api/so/so/UpCloses/CloseSoResource.java diff --git a/so/META-INF/Updatecolse.rest b/so/META-INF/Updatecolse.rest new file mode 100644 index 0000000..f4490c2 --- /dev/null +++ b/so/META-INF/Updatecolse.rest @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/so/src/public/nccloud/api/so/so/UpCloses/CloseSoResource.java b/so/src/public/nccloud/api/so/so/UpCloses/CloseSoResource.java new file mode 100644 index 0000000..2559c9e --- /dev/null +++ b/so/src/public/nccloud/api/so/so/UpCloses/CloseSoResource.java @@ -0,0 +1,105 @@ +package nccloud.api.so.so.UpCloses; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import nc.bs.framework.common.NCLocator; +import nc.itf.so.m30.closemanage.ISaleOrderCloseManageMaintain; +import nc.pubitf.so.m30.api.ISaleOrderQueryAPI; +import nc.pubitf.uapbd.IRateTypePubService; +import nc.vo.so.m30.entity.SaleOrderBVO; +import nc.vo.so.m30.entity.SaleOrderVO; +import nccloud.api.rest.utils.ResultMessageUtil; +import nccloud.framework.service.ServiceLocator; +import nccloud.pubitf.scmpub.pub.batchopr.dto.ISCMBatchOprContext; +import nccloud.pubitf.scmpub.pub.batchopr.dto.SCMBatchOprContext; +import nccloud.pubitf.scmpub.pub.batchopr.dto.SCMBatchResultDTO; +import nccloud.web.scmpub.pub.utils.batchopr.SCMBatchOperator; +import nccloud.ws.rest.resource.AbstractNCCRestResource; +import org.json.JSONString; + +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import java.util.Map; + +@Path("so/so/Close") +public class CloseSoResource extends AbstractNCCRestResource { + @Override + public String getModule() { + return "so"; + } + @POST + @Path("/ClosesoWith") + @Consumes({"application/json"}) + @Produces({"application/json"}) + public JSONString CloseSoResource(JSONString json) { + JSONObject errojson = new JSONObject(); + try { + JSONObject jObject = JSON.parseObject(json.toJSONString()); + if (jObject == null) { + return ResultMessageUtil.exceptionToJSON(new NullPointerException("JSONString:null")); + } + JSONArray array = jObject.getJSONArray("bills"); + if (array.isEmpty()) { + return ResultMessageUtil.exceptionToJSON(new NullPointerException("请选择销售订单")); + } + String[] ids = new String[array.size()]; + for (int i = 0; i < array.size(); i++) { + SaleOrderVO saleOrderVO = new SaleOrderVO(); + String pk = (String) array.getJSONObject(i).getOrDefault("pk", ""); + ids[i] = pk; + + } + ISaleOrderQueryAPI iSaleOrderQueryAPI= NCLocator.getInstance() + .lookup(ISaleOrderQueryAPI.class); + SaleOrderVO[] billvos = iSaleOrderQueryAPI.queryVOByIDs(ids); +// ISCMBatchOprContext context = new SCMBatchOprContext(); +// context.setInterfaceName("nc.itf.so.m30.closemanage.ISaleOrderCloseManageMaintain"); +// context.setMethodName("closeSaleOrder"); +// context.setParamTypes(new Class[]{SaleOrderVO[].class}); +// context.setParams(new Object[]{billvos}); +// context.setBillPos(0); + +// SCMBatchResultDTO resulet = SCMBatchOperator.doRemoteCall(context); + ISaleOrderCloseManageMaintain iSaleOrderCloseManageMaintain = NCLocator.getInstance() + .lookup(ISaleOrderCloseManageMaintain.class); + SaleOrderVO[] saleOrderVOS= iSaleOrderCloseManageMaintain.closeSaleOrder(billvos); + if(saleOrderVOS.length == 0){ + errojson.put("status", "0"); + errojson.put("message", "关闭失败"); + errojson.put("codeList", ""); + return ResultMessageUtil.toJSON(errojson); + + } + errojson.put("status", "1"); + errojson.put("message", "成功关闭"); + errojson.put("codeList", ""); + // 返回表示操作成功的JSON字符串 + return ResultMessageUtil.toJSON(errojson); + + + + } catch (Exception e) { + errojson.put("status", "0"); + errojson.put("message", e.getMessage()); + errojson.put("codeList", ""); + // 返回表示操作失败的JSON字符串 + return ResultMessageUtil.toJSON(errojson); + } + } + private void setCloseOpenReason(SaleOrderVO[] bills,String reason) { + for(SaleOrderVO bill : bills) { + SaleOrderBVO[] bodys = bill.getChildrenVO(); + + for(SaleOrderBVO body : bodys) { + body.setVclosereason(reason); + } + } + + } + + + +}