YL
2021-06-03 46d9b5d1144767b5560f3a7b49b3751ff2573963
WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs
@@ -81,10 +81,10 @@
            string msg1 = _value.ToString();
            try
            {
                //委外工序发出反序列化
                //部门基础资料反序列化
                msg1 = "[" + msg1.ToString() + "]";
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg1);
                string eventType = list[0].eventType;
                long HInterID = list[0].HInterID;//递入type得到的单据ID
                int HYear = 2021;
                double HPeriod = list[0].HPeriod;//单价
@@ -93,8 +93,8 @@
                string HInnerBillNo = list[0].HInnerBillNo;//送货单号
                string HICMOBillNo = list[0].HICMOBillNo;//生产订单号
                long HICMOInterID = list[0].HICMOInterID;//生产订单号ID
                int HProcExchInterID = 0;
                int HProcExchEntryID = 0;
                long HProcExchInterID = list[0].lngBillKey;
                long HProcExchEntryID = list[0].lngBillSubKey;
                string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡
                long HProcID = list[0].HProcID;//当前工序
                long HMaterID = list[0].HMaterID;//产品ID
@@ -111,7 +111,7 @@
                double HMoney = list[0].HMoney;//金额
                string HRemark = list[0].HRemark;//备注
                double HTaxRate = list[0].HTaxRate;//税率
                string HProcNo = list[0].HProcNo;//流水号
                long HProcNo = list[0].HProcNo;//流水号
                string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
                int HWWWorkOrderInterID = 0;//委外工单号子内码
                int HWWWorkOrderEntryID = 0;//委外工单号主内吗
@@ -136,27 +136,162 @@
                double HMainSourceInterID = 0;
                string HMainSourceBillNo = "";
                string HMainSourceBillType = "3792";
                if (HProcExchInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HProcExchEntryID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流水号2没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HProcNo <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流水号没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HProcExchBillNo == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡号没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInnerBillNo == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "发货号没有输入!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HProcID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前工序没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HMaterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "产品没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HSupID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "供应商没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "接收个数不能小于等于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HWasterQty < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "不合格数不能小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HTaxRate < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "税率不能为负!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //若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 +
              ") ");
                if ("Add".Equals(eventType))
                {
                    if (!AllowbillNo(HBillNo))
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据号重复!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //主表
                    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 +
                    ") ");
                }
                else if ("Modify".Equals(eventType))
                {
                    oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Out " + HInterID + ",-1");
                    oCN.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_Out " + HInterID + ",-1");
                    //更新主表
                    oCN.RunProc("UpDate Sc_StationOutBillMain set  " +
                    " HBillNo='" + HBillNo + "'" +
                    ",HRemark='" + HRemark + "'" +
                    ",HUpDater='" + HMaker + "'" +
                    ",HUpDateDate=getdate()" +
                    ",HInnerBillNo='" + HInnerBillNo + "'" +
                    ",HSupID=" + HSupID +
                    ",HQty=" + HQty +
                    ",HPieceQty=" + HPieceQty +
                    ",HPrice=" + HPrice +
                    ",HMoney=" + HMoney +
                     ",HProcNo=" + HProcNo +
                    ",HPrice_BHS=" + HPrice_BHS +
                    ",HMoney_BHS=" + HMoney_BHS +
                    ",HTaxRate=" + HTaxRate +
                    ",HOrderProcNO='" + HOrderProcNO + "'" +
                    ",HMaterID=" + HMaterID +
                    ",HProcID=" + HProcID +
                    ",HBadPNL=" + HBadPNL +
                    ",HWasterQty=" + HWasterQty +
                    " where HInterID=" + HInterID);
                }
                else
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "操作类型无效!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("exec h_p_MES_StationOutBill_QtyCtrl " + HInterID + "", "h_p_MES_StationOutBill_QtyCtrl");
                if (ds == null)
                {
@@ -196,7 +331,6 @@
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
@@ -204,7 +338,53 @@
                return objJsonResult;
            }
        }
        private bool AllowbillNo(string HBillNo)
        {
            ds = oCN.RunProcReturn("select HBillNo from Sc_StationOutBillMain where  HBillNo = '" + HBillNo + "'", "Sc_StationOutBillMain");
            if (ds == null || ds.Tables[0].Rows.Count == 0)
            {
                return true;
            }
            return false;
        }
        /// <summary>
        /// 编辑页面根据id获取委外工序接收单信息
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Cj_StationEntrustOutBill/GetStationEntrustOutBill")]
        [HttpGet]
        public object GetStationEntrustOutBill(int HInterID)
        {
            try
            {
                ds = oCN.RunProcReturn("select * from h_v_GetStationOutBill where HInterID = " + HInterID, "h_v_GetStationOutBill");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "委外工序接收单信息获取失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        //
    }