Exemplo n.º 1
0
        /// <summary>
        /// 生产订单信息
        /// </summary>
        /// <param name="pPlanStartDate">计划开工日期</param>
        /// <param name="pFormId">业务标识</param>
        /// <returns></returns>
        public DataTable GetMo(string pPlanStartDate, Model.Enum.FormID pFormId)
        {
            string strOrg;

            switch (pFormId)
            {
            case Model.Enum.FormID.PRD_PPBOM:
                strOrg = "100508";
                break;

            case Model.Enum.FormID.PRD_PPBOM_DX:
                strOrg = "492501088";
                break;

            default:
                strOrg = "100508";
                break;
            }

            _SQL  = string.Format("SELECT DISTINCT MTL.FNUMBER 物料编码, MTLL.FNAME 物料名称, DEP.FNUMBER 部门编码, DEPL.FNAME 部门 ");
            _SQL += string.Format(" FROM T_PRD_MO A ");
            _SQL += string.Format(" INNER JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID ");
            _SQL += string.Format(" INNER JOIN T_PRD_MOENTRY_A AA ON AE.FENTRYID = AA.FENTRYID AND AA.FSTATUS IN({0}) ", strOrg == "100508" ? "3,4" : "4");
            _SQL += string.Format(" INNER JOIN T_BD_DEPARTMENT DEP ON AE.FWORKSHOPID = DEP.FDEPTID ");
            _SQL += string.Format(" INNER JOIN T_BD_DEPARTMENT_L DEPL ON DEP.FDEPTID = DEPL.FDEPTID AND DEPL.FLOCALEID = 2052 ");
            _SQL += string.Format(" INNER JOIN T_PRD_PPBOMENTRY PBE ON AA.FENTRYID = PBE.FMOENTRYID ");
            _SQL += string.Format(" INNER JOIN T_BD_MATERIAL MTL ON PBE.FMATERIALID = MTL.FMATERIALID AND MTL.FUSEORGID = {0} ", strOrg);
            _SQL += string.Format(" INNER JOIN T_BD_MATERIAL_L MTLL ON MTL.FMATERIALID = MTLL.FMATERIALID AND MTLL.FLOCALEID = 2052 ");
            _SQL += string.Format(" LEFT JOIN T_AUTO_MSTOCKSETTING MST ON MTL.FMATERIALID = MST.FMATERIALID AND DEP.FDEPTID = MST.FDEPTID ");
            _SQL += string.Format(" WHERE (MST.FMATERIALID IS NULL OR MST.FSTOCKID IS NULL) AND A.FDOCUMENTSTATUS = 'C' AND A.FPRDORGID = {0} AND TO_CHAR(AE.FPLANSTARTDATE,'yyyy-mm-dd') = '{1}'", strOrg, pPlanStartDate);

            return(ORAHelper.ExecuteTable(_SQL));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 根据日期获取入库单编号
        /// </summary>
        /// <param name="pDateTime">日期</param>
        /// <returns>DataTable</returns>
        public DataTable GetInstockBillNo(DateTime pDateTime)
        {
            _SQL  = string.Format("SELECT DISTINCT A.FBILLNO ");
            _SQL += string.Format(" FROM T_PRD_INSTOCK A ");
            _SQL += string.Format(" LEFT JOIN T_PRD_PICKMTRLDATA_A PICA ON A.FID = PICA.FSRCBIZINTERID ");
            _SQL += string.Format(" WHERE TO_CHAR(A.FDATE, 'yyyy-MM-dd') >= '{0}' AND  A.FDOCUMENTSTATUS = 'C' AND PICA.FSRCBIZBILLNO IS NULL", pDateTime.ToString("yyyy-MM-dd"));

            return(ORAHelper.ExecuteTable(_SQL));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 更新单价为空的销售出库单单价
        /// </summary>
        /// <param name="pOrgId">组织</param>
        /// <param name="pYear">年份</param>
        /// <param name="pMonth">月份</param>
        public void SynPrice(int pOrgId, int pYear, int pMonth)
        {
            string strFrom = pYear.ToString() + "-" + (pMonth > 9 ? pMonth.ToString() : "0" + pMonth.ToString()) + "-01";
            string strTo   = pYear.ToString() + "-" + (pMonth + 1 > 9 ? (pMonth + 1).ToString() : "0" + (pMonth + 1).ToString()) + "-01";

            _SQL  = string.Format("UPDATE T_SAL_OUTSTOCKENTRY_F AF SET (FPRICE,FTAXPRICE) = ");
            _SQL += string.Format(" (SELECT BF.FPRICE,BF.FPRICE FROM T_SAL_OUTSTOCK A,T_SAL_OUTSTOCKENTRY AE,T_SAL_OUTSTOCKENTRY_R AR,T_SAL_ORDER B,T_SAL_ORDERENTRY BE,T_SAL_ORDERENTRY_F BF ");
            _SQL += string.Format(" WHERE AF.FENTRYID = AR.FENTRYID AND AF.FENTRYID = AE.FENTRYID AND A.FID = AE.FID AND AR.FSRCBILLNO = B.FBILLNO AND B.FID = BE.FID AND AE.PRODUCTIONSEQ = BE.PRODUCTIONSEQ AND BE.FENTRYID = BF.FENTRYID AND A.FSALEORGID = {0} AND A.FDATE BETWEEN TO_DATE('{1}','YYYY-MM-DD') AND TO_DATE('{2}','YYYY-MM-DD') AND AE.PRODUCTIONSEQ != ' ') ", pOrgId, strFrom, strTo);
            _SQL += string.Format(" WHERE FPRICE = 0 AND EXISTS ");
            _SQL += string.Format(" (SELECT 1 FROM T_SAL_OUTSTOCK A,T_SAL_OUTSTOCKENTRY AE,T_SAL_OUTSTOCKENTRY_R AR,T_SAL_ORDER B,T_SAL_ORDERENTRY BE,T_SAL_ORDERENTRY_F BF ");
            _SQL += string.Format(" WHERE AF.FENTRYID = AR.FENTRYID AND AF.FENTRYID = AE.FENTRYID AND A.FID = AE.FID AND AR.FSRCBILLNO = B.FBILLNO AND B.FID = BE.FID AND AE.PRODUCTIONSEQ = BE.PRODUCTIONSEQ AND BE.FENTRYID = BF.FENTRYID AND A.FSALEORGID = {0} AND A.FDATE BETWEEN TO_DATE('{1}','YYYY-MM-DD') AND TO_DATE('{2}','YYYY-MM-DD') AND AE.PRODUCTIONSEQ != ' ') ", pOrgId, strFrom, strTo);

            ORAHelper.ExecuteNonQuery(_SQL);
        }