1
yangle
2023-05-06 a52bdc2aed17ba07d5ce0f1cc4adf64d5cd21ad2
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -176,14 +176,6 @@
                    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";
@@ -192,14 +184,42 @@
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //if (HSourceID == 0)
                //{
                //    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 != "龙山汽配") //系统参数
                    {
                        if (HSourceID == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "生产资源没有选择!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    //判断客户为龙山汽配
                    else if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
                    {
                        //判断是否为多工位
                        ds = oCN.RunProcReturn("select * from h_v_GetStationOutBill_Detail where 工序ID = " + HProcID + " and 物料ID = " + HMaterID + " and 流转卡号 = '" + HProcExchBillNo + "'", "h_v_GetStationOutBill_Detail");
                        if (ds != null && ds.Tables[0].Rows.Count <= 1)
                        {
                            if (HEmpID == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "操作员没有选择!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                    }
                }
                //if (HCenterID == 0)
                //{
                //    objJsonResult.code = "0";
@@ -1641,6 +1661,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))
@@ -2137,100 +2168,104 @@
        #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;
        [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;
        //    }
        //}
            }
            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(); //表体数据
        //    int OperationType = int.Parse(sArray[2].ToString()); // 数据类型 1添加 3修改
        //    string user = sArray[3].ToString(); //用户名
        //    try
        //    {
        //        List<ClsSc_StationOutBillSub_Emp> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg2);
        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);
        //        List<ClsSc_StationOutBillSub_Emp> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_StationOutBillSub_Emp>>(msg3);
        //        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;
                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");
        //        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++;
        //            if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增
        //            {
        //                //主表
        //                oCN.RunProc(@"Insert Into Sc_StationOutBillSub_Emp
        //                    (HBillNo_bak ,HCloseMan ,HEntryCloseDate ,HCloseType ,HRemark ,HSourceInterID
        //                    ,HSourceEntryID ,HSourceBillNo ,HSourceBillType ,HRelationQty ,HRelationMoney
        //                    ,HWorkEmpID ,HWorkSourceID ,HQty ,HRate ,HProcPrice
        //                    ,HMoney ,HWorkProcID)
        //                    values('3710',1," + HInterID + ",'" + HBillNo + "','" + HDate + "'," + HPRDORGID +
        //                "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" +
        //                ",'" + HSeOrderBillNo + "'," + HSeOrderInterID + "," + HSeOrderEntryID + "," + HEmpID + "," + HCusID +
        //                "," + HCenterID + ",0,0,0,0," + HBomID + ",'','') ");
        //            }
        //        }
                        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 + ")";
        //        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;
        //    }
        //}
                        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
    }
}