// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package nccloud.openapi.mmbd.bom; import com.alibaba.fastjson.JSONObject; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import nc.bs.framework.common.NCLocator; import nc.itf.bd.bom.bom0202.IBomBillMaintainService; import nc.itf.bd.bom.bom0202.IBomBillQueryService; import nc.mmbd.utils.factoryparam.MMBDFactoryParameter; import nc.util.mmf.framework.base.MMValueCheck; import nc.vo.bd.bom.bom0202.entity.AggBomVO; import nc.vo.bd.bom.bom0202.entity.BomItemVO; import nc.vo.bd.bom.bom0202.entity.BomReplVO; import nc.vo.ml.NCLangRes4VoTransl; import nc.vo.pub.BusinessException; import nc.vo.pub.lang.UFDouble; import nccloud.api.mmbd.bom.IAPIBomBusinessService; import nccloud.api.rest.utils.ResultMessageUtil; import nccloud.framework.core.exception.ExceptionUtils; import nccloud.framework.service.ServiceLocator; import nccloud.ws.rest.resource.AbstractNCCRestResource; import org.json.JSONString; @Path("mmbd/bom") public class BomResource extends AbstractNCCRestResource { public BomResource() { } @POST @Path("operation/add") @Consumes({"application/json"}) @Produces({"application/json"}) public JSONString insert(JSONObject para) { List> paramList = (List)para.get("data"); if (MMValueCheck.isEmpty(paramList)) { return ResultMessageUtil.exceptionToJSON("传入数据异常,参数要包含表头信息和表体信息", "1"); } else { IAPIBomBusinessService service = (IAPIBomBusinessService)NCLocator.getInstance().lookup(IAPIBomBusinessService.class); JSONString result = service.insert(paramList); return result; } } @POST @Path("add") @Consumes({"application/json"}) @Produces({"application/json"}) public JSONString insert(List> paramList) { if (MMValueCheck.isEmpty(paramList)) { return ResultMessageUtil.exceptionToJSON("传入数据异常,参数要包含表头信息和表体信息", "1"); } else { IAPIBomBusinessService service = (IAPIBomBusinessService)NCLocator.getInstance().lookup(IAPIBomBusinessService.class); JSONString result = service.insert(paramList); return result; } } @POST @Path("operation/update") @Consumes({"application/json"}) @Produces({"application/json"}) public JSONString update(JSONObject para) { List> paramList = (List)para.get("data"); if (MMValueCheck.isEmpty(paramList)) { return ResultMessageUtil.exceptionToJSON("传入数据异常,参数要包含表头信息和表体信息", "1"); } else { IAPIBomBusinessService service = (IAPIBomBusinessService)NCLocator.getInstance().lookup(IAPIBomBusinessService.class); JSONString result = service.update(paramList); return result; } } @POST @Path("update") @Consumes({"application/json"}) @Produces({"application/json"}) public JSONString update(List> paramList) { if (MMValueCheck.isEmpty(paramList)) { return ResultMessageUtil.exceptionToJSON("传入数据异常,参数要包含表头信息和表体信息", "1"); } else { IAPIBomBusinessService service = (IAPIBomBusinessService)NCLocator.getInstance().lookup(IAPIBomBusinessService.class); JSONString result = service.update(paramList); return result; } } @POST @Path("query") @Consumes({"application/json"}) @Produces({"application/json"}) public JSONString query(Map paramMap) { if (MMValueCheck.isEmpty(paramMap)) { return ResultMessageUtil.exceptionToJSON("传入数据异常,未传入查询条件", "1"); } else { IAPIBomBusinessService service = (IAPIBomBusinessService)NCLocator.getInstance().lookup(IAPIBomBusinessService.class); JSONString result = service.query(paramMap); return result; } } @POST @Path("bomRepl/update") @Consumes({"application/json"}) @Produces({"application/json"}) public JSONString bomReplupdate(List> paramMap) throws BusinessException { if (MMValueCheck.isEmpty(paramMap)) { return ResultMessageUtil.exceptionToJSON("传入数据异常,未传入更新数据", "1"); } else { IAPIBomBusinessService service = (IAPIBomBusinessService)NCLocator.getInstance().lookup(IAPIBomBusinessService.class); // List<> IBomBillQueryService qry = (IBomBillQueryService)NCLocator.getInstance().lookup(IBomBillQueryService.class); IBomBillMaintainService bomBillMaintainService = (IBomBillMaintainService)NCLocator.getInstance().lookup(IBomBillMaintainService.class); List bomReplVOS=new ArrayList<>(); for (Map param : paramMap) { BomReplVO bomReplVO=new BomReplVO(); String cbomid = (String) param.get("cbomid"); AggBomVO[] aggbomvos = qry.queryAggBomByBomID(new String[]{cbomid}); if (MMValueCheck.isEmpty(aggbomvos)) { ExceptionUtils.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("bdpub", "0bdpub0057")); } for (AggBomVO aggBomVO : aggbomvos) { BomItemVO[] bomItemVOS =aggBomVO.getChildrenVO(); for (BomItemVO bomItemVO : bomItemVOS) { if(bomItemVO.getCbom_bid().equals((String) param.get("cbombid"))){ BomReplVO[] replVOS=bomItemVO.getRepl(); for (BomReplVO replVO : replVOS) { if (replVO.getCbom_replaceid().equals((String) param.get("cbom_replaceid"))){ replVO.setIreplorder(new UFDouble((Double) param.get("ireplorder")).intValue()); replVO.setVnote("测试123"); } } bomItemVO.setRepl(replVOS); } } aggBomVO.setChildrenVO(bomItemVOS); AggBomVO[] result = bomBillMaintainService.updateBomWithParam(new AggBomVO[]{aggBomVO}, false, false, MMBDFactoryParameter.getMMECN001Value(aggBomVO.getParentVO().getAttributeValue("pk_org").toString()).booleanValue(), true); bomReplVOS.addAll(List.of(result)); // String jsonString=result.toString(); } } return ResultMessageUtil.toJSON(bomReplVOS, "BOM更新成功"); } } public String getModule() { return "mmbd"; } }