| | |
| | | step_code = data0.Rows[j]["step_code"].ToString(), |
| | | route_code = data0.Rows[j]["default_route"].ToString(), |
| | | stepprice = decimal.Parse(data0.Rows[j]["unprice"].ToString() == "" || data0.Rows[j]["unprice"].ToString() == null ? "0" : data0.Rows[j]["unprice"].ToString()), |
| | | plan_quantity = cdqty + (decimal.Parse(markqty) - sumqty), //末单下单数量=切分数量+(下单数量-累计切分下单数量), |
| | | plan_qty = cdqty + (decimal.Parse(markqty) - sumqty), //末单下单数量=切分数量+(下单数量-累计切分下单数量), |
| | | plan_quantity = cdqty, |
| | | plan_qty = cdqty, |
| | | ratio = 0, |
| | | status = orderstatus, |
| | | isbott = data0.Rows[j]["first_choke"].ToString(), |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region[MES工单批量查找历史引用最新工序信息] |
| | | public static ToMessage MesOrderNewStepListContent(List<BatchProcess> list, User us) |
| | | { |
| | | var sql = ""; |
| | | List<Dictionary<object, object>> dir = new List<Dictionary<object, object>>(); |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | dynamic dynObj = JObject.Parse(us.mesSetting); |
| | | bool route = dynObj.route; |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | if (route) //工艺路线版 |
| | | { |
| | | Dictionary<object, object> dict = new Dictionary<object, object>(); |
| | | //MES工单查找历史引用最新工序信息 |
| | | sql = @"select S.wo_code,S.seq,S.step_code as stepcode,T.stepname as stepname,S.stepprice,S.isbott,S.isend,S.ratio |
| | | from TK_Wrk_Step S |
| | | inner join ( |
| | | select top 1 A.wo_code,A.route_code from TK_Wrk_Man A |
| | | inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.route_code=S.route_code |
| | | where A.materiel_code=@partcode and A.wkshp_code=@wkshopcode and A.route_code=@routecode |
| | | order by A.lm_date desc |
| | | ) as W on S.wo_code=W.wo_code and S.route_code=W.route_code |
| | | left join TStep T on S.step_code=T.stepcode |
| | | order by S.seq"; |
| | | dynamicParams.Add("@wkshopcode", list[i].wkshopcode); |
| | | dynamicParams.Add("@partcode", list[i].partcode); |
| | | dynamicParams.Add("@routecode", list[i].routecode); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | // 向字典中添加数据 |
| | | dict.Add("partcode", list[i].partcode); |
| | | dict.Add("stepdata", data); |
| | | // 将字典添加到列表中 |
| | | dir.Add(dict); |
| | | } |
| | | else |
| | | { |
| | | Dictionary<object, object> dict = new Dictionary<object, object>(); |
| | | //MES工单查找历史引用最新工序信息 |
| | | sql = @"select S.wo_code,S.seq,S.step_code as stepcode,T.stepname as stepname,S.stepprice,S.isbott,S.isend,S.ratio |
| | | from TK_Wrk_Step S |
| | | inner join ( |
| | | select top 1 A.wo_code from TK_Wrk_Man A |
| | | inner join TK_Wrk_Step S on A.wo_code=S.wo_code |
| | | where A.materiel_code=@partcode and A.wkshp_code=@wkshopcode |
| | | order by A.lm_date desc |
| | | ) as W on S.wo_code=W.wo_code |
| | | left join TStep T on S.step_code=T.stepcode |
| | | order by S.seq"; |
| | | dynamicParams.Add("@wkshopcode", list[i].wkshopcode); |
| | | dynamicParams.Add("@partcode", list[i].partcode); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | // 向字典中添加数据 |
| | | dict.Add("partcode", list[i].partcode); |
| | | dict.Add("stepdata", data); |
| | | // 将字典添加到列表中 |
| | | dir.Add(dict); |
| | | } |
| | | } |
| | | mes.code = "200"; |
| | | mes.count = dir.Count; |
| | | mes.data = dir; |
| | | mes.message = "查询成功!"; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.message = e.Message; |
| | | mes.data = null; |
| | | } |
| | | return mes; |
| | | } |
| | | #endregion |
| | | |
| | | #region[MES工单查看工单SOP] |
| | | public static ToMessage MesOrderSopSearch(string wocode, string materielcode) |
| | | { |
| | |
| | | |
| | | |
| | | #region[生产开报工扫码获取工单对应工序任务(自制)] |
| | | public static ToMessage MesOrderStepSearch(string wkshopcode, string wocode,string orderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order) |
| | | public static ToMessage MesOrderStepSearch(string wkshopcode, string wocode,string orderno,string saorderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order) |
| | | { |
| | | var sql = ""; |
| | | string search = ""; |
| | |
| | | search += "and A.wo_code=@ordercode "; |
| | | dynamicParams.Add("@ordercode", ordercode); |
| | | } |
| | | if (ordercode != "" && stepcode != "") //工单号不为空,工序号不为空 |
| | | if (saorderno != "" && saorderno != "") //工单号不为空,工序号不为空 |
| | | { |
| | | search += "and A.wo_code=@ordercode "; |
| | | dynamicParams.Add("@ordercode", ordercode); |
| | |
| | | search += "and B.m_po like '%'+@orderno+'%' "; |
| | | dynamicParams.Add("@orderno", orderno); |
| | | } |
| | | if (saorderno != "" && saorderno != null) |
| | | { |
| | | search += "and B.saleOrderCode like '%'+@saorderno+'%' "; |
| | | dynamicParams.Add("@saorderno", saorderno); |
| | | } |
| | | if (partcode != "" && partcode != null) |
| | | { |
| | | search += "and M.partcode like '%'+@partcode+'%' "; |
| | |
| | | dynamicParams.Add("@partspec", partspec); |
| | | } |
| | | //根据条件查询工单工序任务(自制工序) |
| | | sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.m_po,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend, |
| | | sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.m_po,B.saleOrderCode,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend, |
| | | S.stepcode,S.stepname,S.descr,A.plan_quantity,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date, |
| | | M.priuserdefnvc1,M.priuserdefnvc2,M.priuserdefnvc3,M.priuserdefnvc4,M.priuserdefnvc5,M.priuserdefnvc6 |
| | | from TK_Wrk_Step A |
| | |
| | | #endregion |
| | | |
| | | #region[生产开报工扫码获取工单对应工序任务(外协)] |
| | | public static ToMessage MesOrderWxStepSearch(string wkshopcode, string wocode, string orderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order) |
| | | public static ToMessage MesOrderWxStepSearch(string wkshopcode, string wocode, string orderno,string saorderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order) |
| | | { |
| | | var sql = ""; |
| | | string search = ""; |
| | |
| | | search += "and B.m_po like '%'+@orderno+'%' "; |
| | | dynamicParams.Add("@orderno", orderno); |
| | | } |
| | | if (saorderno != "" && saorderno != null) |
| | | { |
| | | search += "and B.saleOrderCode like '%'+@saorderno+'%' "; |
| | | dynamicParams.Add("@saorderno", saorderno); |
| | | } |
| | | if (partcode != "" && partcode != null) |
| | | { |
| | | search += "and M.partcode like '%'+@partcode+'%' "; |
| | |
| | | dynamicParams.Add("@partspec", partspec); |
| | | } |
| | | //根据条件查询工单工序任务(自制工序) |
| | | sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.m_po,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend, |
| | | sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.m_po,B.saleOrderCode,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend, |
| | | S.stepcode,S.stepname,S.descr,A.plan_quantity,A.plan_qty,A.good_qty,A.ng_qty, |
| | | (select isnull(sum(fqty),0) as fqty from TK_Wrk_OutRecord where wo_code=A.wo_code and step_code=A.step_code and style='F') as fqty, |
| | | A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date, |
| | |
| | | #endregion |
| | | |
| | | #region[生产开报工扫码获取工单对应工序任务(不良)] |
| | | public static ToMessage MesOrderNgStepSearch(string wkshopcode, string wocode, string orderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order) |
| | | public static ToMessage MesOrderNgStepSearch(string wkshopcode, string wocode, string orderno,string saorderno, string partcode, string partname, string partspec, int startNum, int endNum, string prop, string order) |
| | | { |
| | | var sql = ""; |
| | | string search = ""; |
| | |
| | | search += "and B.m_po like '%'+@orderno+'%' "; |
| | | dynamicParams.Add("@orderno", orderno); |
| | | } |
| | | if (saorderno != "" && saorderno != null) |
| | | { |
| | | search += "and B.saleOrderCode like '%'+@saorderno+'%' "; |
| | | dynamicParams.Add("@saorderno", saorderno); |
| | | } |
| | | if (partcode != "" && partcode != null) |
| | | { |
| | | search += "and M.partcode like '%'+@partcode+'%' "; |
| | |
| | | dynamicParams.Add("@partspec", partspec); |
| | | } |
| | | //根据条件查询工单工序任务(自制工序) |
| | | sql = @"select A.id,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.m_po,M.partcode,M.partname,M.partspec,A.seq,A.isend, |
| | | sql = @"select A.id,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,B.saleOrderCode,B.m_po,M.partcode,M.partname,M.partspec,A.seq,A.isend, |
| | | S.stepcode,S.stepname,S.descr,A.plan_quantity,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date, |
| | | M.priuserdefnvc1,M.priuserdefnvc2,M.priuserdefnvc3,M.priuserdefnvc4,M.priuserdefnvc5,M.priuserdefnvc6 |
| | | from TK_Wrk_Step A |
| | |
| | | try |
| | | { |
| | | //1.根据工单+工序查找当前工序是否首道工序 |
| | | sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status, |
| | | sql = @"select A.wo_code,M.m_po,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status, |
| | | A.plan_quantity,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,A.isbott,A.isend |
| | | from TK_Wrk_Step A |
| | | left join TStep T on A.step_code=T.stepcode |
| | |
| | | if (data.Rows.Count > 0) |
| | | { |
| | | rt.wo_code = data.Rows[0]["wo_code"].ToString(); //工单号 |
| | | rt.orderno = data.Rows[0]["m_po"].ToString(); //订单号 |
| | | rt.partnumber = data.Rows[0]["partcode"].ToString(); //产品编码 |
| | | rt.partname = data.Rows[0]["partname"].ToString(); //产品名称 |
| | | rt.partspec = data.Rows[0]["partspec"].ToString(); //产品规格 |
| | |
| | | |
| | | |
| | | #region[生产执行,报工调整数据查询接口] |
| | | public static ToMessage MesOrderStepVerifySearch(string wkshopcode, string wo_code,string orderno, string partnumber, string partname, string partspec,string stepcode, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order) |
| | | public static ToMessage MesOrderStepVerifySearch(string wkshopcode, string wo_code,string orderno,string saorderno, string partnumber, string partname, string partspec,string stepcode, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order) |
| | | { |
| | | var dynamicParams = new DynamicParameters(); |
| | | string search = ""; |
| | |
| | | { |
| | | search += "and AA.m_po like '%'+@orderno+'%' "; |
| | | dynamicParams.Add("@orderno", orderno); |
| | | } |
| | | if (saorderno != "" && saorderno != null) |
| | | { |
| | | search += "and AA.saleOrderCode like '%'+@saorderno+'%' "; |
| | | dynamicParams.Add("@saorderno", saorderno); |
| | | } |
| | | if (partnumber != "" && partnumber != null) |
| | | { |
| | |
| | | // --------------查询指定自制报工外协收料数据-------------- |
| | | var total = 0; //总条数 |
| | | var sql = @"select * from( |
| | | select A.id,B.id as sbid,A.wo_code,M.m_po,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name, |
| | | select A.id,B.id as sbid,A.wo_code,M.m_po,M.saleOrderCode,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name, |
| | | A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,A.style,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name, |
| | | B.report_person as usercode, |
| | | STUFF((SELECT ',' + U.username |
| | |
| | | left join TGroup G on G.usergroupcode=B.usergroup_code |
| | | where A.style='B' and B.style='B' and M.status<>'CLOSED' and A.verify='N' |
| | | union all |
| | | select A.id,B.id as sbid,A.wo_code,M.m_po,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name, |
| | | select A.id,B.id as sbid,A.wo_code,M.m_po,M.saleOrderCode,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name, |
| | | A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,A.style,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name, |
| | | B.in_person as usercode, |
| | | STUFF((SELECT ',' + U.username |
| | |
| | | |
| | | |
| | | #region[生产执行,报工审核列表数据查询接口] |
| | | public static ToMessage MesOrderStepReportVerifySearch(string reviewstatus, string wkshopcode, string wo_code, string orderno, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order) |
| | | public static ToMessage MesOrderStepReportVerifySearch(string reviewstatus, string wkshopcode, string wo_code, string orderno,string saorderno, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order) |
| | | { |
| | | var dynamicParams = new DynamicParameters(); |
| | | string search = ""; |
| | |
| | | { |
| | | search += "and AA.m_po like '%'+@orderno+'%' "; |
| | | dynamicParams.Add("@orderno", orderno); |
| | | } |
| | | if (saorderno != "" && saorderno != null) |
| | | { |
| | | search += "and AA.saleOrderCode like '%'+@saorderno+'%' "; |
| | | dynamicParams.Add("@saorderno", saorderno); |
| | | } |
| | | if (partnumber != "" && partnumber != null) |
| | | { |
| | |
| | | // --------------查询指定自制报工外协收料数据-------------- |
| | | var total = 0; //总条数 |
| | | var sql = @"select * from( |
| | | select A.id,B.id as sbid,A.wo_code,M.m_po,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name, |
| | | select A.id,B.id as sbid,A.wo_code,M.m_po,M.saleOrderCode,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name, |
| | | A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name, |
| | | B.report_person as usercode, |
| | | STUFF((SELECT ',' + U.username |
| | |
| | | left join TGroup G on G.usergroupcode=B.usergroup_code |
| | | where A.style='B' and B.style='B' and M.status<>'CLOSED' |
| | | union all |
| | | select A.id,B.id as sbid,A.wo_code,M.m_po,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name, |
| | | select A.id,B.id as sbid,A.wo_code,M.m_po,M.saleOrderCode,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name, |
| | | A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name, |
| | | B.in_person as usercode, |
| | | STUFF((SELECT ',' + U.username |