本帖最后由 xuming 于 2016-6-7 15:20 编辑  
 
大色号配方  
功能概述  
对一个模板的大色号进行管理,可以查看管理他的所属色号以及查看相关色号的小色号。  
操作流程    操作流程说明:    1、用户打开界面    2、系统自动查询出所有可用的大色号信息    3、用户点击新建并且填入信息    4、系统自动新建一条记录并且根据用户所填写的信息进行保存    5、用户点击页面的禁用启用和小色号信息    6、系统自动根据点击的按钮来使当前的大色号变为不可用或者可用,点击小色号信息后自动根据选中的色号查询出当前色号下的小色号信息    7、用户点击送审和取消送审,审核和取消审核    8、系统会自动将单据状态变为已提交和草稿,已审核和已提交  
   具体操作GIF图    9、UI原型图  
Ref参照    1、色级:从通用数据字典表pbDictionaryData里面查询出类别为470并且可用的所有色级信息    2、色号:从色号库表tmColor里面查询出所有可用的色号名称,色号编号和色号ID,并且色号分组和物料大类为菜单里面配的值。    3、分组号:自定义5个分组号等级分别为A.B.C.D.E    4、物料名称:从物料表mmMaterial里面查询出物料编号,物料名称和物料ID,并且物料大类的值为菜单里面所配的值。    5、单据状态:从常量明细表pbConstDtl里面查询出可用的常量值为292的所有单据状态。  
查询业务逻辑 查询下面可以根据大色号,模板编号和模板名称查询。高级下拉可以选择仅可用和三种不同的单据状态来选择筛选。  
UI显示与控制    1、禁用:当是否可用为可用的时候禁用按钮显示。点击禁用,是否可用变为不可用,按钮变为不可用。    2、启用:当是否可用为不可用的时候启用按钮显示。点击启用,是否可用变为可用,按钮变为不可用。    3、小色号信息:选择明细的色号,点击小色号信息或者双击空白处。可以根据当前选中的色号信息自动查询出所选的小色号信息。    4、新增,复制,删除,清空根据明细来进行操作。  
单点功能说明    1、非空:大色号,色级,物料名称,色号,分组号。    2、禁用:将是否可用值update为0。    EntitySet.ValidateEmpty(mainEntitySet,您未指定任何行!); --判断是否选中一行main实体集的数据 
   Entity.Retrive(mainEntitySet,38246,mainEntitySet);             --执行sql38246,穿的参数为main实体集 
   HS.RefreshToolBar();                                                            --执行action-RefreshToolBar 
   DoQuickQuery();                                                                  --刷新数据 
   3、启用:将是否可用值update为1。    EntitySet.ValidateEmpty(mainEntitySet,您未指定任何行!);--判断是否选中一行main实体集的数据 
   Entity.Retrive(mainEntitySet,38267,mainEntitySet);            --执行sql38267,穿的参数为main实体集 
   HS.RefreshToolBar();                                                           --执行action-RefreshToolBar 
   DoQuickQuery();                                                                 --刷新数据 
   4、HS.RefreshToolBar    EntitySet.ValidateEmpty(mainEntitySet);     --判断实体集是否为空    DOIF(:f[mainEntitySet.bUsable]=1,RefreshControl(Disable,true));   --当main实体集的是否可用为可用的时候,将按钮禁用刷为可用    DOIF(:f[mainEntitySet.bUsable]=1,RefreshControl(Enable,false));   --当main实体集的是否可用为可用的时候,将按钮启用刷为不可用    DOIF(:f[mainEntitySet.bUsable]=0,RefreshControl(Disable,false));   --当main实体集的是否可用为不可用的时候,将按钮禁用刷为不可用    DOIF(:f[mainEntitySet.bUsable]=0,RefreshControl(Enable,true));    -- 当main实体集的是否可用为不可用的时候,将按钮启用刷为可用    5、小色号信息          EntitySet.ValidateEmpty(mainEntitySet,您未指定任何行!);  --判断是否选中一行main实体集的数据          
   QueryForm.Show(38242,dtlEntitySet);                                 --弹出一个简单查询Form为sql38242所查询的信息,参数为dtl里 
   DoLastQuery();                                                                     --刷新数据 
 
业务逻辑说明  
   1、判断比例:保存时校验当前的比例之和是否为100,不满足则提示报错。    SELECT @nSumRate=SUM(A.nRate) 
   FROM dbo.tmDyeingColorTemplateDtl A(NOLOCK) 
   WHERE A.iHdrId=@iBillId 
   IF @nSumRate<>100 
   BEGIN 
        RAISERROR('比例之和不等于100!',16,1) 
   RETURN 
   END 
  
   2、判断单纱比例:保存时校验当前的单纱比例之和是否为1,不满足则提示报错。    SELECT @nSumRatio=SUM(CONVERT(DECIMAL(10,3),nRatio)) 
   FROM dbo.tmDyeingColorTemplateDtl A(NOLOCK) 
   WHERE A.iHdrId=@iBillId 
   IF @nSumRatio<>1 
   BEGIN 
   RAISERROR('单纱比例之和必须等于1!',16,1) 
        RETURN 
   END 
  
   3、默认模板名称等于模板编号:当模板名称没有填写值的时候,默认等于当前的摸板编号。    UPDATE A 
   SET sTemplateName=A.sTemplateNo 
   FROM #tmDyeingColorTemplate_19862 A 
   WHERE A._iUpdateStatus=1 AND ISNULL(A.sTemplateName,'')=''  
 |