yusijie
2023-04-11 09844d2ce0c99bfcf7698581f9393a2ac1fc3e15
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
@@ -1640,6 +1641,17 @@
                        return objJsonResult;
                    }
                    ds = oCn.RunProcReturn($"exec h_p_DelOutInBill {HInterID},'MES_StationOutBill_DeleteRelationCtl'", "h_p_DelOutInBill");
                    if (ds.Tables[0].Rows[0][0].ToString()== "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "系统参数控制,已有下道工序,不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //写入删除日志 
                    string WorkList = "删除出站单:" + oBill.omodel.HBillNo;
                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo))
@@ -2099,7 +2111,141 @@
        }
        #endregion
        #region 返回工序出站汇报单明细列表
        [Route("Cj_StationOutBill_Detail/get_Display2")]
        [HttpGet]
        public object get_Display2(string HMaterID, string HWorkProcID, string HProcExchBillNo)
        {
            try
            {
                ds = oCN.RunProcReturn("select * from h_v_GetStationOutBill_Detail where 工序ID = " + HWorkProcID + " and 物料ID = " + HMaterID + " and 流转卡号 = '" + HProcExchBillNo + "'" , "h_v_GetStationOutBill_Detail");
                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;
            }
        }
        #endregion
        #region 明细 保存/编辑功能
        [Route("Cj_StationOutBill/AddBill_Detail")]
        [HttpPost]
        public object AddBill_Detail([FromBody] JObject sMain)
        {
            try
            {
                var _value = sMain["sMainSub"].ToString();
                string msg1 = _value.ToString();
                oCN.BeginTran();
                //保存主表
                objJsonResult = Add_Detail(msg1);
                if (objJsonResult.code == "0")
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = objJsonResult.Message;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "单据保存成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        public json Add_Detail(string msg1)
        {
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString(); //表头数据
            string msg3 = sArray[1].ToString(); //表体数据
            var a = sArray[2].ToString();
            int OperationType = int.Parse(sArray[2].ToString()); // 数据类型 1添加 3修改
            string user = sArray[3].ToString(); //用户名
            try
            {
                msg2 = "[" + msg2.ToString() + "]";
                List<ClsSc_StationOutBillSub_Emp> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg2);
                List<ClsSc_StationOutBillSub_Emp> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg3);
                long HInterID = mainList[0].HInterID;
                long HWorkEmpID = subList[0].HWorkEmpID;
                long HWorkSourceID = subList[0].HWorkSourceID;
                decimal HQty = subList[0].HQty;
                decimal HRate = subList[0].HRate;
                decimal HProcPrice = subList[0].HProcPrice;
                decimal HMoney = subList[0].HMoney;
                long HWorkProcID = mainList[0].HWorkProcID;
                var EntryID = 0;
                foreach (ClsSc_StationOutBillSub_Emp oSub in subList)
                {
                    //ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where hmainid=" + HInterID + " and 单据号='" + HBillNo + "'", "h_v_IF_ICMOBillList");
                    if ((OperationType == 1 || OperationType == 2))//新增 && ds.Tables[0].Rows.Count == 0
                    {
                        EntryID++;
                        string sql = string.Empty;
                        sql = $@"
                        Insert into Sc_StationOutBillSub_Emp
                        (HInterID,HEntryID,HBillNo_bak ,HRemark ,HSourceInterID
                        ,HSourceEntryID ,HSourceBillNo ,HSourceBillType ,HRelationQty ,HRelationMoney
                        ,HWorkEmpID ,HWorkSourceID ,HQty ,HRate ,HProcPrice ,HMoney ,HWorkProcID)
                        values(" + HInterID + "," + EntryID + "," + "'" + mainList[0].HBillNo_bak + "','" + mainList[0].HRemark + "'," + 0 + "," + 0 + ",'" + " " + "','" + " " + "'," +
                        "0" + "," + 0 + "," + oSub.HWorkEmpID + "," + oSub.HWorkSourceID + "," + oSub.HQty + "," + oSub.HRate + "," + oSub.HProcPrice + "," + oSub.HMoney + "," + HWorkProcID + ")";
                        oCN.RunProc(sql);
                    }
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = null;
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}