ch
2022-10-20 c86d3069d9cc1047c8334acecb324b4f9013de35
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -31,11 +31,25 @@
        {
            var _value = oMain["oMain"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            try
            {
                //反序列化
                msg1 = "[" + msg1.ToString() + "]";
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg1);
                string msg2 = "[" + sArray[0].ToString() + "]";
                string user = sArray[1].ToString();//用户名
                //判断是否有编辑权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无编辑权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2);
                long HMainInterID = 0;
                HMainInterID = list[0].HMainInterID;
                string eventType = list[0].eventType;
@@ -142,14 +156,14 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HGroupID == 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)
                {
@@ -167,22 +181,22 @@
                    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 (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";
@@ -199,14 +213,14 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HWorkTimes <= 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";
@@ -386,6 +400,290 @@
            }
        }
        /// <summary>
        /// 新增单据-批量出站单保存按钮
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Cj_StationOutBill/AddBill_Mul")]
        [HttpPost]
        public object AddBill_Mul([FromBody] JObject oMain)
        {
            string UserName = "";
            try
            {
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();
                string msg4 = sArray[2].ToString();
                List<Model.ClsSc_StationOutBillMain> list = new List<Model.ClsSc_StationOutBillMain>();
                msg1 = msg1.Replace("\\", "");
                msg1 = msg1.Replace("\n", "");  //\n
                ListModels oListModels = new ListModels();
                list = oListModels.getObjectByJson_Sc_StationOutBillMain(msg2);
                int i = 0;
                int j = 0;
                foreach (Model.ClsSc_StationOutBillMain oItemSub in list)
                {
                    DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
                    j++;
                    oBill.omodel.HInterID = list[i].HInterID;
                    oBill.omodel.HBillNo = msg3 + "- " + j;
                    oBill.omodel.HBillStatus = 0;
                    oBill.omodel.HMouldNum = list[i].HMouldNum;
                    oBill.omodel.HYear = 2022;
                    oBill.omodel.HPeriod = 1;
                    oBill.omodel.HRemark = list[i].HRemark;
                    oBill.omodel.HSourceName = list[i].HSourceName;
                    oBill.omodel.HPieceQty = list[i].HPieceQty;
                    oBill.omodel.HWasterQty = list[i].HWasterQty;
                    oBill.omodel.HPlanPieceQty = list[i].HPlanPieceQty;
                    oBill.omodel.HBadPNL = list[i].HBadPNL;
                    oBill.omodel.HICMOInterID = list[i].HICMOInterID;
                    oBill.omodel.HICMOBillNo = list[i].HICMOBillNo;
                    oBill.omodel.HProcExchInterID = list[i].HProcExchInterID;
                    oBill.omodel.HProcExchEntryID = list[i].HProcExchEntryID;
                    oBill.omodel.HProcExchBillNo = list[i].HProcExchBillNo;
                    oBill.omodel.HMaterID = list[i].HMaterID;
                    oBill.omodel.HProcID = list[i].HProcID;
                    oBill.omodel.HICMOQty = list[i].HICMOQty;
                    oBill.omodel.HPlanQty = list[i].HPlanQty;
                    oBill.omodel.HStationOutTime = list[i].HStationOutTime;
                    oBill.omodel.HSourceID = list[i].HSourceID;
                    oBill.omodel.HPayProcID = list[i].HPayProcID;
                    oBill.omodel.HGroupID = list[i].HGroupID;
                    oBill.omodel.HDeptID = list[i].HDeptID;
                    oBill.omodel.HEmpID = list[i].HEmpID;
                    oBill.omodel.HBarCode = list[i].HBarCode;
                    oBill.omodel.HAddr = list[i].HAddr;
                    //oBill.omodel.HBarCodeMaker = list[i].HBarCodeMaker;
                    oBill.omodel.HBarCodeMaker = msg4;
                    oBill.omodel.HSourceID2 = list[i].HSourceID2;
                    oBill.omodel.HSourceID3 = list[i].HSourceID3;
                    oBill.omodel.HSourceID4 = list[i].HSourceID4;
                    oBill.omodel.HSourceID5 = list[i].HSourceID5;
                    oBill.omodel.HSupID = list[i].HSupID;
                    oBill.omodel.HQty = list[i].HQty;
                    oBill.omodel.HPrice = list[i].HPrice;
                    oBill.omodel.HMoney = list[i].HMoney;
                    oBill.omodel.HBadCount = list[i].HBadCount;
                    oBill.omodel.HCenterID = list[i].HCenterID;
                    oBill.omodel.HProcNo = list[i].HProcNo;
                    oBill.omodel.HOrderProcNO = list[i].HOrderProcNO;
                    oBill.omodel.HSourceNameList = list[i].HSourceNameList;
                    oBill.omodel.HMainSourceInterID = list[i].HMainSourceInterID;
                    oBill.omodel.HMainSourceBillNo = list[i].HMainSourceBillNo;
                    oBill.omodel.HMainSourceBillType = list[i].HMainSourceBillType;
                    oBill.omodel.HLastSubProc = true;
                    oBill.omodel.HEmpID2 = list[i].HEmpID2;
                    oBill.omodel.HEmpID3 = list[i].HEmpID3;
                    oBill.omodel.HEmpID4 = list[i].HEmpID4;
                    oBill.omodel.HEmpID5 = list[i].HEmpID5;
                    oBill.omodel.HDSQty = list[i].HDSQty;
                    oBill.omodel.HChongQty = list[i].HChongQty;
                    oBill.omodel.HPriceRate = list[i].HPriceRate;
                    oBill.omodel.HWorkTimes = list[i].HWorkTimes;
                    oBill.omodel.HQCCheckID = list[i].HQCCheckID;
                    oBill.omodel.HMaker = msg4;
                    //string HBillSubType = "3791";
                    //long HInterID = list[0].HInterID;//递入type得到的单据ID
                    //string HBillNo = msg3 + "- " + i;//递入type得到的单据号
                    //int HBillStatus = 0;
                    //string HMaker = list[0].HMaker;//制单人
                    //string HMouldNum = list[0].HMouldNum;//模穴号
                    //int HYear = 2021;
                    //double HPeriod = 1;
                    //string HRemark = list[0].HRemark;//备注
                    //string HSourceName = list[0].HSourceName;//生产资源名称
                    //double HPieceQty = list[0].HPieceQty;//进站PCS数
                    //double HWasterQty = list[0].HWasterQty;//报废数量
                    //double HPlanPieceQty = list[0].HPlanPieceQty;//进站PNL数
                    //double HBadPNL = list[0].HBadPNL;//报废PNL数
                    //long HICMOInterID = list[0].HICMOInterID;//任务单ID
                    //string HICMOBillNo = list[0].HICMOBillNo;//任务单
                    //int HProcPlanInterID = 0;
                    //int HProcPlanEntryID = 0;
                    //string HProcPlanBillNo = "";
                    //long HProcExchInterID = list[0].HProcExchInterID;
                    //long HProcExchEntryID = list[0].HProcExchEntryID;
                    //string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡
                    //long HMaterID = list[0].HMaterID;//产品ID
                    //long HProcID = list[0].HProcID;//当前工序ID
                    //double HICMOQty = list[0].HICMOQty;//任务单数量
                    //double HPlanQty = list[0].HPlanQty;//移交PNL数
                    //DateTime HStationOutTime = list[0].HStationOutTime;//汇报时间
                    //long HSourceID = list[0].HSourceID;//生产资源ID
                    //long HPayProcID = list[0].HPayProcID;//核算工序ID
                    //long HGroupID = list[0].HGroupID;//班组ID
                    //long HDeptID = 0;
                    //long HEmpID = list[0].HEmpID;//操作员ID
                    //string HBarCode = list[0].HBarCode;//条形码
                    //string HAddr = "";
                    //string HBarCodeMaker = "";
                    //long HSourceID2 = list[0].HSourceID2;//生产资源2ID
                    //long HSourceID3 = list[0].HSourceID3;//生产资源3ID
                    //long HSourceID4 = list[0].HSourceID4;//生产资源4ID
                    //long HSourceID5 = list[0].HSourceID5;//生产资源5ID
                    //long HSupID = 0;
                    //double HQty = list[0].HQty;//合格数量
                    //double HPrice = 0;
                    //double HMoney = 0;
                    //double HBadCount = list[0].HBadCount;//不良数量
                    //long HCenterID = list[0].HCenterID;//工作中心ID
                    //long HProcNo = list[0].HProcNo;//流水号
                    //string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
                    //string HSourceNameList = list[0].HSourceNameList;//设备清单
                    //long HMainSourceInterID = list[0].HInterID;//递入type得到的单据ID
                    //string HMainSourceBillNo = list[0].HBillNo;//递入type得到的单据号
                    //string HMainSourceBillType = "3790";
                    //bool HLastSubProc = list[0].HLastSubProc;//转下工序
                    //long HEmpID2 = list[0].HEmpID2;//操作员2ID
                    //long HEmpID3 = list[0].HEmpID3;//操作员3ID
                    //long HEmpID4 = list[0].HEmpID4;//操作员4ID
                    //long HEmpID5 = list[0].HEmpID5;//操作员5ID
                    //double HDSQty = list[0].HDSQty;//折弯刀数
                    //double HChongQty = list[0].HChongQty;//NCT冲次数
                    //double HPriceRate = list[0].HPriceRate;//系数
                    //double HWorkTimes = list[0].HWorkTimes;//工时
                    //long HQCCheckID = list[0].HQCCheckID;//检验员ID
                    //保存
                    //保存完毕后处理
                    bool bResult;
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.RunProc($"update Sc_StationOutBillMain set HMaker='{msg4}' where HInterID={oBill.omodel.HInterID}");
                    i++;
                    //if (bResult)
                    //{
                    //    objJsonResult.code = "0";
                    //    objJsonResult.count = 1;
                    //    objJsonResult.Message = "保存成功!";
                    //    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    //    objJsonResult.data = 1;
                    //    return objJsonResult;
                    //}
                    //else
                    //{
                    //    objJsonResult.code = "0";
                    //    objJsonResult.count = 0;
                    //    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    //    objJsonResult.data = 1;
                    //    return objJsonResult;
                    //}
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        //递入物料信息 返回未完全汇报的流转卡
        [Route("LEMS/Sc_StationOutBill_Mul_RYQ")]
        [HttpGet]
        public object Sc_StationOutBill_Mul_RYQ(String HMaterName, Int64 HOrgID)
        {
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                DataSet ds = oCN.RunProcReturn("exec h_p_CJGXPLHB_Query '" + HMaterName + "'," + HOrgID + "", "h_p_CJGXPLHB_Query");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning);
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取信息成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        //选中网格里面的某一行流转卡  返回该流转卡的进出站情况
        [Route("LEMS/Mul_RYQ_DisPlayBillList")]
        [HttpGet]
        public object Mul_RYQ_DisPlayBillList(String HBillNo,String HProcName)
        {
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                DataSet ds = oCN.RunProcReturn("exec h_P_Mul_RYQ_DisPlayBillList '" + HBillNo + "','" + HProcName + "'", "h_P_Mul_RYQ_DisPlayBillList");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning);
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取信息成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        private bool AllowbillNo(string HBillNo)
        {
            ds = oCN.RunProcReturn("select HBillNo from Sc_StationOutBillMain where  HBillNo = '" + HBillNo + "'", "Sc_StationOutBillMain");
@@ -400,36 +698,47 @@
        #region 返回工序出站汇报单列表
        [Route("Cj_StationOutBill/get_Display")]
        [HttpGet]
        public object get_Display(string sWhere)
        public object get_Display(string sWhere,string user)
        {
            try
            {
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList " + sWhere + " order by 出站时间 desc", "h_v_MES_StationOutBillList");
                    ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList  order by hmainid desc", "h_v_MES_StationOutBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_MES_StationOutBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    string sql = sql1 + sWhere+ "  order by hmainid desc";
                    ds = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "false!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                //{
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
                //}
                //else
                //{
                //objJsonResult.code = "0";
                //objJsonResult.count = 0;
                //objJsonResult.Message = "无数据";
                //objJsonResult.data = null;
                //return objJsonResult;
                //}
            }
            catch (Exception e)
            {
@@ -682,7 +991,7 @@
            {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log("MES_StationOutBill_Delete", 1, false, HDeleteMan))
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Drop", 1, false, HDeleteMan))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -822,16 +1131,17 @@
        {
            try
            {
                //string ModRightNameCheck = "MES_StationOutBill_Check";
                string ModRightNameCheck = "Cj_StationOutBill_Check";
                ////审核权限
                //if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "审核失败!无权限!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID == 0)
                {
                    objJsonResult.code = "0";
@@ -939,6 +1249,17 @@
        {
            try
            {
                string ModRightNameCheck = "Cj_StationOutBill_Check";
                ////审核权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "反审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID == 0)
                {
                    objJsonResult.code = "0";
@@ -1112,5 +1433,7 @@
        }
        #endregion
    }
}