销售订单同步关闭
This commit is contained in:
parent
13d8c2b50a
commit
dc8a09b92e
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding='gb2312'?>
|
||||
<module>
|
||||
<rest>
|
||||
<resource classname="nccloud.api.so.so.UpCloses.CloseSoResource" exinfo="关闭订单"/>
|
||||
</rest>
|
||||
</module>
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue