1
wtt
2024-09-29 19d0afadbe1c90e227b852db0a97ae413e90691f
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -277,6 +277,19 @@
                            return objJsonResult;
                        }
                    }
                    //判断当前工单是否开工
                    else if (oSystemParameter.omodel.MES_StationOutBill_MustBeginWorkCtl == "Y")
                    {
                        ds = oCN.RunProcReturn("select * from Sc_ICMOBillStatus_Tmp where HSourceID = '" + HSourceID + "' and HICMOBillNo = '" + HICMOBillNo + "' and HInterID = '" + HICMOInterID + "' and hicmostatus =1", "Sc_ICMOBillStatus_Tmp");
                        if (ds.Tables[0].Rows[0]["HICMOStatus"].ToString() != "1")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "当前工单不是开工状态不能汇报!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else {
                        if (HQty + HWasterQty <= 0)
                        {
@@ -465,37 +478,37 @@
                }
                //主表
                //LogService.Write($"5.系统控制查询判断,用时" + sw.Elapsed);
                //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;
                //}
                //LogService.Write($"5.1,用时" + sw.Elapsed);
                //if (ds.Tables[0].Rows.Count == 0)
                //{
                //    oCN.RollBack();
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "判断数量失败!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //LogService.Write($"5.2,用时" + sw.Elapsed);
                //if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2")
                //{
                //    oCN.RollBack();
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "数量控制," + ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                LogService.Write($"5.系统控制查询判断,用时" + sw.Elapsed);
                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;
                }
                LogService.Write($"5.1,用时" + sw.Elapsed);
                if (ds.Tables[0].Rows.Count == 0)
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "判断数量失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                LogService.Write($"5.2,用时" + sw.Elapsed);
                if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2")
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "数量控制," + ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                LogService.Write($"6.判断结束,用时" + sw.Elapsed);
                oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Out " + HInterID + "," + num + "");
                LogService.Write($"6.1,用时" + sw.Elapsed);
@@ -1696,6 +1709,93 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 返回工序出站汇报单列表     20240926新增
        [Route("Cj_StationOutBillController/GetSc_StationOutBillList_Json")]
        [HttpGet]
        public object GetSc_StationOutBillList_Json(string sWhere, string HMaker, string HBillSubType, string OperationType, string ViewName)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断权限
                if (HBillSubType == "SUB")
                {
                    //判断是否有查询权限
                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Sub_Query", 1, false, HMaker))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "完工单无查询权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else if(OperationType == "1")
                {
                    //判断是否有查询权限
                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, HMaker))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "出站单无查询权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                //获取系统参数
                string Ret = "";
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //判断客户为龙山汽配
                    if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
                    {
                        //获取需要拼接的字符串
                        string sql_splice = DBUtility.ClsPub.SpliceSQL(HMaker, "工序汇报单列表");
                        if (sql_splice == "没有查询到相关用户信息")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "没有查询到相关用户信息!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            sWhere += sql_splice;
                        }
                    }
                }
                //返回列表信息
                ds = oCN.RunProcReturn("select * from " + ViewName + " where 1=1 " + sWhere + " order by hmainid desc", ViewName);
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "成功!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "查询列表信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -3683,11 +3783,7 @@
        {
            try
            {
                string sql = @"SELECT  b.HMouldID,c.HMouldNo 模具编码,c.HName 模具名称,c.HModel 模具型号 FROM Sc_ICMOBillStatus_Tmp a  LEFT JOIN(
                            SELECT *, ROW_NUMBER() OVER(PARTITION BY HSourceID ORDER BY HScanDate DESC) AS RowNum FROM Sc_MouldUpperBillSub
                            ) b ON a.HSourceID = b.HSourceID AND b.RowNum = 1 left join Gy_MouldFileMain c on b.HMouldID = c.HInterID
                            where b.HMouldID is not null and a.HSourceInterID ='" + HInterID + "' and  a.HSourceEntryID ='" + HEntryID + "' and  a.HSourceBillNo ='" + HBillNo + "'";
                ds = oCN.RunProcReturn(sql, "Sc_ICMOBillStatus_Tmp");
                ds = oCN.RunProcReturn("exec h_p_StationOutBill_Model  '" + HInterID + "','"+ HEntryID + "' ,'" + HBillNo + "'", "h_p_StationOutBill_Model");
                if (ds.Tables[0].Rows.Count != 0 && ds != null)
                {