duhe
2024-12-16 dc101e87dc0df99cf8c984eeeac7ded48bbb0135
WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -1072,6 +1072,90 @@
        #region æ‰«ç æ¨¡å—调用方法
        #region å…¶ä»–入库    èŽ·å–å…¥åº“ç±»åž‹
        /// <summary>
        /// èŽ·å–å…¥åº“ç±»åž‹
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/GetStockInStyle_Json")]
        [HttpGet]
        public Object GetStockInStyle_Json()
        {
            try
            {
                ds = oWebs.get_StockInStyle();
                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 = "0";
                    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;
            }
        }
        #endregion
        #region å…¶ä»–出库    èŽ·å–å‡ºåº“ç±»åž‹
        /// <summary>
        /// èŽ·å–å‡ºåº“ç±»åž‹
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/GetStockOutStyle_Json")]
        [HttpGet]
        public Object GetStockOutStyle_Json()
        {
            try
            {
                ds = oWebs.get_StockOutStyle();
                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 = "0";
                    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;
            }
        }
        #endregion
        #region ç›´æŽ¥è°ƒæ‹¨    èŽ·å–è°ƒæ‹¨å‡ºè´§ç±»åž‹
        /// <summary>
@@ -1396,6 +1480,50 @@
        }
        #endregion
        #region æ‰«ç æ¨¡å—    å®¢æˆ·ã€ä¼ ç¥¨ã€æ¡ç éªŒè¯è°ƒç”¨
        /// <summary>
        /// æ‰«ç æ¨¡å—    å®¢æˆ·ã€ä¼ ç¥¨ã€æ¡ç éªŒè¯è°ƒç”¨
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/GetCheakBarCodeAndCP_Json")]
        [HttpGet]
        public object GetCheakBarCodeAndCP_Json(long HCusID, string HCP, string HBarCode)
        {
            try
            {
                HBarCode = HBarCode.Trim();
                if (oWebs.Get_CheakBarCodeAndCP(HCusID, HCP, HBarCode, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "客户、传票、条码验证失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
@@ -4374,7 +4502,7 @@
                    sJXCode = POStockInBillController.JX_Json(sBarCode, HInterID, HBillType, HStockOrgID, HBillNo, HMaker);
                    SourceFlag = true;
                }
                else if(oSystemParameter.omodel.WMS_CampanyName == "添康" && HSourceBillType == "1241")
                else if(oSystemParameter.omodel.WMS_CampanyName == "森楷" && HSourceBillType == "1241")
                {
                    DataSet ds;
                    string sql = "select HBarCode,HSourceInterID,HSourceEntryID,HSourceBillNo from Gy_BarCodeBill with(nolock) where HBarCode = '" + sBarCode + "'";
@@ -4398,7 +4526,7 @@
                        HSourceBillNo_TB = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"]);
                        HSourceInterID = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["HSourceInterID"]);
                        //根据入库申请单单号判断单据信息是否已经同步到金蝶
                        sql = string.Format(@"select * from FROM {0}..TFKO_t_Cust100009 with(nolock) where FBILLNO = '" + HSourceBillNo_TB + "'", HDataBaseName);
                        sql = string.Format(@"select * from {0}..TFKO_t_Cust100009 with(nolock) where FBILLNO = '" + HSourceBillNo_TB + "'", HDataBaseName);
                        LogService.Write("其他入库查询入库申请单是否存在:" + sql);
@@ -4407,6 +4535,9 @@
                        if (ds == null || ds.Tables[0].Rows.Count < 1)
                        {
                            sql = "exec h_p_Kf_StockInRequestBillToErp '" + HSourceInterID + "','" + HSourceBillNo_TB + "'";
                            LogService.Write("其他入库获取源单信息:" + sql);
                            ds = oCn.RunProcReturn(sql, "h_p_Kf_StockInRequestBillToErp");
                            if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -4423,23 +4554,23 @@
                                JObject model = new JObject();
                                //model.Add("FBillType", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["FBillType"]) }); //单据类型
                                model.Add("FDate", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["日期"])); //单据日期                   
                                model.Add("FStockOrgId", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["库存组织代码"]) }); //库存组织代码
                                model.Add("FStockOrgId", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["库存组织代码"]) }); //库存组织代码 ???
                                model.Add("FBillNo", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["单据号"])); //单据号
                                model.Add("FStockDirect", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["库存方向"])); //库存方向                   
                                model.Add("FDEPTID", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["部门代码"]) }); //生产车间
                                model.Add("F_paez_Text", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["入库码单"])); //入库码单              
                                model.Add("F_paez_Integer2", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["筒子数"])); //筒子数              
                                model.Add("F_paez_Integer1", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["筒管只数"])); //筒管只数            
                                model.Add("F_paez_Integer3", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["定长"])); //定长
                                //model.Add("F_paez_BaseProperty4", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["筒重"])); //筒重
                                model.Add("F_paez_Base", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["工号"])); //工号
                                model.Add("F_paez_Combo", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["班次代码"])); //班次
                                model.Add("F_paez_Integer3", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["定长"])); //定长      ???
                                //model.Add("F_paez_BaseProperty4", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["筒重"])); //筒重
                                model.Add("F_paez_Base", new JObject() { ["FSTAFFNUMBER"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["工号"]) }); //工号        ???必填 FSTAFFNUMBER
                                model.Add("F_paez_Combo", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["班次代码"])); //班次    ???必填
                                //model.Add("F_paez_BaseProperty1", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["批号"])); //批号              
                                model.Add("F_paez_Integer", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["箱数"])); //箱数
                                model.Add("F_paez_Integer", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["箱数"])); //箱数    ???
                                model.Add("F_paez_Decimal2", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["总重"])); //总重              
                                //model.Add("F_paez_BaseProperty2", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["成品编码"])); //成品编码              
                                //model.Add("F_paez_BaseProperty5", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["品名"])); //品名              
                                model.Add("F_paez_Base1", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["线号"])); //线号
                                model.Add("F_paez_Base1", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["线号"]) }); //线号        ???必填
                                //model.Add("F_paez_BaseProperty", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["机台"])); //机台              
                                model.Add("F_paez_Decimal", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["箱重"])); //箱重              
@@ -4447,7 +4578,7 @@
                                model.Add("FDEPTID1", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["部门代码"]) });//部门       
                                //model.Add("F_paez_BaseProperty6", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["捻向"])); //捻向              
                                //model.Add("F_paez_BaseProperty7", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["管色"])); //管色              
                                model.Add("F_paez_Assistant", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["等级"])); //等级
                                model.Add("F_paez_Assistant", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["等级"]) });//等级         ???必填
                                model.Add("F_paez_Text11", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["最小箱号"])); //最小箱号              
                                //model.Add("F_paez_Text3", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["文本"])); //文本              
                                model.Add("F_paez_Text4", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["最大箱号"])); //最大箱号              
@@ -4460,32 +4591,31 @@
                                //model.Add("F_paez_BaseProperty11", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["规格型号"])); //规格型号              
                                //model.Add("F_paez_BaseProperty12", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["网别"])); //网别              
                                //model.Add("F_TFKO_Text4", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["箱号前缀"])); //箱号前缀              
                                model.Add("F_paez_WB", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["网别"])); //网别1
                                model.Add("F_paez_WB", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["网别"]) }); //网别1       ???
                                JArray Fentity = new JArray();
                                foreach (DataRow item in ds.Tables[0].Rows)
                                {
                                    JObject FentityModel = new JObject();
                                    FentityModel.Add("FMATERIALID", new JObject() { ["FNumber"] = item["物料代码"].ToString() }); // ç‰©æ–™ä»£ç 
                                    FentityModel.Add("FUnitID", new JObject() { ["FNumber"] = item["计量单位代码"].ToString() });  // å•位代码
                                    FentityModel.Add("FUnitID", new JObject() { ["FNumber"] = item["计量单位代码"].ToString() });  // å•位代码 ???
                                    FentityModel.Add("FQty", item["净重"].ToString()); //净重
                                    FentityModel.Add("FBASEUNITID", new JObject() { ["FNumber"] = item["基本计量单位代码"].ToString() });  // åŸºæœ¬å•位代码
                                    FentityModel.Add("FBASEQTY", item["实收数量"].ToString()); //实收数量
                                    FentityModel.Add("FSecUNITID", new JObject() { ["FNumber"] = item["库存辅计量单位代码"].ToString() });  // åº“存辅计量单位代码
                                    FentityModel.Add("FSecUNITID", new JObject() { ["FNumber"] = item["库存辅计量单位代码"].ToString() });  // åº“存辅单位
                                    FentityModel.Add("FSecQTY", item["库存辅单位实收数量"].ToString()); //实收数量(库存辅单位)
                                    FentityModel.Add("FOWNERTYPEID", item["货主类型"].ToString()); //货主类型
                                    FentityModel.Add("FOWNERTYPEID", item["货主类型"].ToString()); //货主类型  ???数值
                                    FentityModel.Add("FOWNERID", new JObject() { ["FNumber"] = item["货主代码"].ToString() });  // è´§ä¸»ä»£ç 
                                    FentityModel.Add("FKEEPERTYPEID", item["保管者类型"].ToString()); //保管者类型
                                    FentityModel.Add("FKEEPERTYPEID", item["保管者类型"].ToString()); //保管者类型  ???数值
                                    FentityModel.Add("FKEEPERID", new JObject() { ["FNumber"] = item["保管者代码"].ToString() });  // ä¿ç®¡è€…代码
                                    FentityModel.Add("FAuxPropId", new JObject() { ["FAUXPROPID__FF100003"] = new JObject() { ["FNumber"] = item["辅助属性代码"].ToString() } });  // è¾…助属性
                                    FentityModel.Add("FExtAuxUnitId", new JObject() { ["FNumber"] = item["辅计量单位代码"].ToString() });  // è¾…计量单位代码
                                    FentityModel.Add("FExtAuxUnitQty", item["箱数"].ToString()); //箱数
                                    FentityModel.Add("F_TFKO_Assistant", new JObject() { ["FNumber"] = item["网别代码"].ToString() });  // ç½‘别
                                    FentityModel.Add("FExtAuxUnitId", new JObject() { ["FNumber"] = item["辅计量单位代码"].ToString() });  // è¾…单位
                                    FentityModel.Add("FExtAuxUnitQty", item["明细箱数"].ToString()); //箱数
                                    FentityModel.Add("F_TFKO_Assistant", new JObject() { ["FNumber"] = item["网别代码"].ToString() });  // ç½‘别 ???必填
                                    FentityModel.Add("F_TFKO_Assistant1", new JObject() { ["FNumber"] = item["孔型代码"].ToString() });  // å­”åž‹
                                    FentityModel.Add("F_TFKO_Assistant2", new JObject() { ["FNumber"] = item["色泽代码"].ToString() });  // è‰²æ³½
                                    FentityModel.Add("F_TFKO_Assistant2", new JObject() { ["FNumber"] = item["色泽代码"].ToString() });  // è‰²æ³½ ???必填
                                    FentityModel.Add("F_TFKO_Assistant3", new JObject() { ["FNumber"] = item["纤度代码"].ToString() });  // çº¤åº¦
                                    FentityModel.Add("F_paez_Qty", item["毛重"].ToString()); //毛重
                                    FentityModel.Add("F_paez_Qty", item["毛重"].ToString()); //毛重  ???不能小于等于0
                                    FentityModel.Add("F_TFKO_Text1", item["管色"].ToString()); //管色
                                    FentityModel.Add("F_TFKO_Text2", item["捻向"].ToString()); //捻向
                                    FentityModel.Add("FBoxcode", item["箱号"].ToString()); //箱号
@@ -4493,7 +4623,8 @@
                                    FentityModel.Add("F_paez_Integer4", item["筒子数"].ToString()); //筒子数
                                    FentityModel.Add("F_paez_BaseQty", item["实发数量"].ToString()); //实发数量
                                    FentityModel.Add("F_paez_Qty1", item["实收数量"].ToString()); //实收数量
                                    FentityModel.Add("F_paez_Text2", item["箱号"].ToString()); //箱号
                                    FentityModel.Add("F_paez_Text2", item["箱号"].ToString()); //箱号 ???不能为数字
                                    FentityModel.Add("FLOT", new JObject() { ["FNumber"] = item["批号"].ToString() });  // è¾…计量单位代码
                                    //JArray Fentity2 = new JArray();
@@ -4534,19 +4665,23 @@
                                //从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
                                if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
                                {
                                    oCn.RollBack();
                                    //oCn.RollBack();
                                    objJsonResult.code = "0";
                                    objJsonResult.count = 0;
                                    objJsonResult.Message = "入库申请单同步获取登录账号密码失败!";
                                    objJsonResult.data = null;
                                    return objJsonResult;
                                }
                                LogService.Write("其他入库,即将登录金蝶");
                                var loginRet = InvokeHelper.Login();
                                LogService.Write("其他入库,登录金蝶结果1:" + loginRet);
                                LogService.Write("其他入库,登录金蝶结果2:" + JObject.Parse(loginRet)["LoginResultType"].Value<int>());
                                var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                                if (isSuccess == 0)
                                {
                                    oCn.RollBack();
                                    LogService.Write("其他入库,登录金蝶失败!");
                                    //oCn.RollBack();
                                    objJsonResult.code = "0";
                                    objJsonResult.count = 0;
                                    objJsonResult.Message = "登录金蝶失败!";
@@ -4559,15 +4694,15 @@
                                    if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                                    {
                                        LogService.Write(JsonConvert.SerializeObject(jsonRoot));
                                        oCn.RollBack();
                                        LogService.Write("入库申请单同步金蝶云失败:" + JsonConvert.SerializeObject(jsonRoot));
                                        //oCn.RollBack();
                                        objJsonResult.code = "0";
                                        objJsonResult.count = 0;
                                        objJsonResult.Message = "入库申请单同步金蝶云失败!单号:" + HSourceBillNo_TB + result + jsonRoot;
                                        objJsonResult.data = null;
                                        return objJsonResult;
                                    }
                                    LogService.Write("入库申请单同步金蝶云成功:" + JsonConvert.SerializeObject(jsonRoot));
                                    //提交审核
                                    string result1 = string.Empty;
                                    string result2 = string.Empty;
@@ -4584,7 +4719,7 @@
                                        if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                                        {
                                            oCn.RollBack();
                                            //oCn.RollBack();
                                            objJsonResult.code = "0";
                                            objJsonResult.count = 0;
                                            objJsonResult.Message = "入库申请单单号:" + ",提交失败" + result1;
@@ -4594,7 +4729,7 @@
                                        if (JObject.Parse(result2)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                                        {
                                            oCn.RollBack();
                                            //oCn.RollBack();
                                            objJsonResult.code = "0";
                                            objJsonResult.count = 0;
                                            objJsonResult.Message = "入库申请单单号:" + ",审核失败" + result2;
@@ -4604,8 +4739,16 @@
                                    }
                                }
                            }
                            //更新条码源单id信息
                            sql = string.Format($@"update a set HSourceInterID = b.FID,HSourceEntryID = c.FEntryID from Gy_BarCodeBill a left join AIS20220609121235..TFKO_t_Cust100009 b on a.HSourceBillNo = b.FBillNo left join AIS20220609121235..TFKO_t_Cust_Entry100065 c on b.FID = C.FID and a.HBarcodeNo = c.FSEQ where HSourceBillNo = '{HSourceBillNo_TB}'");
                            //执行更新语句
                            oCn.RunProc(sql);
                        }
                    }
                    sJXCode = sBarCode;
                }
                else
                {
@@ -4949,7 +5092,15 @@
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    objJsonResult.data = new
                    {
                        Materlist = ds.Tables[0],           //返回物料明细列表信息(0)
                        Mouldlist = ds.Tables[1],           //返回模治具列表信息(1)
                        FIFOlist = ds.Tables[2],            //返回先进先出列表信息(2)
                        BarCodelist = ds.Tables[3],         //返回条码明细列表信息(3)
                        ICMOReportlist = ds.Tables[4],      //返回源单生产汇报单条码明细列表信息(4)
                        BarCodeDetailslist = ds.Tables[5]   //返回当前所扫描条码明细信息(5)
                    };
                    return objJsonResult;
                }
                else