diff --git a/aoyuPlugIn/aoyuPlugIn.csproj b/aoyuPlugIn/aoyuPlugIn.csproj index 9c83f14..e2fabf1 100644 --- a/aoyuPlugIn/aoyuPlugIn.csproj +++ b/aoyuPlugIn/aoyuPlugIn.csproj @@ -122,5 +122,12 @@ + + + + + + + \ No newline at end of file diff --git a/aoyuPlugIn/汇威/SQL Server/hw_get_zpjjmxb.sql b/aoyuPlugIn/汇威/SQL Server/hw_get_zpjjmxb.sql new file mode 100644 index 0000000..07c667f --- /dev/null +++ b/aoyuPlugIn/汇威/SQL Server/hw_get_zpjjmxb.sql @@ -0,0 +1,89 @@ + +/****** Object: StoredProcedure [dbo].[hw_get_zpjjmxb] Script Date: 2025/9/26 15:54:09 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +ALTER PROCEDURE [dbo].[hw_get_zpjjmxb] + @fdate1 NVARCHAR(20) +AS +BEGIN + +DECLARE @fdate NVARCHAR(20) +SET @fdate=''''+ @fdate1 + '''' + +DELETE hw_zpjjmxb where jjdate=@fdate1 + + + --1ȡƼ=-Ա+ǰתƼԱ +declare @bzrs nvarchar(max) +set @bzrs='(select p1.FID,p1.rs-isnull(p2.syqrs,0) as rs from (select t1.FID, count(*) as rs + from GAT_DAY_ZP t1 join GAT_DAY_jt_ZP jt on t1.fid=jt.fid + where F_DATE='+@fdate+' group by t1.FID) p1 left outer join + ( select t1.FID, count(*) as syqrs from GAT_DAY_ZP t1 join GAT_DAY_jt_ZP t2 on t1.fid=t2.fid +join GAT_YGCQs t3 on t2.f_ygno=t3.f_ygnm join GAT_YGCQ t4 on t3.fid=t4.fid and t4.f_date='+@fdate+' +left outer join hw_xygzjj t5 on t3.F_YGNM=t5.F_YGID and t4.F_DATE>=t5.F_DATE + where t5.F_YGID is null and t3.f_issyq='''' and t1.F_DATE='+@fdate+' group by t1.FID) p2 on p1.fid=p2.FID)' + + --select @bzrs + --Ƽ(jjDate, ygNo, ygNm, zlNo, cpNm, price, fqty, jtrs, je, bz, zje,jjcsbt,gwbt,jjdh) +declare @sql nvarchar(max) +set @sql='insert into hw_zpjjmxb + select t1.F_DATE, +yg.FNUMBER, +ygs.FNAME, + scdd.FNUMBER, + scdd.FCPNM, +t2.F_PRICE, +case when isnull(rs1.rs,0)=0 then 0 else t2.F_FQTY end, +rs1.rs, +case when isnull(rs1.rs,0)=0 then 0 else t2.F_FQTY/rs1.rs end * t2.F_PRICE, +0, +case when isnull(rs1.rs,0)=0 then 0 else t2.F_FQTY/rs1.rs end * t2.F_PRICE,0,0,t1.fbillno + + from GAT_DAY_ZP t1 join GAT_DAY_CP_ZP t2 on t1.FID=t2.FID +join hw_scdd_select scdd on t2.F_SCNO=scdd.FID +join GAT_DAY_JT_ZP t3 on t1.FID=t3.FID +join T_HR_EMPINFO yg on t3.F_YGNO=yg.FID +join T_HR_EMPINFO_L ygs on yg.FID=ygs.FID +join '+@bzrs+' rs1 on t1.fid=rs1.fid +where t1.F_DATE='+@fdate + + +--select @sql +exec(@sql) + + +--˼Ƽ +insert into hw_zpjjmxb select t1.F_DATE as Ƽ,yg.FNUMBER as Ա,ygs.FNAME as Ա, scdd.FNUMBER as , scdd.FCPNM as Ʒ,t2.F_PRICE,t2.F_FQTY +,null as ,t2.F_JJGZ as ,null as ,t2.F_JJGZ as ܽ,0,0,t1.fbillno + from GAT_DAY_ZP t1 join GAT_DAY_GR_ZP t2 on t1.FID=t2.FID + +join hw_scdd_select scdd on t2.F_SCNO=scdd.FID + +join T_HR_EMPINFO yg on t2.F_YGNO=yg.FID +join T_HR_EMPINFO_L ygs on yg.FID=ygs.FID +where t1.F_DATE=@fdate1 +----------------------------------------------- +update t1 set bz=t3.F_SYQBT,jjcsbt=t3.F_CSBT,gwbt=t3.F_GWBT from hw_zpjjmxb t1 join GAT_rgz t2 on t1.jjDate=t2.FDATE join GAT_rgzs t3 on t2.fid=t3.fid + + join T_HR_EMPINFO yg on t3.F_YGNO=yg.FID + and t1.ygno=yg.FNUMBER where t1.jjDate=@fdate1 + + --ظ +update hw_zpjjmxb set bz=0 where bz>0 and jjDate=@fdate1 and FInterID not in (select min(FInterID) from hw_zpjjmxb where jjDate=@fdate1 group by ygno,bz) +update hw_zpjjmxb set jjcsbt=0 where jjcsbt>0 and jjDate=@fdate1 and FInterID not in (select min(FInterID) from hw_zpjjmxb where jjDate=@fdate1 group by ygno,jjcsbt) +update hw_zpjjmxb set gwbt=0 where gwbt>0 and jjDate=@fdate1 and FInterID not in (select min(FInterID) from hw_zpjjmxb where jjDate=@fdate1 group by ygno,gwbt) + + + --¼˽ܽ +update hw_zpjjmxb set je=round(price*fqty/case when isnull(jtrs,0)=0 then 1 else jtrs end,2) , +zje=round( price*fqty/case when isnull(jtrs,0)=0 then 1 else jtrs end,2)+bz+jjcsbt+gwbt where jjdate=@fdate1 + +-- +DELETE t1 from hw_zpjjmxb t1 join T_HR_EMPINFO yg on t1.ygno=yg.FNUMBER + +join GAT_YGCQs cqs on yg.FID=cqs.F_YGNM join GAT_YGCQ cq on cqs.fid=cq.fid +where jjDate=@fdate1 and cq.F_DATE=@fdate1 and cqs.F_ISSYQ='' and cqs.F_YGNM not in (select f_ygID from hw_xygzjj where f_date<=@fdate1) + +END \ No newline at end of file diff --git a/aoyuPlugIn/汇威/SQL Server/hw_get_zpjjmxb_20250926.sql b/aoyuPlugIn/汇威/SQL Server/hw_get_zpjjmxb_20250926.sql new file mode 100644 index 0000000..0a18315 --- /dev/null +++ b/aoyuPlugIn/汇威/SQL Server/hw_get_zpjjmxb_20250926.sql @@ -0,0 +1,108 @@ + +/****** Object: StoredProcedure [dbo].[hw_get_zpjjmxb] Script Date: 2025/9/26 15:54:09 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +ALTER PROCEDURE [dbo].[hw_get_zpjjmxb] + @fdate1 NVARCHAR(20) +AS +BEGIN + + DECLARE @fdate NVARCHAR(20) + SET @fdate=''''+ @fdate1 + '''' + + DELETE hw_zpjjmxb WHERE jjdate=@fdate1 + + --Ƽ(jjDate, ygNo, ygNm, zlNo, cpNm, price, fqty, jtrs, je, bz, zje,jjcsbt,gwbt,jjdh) + INSERT INTO hw_zpjjmxb + SELECT t1.F_DATE + ,yg.FNUMBER,ygs.FNAME,scdd.FNUMBER,scdd.FCPNM,t2.F_PRICE + ,CASE WHEN ISNULL(rs1.rs,0)=0 THEN 0 ELSE t2.F_FQTY END + ,rs1.rs + ,CASE WHEN ISNULL(rs1.rs,0)=0 THEN 0 ELSE t2.F_FQTY/rs1.rs END * t2.F_PRICE + ,0 + ,CASE WHEN ISNULL(rs1.rs,0)=0 THEN 0 ELSE t2.F_FQTY/rs1.rs END * t2.F_PRICE + ,0,0,t1.fbillno + ,scdd.FCPNO + FROM GAT_DAY_ZP t1 + INNER JOIN GAT_DAY_CP_ZP t2 on t1.FID=t2.FID + INNER JOIN hw_scdd_select scdd on t2.F_SCNO=scdd.FID + INNER JOIN GAT_DAY_JT_ZP t3 on t1.FID=t3.FID + INNER JOIN T_HR_EMPINFO yg on t3.F_YGNO=yg.FID + INNER JOIN T_HR_EMPINFO_L ygs on yg.FID=ygs.FID + INNER JOIN ( + --1ȡƼ=-Ա+ǰתƼԱ + SELECT p1.FID,p1.rs-ISNULL(p2.syqrs,0) as rs + FROM ( + SELECT t1.FID, count(*) as rs + FROM GAT_DAY_ZP t1 + INNER JOIN GAT_DAY_jt_ZP jt on t1.fid=jt.fid + WHERE F_DATE= @fdate1 + GROUP BY t1.FID + ) p1 + LEFT OUTER JOIN ( + SELECT t1.FID, count(*) as syqrs + FROM GAT_DAY_ZP t1 + INNER JOIN GAT_DAY_jt_ZP t2 on t1.fid=t2.fid + INNER JOIN GAT_YGCQs t3 on t2.f_ygno=t3.f_ygnm + INNER JOIN GAT_YGCQ t4 on t3.fid=t4.fid AND t4.f_date = @fdate1 + LEFT OUTER JOIN hw_xygzjj t5 on t3.F_YGNM=t5.F_YGID AND t4.F_DATE>=t5.F_DATE + WHERE t5.F_YGID IS NULL AND t3.f_issyq='' AND t1.F_DATE = @fdate1 + GROUP BY t1.FID + ) p2 on p1.fid=p2.FID + ) rs1 on t1.fid = rs1.fid + WHERE t1.F_DATE = @fdate1 + OPTION (RECOMPILE) + + --˼Ƽ + INSERT INTO hw_zpjjmxb + SELECT t1.F_DATE as Ƽ + ,yg.FNUMBER as Ա + ,ygs.FNAME as Ա + ,scdd.FNUMBER as  + ,scdd.FCPNM as Ʒ + ,t2.F_PRICE + ,t2.F_FQTY + ,null as + ,t2.F_JJGZ as + ,null as + ,t2.F_JJGZ as ܽ,0,0 + ,t1.fbillno + ,scdd.FCPNO + FROM GAT_DAY_ZP t1 + INNER JOIN GAT_DAY_GR_ZP t2 on t1.FID = t2.FID + INNER JOIN hw_scdd_select scdd on t2.F_SCNO = scdd.FID + INNER JOIN T_HR_EMPINFO yg on t2.F_YGNO = yg.FID + INNER JOIN T_HR_EMPINFO_L ygs on yg.FID = ygs.FID + WHERE t1.F_DATE = @fdate1 + OPTION (RECOMPILE) + ----------------------------------------------- + + UPDATE t1 SET bz =t3.F_SYQBT + ,jjcsbt = t3.F_CSBT + ,gwbt = t3.F_GWBT + FROM hw_zpjjmxb t1 + INNER JOIN GAT_rgz t2 on t1.jjDate=t2.FDATE + INNER JOIN GAT_rgzs t3 on t2.fid=t3.fid + INNER JOIN T_HR_EMPINFO yg on t3.F_YGNO = yg.FID AND t1.ygno = yg.FNUMBER + WHERE t1.jjDate=@fdate1 + + --ظ + UPDATE hw_zpjjmxb SET bz = 0 WHERE bz>0 AND jjDate=@fdate1 AND FInterID NOT IN (SELECT MIN(FInterID) FROM hw_zpjjmxb WHERE jjDate=@fdate1 GROUP BY ygno,bz) + UPDATE hw_zpjjmxb SET jjcsbt = 0 WHERE jjcsbt>0 AND jjDate=@fdate1 AND FInterID NOT IN (SELECT MIN(FInterID) FROM hw_zpjjmxb WHERE jjDate=@fdate1 GROUP BY ygno,jjcsbt) + UPDATE hw_zpjjmxb SET gwbt = 0 WHERE gwbt>0 AND jjDate=@fdate1 AND FInterID NOT IN (SELECT MIN(FInterID) FROM hw_zpjjmxb WHERE jjDate=@fdate1 GROUP BY ygno,gwbt) + + --¼˽ܽ + UPDATE hw_zpjjmxb SET je=ROUND(price*fqty/ CASE WHEN ISNULL(jtrs,0)=0 THEN 1 ELSE jtrs END,2) + ,zje=ROUND(price * fqty / CASE WHEN ISNULL(jtrs,0) = 0 THEN 1 ELSE jtrs END ,2) + bz + jjcsbt + gwbt + WHERE jjdate=@fdate1 + + -- + DELETE t1 FROM hw_zpjjmxb t1 + INNER JOIN T_HR_EMPINFO yg on t1.ygno = yg.FNUMBER + INNER JOIN GAT_YGCQs cqs on yg.FID = cqs.F_YGNM + INNER JOIN GAT_YGCQ cq on cqs.fid = cq.fid + WHERE jjDate=@fdate1 AND cq.F_DATE = @fdate1 AND cqs.F_ISSYQ = '' + AND cqs.F_YGNM NOT IN (SELECT f_ygID FROM hw_xygzjj WHERE f_date <= @fdate1) +END \ No newline at end of file diff --git a/aoyuPlugIn/汇威/SQL Server/hw_scdd_select.sql b/aoyuPlugIn/汇威/SQL Server/hw_scdd_select.sql new file mode 100644 index 0000000..0244ca6 --- /dev/null +++ b/aoyuPlugIn/汇威/SQL Server/hw_scdd_select.sql @@ -0,0 +1,23 @@ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +ALTER VIEW [dbo].[hw_scdd_select] +AS +SELECT wl.FMATERIALID, rwds.FUNITID, rwds.FENTRYID AS FID, rwd.FBILLNO AS FNUMBER, xsd.FBILLNO AS FXSNO, + wl.FNUMBER AS FCPNO, wls.FNAME AS FCPNM, wls.FSPECIFICATION, + dw.FNUMBER AS FDWNM, rwds.FQTY + rwds.F_BDS - rwds.F_YSCS - rwds.F_GRJJS AS FWSCS, + rwds.FQTY + rwds.F_BDS AS FQTY +FROM T_PRD_MO AS rwd INNER JOIN + T_PRD_MOENTRY AS rwds ON rwd.FID = rwds.FID INNER JOIN + T_BD_MATERIAL AS wl ON rwds.FMATERIALID = wl.FMATERIALID INNER JOIN + T_BD_MATERIAL_L AS wls ON wl.FMATERIALID = wls.FMATERIALID left outer JOIN + T_SAL_ORDER AS xsd ON rwds.FSALEORDERID = xsd.FID INNER JOIN + T_BD_UNIT AS dw ON rwds.FUNITID = dw.FUNITID +WHERE (rwd.FDOCUMENTSTATUS = 'C') + AND CONVERT(int,CONVERT(varchar(4),rwd.FDATE,112)) = 2025 + +GO \ No newline at end of file diff --git a/aoyuPlugIn/汇威/SQL Server/hw_v_zpjjmxb.sql b/aoyuPlugIn/汇威/SQL Server/hw_v_zpjjmxb.sql new file mode 100644 index 0000000..726dcce --- /dev/null +++ b/aoyuPlugIn/汇威/SQL Server/hw_v_zpjjmxb.sql @@ -0,0 +1,16 @@ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +ALTER VIEW [dbo].[hw_v_zpjjmxb] +AS +SELECT t1.FInterID AS FID, CONVERT(nvarchar(40), t1.FInterID) + 'A' AS FNumber, CONVERT(nvarchar(40), t1.FInterID) + 'B' AS FName + ,t1.jjDate,t1.ygNo,t1.ygNm,t1.zlNo,t1.cpNm,t1.price,t1.fqty + ,t1.jtrs,t1.je,t1.bz,t1.zje,t1.jjcsbt,t1.gwbt,t1.jjdh,bz.FNAME AS bznm +FROM dbo.hw_zpjjmxb AS t1 + LEFT OUTER JOIN dbo.GAT_DAY_ZP AS t2 ON t1.jjdh = t2.FBILLNO + LEFT OUTER JOIN dbo.GAT_BANZU_L AS bz ON t2.F_CBM = bz.FID + +GO \ No newline at end of file diff --git a/aoyuPlugIn/汇威/zp_plyg.cs b/aoyuPlugIn/汇威/zp_plyg.cs index d2b46cc..a4b0ca5 100644 --- a/aoyuPlugIn/汇威/zp_plyg.cs +++ b/aoyuPlugIn/汇威/zp_plyg.cs @@ -22,22 +22,22 @@ namespace aoyuPlugIn { [HotUpdate] [Description("装配批录员工")] - public class zp_plyg : AbstractBillPlugIn + public class zp_plyg : AbstractBillPlugIn { public override void BeforeSave(BeforeSaveEventArgs e) - { + { base.BeforeSave(e); if (check_data() == false) e.Cancel = true; } //检测数据 - bool check_data() - { + private bool check_data() + { bool isok = true; try { - string djno ="";int isAdd=0; + string djno = ""; int isAdd = 0; if (this.View.OpenParameter.Status == OperationStatus.ADDNEW) //新增 { isAdd = 0; @@ -67,7 +67,7 @@ namespace aoyuPlugIn return isok; } //验证数据 - bool yzdata(DataTable tb,string djno,int isAdd) + private bool yzdata(DataTable tb, string djno, int isAdd) { try { @@ -83,7 +83,8 @@ namespace aoyuPlugIn return false; } } - }catch(Exception ex) { this.View.ShowMessage("验证数据时发生错误为:" + ex.Message); } + } + catch (Exception ex) { this.View.ShowMessage("验证数据时发生错误为:" + ex.Message); } return true; } //bool check_data1() @@ -131,7 +132,7 @@ namespace aoyuPlugIn // return isok; //} //取集体计件数量 - DataTable getJTJJ () + private DataTable getJTJJ() { ArrayList data1 = new ArrayList(); DataTable tb = new DataTable(); @@ -141,7 +142,7 @@ namespace aoyuPlugIn try { - + string FEntity_nm = "F_GAT_Entity1"; //取表体最大行数 int tol = this.Model.GetEntryRowCount(FEntity_nm); @@ -153,7 +154,7 @@ namespace aoyuPlugIn DynamicObject fgt1 = this.View.Model.GetValue("F_DJGWID", i) as DynamicObject; string gxID = fgt1["Number"].ToString(); - string sl = this.Model.GetValue("F_FQTY",i).ToString(); + string sl = this.Model.GetValue("F_FQTY", i).ToString(); string p = rwdID + "*" + gxID; if (data1.Contains(p) == false) { @@ -177,7 +178,7 @@ namespace aoyuPlugIn } - } + } } catch (Exception ex) @@ -185,7 +186,7 @@ namespace aoyuPlugIn return tb; } //取个人计件数据 - DataTable getGRJJ() + private DataTable getGRJJ() { //int index = this.View.Model.GetEntryCurrentRowIndex("你的单据体标识"); //DynamicObject obj = this.Model.DataObject; @@ -195,7 +196,7 @@ namespace aoyuPlugIn //取表体最大行数 //int tol = this.Model.GetEntryRowCount(FEntity_nm); - ArrayList data1 = new ArrayList(); + ArrayList data1 = new ArrayList(); DataTable tb = new DataTable(); tb.Columns.Add("rwdID"); tb.Columns.Add("gxID"); @@ -237,28 +238,30 @@ namespace aoyuPlugIn } } } - }catch(Exception ex) { this.View.ShowMessage("组合表数据时发生错误为:" + ex.Message); } + } + catch (Exception ex) { this.View.ShowMessage("组合表数据时发生错误为:" + ex.Message); } return tb; } - string[] tolsl(string djno,string rwdID,string gxID,string sl, int isAdd) + private string[] tolsl(string djno, string rwdID, string gxID, string sl, int isAdd) { string[] isok = new string[2]; isok[0] = "0"; isok[1] = "0"; - - - string sql = String.Format("exec hw_zp_yzsl '{0}',{1},{2},'{3}',{4}",djno, rwdID,gxID,sl,isAdd); + + + string sql = String.Format("exec hw_zp_yzsl '{0}',{1},{2},'{3}',{4}", djno, rwdID, gxID, sl, isAdd); var dr1 = DBServiceHelper.ExecuteDynamicObject(this.Context, sql); string jg = "0"; if (dr1.Count > 0) jg = dr1[0][0].ToString(); - - if ( jg!="0") { + + if (jg != "0") + { isok[0] = "1"; isok[1] = jg; } - return isok; + return isok; } //单据头菜单点击 //public override void BarItemClick(BarItemClickEventArgs e) @@ -270,7 +273,7 @@ namespace aoyuPlugIn // //}else if(e.BarItemKey== "tbReject") { // // fx_yscs(e, "0"); - + // //} //} //public override void AfterBarItemClick(AfterBarItemClickEventArgs e) @@ -287,7 +290,7 @@ namespace aoyuPlugIn //{ // base.AfterBindData(e); - + //// var baseObj1 = this.Model.GetValue("FBT005"); // if (baseObj1.ToString() =="0") // { @@ -310,17 +313,17 @@ namespace aoyuPlugIn // } - + // } - + //} - //反写已生产数据 - void fx_yscs(BarItemClickEventArgs e,string sh) + //反写已生产数据 + private void fx_yscs(BarItemClickEventArgs e, string sh) { string fbillno = this.View.Model.GetValue("FBillNo").ToString(); - var sSql = String.Format("EXEC hw_zplr_fx_scdd " + fbillno + ","+sh); + var sSql = String.Format("EXEC hw_zplr_fx_scdd " + fbillno + "," + sh); var dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sSql); string t = "生产数量大于订单数量,不能审核!"; @@ -336,7 +339,6 @@ namespace aoyuPlugIn this.View.ShowMessage(t); e.Cancel = true; } - } //点击单据体菜单 public override void EntryBarItemClick(BarItemClickEventArgs e) @@ -350,9 +352,9 @@ namespace aoyuPlugIn string t = fgt["ID"].ToString(); add_data_stort(t); } - + } - void del_data(string FEntity_nm) + private void del_data(string FEntity_nm) { try { @@ -367,6 +369,7 @@ namespace aoyuPlugIn catch (Exception ex) { this.View.ShowMessage("删除表体数据时发生错误为:" + ex.Message); } } + public void add_data_stort(string cs) { try diff --git a/aoyuPlugIn/汇威/zp_rgz.cs b/aoyuPlugIn/汇威/zp_rgz.cs index 405786d..001d665 100644 --- a/aoyuPlugIn/汇威/zp_rgz.cs +++ b/aoyuPlugIn/汇威/zp_rgz.cs @@ -52,7 +52,7 @@ namespace aoyuPlugIn } } //生成员工计件工资明细 - void sc_mx(string fdate) + private void sc_mx(string fdate) { try { diff --git a/aoyuPlugIn/汇威/zp_rgz_LB.cs b/aoyuPlugIn/汇威/zp_rgz_LB.cs index 55252ef..561c554 100644 --- a/aoyuPlugIn/汇威/zp_rgz_LB.cs +++ b/aoyuPlugIn/汇威/zp_rgz_LB.cs @@ -29,13 +29,11 @@ namespace aoyuPlugIn if (e.BarItemKey == "tbSplitSubmit" || e.BarItemKey == "tbSubmit")//提交 { - fxjdb(); - } } - void fxjdb() + private void fxjdb() { try { @@ -53,14 +51,17 @@ namespace aoyuPlugIn if (zt == "A" || zt == "D") { sc_mx(fdate); - } + } } } } - catch (Exception ex) { this.View.ShowMessage("生成计件工资明细时发生错误为:" + ex.Message); } + catch (Exception ex) + { + this.View.ShowMessage("生成计件工资明细时发生错误为:" + ex.Message); + } } //生成员工计件工资明细 - void sc_mx(string fdate) + private void sc_mx(string fdate) { try { @@ -74,4 +75,4 @@ namespace aoyuPlugIn } } } - } +}