ch
2021-04-25 7208ffe65e1d67646dde1a4153f5fa6b9fcc9273
WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs
@@ -68,6 +68,142 @@
            }
        }
        /// <summary>
        /// 新增单据-保存按钮
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Cj_StationEntrustOutBill/AddBill")]
        [HttpPost]
        public object AddBill([FromBody] JObject oMain)
        {
            var _value = oMain["oMain"].ToString();
            string msg1 = _value.ToString();
            try
            {
                //部门基础资料反序列化
                msg1 = "[" + msg1.ToString() + "]";
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg1);
                long HInterID = list[0].HInterID;//递入type得到的单据ID
                int HYear = 2021;
                double HPeriod = list[0].HPeriod;//单价
                string HBillNo = list[0].HBillNo;//递入type得到的单据号
                int HBillStatus = 0;
                string HInnerBillNo = list[0].HInnerBillNo;//送货单号
                string HICMOBillNo = list[0].HICMOBillNo;//生产订单号
                long HICMOInterID = list[0].HICMOInterID;//生产订单号ID
                int HProcExchInterID = 0;
                int HProcExchEntryID = 0;
                string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡
                long HProcID = list[0].HProcID;//当前工序
                long HMaterID = list[0].HMaterID;//产品ID
                long HEmpID = list[0].HEmpID;//操作员ID
                long HSourceID = list[0].HSourceID;//生产资源ID
                long HGroupID = list[0].HGroupID;//班组ID
                double HICMOQty = list[0].HICMOQty;//任务单数量
                double HPlanQty = list[0].HPlanQty;//流转卡数量
                double HQty = list[0].HQty;//发出数量
                long HSupID = list[0].HSupID;//供应商ID
                double HPieceQty = list[0].HPieceQty;//发出件数
                string HSourceName = list[0].HSourceName;//
                double HPrice = list[0].HPrice;//单价
                double HMoney = list[0].HMoney;//金额
                string HRemark = list[0].HRemark;//备注
                double HTaxRate = list[0].HTaxRate;//税率
                string HProcNo = list[0].HProcNo;//流水号
                string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
                int HWWWorkOrderInterID = 0;//委外工单号子内码
                int HWWWorkOrderEntryID = 0;//委外工单号主内吗
                string HWWWorkOrderBillNo = list[0].HWWWorkOrderBillNo;//委外工单号
                string HMaker = list[0].HMaker;//制单人
                int HProcPlanInterID = 0;
                int HProcPlanEntryID = 0;
                string HProcPlanBillNo = "";
                long HDeptID = list[0].HDeptID;//部门ID
                string HBarCode = list[0].HBarCode;//条形码
                string HAddr = "";
                string HBarCodeMaker = "";
                string BillType = "3791";
                double HWasterQty = list[0].HWasterQty;//不合格数量
                long HPlanPieceQty = list[0].HPlanPieceQty;//发出件数
                long HBadPNL = list[0].HBadPNL;//报废件数
                double HPrice_BHS = list[0].HPrice_BHS;//不含税单价
                double HMoney_BHS = list[0].HMoney_BHS;//不含税金额
                double HBadCount = 0;
                bool HLastSubProc = true;
                double HMainSourceInterID = 0;
                string HMainSourceBillNo = "";
                string HMainSourceBillType = "3792";
                //若MAINDI重复则重新获取
                oCN.BeginTran();
                //主表
                oCN.RunProc("Insert Into Sc_StationOutBillMain " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
                ",HYear,HPeriod,HRemark,HInnerBillNo,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" +
                ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
                ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID" +
                ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" +
                ",HSupID,HTaxRate,HQty,HPrice,HMoney,HPrice_BHS,HMoney_BHS,HBadCount" +
                ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HProcNo,HOrderProcNO,HLastSubProc,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID" +
                ") " +
                " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" +
                "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HInnerBillNo + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
                "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
                ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID +
                "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" +
                "," + HSupID + "," + HTaxRate + "," + HQty + "," + HPrice + "," + HMoney + "," + HPrice_BHS + "," + HMoney_BHS + "," + HBadCount +
                "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + HProcNo + ",'" + HOrderProcNO + "'," + Convert.ToString(HLastSubProc ? 1 : 0) + ",'" + HWWWorkOrderBillNo + "'," + HWWWorkOrderInterID + "," + HWWWorkOrderEntryID +
              ") ");
                ds = oCN.RunProcReturn("exec h_p_MES_StationOutBill_QtyCtrl " + HInterID + "", "h_p_MES_StationOutBill_QtyCtrl");
                if (ds == null)
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "判断数量失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows.Count == 0)
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "判断数量失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2")
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Out " + HInterID.ToString() + ",1");
                oCN.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_Out " + HInterID.ToString() + ",1");
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "新增单据成功!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        //