|
@@ -13,6 +13,7 @@ using JLHHJSvr.LJFramework.Tools;
|
|
|
using JLHHJSvr.Tools;
|
|
|
using LJLib.DAL.SQL;
|
|
|
using LJLib.Net.SPI.Server;
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
|
|
|
namespace JLHHJSvr.Excutor
|
|
|
{
|
|
@@ -51,135 +52,125 @@ namespace JLHHJSvr.Excutor
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- using (var erp_con = new SqlConnection(BllHelper.GetERPConnectString(cmd)))
|
|
|
- using (var erp_cmd = erp_con.CreateCommand())
|
|
|
+ var mattress_interface_qd_list = new List<u_mattress_interface_qd>();
|
|
|
+
|
|
|
+ var selectStr = @"SELECT u_mattress_interface_qd.mattressid
|
|
|
+ ,u_mattress_interface_qd.printid
|
|
|
+ ,u_mattress_interface_qd.itemname
|
|
|
+ ,u_mattress_interface_qd.bj_pzname
|
|
|
+ ,u_mattress_interface_qd.bj_pzname_mx
|
|
|
+ ,u_mattress_interface_qd.bj_pzname_mx_mx
|
|
|
+ ,u_mattress_interface_qd.mtrlid
|
|
|
+ ,u_mattress_interface_qd.erp_mtrlid
|
|
|
+ ,u_mattress_interface_qd.useqty
|
|
|
+ ,u_mattress_interface_qd.dscrp
|
|
|
+ ,u_mtrl_price.name AS mtrlname
|
|
|
+ ,u_mattress_interface_qd.actual_useqty
|
|
|
+ ,u_mattress_interface_qd.qd_actual_size
|
|
|
+ ,u_mattress_interface_qd.qd_pfgroupqty
|
|
|
+ ,u_mattress_interface_qd.wrkgrpid
|
|
|
+ ,u_mattress_interface_qd.ss_rate
|
|
|
+ ,u_mattress_interface_qd.ls_rate
|
|
|
+ ,u_mattress_interface_qd.sh_rate
|
|
|
+ FROM u_mattress_interface_qd
|
|
|
+ LEFT JOIN u_mtrl_price ON u_mtrl_price.mtrlid = u_mattress_interface_qd.mtrlid";
|
|
|
+ var outputFields = "mattressid,printid,itemname,bj_pzname,bj_pzname_mx,bj_pzname_mx_mx,mtrlid,erp_mtrlid,useqty,dscrp,mtrlname,actual_useqty,qd_actual_size,qd_pfgroupqty,wrkgrpid,ss_rate,ls_rate,sh_rate";
|
|
|
+ DbSqlHelper.SelectJoin(cmd, selectStr, "mattressid = @mattressid", new Dictionary<string, object>() { { "@mattressid", request.mattressid } }, "printid", outputFields, 0, 0, mattress_interface_qd_list);
|
|
|
+
|
|
|
+
|
|
|
+ var ll_temp_dftwrkgrpid = 0;
|
|
|
+
|
|
|
+ // var ErpMtrl = new erp_mtrldef() { mtrlid = mattress.erp_mtrlid };
|
|
|
+ // if (DbSqlHelper.SelectOne(erp_cmd, ErpMtrl, "dftwrkgrpid") == 1)
|
|
|
+ // {
|
|
|
+ // ll_temp_dftwrkgrpid = ErpMtrl.dftwrkgrpid.Value;
|
|
|
+ // }
|
|
|
+
|
|
|
+ var l1Req = new SavePrdPfRequest()
|
|
|
{
|
|
|
- erp_con.Open();
|
|
|
-
|
|
|
- try
|
|
|
+ mtrl_pf = new u_mtrl_pf()
|
|
|
{
|
|
|
- var erpMtrldef = new erp_mtrldef();
|
|
|
- if (DbSqlHelper.SelectOne(erp_cmd, "u_mtrldef", "mtrlid = @mtrlid", new Dictionary<string, object>() { { "mtrlid", mattress.erp_mtrlid } }, erpMtrldef, "") != 1)
|
|
|
- {
|
|
|
- throw new LJCommonException("erp中没有对应的物料,erp_mtrlid=" + mattress.erp_mtrlid);
|
|
|
- }
|
|
|
-
|
|
|
- var mattress_interface_qd_list = new List<u_mattress_interface_qd>();
|
|
|
-
|
|
|
- var selectStr = @"SELECT u_mattress_interface_qd.mattressid
|
|
|
- ,u_mattress_interface_qd.printid
|
|
|
- ,u_mattress_interface_qd.itemname
|
|
|
- ,u_mattress_interface_qd.bj_pzname
|
|
|
- ,u_mattress_interface_qd.bj_pzname_mx
|
|
|
- ,u_mattress_interface_qd.bj_pzname_mx_mx
|
|
|
- ,u_mattress_interface_qd.mtrlid
|
|
|
- ,u_mattress_interface_qd.erp_mtrlid
|
|
|
- ,u_mattress_interface_qd.useqty
|
|
|
- ,u_mattress_interface_qd.dscrp
|
|
|
- ,u_mtrl_price.name AS mtrlname
|
|
|
- ,u_mattress_interface_qd.actual_useqty
|
|
|
- ,u_mattress_interface_qd.qd_actual_size
|
|
|
- ,u_mattress_interface_qd.qd_pfgroupqty
|
|
|
- ,u_mattress_interface_qd.wrkgrpid
|
|
|
- ,u_mattress_interface_qd.ss_rate
|
|
|
- ,u_mattress_interface_qd.ls_rate
|
|
|
- ,u_mattress_interface_qd.sh_rate
|
|
|
- FROM u_mattress_interface_qd
|
|
|
- LEFT JOIN u_mtrl_price ON u_mtrl_price.mtrlid = u_mattress_interface_qd.mtrlid";
|
|
|
- var outputFields = "mattressid,printid,itemname,bj_pzname,bj_pzname_mx,bj_pzname_mx_mx,mtrlid,erp_mtrlid,useqty,dscrp,mtrlname,actual_useqty,qd_actual_size,qd_pfgroupqty,wrkgrpid,ss_rate,ls_rate,sh_rate";
|
|
|
- DbSqlHelper.SelectJoin(cmd, selectStr, "mattressid = @mattressid", new Dictionary<string, object>() { { "@mattressid", request.mattressid } }, "printid", outputFields, 0, 0, mattress_interface_qd_list);
|
|
|
-
|
|
|
- // 删除原来的清单主表
|
|
|
- erp_cmd.CommandText = @"DELETE u_mtrl_pf WHERE mtrlid = @mtrlid";
|
|
|
- erp_cmd.Parameters.Clear();
|
|
|
- erp_cmd.Parameters.AddWithValue("@mtrlid", mattress.erp_mtrlid.Value);
|
|
|
- erp_cmd.ExecuteNonQuery();
|
|
|
-
|
|
|
- var ll_temp_dftwrkgrpid = 0;
|
|
|
-
|
|
|
- var ErpMtrl = new erp_mtrldef() { mtrlid = mattress.erp_mtrlid };
|
|
|
- if (DbSqlHelper.SelectOne(erp_cmd, ErpMtrl, "dftwrkgrpid") == 1)
|
|
|
- {
|
|
|
- ll_temp_dftwrkgrpid = ErpMtrl.dftwrkgrpid.Value;
|
|
|
- }
|
|
|
-
|
|
|
- var mtrlpf = new u_mtrl_pf()
|
|
|
- {
|
|
|
- mtrlid = mattress.erp_mtrlid.Value,
|
|
|
- pfcode = "[常规]",
|
|
|
- ifdft = 1,
|
|
|
- inuse = 1,
|
|
|
- opemp = tokendata.usercode,
|
|
|
- opdate = DateTime.Now,
|
|
|
- flag = 1,
|
|
|
- auditdate = DateTime.Now,
|
|
|
- auditemp = tokendata.usercode,
|
|
|
- wrkid = ll_temp_dftwrkgrpid
|
|
|
- };
|
|
|
- var fields = "mtrlid,pfcode,ifdft,inuse,opemp,opdate,flag,auditdate,auditemp,wrkid";
|
|
|
- if (DbSqlHelper.Insert(cmd, mtrlpf, fields) != 1)
|
|
|
- {
|
|
|
- throw new LJCommonException(string.Format("物料编码[{0}]建立物料清单[{1}]失败", mattress.erp_mtrlid, mtrlpf.pfcode));
|
|
|
- }
|
|
|
-
|
|
|
- // 删除原来的清单主表
|
|
|
- erp_cmd.CommandText = @"DELETE u_PrdPF WHERE mtrlid = @mtrlid";
|
|
|
- erp_cmd.Parameters.Clear();
|
|
|
- erp_cmd.Parameters.AddWithValue("@mtrlid", mattress.erp_mtrlid.Value);
|
|
|
- erp_cmd.ExecuteNonQuery();
|
|
|
+ mtrlid = mattress.erp_mtrlid.Value,
|
|
|
+ pfcode = "[常规]",
|
|
|
+ ifdft = 1,
|
|
|
+ inuse = 1,
|
|
|
+ opemp = tokendata.usercode,
|
|
|
+ opdate = DateTime.Now,
|
|
|
+ flag = 1,
|
|
|
+ auditdate = DateTime.Now,
|
|
|
+ auditemp = tokendata.usercode,
|
|
|
+ wrkid = ll_temp_dftwrkgrpid
|
|
|
+ },
|
|
|
+ prdPfs = new List<u_PrdPF>()
|
|
|
+ };
|
|
|
+
|
|
|
+ var i = 0;
|
|
|
+ foreach (var mx in mattress_interface_qd_list)
|
|
|
+ {
|
|
|
|
|
|
- var i = 0;
|
|
|
- var fields_prdpf = "mtrlid, pfcode, pfgroup, SonMtrlid, wrkgrpid, sonpfcode, dscrp, pfgroupqty, Sonscale, pfklmode, printid, azcode, promode, sonloss";
|
|
|
- foreach (var mx in mattress_interface_qd_list)
|
|
|
+ var ls_temp_pfgroup = mx.itemname + '-' + mx.bj_pzname;
|
|
|
+ var ll_cnt_temp = 0;
|
|
|
+ for (var j = 0; j < i - 1; j++)
|
|
|
+ {
|
|
|
+ if (ls_temp_pfgroup == mattress_interface_qd_list[j].itemname + '-' + mattress_interface_qd_list[j].bj_pzname)
|
|
|
{
|
|
|
-
|
|
|
- var ls_temp_pfgroup = mx.itemname + '-' + mx.bj_pzname;
|
|
|
- var ll_cnt_temp = 0;
|
|
|
- for(var j = 0; j < i - 1; j++)
|
|
|
- {
|
|
|
- if (ls_temp_pfgroup == mattress_interface_qd_list[j].itemname + '-' + mattress_interface_qd_list[j].bj_pzname)
|
|
|
- {
|
|
|
- ll_cnt_temp++;
|
|
|
- }
|
|
|
- }
|
|
|
- if (ll_cnt_temp > 0)
|
|
|
- {
|
|
|
- ls_temp_pfgroup = ls_temp_pfgroup + (ll_cnt_temp).ToString();
|
|
|
- }
|
|
|
-
|
|
|
- string ls_azcode = i.ToString("D3");
|
|
|
-
|
|
|
- var prdpf = new u_PrdPF()
|
|
|
- {
|
|
|
- mtrlid = mattress.erp_mtrlid.Value,
|
|
|
- pfcode = "[常规]",
|
|
|
- pfgroup = ls_temp_pfgroup,
|
|
|
- SonMtrlid = mx.mtrlid,
|
|
|
- wrkgrpid = mx.wrkgrpid,
|
|
|
- sonpfcode = "[常规]",
|
|
|
- dscrp = mx.bj_pzname_mx_mx,
|
|
|
- pfgroupqty = mx.qd_pfgroupqty,
|
|
|
- Sonscale = mx.actual_useqty,
|
|
|
- pfklmode = mx.qd_actual_size,
|
|
|
- printid = mx.printid,
|
|
|
- azcode = ls_azcode,
|
|
|
- promode = mx.ss_rate.ToString(),
|
|
|
- SonLoss = mx.sh_rate
|
|
|
- };
|
|
|
- if (DbSqlHelper.Insert(cmd, prdpf, fields_prdpf) != 1)
|
|
|
- {
|
|
|
- throw new LJCommonException(string.Format("物料编码[{0}]建立物产品清单[{1}]失败", mattress.erp_mtrlid, i));
|
|
|
- }
|
|
|
- i++;
|
|
|
+ ll_cnt_temp++;
|
|
|
}
|
|
|
}
|
|
|
- catch (Exception e)
|
|
|
+ if (ll_cnt_temp > 0)
|
|
|
{
|
|
|
- cmd.Transaction.Rollback();
|
|
|
- rslt.ErrMsg = e.Message;
|
|
|
+ ls_temp_pfgroup = ls_temp_pfgroup + (ll_cnt_temp).ToString();
|
|
|
}
|
|
|
+
|
|
|
+ string ls_azcode = i.ToString("D3");
|
|
|
+
|
|
|
+ var prdpf = new u_PrdPF()
|
|
|
+ {
|
|
|
+ mtrlid = mattress.erp_mtrlid.Value,
|
|
|
+ pfcode = "[常规]",
|
|
|
+ pfgroup = ls_temp_pfgroup,
|
|
|
+ SonMtrlid = mx.mtrlid,
|
|
|
+ wrkgrpid = mx.wrkgrpid,
|
|
|
+ sonpfcode = "[常规]",
|
|
|
+ dscrp = mx.bj_pzname_mx_mx,
|
|
|
+ pfgroupqty = mx.qd_pfgroupqty,
|
|
|
+ Sonscale = mx.actual_useqty,
|
|
|
+ pfklmode = mx.qd_actual_size,
|
|
|
+ printid = mx.printid,
|
|
|
+ azcode = ls_azcode,
|
|
|
+ promode = mx.ss_rate.ToString(),
|
|
|
+ SonLoss = mx.sh_rate
|
|
|
+ };
|
|
|
+ l1Req.prdPfs.Add(prdpf);
|
|
|
+ i++;
|
|
|
}
|
|
|
+
|
|
|
+ var l1Helper = HelperBase.GetHelper<ERPHelper>(cmd);
|
|
|
+ l1Helper.context = new HelperBase.Context() { tokendata = tokendata };
|
|
|
+
|
|
|
+ l1Helper.CheckLogin();
|
|
|
+ l1Req.token = GlobalVar.ERP_TOKEN;
|
|
|
+
|
|
|
+ var l1Rslt = l1Helper.DoExecute("SavePrdPf", JObject.FromObject(l1Req));
|
|
|
+ rslt.ErrMsg = $"{l1Rslt.GetValue("ErrMsg")}";
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 保存物料清单请求参数,没有传入的参数按默认值
|
|
|
+ /// </summary>
|
|
|
+ private class SavePrdPfRequest
|
|
|
+ {
|
|
|
+ public string token { get; set; }
|
|
|
+ /// <summary>
|
|
|
+ /// 物料清单主表 mtrlid,pfcode,flag,affirmflag,Ifdft,inuse,wrkid
|
|
|
+ /// </summary>
|
|
|
+ public u_mtrl_pf mtrl_pf { get; set; }
|
|
|
+ /// <summary>
|
|
|
+ /// 物料清单明细表 mtrlid,pfcode,sonmtrlid,printid,wrkgrpid,sonpfcode,Sonscale,sonloss,sondecloss
|
|
|
+ /// pfgroup,dscrp,pfgroupqty,pfklmode,azcode,promode
|
|
|
+ /// </summary>
|
|
|
+ public List<u_PrdPF> prdPfs { get; set; }
|
|
|
+ }
|
|
|
}
|
|
|
}
|