环思产品论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1967|回复: 0
打印 上一主题 下一主题

[51181] 大货订单(脱色、染绒、染纱)

[复制链接]

59

主题

63

帖子

877

积分

版主

Rank: 7Rank: 7Rank: 7

积分
877
跳转到指定楼层
楼主
发表于 2016-3-29 19:30:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xuming 于 2016-6-8 16:21 编辑

功能概述
新建一条染色的订单(脱色,染色,染纱),对订单的订单明细和投料明细进行管理。
操作流程
   操作流程说明:
   1、用户打开界面
   2、用户新建一条订单
   3、系统自动保存用户输入的数据
   4、UI原型图(可以看出系统的结构)
参数说明
1、参数功能说明
用来区分大货订单为脱色,染绒,染纱
   2、参数值说明:1=染绒,2=染纱,3=脱色。
Ref参照
  1单据状态:从常量明细表pbConstDtl中查询出可用的并且常量为292的值
   2经营方式:从常量明细表pbConstDtl中查询出可用的并且常量为1297的值
   3、订单类型:从通用数据字典表pbDictionaryData中查询出可用的并且字典类型为1325的值
   4、客户:从客商基础表pbCustomer中查询出客户编号,客户名称和客户ID,并且所属部门的ID为1175或者为0的所有客户
   5、染色类型:从常量明细表pbConstDtl中查询出可用的并且常量值为1350,并且染色类型的值为参数传过来的值
   6、订单状态:从常量明细表pbConstDtl中查询出可用的并且常量值为1278的值
   7、用途:从常量明细表pbConstDtl中查询出可用的并且常量值为1351的值
   8、模板配方编号:
SELECT TOP 50 sColorTemplateNo = A.sBillNo,A.sTemplateName,A.sParentColorNo
,sRemark=dbo.fnpbConcatStringEx(b.sColorNo + '('+CAST( CAST(b.nRate AS DECIMAL(18,2)) AS NVARCHAR)+'%)-'+c.sMaterialNo,' / ')
FROM dbo.tmDyeingColorTemplate A(NOLOCK)
JOIN dbo.tmDyeingColorTemplateDtl b ON a.iIden=b.iHdrId
LEFT JOIN dbo.mmMaterial c ON b.iMaterialId=c.iIden
WHERE  A.iBillStatus= 2
AND A.bUsable=1
AND 1=1
GROUP BY a.sBillNo,a.sTemplateName,a.sParentColorNo
查询出前50行的模板配方编号和模版配方名称,大色号,配方=色号+单纱比例+%-物料编号,当模版配方头表的单据状态为已审核的时候,查出的信息按照编号,模板名称和色号分类。
   9、出货地点:从销售交地表sdDestination中查询出可用的出货地点名称和出货地点ID
   10、物料:
IF :iDyeingType IN(1,3)  
BEGIN
--染绒时取绒
SELECT /*TOP*/ A.sMaterialNo,A.sMaterialName,iMaterialId = A.iIden,A.iUnitId,sUnitName=A.sUnit
FROM dbo.mmMaterial A(NOLOCK)
WHERE A.iMaterialCategoryId = 2 AND A.bUsable=1
AND (/*Condition*/)
END
ELSE BEGIN
--染纱时取原纱库的库存物料
SELECT /*TOP*/ A.sMaterialNo,A.sMaterialName,iMaterialId = A.iIden,A.iUnitId,sUnitName=A.sUnit
FROM dbo.mmMaterial A WITH(NOLOCK)
WHERE A.iMaterialCategoryId = 4 AND a.bUsable=1
AND (/*Condition*/)
END
--当参数传过来的物料类型为1或3的时候(染绒、脱色)都取绒的物料,否则都取纱的物料
   11、单位:从单位表pbUnit中查询出可用的单位名称和单位ID

查询业务逻辑
  1、主查询根据菜单所配的参数来查询
   2、订单明细根据订单来区分。
   3、投料明细根据订单明细来区分
UI显示与控制
   1、执行订单,暂停订单,取消订单  用来修改订单明细下的订单状态。
   执行订单:当前的订单状态为正常的时候,执行订单的按钮不可见。
   暂停订单:当前的订单状态为暂停的时候,暂停订单按钮不可见。
   取消订单:当前的订单状态为取消的时候,取消订单按钮不可见。

   2、控件非空校验:
   订单明细:纱支,物料,单位,交期,订单状态非空。
   投料明细:物料,物料批次和单位非空。
   
单点功能说明
   执行订单:将订单状态的值更新为1,也就是正常。
UPDATE A
SET A.iOrderState=1
FROM dbo.sdDyeingOrderDtl A(NOLOCK)
WHERE A.iIden=:iIden
   暂停订单:将订单状态的值更新为2,也就是暂停。
UPDATE A
SET A.iOrderState=2
FROM dbo.sdDyeingOrderDtl A(NOLOCK)
WHERE A.iIden=:iIden
   取消订单:将订单状态的值更新为3,也就是取消。
UPDATE A
SET A.iOrderState=3
FROM dbo.sdDyeingOrderDtl A(NOLOCK)
WHERE A.iIden=:iIden
--点击按钮之后执行的action
EntitySet.ValidateEmpty(dtlEntitySet);--判断实体类是否为空
DOIF(:f[dtlEntitySet.iOrderState]=1,RefreshControl(btnReturn,false));如果当前的订单状态为执行的话,将执行按钮变为不可用。
DOIF(:f[dtlEntitySet.iOrderState]=2,RefreshControl(btnStop,false));如果当前的订单状态为暂停的话,将暂停按钮变为不可用。
DOIF(:f[dtlEntitySet.iOrderState]=3,RefreshControl(btnCancel,false));如果当前的订单状态为取消的话,将取消按钮变为不可用。

业务逻辑说明
   1、新建一条订单后,填写对应的订单明细和投料明细,然后进行送审和审核对订单来操作。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|上海环思 ( 沪ICP备11022428号 )

GMT+8, 2024-9-19 11:17 , Processed in 0.086951 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表