yangle
2022-10-18 db054d938d008ea7f968eef47120b806bb476f98
功能维护
3个文件已修改
377 ■■■■■ 已修改文件
WebAPI/Controllers/CJGL/Cj_CallGoodsBillMainController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs 363 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBillController.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_CallGoodsBillMainController.cs
@@ -31,7 +31,7 @@
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_IF_JIT_CallGoodsBillList where 1=1 " + sWhere + " order by hmainid desc", "h_v_IF_JIT_CallGoodsBillList");
                ds = oCN.RunProcReturn("select * from h_v_IF_JIT_CallGoodsBillList where 1=1 " + sWhere + " and åˆ¶å•人='"+user+"'  order by hmainid desc", "h_v_IF_JIT_CallGoodsBillList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
@@ -105,6 +105,7 @@
            public long HSTOCKID = 0;//HSTOCKID
            public string é€€æ–™åŽŸå›  { get; set; }//退料原因
            public int HMaterialID = 0; //HMaterialIDCol
            public string ç‰©æ–™ä»£ç  = "";
            public string HSourceBillNo { get; set; }//HSourceBillNoCol
            public int è°ƒå‡ºä»“库可用库存数量 = 0;//HKFQtyKYCol
            public int è°ƒå‡ºä»“库库存数量 = 0;//HKFQtySCol
@@ -188,6 +189,33 @@
                {
                    if (listCa[i].HMaterialID != 0 && listCa[i].叫料数量 > 0)
                    {
                        var Hqty = 0.0;
                        var TuiHqty = 0.0;
                        //当前单据已叫料 å’Œ å·²é€€æ–™æ•°é‡
                        ds = oCN.RunProcReturn($@"
                                               select isnull(a.HQty,0) å·²å«æ–™æ•°é‡,isnull(b.HQty,0) å·²é€€æ–™ç”³è¯·æ•°é‡ from (
                                                select sum(b.HQty) HQty,c.HNumber ,b.HSourceBillNo
                                                from JIT_CallGoodsBillMain a
                                                join JIT_CallGoodsBillSub b on a.HInterID=b.HInterID
                                                left join Gy_Material c on b.HMaterID=c.HItemID
                                                where b.HSourceBillNo='{listCa[i].HSourceBillNo}'
                                                group by c.HNumber,b.HSourceBillNo
                                                ) a
                                                left join (
                                                select sum(b.HQty) HQty,c.HNumber,b.HSourceBillNo
                                                from JIT_CallGoodsBackRequestBillMain a
                                                inner join JIT_CallGoodsBackRequestBillSub b on a.HInterID=b.HInterID
                                                left join Gy_Material c on b.HMaterID=c.HItemID
                                                where b.HSourceBillNo='{listCa[i].HSourceBillNo}'
                                                group by c.HNumber,b.HSourceBillNo
                                                ) b  on a.HNumber=b.HNumber and a.HSourceBillNo=b.HSourceBillNo where a.HNumber='{listCa[i].物料代码}'", "JIT_CallGoodsBillMain");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            Hqty = double.Parse(ds.Tables[0].Rows[0]["已叫料数量"].ToString());
                            TuiHqty = double.Parse(ds.Tables[0].Rows[0]["已退料申请数量"].ToString());
                        }
                        if (listCa[i].叫料数量 > listCa[i].计划发料数量)
                        {
                            objJsonResult.code = "0";
@@ -197,7 +225,20 @@
                            return objJsonResult;
                        }
                        if (listCa[i].库存数量 == 0 && listCa[i].叫料数量 > 0)
                        if((listCa[i].叫料数量 + Hqty - TuiHqty)> listCa[i].计划发料数量)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "叫料总数量大于计划发料数量!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where ä»“库ID=" + listCa[i].调出仓库id + "  and  ç‰©æ–™ç¼–码 = '" + listCa[i].物料代码 + "' and åº“存组织=" + listCa[i].HOutOrgID, "h_v_JIT_WarehouseList");
                        var HSCWHIDCount= double.Parse(ds.Tables[0].Rows[0]["调出仓库可用库存数量"].ToString());
                        if (HSCWHIDCount == 0 && listCa[i].叫料数量 > 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
@@ -206,7 +247,7 @@
                            return objJsonResult;
                        }
                        if (listCa[i].叫料数量 > listCa[i].库存数量)
                        if (listCa[i].叫料数量 > HSCWHIDCount)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
@@ -241,15 +282,6 @@
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //if (listCa[i].调出仓库可用库存数量 == 0)
                        //{
                        //    objJsonResult.code = "0";
                        //    objJsonResult.count = 0;
                        //    objJsonResult.Message = "调出仓库可用库存数量为0!";
                        //    objJsonResult.data = null;
                        //    return objJsonResult;
                        //}
                        j = 1;
@@ -401,7 +433,7 @@
            string msg2 = sArray[0].ToString();
            DBUtility.ClsPub.CurUserName = sArray[1].ToString();
            string HOrgID = sArray[2].ToString();
            bool flag = false;
            json flag =new json();
            try
            {
@@ -425,47 +457,17 @@
                {
                    if (listCa[i].退料数量 > 0)
                    {
                        if (listCa[i].退料数量 > listCa[i].已配送数量&& listCa[i].已配送数量>0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "退料数量大于已配送数量!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        ds = oCN.RunProcReturn("select isnull(sum(d.HQty),0) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " +
                   $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString()==""?"0": ds.Tables[0].Rows[0][0].ToString()) +listCa[i].退料数量) > listCa[i].已叫料数量)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"已经退料数量:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},可退料数量为:{(listCa[i].已叫料数量 - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (listCa[i].调入仓库id == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "请选择调入仓库!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (listCa[i].调出仓库id == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "请选择调出仓库!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        flag = AddICStockTuiBill(listCa[i], "666601", "不良品退料", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo);
                        flag = (json)AddICStockTuiBill(listCa[i], "666601", "不良品退料", HOrgID);
                        j = 1;
                        if (flag.code == "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = objJsonResult.Message;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                if (j == 0)
@@ -477,22 +479,11 @@
                    return objJsonResult;
                }
                if (flag)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "不良品退料成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "不良品退料失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "不良品退料成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
@@ -505,10 +496,62 @@
        }
        //新增
        public bool AddICStockTuiBill(CallGoodsBill listCa,string HBillType,string HBackType,string HOrgID, ref string sReturn)
        public object AddICStockTuiBill(CallGoodsBill listCa,string HBillType,string HBackType,string HOrgID)
        {
            try
            {
                if (listCa.退料数量 > listCa.已配送数量 && listCa.已配送数量 > 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "退料数量大于已配送数量!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (listCa.调入仓库id == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "请选择调入仓库!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (listCa.调出仓库id == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "请选择调出仓库!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var THqty = 0.0;
                ds = oCN.RunProcReturn($@"
                                    select sum(b.HQty) HQty,c.HNumber,b.HSourceBillNo
                                    from JIT_CallGoodsBackRequestBillMain a
                                    inner join JIT_CallGoodsBackRequestBillSub b on a.HInterID=b.HInterID
                                    left join Gy_Material c on b.HMaterID=c.HItemID
                                    where c.HNumber='{listCa.物料代码}' and b.HSourceBillNo='{listCa.HSourceBillNo}'
                                    group by c.HNumber,b.HSourceBillNo
                                  ", "JIT_CallGoodsBackRequestBillMain");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    THqty = double.Parse(ds.Tables[0].Rows[0]["HQty"].ToString());
                }
                if ((listCa.退料数量 + THqty) > listCa.已配送数量)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "累计退料数量大于已配送数量!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = listCa.HSouceInterID == 0 ? 0 : listCa.HSouceInterID;
                Int64 lngBillKeyEntry = listCa.HSourceEntryID == 0 ? 0 : listCa.HSourceEntryID;
                double HQty = (double)(listCa.退料数量 == 0 ? 0 : listCa.退料数量);
@@ -534,13 +577,17 @@
                       $" '{HBillType}','{DateTime.Now}','{HBillNo}',{HOrgID},'{ DBUtility.ClsPub.CurUserName}','{DateTime.Now}','','',0,0,0,''," +
                       $" 0, 0, {listCa.HOutOrgID}, {HOrgID}, 0,'{HBackType}')");
                 
                sReturn = "新增单据成功!";
                oCN.Commit();
                return true;
                objJsonResult.code = "1";
                objJsonResult.Message = "新增单据成功!";
                return objJsonResult;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                objJsonResult.code = "0";
                objJsonResult.Message = e.Message; ;
                return objJsonResult;
                throw (e);
            }
        }
@@ -573,36 +620,23 @@
                List<CallGoodsBill> listCa = new List<CallGoodsBill>();
                //获取表格数据集合
                listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString());
                bool flag = false;
                json flag = new json();
                int j = 0;
                for (int i = 0; i < listCa.Count; i++)
                {
                    if (listCa[i].退料数量 > 0)
                    {
                        if (listCa[i].退料数量 > listCa[i].已配送数量 && listCa[i].已配送数量 > 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "退料数量大于已配送数量!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " +
                   $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()) + listCa[i].退料数量) > listCa[i].已叫料数量)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"已经退料数量:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},可退料数量为:{(listCa[i].已叫料数量 - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        flag = AddICStockTuiBill(listCa[i], "666602", " ä½™é‡é€€æ–™", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo);
                        flag =(json)AddICStockTuiBill(listCa[i], "666602", " ä½™é‡é€€æ–™", HOrgID);
                        j = 1;
                        if (flag.code == "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = objJsonResult.Message;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                if (j == 0)
@@ -614,23 +648,11 @@
                    return objJsonResult;
                }
                if (flag)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "余量退料成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "余量退料失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "余量退料成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
@@ -671,35 +693,22 @@
                //获取表格数据集合
                listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString());
                bool flag = false;
                json flag = new json();
                int j = 0;
                for (int i = 0; i < listCa.Count; i++)
                {
                    if (listCa[i].退料数量 > 0)
                    {
                        if (listCa[i].退料数量 > listCa[i].已配送数量 && listCa[i].已配送数量 > 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "退料数量大于已配送数量!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " +
                   $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()) + listCa[i].退料数量) > listCa[i].已叫料数量)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"已经退料数量:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},可退料数量为:{(listCa[i].已叫料数量 - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        flag = AddICStockTuiBill(listCa[i], "666603", "报废退料", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo);
                        flag =(json) AddICStockTuiBill(listCa[i], "666603", "报废退料", HOrgID);
                        j = 1;
                        if (flag.code == "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = objJsonResult.Message;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                if (j == 0)
@@ -711,22 +720,11 @@
                    return objJsonResult;
                }
                if (flag)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "报废退料成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "报废退料失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "报废退料成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
@@ -946,5 +944,68 @@
        }
        #endregion
        #region ç”Ÿäº§å«æ–™å¹³å°  ä»“库库存列表
        [Route("Sc_ComplementGoodBill/GetWarehouseList_JIT")]
        [HttpGet]
        public object GetWarehouseList_JIT(string sWhere)
        {
            try
            {
                ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where 1=1 "+ sWhere, "h_v_JIT_WarehouseList");
                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;
            }
        }
        #endregion
        #region ç”Ÿäº§å«æ–™å¹³å°  æœªç”Ÿæˆæ‹£æ–™ç”³è¯·å•  æœªç”Ÿæˆé€€æ–™å•
        [Route("Sc_ComplementGoodBill/NotGeneratedMaterialList")]
        [HttpGet]
        public object NotGeneratedMaterialList(string sWhere, string user)
        {
            try
            {
                //查询叫料单 æœªç”Ÿæˆ æ‹£æ–™å• çš„æ¡æ•°
                //查询退料申请单  æœªç”Ÿæˆ é€€æ–™å•çš„ æ¡æ•°
                ds = oCN.RunProcReturn($@"select count(*) æœªç”Ÿæˆ    from JIT_CallGoodsBackRequestBillMain as a
                                        inner join JIT_CallGoodsBackRequestBillSub as b on a.HInterID=b.HInterID
                                         where  a.HISCheck =0   and a.HOrgID={sWhere}
                                        and a.HMaker = '{user}'
                                            union all
                                        select count(*) æœªç”Ÿæˆ  from JIT_CallGoodsBillMain a
                                        join JIT_CallGoodsBillSub b on a.HInterID=b.HInterID
                                         where b.HPSQty=0  and a.HOrgID={sWhere}
                                        and a.HMaker = '{user}'", "JIT_CallGoodsBackRequestBillMain");
                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;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/SCGL/Èռƻ®¹ÜÀí/JIT_DayPlanPlatFormBillController.cs
@@ -236,12 +236,22 @@
                        var HICMOBillNo = list[i]["生产订单号"].ToString();
                        var HICMOEntrySEQ = list[i]["生产订单明细行号"].ToString();
                        var HSourceID = list[i]["HSourceID"].ToString();
                        var HYX = list[i]["优先级"].ToString();
                        if (HSourceID == "" || HSourceID == "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"第{i + 1}行生产资源不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        var str = 0;
                        if (!int.TryParse(HYX, out str))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"第{i + 1}行优先级:{HYX},请输入数字!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -258,7 +268,7 @@
                            return objJsonResult;
                        }
                        oCN.RunProc($"update Sc_WorkBillSortBillMain set HSourceID={(HSourceID == "" ? 0.ToString() : HSourceID)} where HInterID={list[i]["hmainid"].ToString()} and HBillNo='{list[i]["单据号"].ToString()}'");
                        oCN.RunProc($"update Sc_WorkBillSortBillMain set HSourceID={(HSourceID == "" ? 0.ToString() : HSourceID)},HYX={HYX} where HInterID={list[i]["hmainid"].ToString()} and HBillNo='{list[i]["单据号"].ToString()}'");
                    }
                    oCN.RunProc($"update Sc_WorkBillSortBillMain set HDayPlanSumQty={list[i]["日计划数量总量"].ToString()} where HInterID={(HInterID==0?int.Parse(list[i]["hmainid"].ToString()):HInterID)} and HBillNo='{(HBillNo==""?list[i]["单据号"].ToString(): HBillNo)}'");