WebAPI/Controllers/OtherInStockController.cs
@@ -1,5 +1,6 @@
using DBUtility;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SQLHelper;
using System;
@@ -14,6 +15,7 @@
using WebAPI;
using WebAPI.Code;
using WebAPI.Models;
using WebAPI.Utility;
namespace WebAPI.Controllers
{
@@ -49,6 +51,9 @@
        private JsonResult objJsonResult = new JsonResult();
        public ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
        // private string msgModel = "{{\"count\":{0},\"code\":{0},\"message\":\"{1}\",\"result\":{2}}}";
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        public static string GetSession(string sMsg)
        {
            try
@@ -70,6 +75,252 @@
        [HttpGet]
        public Object get_CheckTypeByBarCode_Json(string sCode, Int64 sInterID, string sBillNo, string sMaker, Int64 WhID, Int64 SPID, Double sQty, bool sRedBlue, bool SourceFlag, string sSourceBillNo, string sSourceType, Int64 HOWNERID)
        {
            string sErrMsg = "";
            bool bResult;
            ////获取系统参数
            //if (oSystemParameter.ShowBill(ref sErrMsg) == true)
            //{
            //    if (oSystemParameter.omodel.WMS_CampanyName == "森楷" && sSourceType == "1241") //客户为森楷,并且为其他入库单模块时进入判断
            //    {
            //        DataSet ds;
            //        string sql = "select HBarCode,HSourceInterID,HSourceEntryID,HSourceBillNo from Gy_BarCodeBill with(nolock) where HBarCode = '" + sCode + "'";
            //        string HDataBaseName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName");//获取金蝶数据库名称
            //        string HSourceBillNo = "";
            //        Int64 HSourceInterID = 0;
            //        ds = oCn.RunProcReturn(sql, "Gy_BarCodeBill");
            //        //判断条码信息是否在条码档案中
            //        if (ds == null || ds.Tables[0].Rows.Count < 1)
            //        {
            //            objJsonResult.code = "0";
            //            objJsonResult.count = 0;
            //            objJsonResult.Message = "条码档案中不存在此条码编号:" + sCode;
            //            objJsonResult.data = null;
            //            return objJsonResult;
            //        }
            //        else
            //        {
            //            //获取入库申请单单号/主ID
            //            HSourceBillNo = 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 + "'", HDataBaseName);
            //            ds = oCn.RunProcReturn(sql, "TFKO_t_Cust100009");
            //            //入库申请单没有同步到金蝶则进行同步
            //            if (ds == null || ds.Tables[0].Rows.Count < 1)
            //            {
            //                sql = "exec h_p_Kf_StockInRequestBillToErp " + HSourceInterID + "," + HSourceBillNo;
            //                ds = oCn.RunProcReturn(sql, "h_p_Kf_StockInRequestBillToErp");
            //                if (ds == null || ds.Tables[0].Rows.Count == 0)
            //                {
            //                    oCn.RollBack();
            //                    objJsonResult.code = "0";
            //                    objJsonResult.count = 0;
            //                    objJsonResult.Message = "webapi入库申请单同步,获取信息失败";
            //                    objJsonResult.data = null;
            //                    return objJsonResult;
            //                }
            //                else
            //                {
            //                    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("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_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_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_BaseProperty", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["机台"])); //机台
            //                    model.Add("F_paez_Decimal", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["箱重"])); //箱重
            //                    //model.Add("F_WJUK_Text", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["来源"])); //来源
            //                    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_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]["最大箱号"])); //最大箱号
            //                    //model.Add("F_paez_PrintTimes", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["打印次数"])); //打印次数
            //                    //model.Add("F_paez_Text5", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["线号"])); //条码打印
            //                    //model.Add("F_paez_BaseProperty10", new JObject() { ["FNumber"] = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["部门代码"]) }); //生产部门
            //                    model.Add("F_paez_Combo1", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["是否内外贸"])); //是否内外贸
            //                    model.Add("F_paez_Combo2", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["产品类型"])); //产品类型
            //                    model.Add("F_paez_Combo3", Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0]["满版状态"])); //满版状态
            //                    //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
            //                    JArray Fentity = new JArray();
            //                    foreach (DataRow item in ds.Tables[1].Rows)
            //                    {
            //                        JObject FentityModel = new JObject();
            //                        FentityModel.Add("FMATERIALID", 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("FSecQTY", item["库存辅单位实收数量"].ToString()); //实收数量(库存辅单位)
            //                        FentityModel.Add("FOWNERTYPEID", item["货主类型"].ToString()); //货主类型
            //                        FentityModel.Add("FOWNERID", new JObject() { ["FNumber"] = 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("F_TFKO_Assistant1", 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_TFKO_Text1", item["管色"].ToString()); //管色
            //                        FentityModel.Add("F_TFKO_Text2", item["捻向"].ToString()); //捻向
            //                        FentityModel.Add("FBoxcode", item["箱号"].ToString()); //箱号
            //                        FentityModel.Add("F_PAEZ_SQSL", item["申请单数量"].ToString()); //申请单数量
            //                        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()); //箱号
            //                        //JArray Fentity2 = new JArray();
            //                        //JObject FentityModel2 = new JObject();
            //                        //FentityModel2.Add("FEntity_Link_FFlowId", item["FEntity_Link_FFlowId"].ToString());
            //                        //FentityModel2.Add("FEntity_Link_FFlowLineId", item["FEntity_Link_FFlowLineId"].ToString());
            //                        //FentityModel2.Add("FEntity_Link_FRuleId", item["FEntity_Link_FRuleId"].ToString());
            //                        //FentityModel2.Add("FEntity_Link_FSTableName", item["FEntity_Link_FSTableName"].ToString());
            //                        //FentityModel2.Add("FEntity_Link_FSBillId", item["FEntity_Link_FSBillId"].ToString());
            //                        //FentityModel2.Add("FEntity_Link_FSId", item["FEntity_Link_FSId"].ToString());
            //                        //Fentity2.Add(FentityModel2);
            //                        //FentityModel.Add("FEntity_Link", Fentity2);
            //                        //FentityModel.Add("FBFLowId", new JObject() { ["FID"] = item["FBFLOWID"].ToString() });
            //                        Fentity.Add(FentityModel);
            //                    }
            //                    model.Add("FEntity", Fentity); //明细信息
            //                    JObject jsonRoot = new JObject()
            //                    {
            //                        ["Creator"] = "",
            //                        ["NeedUpDateFields"] = new JArray(),
            //                        ["NeedReturnFields"] = new JArray(),
            //                        //["IsDeleteEntry"] = "true",
            //                        //["SubSystemId"] = "",
            //                        //["IsVerifyBaseDataField"] = "false",
            //                        ["IsDeleteEntry"] = "true",
            //                        ["SubSystemId"] = "",
            //                        ["IsVerifyBaseDataField"] = "true",
            //                        ["IsEntryBatchFill"] = "false",
            //                        ["ValidateFlag"] = "true",
            //                        ["NumberSearch"] = "true",
            //                        ["IsAutoAdjustField"] = "false",
            //                        ["InterationFlags"] = "",
            //                        ["IgnoreInterationFlag"] = "",
            //                        //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能
            //                        ["Model"] = model
            //                    };
            //                    //从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
            //                    if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
            //                    {
            //                        oCn.RollBack();
            //                        objJsonResult.code = "0";
            //                        objJsonResult.count = 0;
            //                        objJsonResult.Message = "入库申请单同步获取登录账号密码失败!";
            //                        objJsonResult.data = null;
            //                        return objJsonResult;
            //                    }
            //                    var loginRet = InvokeHelper.Login();
            //                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
            //                    if (isSuccess == 0)
            //                    {
            //                        oCn.RollBack();
            //                        objJsonResult.code = "0";
            //                        objJsonResult.count = 0;
            //                        objJsonResult.Message = "登录金蝶失败!";
            //                        objJsonResult.data = null;
            //                        return objJsonResult;
            //                    }
            //                    else
            //                    {
            //                        string result = InvokeHelper.Save("k18d2ab4f14034c569576ec8e0835a80c", JsonConvert.SerializeObject(jsonRoot));//保存
            //                        if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
            //                        {
            //                            LogService.Write(JsonConvert.SerializeObject(jsonRoot));
            //                            oCn.RollBack();
            //                            objJsonResult.code = "0";
            //                            objJsonResult.count = 0;
            //                            objJsonResult.Message = "入库申请单同步金蝶云失败!单号:" + HSourceBillNo + result + jsonRoot;
            //                            objJsonResult.data = null;
            //                            return objJsonResult;
            //                        }
            //                        //提交审核
            //                        string result1 = string.Empty;
            //                        string result2 = string.Empty;
            //                        var fID = JObject.Parse(result)["Result"]["Id"].ToString();
            //                        var fBillNo = JObject.Parse(result)["Result"]["Number"].ToString();
            //                        var json = new
            //                        {
            //                            Ids = fID,
            //                        };
            //                        if (oSystemParameter.omodel.Kf_StockInRequestBill_AutoCheck == "Y") //系统参数  自动审核
            //                        {
            //                            result1 = InvokeHelper.Submit("k18d2ab4f14034c569576ec8e0835a80c", JsonConvert.SerializeObject(json));//提交
            //                            result2 = InvokeHelper.Audit("k18d2ab4f14034c569576ec8e0835a80c", JsonConvert.SerializeObject(json));//审核
            //                            if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
            //                            {
            //                                oCn.RollBack();
            //                                objJsonResult.code = "0";
            //                                objJsonResult.count = 0;
            //                                objJsonResult.Message = "入库申请单单号:" + ",提交失败" + result1;
            //                                objJsonResult.data = null;
            //                                return objJsonResult;
            //                            }
            //                            if (JObject.Parse(result2)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
            //                            {
            //                                oCn.RollBack();
            //                                objJsonResult.code = "0";
            //                                objJsonResult.count = 0;
            //                                objJsonResult.Message = "入库申请单单号:" + ",审核失败" + result2;
            //                                objJsonResult.data = null;
            //                                return objJsonResult;
            //                            }
            //                        }
            //                    }
            //                }
            //            }
            //        }
            //    }
            //}
            //else
            //{
            //    objJsonResult.code = "0";
            //    objJsonResult.count = 0;
            //    objJsonResult.Message = "获取系统参数失败! " + sErrMsg;
            //    objJsonResult.data = null;
            //    return objJsonResult;
            //}
            string sExpressNumber = "";
            WebSoBar = oWebs.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo);
            if (WebSoBar == null)
@@ -167,6 +418,7 @@
        {
            try
            {
                string sErrMsg = "";
                bool sBool = false;
                oView = webserver.get_InfoByBarCode_Source(sBarCode, sInterID, ref sBool, ref sErrMsg);
@@ -233,6 +485,8 @@
            string msg1 = _value.ToString();
            try
            {
                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>();
                ListModels oListModels = new ListModels();
                lsmain = oListModels.getICStockBillMainByJson(msg1);
@@ -336,8 +590,8 @@
                List<Model.ClsKf_OtherInBillMain> lsmain = new List<Model.ClsKf_OtherInBillMain>();
                ListModels oListModels = new ListModels();
                lsmain = oListModels.getOtherInBillMainByJson(msg1);
                lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
                //lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                //lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
                string sSourceBillType = lsmain[0].HBillType;
                WebAPI.WebS.ClsKf_OtherInBillMain websLsmain = new WebS.ClsKf_OtherInBillMain();
@@ -350,7 +604,11 @@
                websLsmain.HMaker = lsmain[0].HMaker;
                websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID;
                websLsmain.HOWNERID = lsmain[0].HSTOCKORGID;
                websLsmain.HKeeperID = lsmain[0].HKeeperID;
                websLsmain.HSecManagerID = lsmain[0].HSecManagerID;
                websLsmain.HBillerID = lsmain[0].HBillerID;
                websLsmain.HBillType = "1203";//固定值
                websLsmain.HBillSubType = lsmain[0].HBillSubType;
                WebS.WebService1 oWebs = new WebS.WebService1();
                WebS.ClsXt_SystemParameterMain oSystemParameterMain = new WebS.ClsXt_SystemParameterMain();
@@ -358,7 +616,7 @@
                {            
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -366,7 +624,8 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "上传失败!" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                    //objJsonResult.Message = "上传失败!" + DBUtility.ClsPub.sErrInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }