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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
});