yangle
2022-04-24 ab08bd8ba626120eba10d22919948a1f9e112141
WebAPI/Controllers/SCGL/Cg_PODemandPlanBillController.cs
@@ -15,6 +15,8 @@
        public DataSet ds = new DataSet();
        public WebServer webserver = new WebServer();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        Cg_PODemandPlanBillMain omdelMian = new Cg_PODemandPlanBillMain();
        List<Cg_PODemandPlanBillSub> omodelsub = new List<Cg_PODemandPlanBillSub>();
        #region 提料计划单 列表
        [Route("Cg_PODemandPlanBill/Cg_PODemandPlanBillList")]
@@ -52,6 +54,150 @@
        }
        #endregion
        #region 提料计划单  添加/修改
        [Route("Cg_PODemandPlanBill/AddPODemandPlanBillList")]
        [HttpPost]
        public object AddPODemandPlanBillList([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            oCN.BeginTran();
            //保存主表
            objJsonResult = AddBillMain(msg1);
            if (objJsonResult.code == "0")
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = objJsonResult.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
            oCN.Commit();
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = "新增单据成功!";
            objJsonResult.data = null;
            return objJsonResult;
        }
        public json AddBillMain(string msg1)
        {
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string msg3 = sArray[1].ToString();
            int hentryid = int.Parse(sArray[2].ToString());//子表的顺序id
            int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改
            string user = sArray[4].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Cg_PODemandPlanBill_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject<Cg_PODemandPlanBillMain>(msg2);
                string BillType = "4608";
                if (OperationType == 1)//新增
                {
                    //主表
                    oCN.RunProc("insert into Cg_PODemandPlanBillMain(HInterID,HBillNo,HYear,HPeriod,HBillType" +
                                 ",HBillSubType,HDate,HBillStatus,HMaker,HMakeDate" +
                                 ",HSubORGID ,HAddress,HPURCHASEORGID,HSupplierID ,HSettleCurrId" +
                                 ",HRemark,HExplanation)" +
                                $"values({omdelMian.HInterID}, '{omdelMian.HBillNo}', {DateTime.Now.Year}, {DateTime.Now.Month}, '{BillType}'" +
                                $", '{BillType}','{omdelMian.HDate}',1, '{omdelMian.HMaker}',GETDATE()," +
                                $"{omdelMian.HSubORGID},'{omdelMian.HAddress}',{omdelMian.HPURCHASEORGID}, {omdelMian.HSupplierID}, {omdelMian.HSettleCurrId}" +
                                $",'{omdelMian.HRemark}','{omdelMian.HExplanation}')");
                }
                else if (OperationType == 3)
                {
                    //修改
                    oCN.RunProc($"update  Cg_PODemandPlanBillMain set HUpDater='{omdelMian.HMaker}',HUpDateDate=GETDATE()" +
                                $",HSubORGID={omdelMian.HSubORGID},HAddress='{omdelMian.HAddress}',HPURCHASEORGID={omdelMian.HPURCHASEORGID}" +
                                $",HSupplierID={omdelMian.HSupplierID},HSettleCurrId={omdelMian.HSettleCurrId}" +
                                $",HRemark='{omdelMian.HRemark}',HExplanation='{omdelMian.HExplanation}' where HInterID={omdelMian.HInterID}");
                }
                //保存子表
                objJsonResult = AddBillSub(msg3, hentryid);
                if (objJsonResult.code == "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = objJsonResult.Message;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = null;
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        public json AddBillSub(string msg3, int hentryid)
        {
            if (hentryid != -1)
            {
                //获取表格数据
                ds = oCN.RunProcReturn($"select * from  h_v_JIT_Cg_PODemandPlanBillList where 单据号='{omdelMian.HBillNo}'", "h_v_JIT_Cg_PODemandPlanBillList");
                //删除子表
                oCN.RunProc("delete from Cg_PODemandPlanBillSub where HInterID='" + omdelMian.HInterID.ToString() + "' and HEntryID='" + hentryid + "'");
            }
            omodelsub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Cg_PODemandPlanBillSub>>(msg3);
            int i = 1;
            //插入子表
            foreach (Models.Cg_PODemandPlanBillSub oSub in omodelsub)
            {
                oCN.RunProc("insert into Cg_PODemandPlanBillSub(HInterID,HEntryID,HLaterReason,HMaterID,HMaterName" +
                            ", HMaterModel, HUnitID, HErpClsID, HQty, HRemark" +
                            ", HPURCHASEORGID, HStatus, HFixleadTime, HDayPlanBillNo, HSourceInterID" +
                            ", HSourceEntryID, HSourceBillNo, HSourceBillType, HWorkShopID, HDayPlanDate" +
                            ", HRelationQty1, HPOOrderInterID, HPOOrderEntryID, HPOOrderBillNo, HPOOrderBillSEQ" +
                            ", HWWOrderInterID, HWWOrderEntryID, HWWOrderBillNo, HPurchaseDeptID, HCloseTypeSub" +
                            ", HCloseMan, HEntryCloseDate, HSendQty, HReciveQty, HCloseStatus" +
                            ", HRemoveQty, HSeOrderBillNo, HUnReciveQty, HPOOrderBillDate, HPOOrderBillDeliveryDate" +
                            ", HPOOrderBillRemark, HPOOrderBillNote)" +
                            $"values({omdelMian.HInterID}, {(hentryid == -1 ? i : omodelsub.Count == 1 ? hentryid : i == 1 ? hentryid : (i + ds.Tables[0].Rows.Count - 1))}, '{oSub.HLaterReason}', {(oSub.HMaterID == null ? 0 : oSub.HMaterID)}, '{oSub.HMaterName}'" +
                            $", '{oSub.HMaterModel}', {(oSub.HUnitID == null ? 0 : oSub.HUnitID)}, '{oSub.HErpClsID}', {(oSub.HQty == null ? 0 : oSub.HQty)}, '{oSub.HRemark}'" +
                            $", {(oSub.HPURCHASEORGID == null ? 0 : oSub.HPURCHASEORGID)}, '{oSub.HStatus}', {(oSub.HFixleadTime == null ? 0 : oSub.HFixleadTime)}, '{oSub.HDayPlanBillNo}', {oSub.HSourceInterID}" +
                            $", {oSub.HSourceEntryID}, '{oSub.HSourceBillNo}', '{oSub.HSourceBillType}', {(oSub.HWorkShopID == null ? 0 : oSub.HWorkShopID)}, '{oSub.HDayPlanDate}'" +
                            $", {(oSub.HRelationQty1 == null ? 0 : oSub.HRelationQty1)}, {(oSub.HPOOrderInterID == null ? 0 : oSub.HPOOrderInterID)},{(oSub.HPOOrderEntryID == null ? 0 : oSub.HPOOrderEntryID)}, '{oSub.HPOOrderBillNo}',{(oSub.HPOOrderBillSEQ == null ? 0 : oSub.HPOOrderBillSEQ)}" +
                            $",{(oSub.HWWOrderInterID == null ? 0 : oSub.HWWOrderInterID)},{(oSub.HWWOrderEntryID == null ? 0 : oSub.HWWOrderEntryID)}, '{oSub.HWWOrderBillNo}',{(oSub.HPurchaseDeptID == null ? 0 : oSub.HPurchaseDeptID)}, '{(oSub.HCloseTypeSub==true?1:0)}'" +
                            $", '{oSub.HCloseMan}','{oSub.HEntryCloseDate}',{(oSub.HSendQty == null ? 0 : oSub.HSendQty)},{(oSub.HReciveQty == null ? 0 : oSub.HReciveQty)}, '{(oSub.HCloseStatus==true?1:0)}'" +
                            $",{(oSub.HRemoveQty == null ? 0 : oSub.HRemoveQty)}, '{oSub.HSeOrderBillNo}',{(oSub.HUnReciveQty == null ? 0 : oSub.HUnReciveQty)}, '{oSub.HPOOrderBillDate}', '{oSub.HPOOrderBillDeliveryDate}'" +
                            $", '{oSub.HPOOrderBillRemark}', '{oSub.HPOOrderBillNote}')");
                i++;
            }
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = null;
            objJsonResult.data = null;
            return objJsonResult;
        }
        #endregion
        #region 提料计划单 删除
        [Route("Cg_PODemandPlanBill/DelPODemandPlanBillList")]
        [HttpGet]