You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

790 lines
34 KiB

4 years ago
define(function (require, exports, module) {
//引入业务类基类
let BaseBiz = require('apps/rht/base/rhtBiz');
let rhtComm = require('apps/rht/comm/rhtComm');
var ScDateWindow = require('system/views/pages/scdatewindow/scdatewindow');
//引入业务服务
let Service = require('./stk180302service');
/**
* 定义业务类对象
* @param vm 界面相关ViewModule
*/
function Biz(vm) {
//继承第一步,构造继承
BaseBiz.call(this, vm);
}
//继承第二步,方法继承
inherits(Biz, BaseBiz);
//取部门核算级别
let accLength = rhtComm.getOptionOrgAccLevel();
//控制是否允许删除明细 0-否 1-是(允许)
//let Isdel = "0";
let OrgType = rhtComm.GetOrgType(Store.logOn.orgCode);
let IsMdKwMng = rhtComm.getRhtOptionValue(Store.logOn.orgCode, 'STK', 'IsMdKwMng', '1');
let OptIsDepUnion = rhtComm.getRhtOptionValue("*", 'STK', 'IsDepUnion', '0');
let Stk_IsCheckKc = rhtComm.getRhtOptionValue("*", 'STK', 'Stk_IsCheckKc', '1');
let DbSupportOutAndIn = rhtComm.getRhtOptionValue("*", 'STK', 'DbSupportOutAndIn', '0');
let IsDbAccNeedCheck = rhtComm.getRhtOptionValue("*", 'STK', 'IsDbAccNeedCheck', '0');
let CvsDbKcQrType = rhtComm.getRhtOptionValue("*", 'STK', 'CvsDbKcQrType', '0');
if (CvsDbKcQrType != "2") {
IsDbAccNeedCheck = "0";
}
let IsMulScDate = rhtComm.getRhtOptionValue("*",'SYS','SYS_IsMulScDate','0');
//新增行后处理,默认值已经处理
Biz.prototype.afterNewRow = function (dataSrc, newRow) {
if (dataSrc.uiObjCode === this.dsMaster.uiObjCode) {
if ((OrgType != "1001") && (OrgType != "1002") && (OrgType != "9999")) {
newRow.setColumnText('OrgCode', Store.logOn.orgCode);
newRow.setColumnValue('OrgName', Store.logOn.orgName);
newRow.setColumnValue('InOrgCode', Store.logOn.inOrgCode);
}
}
this.super('afterNewRow', dataSrc, newRow);
};
//单据编辑前处理
Biz.prototype.beforeEdit = function () {
let masterRow = this.dsMaster.currentRow;
let OriginType = masterRow ? TypeUtil.toString(masterRow['OriginType']) : '';
let IsDepUnion = masterRow ? TypeUtil.toString(masterRow['IsDepUnion']) : '';
if (OriginType == "1") {
masterRow.setColumnError("BillNo", '便利店端发起的调拨单不允许手工修改。');
return false;
}
if ((OptIsDepUnion == "0") && (IsDepUnion == "1")) {
masterRow.setColumnValue('IsDepUnion', "0");
}
return this.super('beforeEdit');
};
//行删除前的校验
Biz.prototype.beforeDeleteRow = function () {
let masterRow = this.dsMaster.currentRow;
let OriginType = TypeUtil.toString(masterRow['OriginType']);
if (OriginType == "1") {
masterRow.setColumnError("BillNo", '便利店端发起的调拨单不允许手工删除!');
return false;
}
return true;
}
//保存前校验 计算主表合计数量等字段
Biz.prototype.beforeSave = function () {
let masterRow = this.dsMaster.currentRow;
if (masterRow) {
let YwStatus = masterRow ? TypeUtil.toString(masterRow['YwStatus']) : '';
let ShCkCode = masterRow ? TypeUtil.toString(masterRow['ShCkCode']) : '';
let IsDepUnion = masterRow ? TypeUtil.toString(masterRow['IsDepUnion']) : '';
let OrgCode = masterRow ? TypeUtil.toString(masterRow['OrgCode']) : '';
let ShOrgCode = masterRow ? TypeUtil.toString(masterRow['ShOrgCode']) : '';
let DbCount = 0.0;
let STotal = 0.0;
if (IsDepUnion == "1") {
if (OrgCode != ShOrgCode) {
masterRow.setColumnError('OrgCode', "组织间调拨不允许进行部门合并,请修改后重试!");
return false;
}
}
if (YwStatus == "1") {
if (ShCkCode == "") {
masterRow.setColumnError('ShCkCode', "调入仓库不能为空!");
return false;
}
for (let i = 0; i < this.dsDetail.rows.length; i++) {
let row = this.dsDetail.rows[i];
let ShDepCode = row ? TypeUtil.toString(row['ShDepCode']) : '';
if (ShDepCode == "") {
masterRow.setColumnError('ShCkCode', "表体中存在调入部门为空的数据,请检查!");
return false;
}
}
}
else {
let DepCode = masterRow ? TypeUtil.toString(masterRow['DepCode']) : '';
let CkCode = masterRow ? TypeUtil.toString(masterRow['CkCode']) : '';
if (OrgCode == ShOrgCode) {
if (DepCode == ShDepCode) {
masterRow.setColumnError('DepCode', "同组织同部门不允许调拨!");
return false;
}
if (ShCkCode == "") {
masterRow.setColumnError('ShCkCode', "内部调拨必须填写调入仓库!");
return false;
}
for (let i = 0; i < this.dsDetail.rows.length; i++) {
let row = this.dsDetail.rows[i];
let ShDepCode = row ? TypeUtil.toString(row['ShDepCode']) : '';
if (ShDepCode == DepCode) {
if (CkCode == ShCkCode) {
masterRow.setColumnError('ShCkCode', "内部调拨,存在同部门之间的数据,不允许调拨,请检查!");
return false;
}
}
}
}
}
for (let i = 0; i < this.dsDetail.rows.length; i++) {
let row = this.dsDetail.rows[i];
DbCount = DbCount + TypeUtil.toFloat(row['DbCount']);
STotal = STotal + TypeUtil.toFloat(row['STotal']);
}
masterRow.setColumnValue('DbCount', DbCount);
masterRow.setColumnValue('STotal', STotal);
}
return this.super('beforeSave');
};
//明细行单行提交触发的校验
Biz.prototype.dataRowValidate = function (dataSrc, dr) {
if (dataSrc.uiObjCode === this.dsDetail.uiObjCode) {
let masterRow = this.dsMaster.currentRow;
let BillNo = masterRow ? TypeUtil.toString(masterRow['BillNo']) : '';
let OrgCode = masterRow ? TypeUtil.toString(masterRow['OrgCode']) : '';
let ShOrgCode = masterRow ? TypeUtil.toString(masterRow['ShOrgCode']) : '';
let DepId = masterRow ? TypeUtil.toString(masterRow['DepId']) : '';
let DepCode = masterRow ? TypeUtil.toString(masterRow['DepCode']) : '';
let DepName = masterRow ? TypeUtil.toString(masterRow['DepName']) : '';
let CkCode = masterRow ? TypeUtil.toString(masterRow['CkCode']) : '';
let IsDepUnion = masterRow ? TypeUtil.toString(masterRow['IsDepUnion']) : '';
let YwStatus = masterRow ? TypeUtil.toString(masterRow['YwStatus']) : '';
let InOrgCode = masterRow ? TypeUtil.toString(masterRow['InOrgCode']) : '';
let ShDepCode = dr ? TypeUtil.toString(dr['ShDepCode']) : '';
let PluId = TypeUtil.toString(dr['PluId']);
let PluCode = TypeUtil.toString(dr['PluCode']);
let PluName = TypeUtil.toString(dr['PluName']);
let ExPluCode = TypeUtil.toString(dr['ExPluCode']);
let PluType = TypeUtil.toString(dr['PluType']);
let DbCount = TypeUtil.toFloat(dr['DbCount']);
let Price = TypeUtil.toFloat(dr['Price']);
if (PluCode.length <= 0) {
return "商品编码不能为空!";
}
if ((DbCount <= 0) && (IsDepUnion != "1")) {
return "调拨数量应该大于0";
}
if (OrgCode == ShOrgCode) {
if (ShDepCode == "") {
return "内部调拨必须填写调入部门!";
}
}
if ((accLength > 0) && (DepCode != ShDepCode)) {
return "核算级别为部门,调入调出部门必须相同!";
}
if ((YwStatus != "1") && (Stk_IsCheckKc == "1")) {
let Params = BillNo + ";" + "1804;*;" + InOrgCode + ";" + DepId + ";" + CkCode + ";" + PluId + ";" + ExPluCode + ";" + PluType + ";*";
let JSONObject = { DataType: "6", Params: Params };
let retKyCount = Service.getSlideMenuData("pubsysBaseBL", "MSysGetLsKcKyCount", JSONObject, "", "", "", "");
if (retKyCount.result === 1) {
if (DbCount > TypeUtil.toFloat(retKyCount.message)) {
let errmsg = "商品[" + PluCode + "-" + PluName + "]的调拨数量不能多于商品的库存[组织:" + InOrgCode + "、仓库:" +
CkCode + "、部门:" + DepCode + "-" + DepName + "、商品类型:" + PluType + "] <br> 当前可用数量:" + retKyCount.message;
return errmsg;
}
}
else {
return "查询商品库存失败:" + retKyCount.message;
}
}
dr.setColumnValue('STotal', DbCount * Price);
}
return true;
};
//记账前的处理 校验商品信息并提示
Biz.prototype.beforeAcc = function () {
let masterRow = this.dsMaster.currentRow;
let BillNo = TypeUtil.toString(masterRow['BillNo']);
if (BillNo.length > 1) {
let OrgCode = masterRow ? TypeUtil.toString(masterRow['OrgCode']) : '';
let ShOrgCode = masterRow ? TypeUtil.toString(masterRow['ShOrgCode']) : '';
let YwStatus = masterRow ? TypeUtil.toString(masterRow['YwStatus']) : '';
let ShCkCode = masterRow ? TypeUtil.toString(masterRow['ShCkCode']) : '';
let YwBillNo = masterRow ? TypeUtil.toString(masterRow['YwBillNo']) : '';
let OriginType = masterRow ? TypeUtil.toString(masterRow['OriginType']) : '';
if (YwStatus == "1") {
if (ShCkCode == "") {
masterRow.setColumnError('BillNo', "调入仓库不能为空!");
return false;
}
//masterRow.setColumnText('YwStatus', "2");
let ret = Service.getSlideMenuData("actExecute", "beforeAcc", "tStkDbBody", BillNo, "", "", "");
if (ret.result === 1) {
if (ret.data != null) {
masterRow.setColumnError('BillNo', "表体中存在调入部门为空的数据,请检查!");
return false;
}
}
else {
masterRow.setColumnError('BillNo', ret.message);
return false;
}
}
/*
if (YwStatus == "0") {
if (ShCkCode == ShOrgCode) {
masterRow.setColumnText('YwStatus', "2");
}
else {
masterRow.setColumnText('YwStatus', "1");
}
}*/
let msOrgType = rhtComm.GetOrgType(OrgCode);
if ((msOrgType == "1001") || (msOrgType == "2001") || (msOrgType == "2002")) {
masterRow.setColumnError('BillNo', "调出组织不能是连锁总部、物流总部、物流中心!");
return false;
}
if (YwBillNo != "") {
if ((OriginType == "1") && (CvsDbKcQrType != "2")) {
masterRow.setColumnError('BillNo', "便利店端发起的调拨单不需要手工记账!");
return false;
}
let ret = Service.getSlideMenuData("actExecute", "beforeAcc", "tStkDbTzHead", YwBillNo, "", "", "");
if (ret.result === 1) {
if ((ret.data === null) && (CvsDbKcQrType != "2")) {
masterRow.setColumnError('BillNo', "参照的调拨通知单已不存在或已终止,不能记账!");
return false;
}
}
else {
masterRow.setColumnError('BillNo', ret.message);
return false;
}
}
}
return true;
}
/**
* @description 数据发生变化时调用
* @param dataSrc 数据集
* @param dr 数据行
* @param dc 数据列
*/
Biz.prototype.fieldChanged = function (dataSrc, dr, dc) {
let self = this;
let currentRow = self.dsMaster.currentRow;
if (currentRow === null) return false;
if (dataSrc.uiObjCode === this.dsMaster.uiObjCode) {
switch (dc.fieldName) {
case 'OrgCode':
this.fieldChangedOrgCode(dataSrc, dr, dc);
break;
case 'ShOrgCode':
this.fieldChangedShOrgCode(dataSrc, dr, dc);
break;
case 'ChOrgCode':
this.fieldChangedChOrgCode(dataSrc, dr, dc);
break;
case 'DbDate':
this.fieldChangedDbDate(dataSrc, dr, dc);
break;
case 'CkCode':
this.fieldChangedCkCode(dataSrc, dr, dc);
break;
case 'ShCkCode':
this.fieldChangedShCkCode(dataSrc, dr, dc);
break;
}
}
if (dataSrc.uiObjCode === this.dsDetail.uiObjCode) {
switch (dc.fieldName) {
case 'PluCode':
this.fieldChangedPluCode(dataSrc, dr, dc);
break;
case 'SglCount':
this.fieldChangedSglCount(dataSrc, dr, dc);
break;
case 'PackCount':
this.fieldChangedPackCount(dataSrc, dr, dc);
break;
case 'PackUnit':
this.fieldChangedPackUnit(dataSrc, dr, dc);
break;
}
}
this.super('fieldChanged');
};
//OrgCode 字段变化执行事件
Biz.prototype.fieldChangedOrgCode = function (dataSrc, dr, dc) {
let self = this;
let currentRow = self.dsMaster.currentRow;
let OrgCode = currentRow ? TypeUtil.toString(currentRow['OrgCode']) : '';
let InOrgCode = rhtComm.GetInOrgCode(OrgCode).message;
dr.setColumnValue('InOrgCode', InOrgCode);
dr.setColumnValue('DepCode', "");
dr.setColumnValue('CkCode', "");
dr.setColumnValue('ShOrgCode', "");
dr.setColumnValue('ShCkCode', "");
return true;
};
//ShOrgCode 字段变化执行事件
Biz.prototype.fieldChangedShOrgCode = function (dataSrc, dr, dc) {
let self = this;
let currentRow = self.dsMaster.currentRow;
let ShOrgCode = currentRow['ShOrgCode'];
let ChOrgCode = currentRow ? TypeUtil.toString(currentRow['ChOrgCode']) : '';
let InOrgCode = rhtComm.GetInOrgCode(ShOrgCode).message;
dr.setColumnValue('InShOrgCode', InOrgCode);
dr.setColumnValue('ShCkCode', "");
if (ChOrgCode.length > 0) {
if (ShOrgCode == ChOrgCode) {
dr.setColumnError('ShOrgCode', "调入组织和调出组织不能重复!");
return false;
}
}
return true;
};
//ChOrgCode 字段变化执行事件
Biz.prototype.fieldChangedChOrgCode = function (dataSrc, dr, dc) {
let self = this;
let currentRow = self.dsMaster.currentRow;
let ChOrgCode = currentRow['ChOrgCode'];
let ShOrgCode = currentRow ? TypeUtil.toString(currentRow['ShOrgCode']) : '';
if (ShOrgCode.length > 0) {
if (ShOrgCode == ChOrgCode) {
dr.setColumnError('ChOrgCode', "调入组织和调出组织不能重复!");
return false;
}
}
return true;
};
//DbDate 字段变化执行事件
Biz.prototype.fieldChangedDbDate = function (dataSrc, dr, dc) {
let self = this;
let currentRow = self.dsMaster.currentRow;
let sdate = rhtComm.GetServerDate(0);
let DbDate = currentRow ? TypeUtil.toString(currentRow['DbDate']) : '';
if (DbDate > sdate) {
dr.setColumnError('DbDate', "调拨到货日期不能早于当前日期!");
return false;
}
return true;
};
//CkCode 字段变化执行事件
Biz.prototype.fieldChangedCkCode = function (dataSrc, dr, dc) {
let self = this;
let currentRow = self.dsMaster.currentRow;
let CkCode = currentRow['CkCode'];
let InOrgCode = currentRow ? TypeUtil.toString(currentRow['InOrgCode']) : '';
if ((this.dsDetail.rows.length > 0) && (IsMdKwMng == "1")) {
let ret = Service.getSlideMenuData("DoOnMasterRule", "CkCode", CkCode, InOrgCode, "", "", "");
if (ret.result === 1) {
if (ret.data.CkType == "1") {
for (let i = 0; i < this.dsDetail.rows.length; i++) {
let row = this.dsDetail.rows[i];
let PluId = row ? TypeUtil.toString(row['PluId']) : '';
let retKw = Service.getSlideMenuData("DoOnMasterRule", "GetPluKw", CkCode, InOrgCode, PluId, "", "");
if (retKw.result === 1) {
if (retKw.data !== null) {
row.setColumnValue('OutKwCode', retKw.data.KwCode);
}
}
}
}
else {
for (let i = 0; i < this.dsDetail.rows.length; i++) {
let row = this.dsDetail.rows[i];
row.setColumnValue('OutKwCode', retKw.data.KwCode);
}
}
}
else {
currentRow.setColumnError('CkCode', ret.message)
return false;
}
}
return true;
};
//ShCkCode 字段变化执行事件
Biz.prototype.fieldChangedShCkCode = function (dataSrc, dr, dc) {
let self = this;
let currentRow = self.dsMaster.currentRow;
let ShCkCode = currentRow['ShCkCode'];
let InOrgCode = currentRow ? TypeUtil.toString(currentRow['ShOrgCode']) : '';
if ((this.dsDetail.rows.length > 0) && (IsMdKwMng == "1")) {
let ret = Service.getSlideMenuData("DoOnMasterRule", "ShCkCode", ShCkCode, InOrgCode, "", "", "");
if (ret.result === 1) {
if (ret.data.CkType == "1") {
for (let i = 0; i < this.dsDetail.rows.length; i++) {
let row = this.dsDetail.rows[i];
let PluId = row ? TypeUtil.toString(row['PluId']) : '';
let retKw = Service.getSlideMenuData("DoOnMasterRule", "GetPluKw", ShCkCode, InOrgCode, PluId, "", "");
if (retKw.result === 1) {
if (retKw.data !== null) {
row.setColumnValue('InKwCode', retKw.data.KwCode);
}
}
}
}
else {
for (let i = 0; i < this.dsDetail.rows.length; i++) {
let row = this.dsDetail.rows[i];
row.setColumnValue('InKwCode', retKw.data.KwCode);
}
}
}
else {
currentRow.setColumnError('ShCkCode', ret.message)
return false;
}
}
return true;
};
//PluCode 字段变化执行事件
Biz.prototype.fieldChangedPluCode = function (dataSrc, dr, dc) {
let PluCode = dr['PluCode'];
if (PluCode.length > 0) {
dr.setColumnValue("PackUnit", "");
let self = this;
let currentRow = self.dsMaster.currentRow;
let RefShDepCode = currentRow ? TypeUtil.toString(currentRow['RefShDepCode']) : '';
let OrgCode = currentRow ? TypeUtil.toString(currentRow['OrgCode']) : '';
let InOrgCode = currentRow ? TypeUtil.toString(currentRow['InOrgCode']) : '';
let CkCode = currentRow ? TypeUtil.toString(currentRow['CkCode']) : '';
let ShCkCode = currentRow ? TypeUtil.toString(currentRow['ShCkCode']) : '';
let InShOrgCode = currentRow ? TypeUtil.toString(currentRow['InShOrgCode']) : '';
let RefShDepId = currentRow ? TypeUtil.toString(currentRow['RefShDepId']) : '';
let ret = Service.getSlideMenuData("DoOnDetailCalcRule", "PluCode", RefShDepCode, PluCode, OrgCode, InShOrgCode, RefShDepId);
if (ret.result !== 1) {
dr.setColumnError(dc.fieldName, ret.message);
return false;
}
if (ret.data != null) {
dr.setColumnValue('Price', ret.data.Price);
}
if (IsMdKwMng == "1") {
let PluId = dr ? TypeUtil.toString(dr['PluId']) : '';
let retKw = Service.getSlideMenuData("DoOnMasterRule", "GetPluKw", CkCode, InOrgCode, PluId, "", "");
if (retKw.result === 1) {
if (retKw.data !== null) {
dr.setColumnValue('OutKwCode', retKw.data.KwCode);
}
}
retKw = Service.getSlideMenuData("DoOnMasterRule", "GetPluKw", ShCkCode, InShOrgCode, PluId, "", "");
if (retKw.result === 1) {
if (retKw.data !== null) {
dr.setColumnValue('InKwCode', retKw.data.KwCode);
}
}
if (RefShDepCode != "") {
dr.setColumnText('ShDepCode', RefShDepCode);
}
}
}
return true;
};
//SglCount 字段变化执行事件
Biz.prototype.fieldChangedSglCount = function (dataSrc, dr, dc) {
let PackQty = TypeUtil.toFloat(dr['PackQty']);
let PackCount = TypeUtil.toFloat(dr['PackCount']);
let SglCount = TypeUtil.toFloat(dr['SglCount']);
let DotDecimal = TypeUtil.toFloat(dr['R_DotDecimal']);
let sdl = 0;
if (SglCount.toString().indexOf(".") > -1) {
sdl = SglCount.toString().split(".")[1].length || 0;
}
if (DotDecimal < sdl) {
dr.setColumnError(dc.fieldName, "此商品的小数精度是" + dr['R_DotDecimal']);
return false;
}
dr.setColumnValue("DbCount", (PackCount * PackQty) + SglCount);
return true;
};
//PackCount 字段变化执行事件
Biz.prototype.fieldChangedPackCount = function (dataSrc, dr, dc) {
let PackQty = TypeUtil.toFloat(dr['PackQty']);
let PackCount = TypeUtil.toFloat(dr['PackCount']);
let SglCount = TypeUtil.toFloat(dr['SglCount']);
let DotDecimal = TypeUtil.toFloat(dr['R_DotDecimal']);
let sdl = 0;
if (SglCount.toString().indexOf(".") > -1) {
sdl = SglCount.toString().split(".")[1].length || 0;
}
if (DotDecimal < sdl) {
dr.setColumnError(dc.fieldName, "此商品的小数精度是" + dr['R_DotDecimal']);
return false;
}
dr.setColumnValue("DbCount", (PackCount * PackQty) + SglCount);
return true;
};
//PackUnit 字段变化执行事件
Biz.prototype.fieldChangedPackUnit = function (dataSrc, dr, dc) {
let PackUnit = TypeUtil.toFloat(dr['PackUnit']);
if (PackUnit == "") {
dr.setColumnValue("PackQty", "0");
}
dr.setColumnText("PackCount", "0");
return true;
};
//增加右键菜单按钮并控制按钮状态
Biz.prototype.getContextMenus = function (ds, source) {
let menus = this.super("getContextMenus", ds, source);
if (ds.uiObjCode === this.dsDetail.uiObjCode) {
let edit = ds.getEditable();
if ((!edit) && (IsMulScDate =='1')){
let curBodyRow = this.dsDetail.currentRow;
let PluCode = curBodyRow ? TypeUtil.toString(curBodyRow['PluCode']) : '';
if (PluCode != ''){
menus.push({
text: '生产日期管理',
opCode: 'scdate',
disabled: false
});
}
}
}
return menus;
};
//控制主界面按钮状态
Biz.prototype.getOpEnabled = function (opCode) {
let isOk = this.super('getOpEnabled', opCode);
if (!isOk) return false;
let curRow = this.dsMaster.currentRow;
let IsChecked = curRow ? TypeUtil.toString(curRow['IsChecked']) : '';
let TjDate = curRow ? TypeUtil.toString(curRow['TjDate']) : '';
let JzDate = curRow ? TypeUtil.toString(curRow['JzDate']) : '';
let InOrgCode = curRow ? TypeUtil.toString(curRow['InOrgCode']) : '';
let InShOrgCode = curRow ? TypeUtil.toString(curRow['InShOrgCode']) : '';
let CurInOrgCode = rhtComm.GetInOrgCode(Store.logOn.orgCode).message;
if (DbSupportOutAndIn == "1") {
if (opCode == 'edit') {
if (!curRow)
return false;
if ((JzDate != '') || (TjDate != ''))
return false;
}
if (opCode == 'delete') {
if (!curRow)
return false;
if ((JzDate != '') || (TjDate != ''))
return false;
}
if (opCode == 'acc') {
if (!curRow)
return false;
if ((JzDate != '') || (TjDate == '') || (CurInOrgCode != InShOrgCode))
return false;
}
if (opCode == 'refer') {
if (!curRow)
return false;
if ((JzDate != '') || (TjDate != '') || (CurInOrgCode != InOrgCode))
return false;
}
if (opCode == 'dboutcancle') {
if (!curRow)
return false;
if ((JzDate != '') || (TjDate == '') || (CurInOrgCode != InOrgCode))
return false;
}
}
else {
if (opCode == 'refer') {
return false;
}
}
if ((IsDbAccNeedCheck == "1") && (CvsDbKcQrType == "2")) {
if (opCode == 'checkpass') {
if (!curRow)
return false;
if (JzDate != '')
return false;
if ((IsChecked != '0') && (IsChecked != '3'))
return false;
}
if (opCode == 'checkreject') {
if (!curRow)
return false;
if (JzDate != '')
return false;
if ((IsChecked != '0') && (IsChecked != '3'))
return false;
}
if (opCode == 'undocheck') {
if (!curRow)
return false;
if (JzDate != '')
return false;
if (IsChecked != '1')
return false;
}
}
else {
if ((opCode == 'checkpass') || (opCode == 'checkreject') || (opCode == 'undocheck')) {
return false;
}
}
return true;
};
//按钮事件控制
Biz.prototype.doOp = function (opCode) {
let self = this;
if (opCode == 'checkpass') {
let ds = self.dsMaster;
this.oncheckpass(self, ds);
}
if (opCode == 'checkreject') {
let ds = self.dsMaster;
this.oncheckreject(self, ds);
}
if (opCode == 'undocheck') {
let ds = self.dsMaster;
this.onundocheck(self, ds);
}
if (opCode == 'refer') {
let ds = self.dsMaster;
this.onrefer(self, ds);
}
if (opCode == 'dboutcancle') {
let ds = self.dsMaster;
this.ondboutcancle(self, ds);
}
if (opCode == 'scdate') {
let dhead = self.dsMaster;
let dbodyrow = self.dsDetail.currentRow;
this.onscdate(self, dhead,dbodyrow);
}
};
//按钮事件
Biz.prototype.oncheckpass = function (biz, ds) {
let dsrow = ds.currentRow;
let BillNo = dsrow ? TypeUtil.toString(dsrow['BillNo']) : '';
if (BillNo.length > 0) {
let ret = Service.getSlideMenuData("actExecute", "checkpass", BillNo, Store.logOn.userid, Store.logOn.userCode, Store.logOn.userName, "");
if (ret.result !== 1) {
dsrow.setColumnError('BillNo', ret.message);
return false;
}
else {
Store.messager.tip('操作成功!');
//刷新当前行
biz.dsMaster.updateRow();
}
}
return true;
};
//checkreject按钮事件
Biz.prototype.oncheckreject = function (biz, ds) {
let dsrow = ds.currentRow;
let BillNo = dsrow ? TypeUtil.toString(dsrow['BillNo']) : '';
if (BillNo.length > 0) {
let ret = Service.getSlideMenuData("actExecute", "checkreject", BillNo, Store.logOn.userid, Store.logOn.userCode, Store.logOn.userName, "");
if (ret.result !== 1) {
dsrow.setColumnError('BillNo', ret.message);
return false;
}
else {
Store.messager.tip('操作成功!');
//刷新当前行
biz.dsMaster.updateRow();
}
}
return true;
};
//undocheck按钮事件
Biz.prototype.onundocheck = function (biz, ds) {
let dsrow = ds.currentRow;
let BillNo = dsrow ? TypeUtil.toString(dsrow['BillNo']) : '';
if (BillNo.length > 0) {
let ret = Service.getSlideMenuData("actExecute", "undocheck", BillNo, Store.logOn.userid, Store.logOn.userCode, Store.logOn.userName, "");
if (ret.result !== 1) {
dsrow.setColumnError('BillNo', ret.message);
return false;
}
else {
Store.messager.tip('操作成功!');
//刷新当前行
biz.dsMaster.updateRow();
}
}
return true;
};
//refer按钮事件
Biz.prototype.onrefer = function (biz, ds) {
let dsrow = ds.currentRow;
let BillNo = dsrow ? TypeUtil.toString(dsrow['BillNo']) : '';
if (BillNo.length > 0) {
let ret = Service.getSlideMenuData("actExecute", "refer", BillNo, Store.logOn.userid, Store.logOn.userCode, Store.logOn.userName, "");
if (ret.result !== 1) {
dsrow.setColumnError('BillNo', ret.message);
return false;
}
else {
Store.messager.tip('操作成功!');
//刷新当前行
biz.dsMaster.updateRow();
}
}
return true;
};
//dboutcancle 按钮事件
Biz.prototype.ondboutcancle = function (biz, ds) {
let dsrow = ds.currentRow;
let BillNo = dsrow ? TypeUtil.toString(dsrow['BillNo']) : '';
if (BillNo.length > 0) {
let ret = Service.getSlideMenuData("actExecute", "dboutcancle", BillNo, Store.logOn.userid, Store.logOn.userCode, Store.logOn.userName, "");
if (ret.result !== 1) {
dsrow.setColumnError('BillNo', ret.message);
return false;
}
else {
Store.messager.tip('操作成功!');
//刷新当前行
biz.dsMaster.updateRow();
}
}
return true;
};
//生产日期信息按钮事件处理
Biz.prototype.onscdate = function (self, dhead, dbodyrow) {
let curRow = self.dsMaster.currentRow;
let YwType = curRow ? TypeUtil.toString(curRow['YwType']) : '*';
let DataStatus = curRow ? TypeUtil.toString(curRow['DataStatus']) : '0';
if (IsMulScDate !=='1'){
Store.messager.err("系统没有开启多生产日期管理,请先开启后再执行本操作!");
return false;
}
//定义窗口界面
let param = {
uiObjCode: self.dsMaster.funcCode,
billNo: dbodyrow.BillNo,
ywType: YwType,
toSerialNo: dbodyrow.SerialNo,
pluInf: dbodyrow.PluCode+'-'+dbodyrow.PluName,
recCount: dbodyrow.DbCount,
biz: self,
pk: "BillNo,YwType,ToSerialNo,SerialNo",
fixQuery: {
'ToSerialNo': dbodyrow.SerialNo,
'BillNo': dbodyrow.BillNo,
'YwType': YwType
},
showCheckColumn: true,
isToEdit: (DataStatus ==='0'),
enablePager: false,
funcCode: self.FuncCode,
ds: dbodyrow
};
//new多选窗体 并打开
let myWindow = new ScDateWindow(param);
myWindow.open();
};
return Biz;
});