网页版生产发料通知单(领用申请单)列表模块,新增根据单据号同步调用方法
2个文件已修改
296 ■■■■ 已修改文件
WebAPI/Controllers/仓存管理/领料发货/Kf_MateOutBillController.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/仓存管理/领料发货/Kf_MateOutRequestBillController.cs 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/²Ö´æ¹ÜÀí/ÁìÁÏ·¢»õ/Kf_MateOutBillController.cs
@@ -1338,48 +1338,6 @@
                        oCn.RunProc("Delete b from Kf_ICStockBillMain a inner join Kf_ICStockBillSub b on a.HInterID=b.HInterID where a.HBillNo = '" + HBillNo + "' and a.HBillType='1204'", ref DBUtility.ClsPub.sExeReturnInfo);
                        oCn.RunProc("Delete from Kf_ICStockBillMain where HBillNo = '" + HBillNo + "' and HBillType='1204'", ref DBUtility.ClsPub.sExeReturnInfo);
                        ////主表数据赋值
                        //var MainData = new
                        //{
                        //    HInterID = HNewInterID,
                        //    HBillNo = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["BillNo"]),
                        //    HBillType = "1204",
                        //    HBillSubType = "1204",
                        //    HMainSourceBillType = "",
                        //    HDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["Date"]),
                        //    HSupID = 0,
                        //    HWHID = 0,
                        //    HSCWHID = 0,
                        //    HEmpID = 0,
                        //    HManagerID = 0,
                        //    HSecManagerID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["PickerId_Id"]),
                        //    HKeeperID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["FSTOCKERID_Id"]),
                        //    HDeptID = 0,
                        //    HCurID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["CurrId_Id"]),
                        //    HSeOrderBillNo = "",
                        //    HExplanation = "CLD导入",
                        //    HRemark = "",
                        //    HInnerBillNo = "",
                        //    HRedBlueFlag = 0,
                        //    HBillStatus = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["ApproverId_Id"]) == 0 ? 1 : 2,
                        //    HMaker = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["CreatorId"]["Name"]),
                        //    HMakeDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["CreateDate"]),
                        //    //HChecker = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["ApproverId"]),
                        //    HChecker = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["ApproverId_Id"]) == 0 ? "" : DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["ApproverId"]["Name"]),
                        //    HCheckDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["ApproveDate"]),
                        //    HUpDater = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["ModifierId_Id"]),
                        //    HUpDateDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["ModifyDate"]),
                        //    HDeleteMan = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["CANCELER_Id"]),
                        //    HDeleteDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["CancelDate"]),
                        //    HOWNERID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["OwnerId_Id"]),
                        //    HOWNERTYPEID = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["OwnerTypeId"]),
                        //    HERPInterID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["Id"]),
                        //    HERPBillType = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["BillType_Id"]),
                        //    HERPBillNo = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["BillNo"]),
                        //    HPRDORGID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["PrdOrgId_Id"]),
                        //    HSTOCKORGID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["StockOrgId_Id"]),
                        //};
                        //主表数据赋值
                        var MainData = new
                        {
WebAPI/Controllers/²Ö´æ¹ÜÀí/ÁìÁÏ·¢»õ/Kf_MateOutRequestBillController.cs
@@ -19,6 +19,7 @@
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        public string HManagerID { get; private set; }
@@ -329,5 +330,258 @@
            }
        }
        #region æ ¹æ®å•据号,同步生产发料通知单(领用申请单)
        [Route("Kf_MateOutRequestBillController/GetKf_MateOutRequestBill_Sync_Json")]
        [HttpGet]
        public json GetKf_MateOutRequestBill_Sync_Json(string HBillNo, string HBillType)
        {
            try
            {
                //获取系统参数
                string sql = string.Empty;
                string sErrMsg = "";
                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
                {
                    //系统参数是否为私有云模式,N为公有云模式,Y为私有云模式
                    //私有云模式,通过调用存储过程进行同步
                    if (oSystemParameter.omodel.WMS_CloudMode.ToUpper() == "Y")
                    {
                        ds = oCn.RunProcReturn("exec h_p_IFCLD_ERPSourceBillToLocal_MateOutRequest '" + HBillNo + "'", "h_p_IFCLD_ERPSourceBillToLocal_MateOutRequest");
                        if (ds == null || ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据同步发生错误!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 2)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            else
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 1;
                                objJsonResult.Message = "单据同步成功!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                    }
                    //公有云模式,通过调用WEBAPI方式进行同步
                    else if (oSystemParameter.omodel.WMS_CloudMode.ToUpper() == "N")
                    {
                        //判断金蝶云是否登录成功
                        var loginRet = InvokeHelper.Login();
                        var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                        //判断是否登录成功
                        if (isSuccess <= 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "同步失败,金蝶云登入不成功,请确认C盘配置文件所设置金蝶云对应网址、账套、登录用户、登录密码是否正确!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        var json = new
                        {
                            CreateOrgId = 0,
                            Number = HBillNo,
                            Id = ""
                        };
                        //查看 èŽ·å–æ•°æ®
                        var _result = InvokeHelper.View("PRD_ISSUEMTRNOTICE", JsonConvert.SerializeObject(json));
                        var _saveObj = JObject.Parse(_result);
                        //判断金蝶云数据是否获取成功
                        if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "金蝶云生产发料通知单获取失败:" + _result;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        oCn.BeginTran();
                        //根据单据号删除本地生产发料通知单中对应单据
                        oCn.RunProc("Delete b from Kf_MateOutRequestBillMain a inner join Kf_MateOutRequestBillSub b on a.HInterID=b.HInterID where a.HBillNo = '" + HBillNo + "'", ref DBUtility.ClsPub.sExeReturnInfo);
                        oCn.RunProc("Delete from Kf_MateOutRequestBillMain where HBillNo = '" + HBillNo + "'", ref DBUtility.ClsPub.sExeReturnInfo);
                        //主表数据赋值
                        var MainData = new
                        {
                            HInterID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["Id"]),
                            HBillNo = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["BillNo"]),
                            HBillType = "1214",
                            HBillSubType = "1214",
                            HDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["Date"]),
                            HBillStatus = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["ApproverId_Id"]) == 0 ? 1 : 2,
                            HInnerBillNo = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["BillNo"]),
                            HRemark = "CLD导入",
                            HEmpID = 0,
                            HManagerID = 0,
                            HSecManagerID = 0,
                            HKeeperID = 0,
                            HDeptID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["WorkShopId_Id"]),
                            HExplanation = "",
                            HICCard = "",
                            HSUPPLYType = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["IssueType"]),
                            HPRDORGID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["PrdOrgId_Id"]),
                            HMaker = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["CreatorId"]["Name"]),
                            HMakeDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["CreateDate"]),
                            HChecker = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["ApproverId_Id"]) == 0 ? "" : DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["ApproverId"]["Name"]),
                            HCheckDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["ApproveDate"]),
                            HUpDater = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["ModifierId_Id"]) == 0 ? "" : DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["ModifierId"]["Name"]),
                            HUpDateDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["ModifyDate"]),
                            HDeleteMan = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["CANCELER_Id"]) == 0 ? "" : DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["CANCELER"]["Name"]),
                            HDeleteDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["CancelDate"]),
                        };
                        //写入主表
                        sql = $@"Insert into Kf_MateOutRequestBillMain
                                    (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
                                    ,HBillNo,HBillStatus,HInnerBillNo,HRemark
                                    ,HEmpID,HManagerID,HSecManagerID,HKeeperID,HDeptID
                                    ,HExplanation,HICCard,HSUPPLYType,HPRDORGID
                                    ,HMaker,HMakeDate
                                    ,HChecker,HCheckDate
                                    ,HUpDater,HUpDateDate
                                    ,HDeleteMan,HDeleteDate)
                                    Values({MainData.HInterID},year('{MainData.HDate}'),month('{MainData.HDate}'),'{MainData.HBillType}','{MainData.HBillSubType}','{MainData.HDate}'
                                    ,'{MainData.HBillNo}',{MainData.HBillStatus},'{MainData.HInnerBillNo}','{MainData.HRemark}'
                                    , {MainData.HEmpID},{MainData.HManagerID},{MainData.HSecManagerID},{MainData.HKeeperID},{MainData.HDeptID}
                                    ,'{MainData.HExplanation}','{MainData.HICCard}','{MainData.HSUPPLYType}',{MainData.HPRDORGID}
                                    ,'{MainData.HMaker}','{MainData.HMakeDate}'
                                    ,'{MainData.HChecker}',case when '{MainData.HCheckDate}' = '1900/1/1 0:00:00' then NULL else '{MainData.HCheckDate}' end
                                    ,'{MainData.HUpDater}',case when '{MainData.HUpDateDate}' = '1900/1/1 0:00:00' then NULL else '{MainData.HUpDateDate}' end
                                    ,'{MainData.HDeleteMan}',case when '{MainData.HDeleteDate}' = '1900/1/1 0:00:00' then NULL else '{MainData.HDeleteDate}' end)";
                        oCn.RunProc(sql.Replace("\r\n", ""));
                        //子表数据赋值
                        var dataArr = _saveObj["Result"]["Result"]["DetailEntity"];
                        foreach (var oSub in dataArr)
                        {
                            var subData = new
                            {
                                HInterID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["Id"]),
                                HEntryID = DBUtility.ClsPub.isLong(oSub["Id"]),
                                HERPInterID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["Id"]),
                                HERPEntryID = DBUtility.ClsPub.isLong(oSub["Id"]),
                                HSEQ = DBUtility.ClsPub.isLong(oSub["Seq"]),
                                HRemark = "",
                                HMaterID = DBUtility.ClsPub.isLong(oSub["MATERIALID_Id"]),
                                HProdMaterID = DBUtility.ClsPub.isLong(oSub["PMATERIALID_Id"]),
                                HUnitID = DBUtility.ClsPub.isLong(oSub["UnitID_Id"]),
                                HAuxPropID = DBUtility.ClsPub.isLong(oSub["AuxPropID_Id"]),
                                HBatchNO = DBUtility.ClsPub.isStrNull(oSub["Lot_Text"]),
                                HWHID = DBUtility.ClsPub.isLong(oSub["StockID_Id"]),
                                HSPID = DBUtility.ClsPub.isLong(oSub["StockLOCID_Id"]),
                                HPrice = 0,
                                HMoney = 0,
                                HMTONo = DBUtility.ClsPub.isStrNull(oSub["CHILDMTONO"]),
                                HPlanMode = 0,
                                HStockStatusID = DBUtility.ClsPub.isLong(oSub["StockStatusId_Id"]),
                                HQty = DBUtility.ClsPub.isDoule(oSub["AppQty"]),
                                HQtyMust = DBUtility.ClsPub.isDoule(oSub["MustQty"]),
                                HRelationQty = DBUtility.ClsPub.isDoule(oSub["ActPickedQty"]),
                                HMoveStockQty = 0,
                                HRelationMoney = 0,
                                HSourceInterID = 0,
                                HSourceEntryID = 0,
                                HSourceBillNo = DBUtility.ClsPub.isStrNull(oSub["MOBILLNO"]),
                                HSourceBillType = "3710",
                                HPPBOMInterID = DBUtility.ClsPub.isLong(oSub["PPBomId"]),
                                HPPBOMEntryID = DBUtility.ClsPub.isLong(oSub["PPBomEntryId"]),
                                HPPBOMEntrySEQ = 0,
                                HPPBOMBillNo = "",
                                HICMOInterID = 0,
                                HICMOEntryID = 0,
                                HICMOEntrySEQ = DBUtility.ClsPub.isLong(oSub["MOBILLSEQ"]),
                                HICMOBillNo = DBUtility.ClsPub.isStrNull(oSub["MOBILLNO"]),
                                HPOOrderInterID = 0,
                                HPOOrderEntryID = 0,
                                HPOOrderBillNo = "",
                                HOWNERID = DBUtility.ClsPub.isLong(oSub["OwnerID_Id"]),
                                HOWNERTYPEID = DBUtility.ClsPub.isStrNull(oSub["OwnerTypeId"]),
                                HKEEPERID = DBUtility.ClsPub.isLong(oSub["KeeperId_Id"]),
                                HKEEPERTYPEID = DBUtility.ClsPub.isStrNull(oSub["KeeperTypeId"]),
                                HSUPPLYORGID = DBUtility.ClsPub.isLong(oSub["SupplyOrgId_Id"]),
                                HBOMID = DBUtility.ClsPub.isLong(oSub["FChildBomID_Id"]),
                                HProcessID = DBUtility.ClsPub.isLong(oSub["ProcessID_Id"]),
                                HBaseUnitID = DBUtility.ClsPub.isLong(oSub["BaseUnitID_Id"]),
                                HOperID = DBUtility.ClsPub.isLong(oSub["OperID"]),
                                HOptQueue = DBUtility.ClsPub.isStrNull(oSub["OptQueue"]),
                                HGroupRowId = DBUtility.ClsPub.isStrNull(oSub["GroupRowId"]),
                            };
                            //写入子表
                            sql = $@"Insert into Kf_MateOutRequestBillSub
                                        (HInterID,HEntryID,HERPInterID,HERPEntryID,HSEQ,HRemark
                                        ,HMaterID,HProdMaterID,HUnitID,HAuxPropID,HBatchNO,HWHID,HSPID
                                        ,HPrice,HMoney,HMTONo,HPlanMode,HStockStatusID,HDate
                                        ,HQty,HQtyMust,HRelationQty,HMoveStockQty,HRelationMoney
                                        ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
                                        ,HPPBOMInterID,HPPBOMEntryID,HPPBOMEntrySEQ,HPPBOMBillNo
                                        ,HICMOInterID,HICMOEntryID,HICMOEntrySEQ,HICMOBillNo
                                        ,HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo
                                        ,HOWNERID,HOWNERTYPEID,HKEEPERID,HKEEPERTYPEID,HSUPPLYORGID
                                        ,HBOMID,HProcessID,HBaseUnitID,HOperID,HOptQueue,HGroupRowId)
                                        Values ({subData.HInterID},{subData.HEntryID},{subData.HERPInterID},{subData.HERPEntryID},{subData.HSEQ},'{subData.HRemark}'
                                        ,{subData.HMaterID},{subData.HProdMaterID},{subData.HUnitID},{subData.HAuxPropID},'{subData.HBatchNO}',{subData.HWHID},{subData.HSPID}
                                        ,{subData.HPrice},{subData.HMoney},'{subData.HMTONo}',{subData.HPlanMode},{subData.HStockStatusID},getdate()
                                        ,{subData.HQty},{subData.HQtyMust},{subData.HRelationQty},{subData.HMoveStockQty},{subData.HRelationMoney}
                                        ,{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}'
                                        ,{subData.HPPBOMInterID},{subData.HPPBOMEntryID},{subData.HPPBOMEntrySEQ},'{subData.HPPBOMBillNo}'
                                        ,{subData.HICMOInterID},{subData.HICMOEntryID},{subData.HICMOEntrySEQ},'{subData.HICMOBillNo}'
                                        ,{subData.HPOOrderInterID},{subData.HPOOrderEntryID},'{subData.HPOOrderBillNo}'
                                        ,{subData.HOWNERID},'{subData.HOWNERTYPEID}',{subData.HKEEPERID},'{subData.HKEEPERTYPEID}',{subData.HSUPPLYORGID}
                                        ,{ subData.HBOMID},{subData.HProcessID},{ subData.HBaseUnitID},{subData.HOperID},'{ subData.HOptQueue}','{ subData.HGroupRowId}')";
                            oCn.RunProc(sql.Replace("\r\n", ""));
                        }
                        oCn.Commit();
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "单据同步成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "不支持同步功能!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "获取系统参数失败! " + sErrMsg;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据同步失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}