zgq
2021-05-29 001aa51e3a7f669594bc958424be9b74b44cd7a9
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -21,7 +21,6 @@
        DataSet ds1;
        /// <summary>
        /// 新增单据-保存按钮
        ///参数:string sql。
@@ -38,7 +37,7 @@
                //反序列化
                msg1 = "[" + msg1.ToString() + "]";
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg1);
                string eventType = list[0].eventType;
                string BillType = "3791";
                string HBillSubType = "3791";
                long HInterID = list[0].HInterID;//递入type得到的单据ID
@@ -101,29 +100,219 @@
                double HPriceRate = list[0].HPriceRate;//系数
                double HWorkTimes = list[0].HWorkTimes;//工时
                long HQCCheckID = list[0].HQCCheckID;//检验员ID
                //单据完整性判断
                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 = "流水号没有选择!请输入流水号后回车";
                    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 (HMaterID == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "产品没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HGroupID == 0)
                {
                    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 (HEmpID == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "操作员没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HQCCheckID == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "检验员没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HSourceID == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "生产资源没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HCenterID == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "工作中心没有选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HQty + HWasterQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "合格数量加报废数量不能为0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HWorkTimes <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "工时必须大于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //if (HEmpID2 == 0 )
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "操作员2没有选择!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //if (HEmpID3 == 0 )
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "操作员3没有选择!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //if (HEmpID4 == 0 )
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "操作员4没有选择!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //if (HEmpID5 == 0 )
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "操作员5没有选择!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //若MAINDI重复则重新获取
                oCN.BeginTran();
                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,HMouldNum" +
                    ",HYear,HPeriod,HRemark,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" +
                    ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
                    ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID,HPayProcID" +
                    ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" +
                    ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" +
                    ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" +
                    ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID" +
                    ") " +
                    " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                    "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
                    "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
                    ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",'" + HStationOutTime + "'," + HSourceID + "," + HPayProcID +
                    "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 +
                    "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" +
                    "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) +
                    "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID +
                    ") ");
                }
                else if ("Modify".Equals(eventType))
                {
                    oCN.RunProc("UpDate Sc_StationOutBillMain set  " +
                    "HUpDater='" + HMaker + "'" +
                    ",HUpDateDate=getdate()" +
                    ",HSourceName='" + HSourceName + "'" +
                    ",HRemark='" + HRemark + "'" +
                    ",HQCCheckID=" + HQCCheckID +
                    ",HEmpID=" + HEmpID +
                    ",HEmpID2=" + HEmpID2 +
                    ",HEmpID3=" + HEmpID3 +
                    ",HEmpID4=" + HEmpID4 +
                    ",HEmpID5=" + HEmpID5 +
                    ",HSourceID=" + HSourceID +
                    ",HSourceID2=" + HSourceID2 +
                    ",HSourceID3=" + HSourceID3 +
                    ",HSourceID4=" + HSourceID4 +
                    ",HSourceID5=" + HSourceID5 +
                    ",HPayProcID=" + HPayProcID +
                    ",HWorkTimes=" + HWorkTimes +
                    ",HSaveBillFlag=0 " +
                    ",HPieceQty=" + HPieceQty +
                    ",HQty=" + HQty +
                    ",HDSQty=" + HDSQty +
                    ",HChongQty=" + HChongQty +
                    ",HMouldNum='" + HMouldNum + "'" +
                    ",HSourceNameList='" + HSourceNameList + "'" +
                    ",HWasterQty=" + HWasterQty +
                    ",HLastSubProc=" + Convert.ToString(HLastSubProc ? 1 : 0) +
                    " where HInterID=" + HInterID);
                }
                else
                {
                    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,HMouldNum" +
                ",HYear,HPeriod,HRemark,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" +
                ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
                ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID,HPayProcID" +
                ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" +
                ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" +
                ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" +
                ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID" +
                ") " +
                " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
                "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
                ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",'" + HStationOutTime + "'," + HSourceID + "," + HPayProcID +
                "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 +
                "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" +
                "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) +
                "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID +
                ") ");
                ds = oCN.RunProcReturn("exec h_p_MES_StationOutBill_QtyCtrl " + HInterID + "", "h_p_MES_StationOutBill_QtyCtrl");
                if (ds == null)
                {
@@ -176,7 +365,6 @@
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
@@ -185,6 +373,15 @@
            }
        }
        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>
        /// 返回工序出站汇报单列表
@@ -234,6 +431,45 @@
            }
        }
        /// <summary>
        /// 编辑页面根据id获取工序出站汇报单信息
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Cj_StationOutBill/GetStationOutBill")]
        [HttpGet]
        public object GetStationOutBill(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;
            }
        }
        //
    }