Commit 33c07956 authored by 刘学辉's avatar 刘学辉

品质异常单调整

parent b5a1b452
...@@ -65,3 +65,5 @@ CREATE TABLE topsun_dev.sap_exception_responsible ( ...@@ -65,3 +65,5 @@ CREATE TABLE topsun_dev.sap_exception_responsible (
ENGINE=InnoDB ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci; COLLATE=utf8mb4_general_ci;
--2024-09-19 异常单增加产品类别字段
ALTER TABLE topsun_dev.sap_exception_report ADD product_type varchar(100) NULL COMMENT '产品类别';
var itemGridManager,dutyPersonGridManager = null var itemGridManager, purchaseGridManager, dutyPersonGridManager = null
$(function () { $(function () {
initialize(); initialize();
initItemGrid(); initProduceGrid();
initPurchaseGrid();
initDutyPersonGridGrid(); initDutyPersonGridGrid();
}); });
function initialize() { function initialize() {
var mainFileTable = $('#exceptionStateInfoList').fileList(); var mainFileTable = $('#exceptionStateInfoList').fileList();
mainFileTable.find('table').css({ mainFileTable.find('table').css({
borderTopWidth : 0 borderTopWidth: 0
}); });
$('#exceptionStateInfoList').fileList({ $('#exceptionStateInfoList').fileList({
bizId : $("#attbizId").val() bizId: $("#attbizId").val()
}); });
$("#dutyDeptName").orgTree({ $("#dutyDeptName").orgTree({
filter: "dpt", excludePos: 0, param: {orgKindId: "ogn,dpt"}, filter: "dpt", excludePos: 0, param: {orgKindId: "ogn,dpt"},
back: { back: {
text: "#dutyDeptName", text: "#dutyDeptName",
value : '#dutyDept' value: '#dutyDept'
}, },
//manageType: 'taskQuery', //manageType: 'taskQuery',
onChange:function(value,data){ onChange: function (value, data) {
$('#dutyDept').val(data.id); $('#dutyDept').val(data.id);
} }
}); });
...@@ -28,19 +29,67 @@ function initialize() { ...@@ -28,19 +29,67 @@ function initialize() {
filter: "psm", excludePos: 0, param: {orgKindId: "ogn,dpt,pos,psm"}, filter: "psm", excludePos: 0, param: {orgKindId: "ogn,dpt,pos,psm"},
back: { back: {
text: "#checkOperatorName", text: "#checkOperatorName",
value : '#checkOperator' value: '#checkOperator'
}, },
//manageType: 'taskQuery', //manageType: 'taskQuery',
onChange:function(value,data){ onChange: function (value, data) {
// alert(data.id+data.name); alert(data.deptId+data.deptName); // alert(data.id+data.name); alert(data.deptId+data.deptName);
$('#checkOperator').val(data.id); $('#checkOperator').val(data.id);
$('#dutyDeptName').val(data.deptName); $('#dutyDeptName').val(data.deptName);
$('#dutyDept').val(data.deptId); $('#dutyDept').val(data.deptId);
} }
}); });
if ($('#exceptionReasonType').val() == "3") {
showPurchaseDiv();
} else {
showProduceDiv();
}
$('#exceptionReasonType').combox({
onChange: function (v) {
//alert(v.value+'===========');
if (v.value == 3) { //采购
// $('#editDataSourceKindId').combox('setValue','4');
showPurchaseDiv();
} else {
showProduceDiv();
}
}
});
}
function showProduceDiv() {
$("#purchaseDiv").hide();
$("#produceDiv").show();
// $("#customerNo").val("");
// $("#customerName").val("");
// $("#customerOrderNo").val("");
setPurchaseMustInput(false);
setProduceMustInput(true);
} }
function initItemGrid() { function showPurchaseDiv() {
$("#produceDiv").hide();
$("#purchaseDiv").show();
// $("#customerNo").val("");
// $("#customerNamePur").val("");
// $("#customerOrderNoPur").val("");
setPurchaseMustInput(true);
setProduceMustInput(false);
}
function setPurchaseMustInput(flag) {
UICtrl.setElRequiredFlag("#customerNamePur", flag);
UICtrl.setElRequiredFlag("#customerOrderNoPur", flag);
UICtrl.setElRequiredFlag("#brandName", flag);
}
function setProduceMustInput(flag) {
UICtrl.setElRequiredFlag("#customerNo", flag);
UICtrl.setElRequiredFlag("#customerOrderNo", flag);
}
function initProduceGrid() {
//工厂 //工厂
$('#werksName').searchbox({ $('#werksName').searchbox({
type: "system", name: "dictionary", type: "system", name: "dictionary",
...@@ -53,13 +102,13 @@ function initItemGrid() { ...@@ -53,13 +102,13 @@ function initItemGrid() {
} }
}); });
$('input[name="payMoney"]').change(function () { $('input[name="payMoney"]').change(function () {
if (isNaN(Number($('#payMoney').val()))){ if (isNaN(Number($('#payMoney').val()))) {
Public.errorTip("赔付金额必须输入数字!"); Public.errorTip("赔付金额必须输入数字!");
$('#payMoney').val(""); $('#payMoney').val("");
countSum(); countSumChange();
return false; return false;
} }
countSum(); countSumChange();
}) })
/*$('#customerName').searchbox({ /*$('#customerName').searchbox({
type: "system", name: "sapCustomerOrderSelect", type: "system", name: "sapCustomerOrderSelect",
...@@ -80,11 +129,11 @@ function initItemGrid() { ...@@ -80,11 +129,11 @@ function initItemGrid() {
$('#customerOrderNo').searchbox({ $('#customerOrderNo').searchbox({
type: "system", name: "sapCustomerOrderSelect", type: "system", name: "sapCustomerOrderSelect",
getParam: function (item) { getParam: function (item) {
if (Public.isBlank($('#werksName').val())){ if (Public.isBlank($('#werksName').val())) {
Public.tip("请先选择工厂!") Public.tip("请先选择工厂!")
return false return false
} }
if (Public.isBlank($('#customerNo').val())){ if (Public.isBlank($('#customerNo').val())) {
Public.tip("请先输入客户编号!") Public.tip("请先输入客户编号!")
return false return false
} }
...@@ -99,14 +148,14 @@ function initItemGrid() { ...@@ -99,14 +148,14 @@ function initItemGrid() {
} }
}); });
var toolbarOptions = UICtrl.getDefaultToolbarOptions({ var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function(){ addHandler: function () {
if (Public.isBlank($('#customerOrderNo').val())){ if (Public.isBlank($('#customerOrderNo').val())) {
Public.tip("请先输入客户订单号!") Public.tip("请先输入客户订单号!")
return false return false
} }
UICtrl.addGridRow(itemGridManager); UICtrl.addGridRow(itemGridManager);
}, },
deleteHandler: function (){ deleteHandler: function () {
var _grid = UICtrl.getGridManager('#maingrid'); var _grid = UICtrl.getGridManager('#maingrid');
DataUtil.delSelectedRows({ DataUtil.delSelectedRows({
action: 'exceptionReport/deleteExceptionReport.ajax', action: 'exceptionReport/deleteExceptionReport.ajax',
...@@ -114,16 +163,147 @@ function initItemGrid() { ...@@ -114,16 +163,147 @@ function initItemGrid() {
gridManager: _grid, gridManager: _grid,
idFieldName: 'id', idFieldName: 'id',
onSuccess: function () { onSuccess: function () {
countSum(); countSum(itemGridManager.rows);
reloadGrid();
}
});
},
});
itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(),
dataAction: 'server',
url: web_app.name + '/exceptionReport/slicedExceptionReportItemList.ajax',
parms: {exceptionReportId: getId()},
height: '300px',
heightDiff: -4,
sortName: 'id',
sortOrder: 'asc',
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
//autoApplyNextEditor:false,
toolbar: toolbarOptions,
onAfterEdit: function (item) {
if (item.column.name == 'rmbMoney') {
countSum(itemGridManager.rows);
var money = MathUtil.add(item.record.money, item.value);
itemGridManager.updateRow(item.record, {totalMoney:money });
}
},
onAfterShowData() {
countSum(itemGridManager.rows);
for (var r = 0; r < itemGridManager.rows.length; r++) {
var money = MathUtil.add(itemGridManager.rows[r].rmbMoney, itemGridManager.rows[r].money);
itemGridManager.updateRow(itemGridManager.rows[r], {totalMoney:money });
}
}
})
UICtrl.setSearchAreaToggle(itemGridManager);
}
function countSumChange() {
if ($('#exceptionReasonType').val() == "3") {
countSum(purchaseGridManager.rows);
} else {
countSum(itemGridManager.rows);
}
}
function getGridColumns() {
var columns = [];
columns = [
{
display: "生产单号", name: "produceNo", width: "160", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "sapCustomerProduceNo",
getParam: function (item) {
return {
werks: $("#werks").val(),
kunnr: $("#customerNo").val(),
vbeln: $("#customerOrderNo").val()
}
},
back: {
AUFNR: "produceNo",
MATNR: "productCode",
MAKTX: "productName",
PSMNG: "number",
MEINS: "unitName",
KOEIN: "currencyName",
KWERT: "money",
LFDAT: "sendDate"
}
}
}
},
{
display: "产品编码", name: "productCode", width: "160", align: "left", type: "string"
//,editor: {type: 'text'}
},
{
display: "产品名称", name: "productName", width: "200", align: "left", type: "string"
//,editor: {type: 'text'}
},
{
display: "数量", name: "number", width: "100", align: "left", type: "string"
//,editor: {type: "text",mask: '9999999.999'}
},
{
display: "单位", name: "unitName", width: "80", align: "left", type: "string"
//editor: {type: "text"}
},
{
display: "币别", name: "currencyName", width: "100", align: "left", type: "string"
//editor: {type: "text"}
},
{
display: "金额", name: "money", width: "100", align: "left", type: "string"
//editor: {type: "text",mask: '9999999.999'}
},
{
display: "折算金额", name: "rmbMoney", width: "100", align: "left", type: "string",
editor: {type: "text", mask: '9999999.999'}
},
// {
// display: "总金额", name: "totalMoney", width: "100", align: "left", type: "string"
// },
{
display: "出货日期", name: "sendDate", width: "140", align: "left", type: "date"
//editor: {type: "date"}
}
]
return columns;
}
function initDutyPersonGridGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
UICtrl.addGridRow(dutyPersonGridManager);
},
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#dutyPersonGrid');
DataUtil.delSelectedRows({
action: 'exceptionReport/deleteExceptionReportDutyPerson.ajax',
param: {},
gridManager: _grid,
idFieldName: 'id',
onSuccess: function () {
reloadGrid(); reloadGrid();
} }
}); });
}, },
}); });
itemGridManager = UICtrl.grid('#maingrid', { dutyPersonGridManager = UICtrl.grid('#dutyPersonGrid', {
columns: getGridColumns(), columns: getDutyPersonGridColumns(),
dataAction: 'server', dataAction: 'server',
url: web_app.name + '/exceptionReport/slicedExceptionReportItemList.ajax', url: web_app.name + '/exceptionReport/slicedExceptionReportDutyPersonList.ajax',
parms: {exceptionReportId: getId()}, parms: {exceptionReportId: getId()},
height: '300px', height: '300px',
heightDiff: -4, heightDiff: -4,
...@@ -137,218 +317,255 @@ function initItemGrid() { ...@@ -137,218 +317,255 @@ function initItemGrid() {
selectRowButtonOnly: true, selectRowButtonOnly: true,
//autoApplyNextEditor:false, //autoApplyNextEditor:false,
toolbar: toolbarOptions, toolbar: toolbarOptions,
onAfterEdit: function (item) { }
if (item.column.name=='rmbMoney' ){ );
countSum(); UICtrl.setSearchAreaToggle(dutyPersonGridManager);
}
function initPurchaseGrid() {
var purchaseToolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
UICtrl.addGridRow(purchaseGridManager);
},
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#purchasegrid');
DataUtil.delSelectedRows({
action: 'exceptionReport/deleteExceptionReport.ajax',
param: {},
gridManager: _grid,
idFieldName: 'id',
onSuccess: function () {
countSum(purchaseGridManager.rows);
reloadGrid();
} }
}, });
onAfterShowData(){ },
countSum(); });
purchaseGridManager = UICtrl.grid('#purchasegrid', {
columns: getPurchaseGridColumns(),
dataAction: 'server',
url: web_app.name + '/exceptionReport/slicedExceptionReportItemList.ajax',
parms: {exceptionReportId: getId()},
height: '300px',
heightDiff: -4,
sortName: 'id',
sortOrder: 'asc',
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
//autoApplyNextEditor:false,
toolbar: purchaseToolbarOptions,
onAfterEdit: function (item) {
if (item.column.name == 'rmbMoney') {
countSum(purchaseGridManager.rows);
var money = MathUtil.add(item.record.money, item.value);
purchaseGridManager.updateRow(item.record, {totalMoney:money });
} }
}) },
UICtrl.setSearchAreaToggle(itemGridManager); onAfterShowData() {
countSum(purchaseGridManager.rows);
for (var r = 0; r < purchaseGridManager.rows.length; r++) {
var money = MathUtil.add(purchaseGridManager.rows[r].rmbMoney, purchaseGridManager.rows[r].money);
purchaseGridManager.updateRow(purchaseGridManager.rows[r], {totalMoney:money });
}
}
})
UICtrl.setSearchAreaToggle(purchaseGridManager);
} }
function getGridColumns() {
var columns = []; function getPurchaseGridColumns() {
columns = [ var columns = [];
{ columns = [
display: "生产单号", name: "produceNo", width: "160", align: "left", type: "string", {
editor: { display: "采购单号", name: "produceNo", width: "160", align: "left", type: "string",
required: true, type: "select", editor: {type: 'text', required: true}
data: { },
type: 'system', // {display: "产品类别", name: "productType", width: "160", align: "left", type: "string"
name: "sapCustomerProduceNo", // ,editor: {type: 'text',required:true}
getParam: function (item) { // },
return {werks:$("#werks").val(),kunnr: $("#customerNo").val(),vbeln:$("#customerOrderNo").val()} {
display: "产品编码", name: "productCode", width: "160", align: "left", type: "string"
, editor: {type: 'text', required: true}
},
{
display: "产品名称", name: "productName", width: "200", align: "left", type: "string"
, editor: {type: 'text', required: true}
},
{
display: "数量", name: "number", width: "100", align: "left", type: "string"
, editor: {type: "text", mask: '9999999.999'}
},
{
display: "单位", name: "unitName", width: "80", align: "left", type: "string"
// ,editor: {type: "text"}
, editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "MEINS"}
},
back: {
MSEH3: "unit",
MSEHL: "unitName"
}
}, },
back: {
AUFNR: "produceNo",
MATNR: "productCode",
MAKTX: "productName",
PSMNG: "number",
MEINS: "unitName",
KOEIN: "currencyName",
KWERT: "money",
LFDAT: "sendDate"
}
} }
},
{
display: "币别", name: "currencyName", width: "100", align: "left", type: "string"
, editor: {type: "text"}
},
{
display: "损失金额", name: "money", width: "100", align: "left", type: "string"
, editor: {type: "text", mask: '9999999.999'}
},
{
display: "罚款金额", name: "rmbMoney", width: "100", align: "left", type: "string",
editor: {type: "text", mask: '9999999.999'}
},
{
display: "总金额", name: "totalMoney", width: "100", align: "left", type: "string"
},
{
display: "出货日期", name: "sendDate", width: "140", align: "left", type: "date"
, editor: {type: "date"}
} }
}, ]
{display: "产品编码", name: "productCode", width: "160", align: "left", type: "string" return columns;
//,editor: {type: 'text'}
},
{display: "产品名称", name: "productName", width: "200", align: "left", type: "string"
//,editor: {type: 'text'}
},
{display: "数量", name: "number", width: "100", align: "left", type: "string"
//,editor: {type: "text",mask: '9999999.999'}
},
{display: "单位", name: "unitName", width: "80", align: "left", type: "string"
//editor: {type: "text"}
},
{display: "币别", name: "currencyName", width: "100", align: "left", type: "string"
//editor: {type: "text"}
},
{display: "金额", name: "money", width: "100", align: "left", type: "string"
//editor: {type: "text",mask: '9999999.999'}
},
{display: "折算人民币金额", name: "rmbMoney", width: "100", align: "left", type: "string",
editor: {type: "text",mask: '9999999.999'}
},
{display: "出货日期", name: "sendDate", width: "140", align: "left", type: "date"
//editor: {type: "date"}
}
]
return columns;
} }
function initDutyPersonGridGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function(){
UICtrl.addGridRow(dutyPersonGridManager);
},
deleteHandler: function (){
var _grid = UICtrl.getGridManager('#dutyPersonGrid');
DataUtil.delSelectedRows({
action: 'exceptionReport/deleteExceptionReportDutyPerson.ajax',
param: {},
gridManager: _grid,
idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
},
});
dutyPersonGridManager = UICtrl.grid('#dutyPersonGrid', {
columns: getDutyPersonGridColumns(),
dataAction: 'server',
url: web_app.name + '/exceptionReport/slicedExceptionReportDutyPersonList.ajax',
parms:{exceptionReportId:getId()},
height: '300px',
heightDiff: -4,
sortName: 'id',
sortOrder: 'asc',
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
//autoApplyNextEditor:false,
toolbar: toolbarOptions,
}
);
UICtrl.setSearchAreaToggle(dutyPersonGridManager);
}
function countSum(){ function countSum(zrow) {
//var row=itemGridManager.rows; //var row=itemGridManager.rows;
var zrow=itemGridManager.rows; // var zrow=itemGridManager.rows;
var money=0; var money = 0;
for (var r=0;r<zrow.length;r++){ for (var r = 0; r < zrow.length; r++) {
money = MathUtil.add(zrow[r].rmbMoney,money); money = MathUtil.add(zrow[r].rmbMoney, money);
} }
money = MathUtil.add($('#payMoney').val(),money); money = MathUtil.add($('#payMoney').val(), money);
// for (var x=0;x<row.length;x++){ // for (var x=0;x<row.length;x++){
// money = MathUtil.add(row[x].dutyMoney,money); // money = MathUtil.add(row[x].dutyMoney,money);
// } // }
$('#loseMoney').val(money); $('#loseMoney').val(money);
} }
function getDutyPersonGridColumns() { function getDutyPersonGridColumns() {
var columns = []; var columns = [];
columns = [ columns = [
{display: "工号/客户编码", name: "personNo", width: "180", align: "left", type: "string", {
editor: { type: 'text'} display: "工号/客户编码", name: "personNo", width: "180", align: "left", type: "string",
}, editor: {type: 'text'}
{display: "姓名/客户", name: "personName", width: "180", align: "left", type: "string", },
editor: {type: 'text'} {
}, display: "姓名/客户", name: "personName", width: "180", align: "left", type: "string",
{display: "部门/客户名称", name: "deptName", width: "200", align: "left", type: "string", editor: {type: 'text'}
editor: {type: 'text'} },
}, {
{display: "定责比例(%)", name: "dutyRate", width: "100", align: "left", type: "string", display: "部门/客户名称", name: "deptName", width: "200", align: "left", type: "string",
editor: {type: "text",mask: '999.99'} editor: {type: 'text'}
}, },
{display: "个人责任比例(%)", name: "personDutyRate", width: "100", align: "left", type: "string", {
editor: {type: "text",mask: '999.99'} display: "定责比例(%)", name: "dutyRate", width: "100", align: "left", type: "string",
}, editor: {type: "text", mask: '999.99'}
{display: "责任金额", name: "dutyMoney", width: "100", align: "left", type: "string", },
editor: {type: "text",mask: '9999999.999'} {
}, display: "个人责任比例(%)", name: "personDutyRate", width: "100", align: "left", type: "string",
{display: "备注", name: "remark", width: "300", align: "left", type: "string", editor: {type: "text", mask: '999.99'}
editor: {type: "text"} },
}, {
] display: "责任金额", name: "dutyMoney", width: "100", align: "left", type: "string",
return columns; editor: {type: "text", mask: '9999999.999'}
},
{
display: "备注", name: "remark", width: "300", align: "left", type: "string",
editor: {type: "text"}
},
]
return columns;
} }
//获取数据保存的参数 //获取数据保存的参数
function getExtendedData(processAction) { function getExtendedData(processAction) {
//回退、打回、转交时,不需要验证必填项是否已经填写; //回退、打回、转交时,不需要验证必填项是否已经填写;
if (processAction == ProcessAction.BACK if (processAction == ProcessAction.BACK
|| processAction == ProcessAction.REPLENISH || processAction == ProcessAction.REPLENISH
|| processAction == ProcessAction.TRANSMIT) { || processAction == ProcessAction.TRANSMIT) {
//不验证 //不验证
$('#submitForm').attr('check', false); $('#submitForm').attr('check', false);
} }
var extendedData = {}; var extendedData = {};
var _grid = UICtrl.getGridManager('#maingrid'); var _grid = UICtrl.getGridManager('#maingrid');
if (_grid) { if ($('#exceptionReasonType').val() == "3") { //采购异常
var datas = DataUtil.getGridData({ _grid = UICtrl.getGridManager('#purchasegrid');
gridManager: _grid, }
isAllData: true if (_grid) {
}); var datas = DataUtil.getGridData({
if (!datas) { gridManager: _grid,
return false; isAllData: true
} });
extendedData.exceptionReportItems = Public.encodeJSONURI(datas); if (!datas) {
} return false;
}
extendedData.exceptionReportItems = Public.encodeJSONURI(datas);
}
var _dutyPersonGrid = UICtrl.getGridManager('#dutyPersonGrid'); var _dutyPersonGrid = UICtrl.getGridManager('#dutyPersonGrid');
if (_dutyPersonGrid) { if (_dutyPersonGrid) {
var datas = DataUtil.getGridData({ var datas = DataUtil.getGridData({
gridManager: _dutyPersonGrid, gridManager: _dutyPersonGrid,
isAllData: true isAllData: true
}); });
if (!datas) { if (!datas) {
return false; return false;
} }
extendedData.personList = Public.encodeJSONURI(datas); extendedData.personList = Public.encodeJSONURI(datas);
} }
return extendedData; return extendedData;
} }
function getId() { function getId() {
return $('#id').val(); return $('#id').val();
} }
function setId(value) { function setId(value) {
$("#id").val(value); $("#id").val(value);
var _grid=UICtrl.getGridManager('#maingrid'); var _grid = UICtrl.getGridManager('#maingrid');
_grid.options.parms.exceptionReportId = value; _grid.options.parms.exceptionReportId = value;
var _purchasegrid = UICtrl.getGridManager('#purchasegrid');
_purchasegrid.options.parms.exceptionReportId = value;
var _dutyPersonGrid=UICtrl.getGridManager('#dutyPersonGrid'); var _dutyPersonGrid = UICtrl.getGridManager('#dutyPersonGrid');
_dutyPersonGrid.options.parms.exceptionReportId = value; _dutyPersonGrid.options.parms.exceptionReportId = value;
} }
function reloadGrid() { function reloadGrid() {
itemGridManager.loadData(); itemGridManager.loadData();
purchaseGridManager.loadData();
dutyPersonGridManager.loadData(); dutyPersonGridManager.loadData();
countSum(); countSumChange();
} }
function printPage() { function printPage() {
Public.openPostWindow(web_app.name + '/PDFViewer/PDFViewer.do',{id: $("#id").val(),applicationType:"exceptionReport"}); Public.openPostWindow(web_app.name + '/PDFViewer/PDFViewer.do', {
id: $("#id").val(),
applicationType: "exceptionReport"
});
} }
function isNumber(val){ function isNumber(val) {
var regPos = /^\+?[1-9][0-9]*$/; var regPos = /^\+?[1-9][0-9]*$/;
// var regNeg = /^\-[1-9][0-9]*$/; // 负整数 // var regNeg = /^\-[1-9][0-9]*$/; // 负整数
if(regPos.test(val)){ if (regPos.test(val)) {
return true; return true;
}else{ } else {
return false; return false;
} }
} }
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</head> </head>
<body> <body>
<div class="container-fluid"> <div class="container-fluid">
<x:billTitle title="品质异常报告(生产)" needStatus="true" needPerson="true"/> <x:billTitle title="品质异常报告" needStatus="true" needPerson="true"/>
<form class="hg-form" method="post" action="" id="submitForm"> <form class="hg-form" method="post" action="" id="submitForm">
<x:hidden name="billType"/> <x:hidden name="billType"/>
<x:hidden name="id"/> <x:hidden name="id"/>
...@@ -36,28 +36,49 @@ ...@@ -36,28 +36,49 @@
</div> </div>
</c:if> </c:if>
<div class="hg-form-row"> <div class="hg-form-row">
<x:selectC name="exceptionType" label="异常类型" labelCol="1" fieldCol="2" required="true" dictionary="exceptionType"/>
<x:inputC name="reportDate" label="呈报日期" labelCol="1" fieldCol="2" required="true" wrapper="date"/>
<x:inputC name="werksName" required="true" label="工厂" labelCol="1" wrapper="select" fieldCol="2"/> <x:inputC name="werksName" required="true" label="工厂" labelCol="1" wrapper="select" fieldCol="2"/>
<x:hidden name="werks"/> <x:hidden name="werks"/>
<x:inputC name="reportDate" label="呈报日期" labelCol="1" fieldCol="2" required="true" wrapper="date"/>
<x:selectC name="urgency" label="紧急程度" labelCol="1" fieldCol="2" required="true" dictionary="urgency"/>
<x:selectC name="exceptionType" label="异常类型" labelCol="1" fieldCol="2" required="true" dictionary="exceptionType"/>
<x:selectC name="exceptionReasonType" label="异常原因分类" labelCol="1" fieldCol="2" required="true" dictionary="exceptionReasonType"/>
<x:inputC name="productType" label="产品类别" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="appealNo" label="客诉编号" labelCol="1" fieldCol="2" required="false"/> <x:inputC name="appealNo" label="客诉编号" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="exceptionDate" label="异常日期" labelCol="1" fieldCol="2" required="false" wrapper="date"/>
</div> </div>
</div>
<div class="hg-form-cols" id="purchaseDiv">
<div class="hg-form-row"> <div class="hg-form-row">
<x:inputC name="customerNo" label="客户编号" labelCol="1" fieldCol="2" required="true"/>
<x:inputC name="customerOrderNo" label="客户订单号" labelCol="1" fieldCol="2" wrapper="select" required="true"/>
<x:inputC name="customerName" label="客户名称" labelCol="1" fieldCol="2" required="false" readonly="true"/>
<x:inputC name="customerNamePur" label="客户名称" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="customerOrderNoPur" label="客户订单号" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="brandName" label="品牌名称" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="problemTimes" label="问题发生次数" labelCol="1" fieldCol="2" required="false"/>
<x:checkbox name="needImproveReport" id="needImproveReport" cssStyle="margin-left:10px;" label="客户是否需要改善报告"/>
<x:checkbox name="needGuarantee" id="needGuarantee" cssStyle="margin-left:10px;" label="客户是否需要保证书"/>
</div> </div>
</div> <div id="purchasegrid"></div>
</div>
<div class="hg-form-cols" id="produceDiv">
<div class="hg-form-row">
<x:inputC name="customerNo" label="客户编号" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="customerOrderNo" label="生产订单号" labelCol="1" fieldCol="2" wrapper="select" required="false"/>
<x:inputC name="customerName" label="客户名称" labelCol="1" fieldCol="2" required="false" readonly="true"/>
</div>
<x:title title="单号信息" name="group" hideTable="#info" /> <x:title title="单号信息" name="group" hideTable="#info" />
<div id="maingrid"></div> <div id="maingrid"></div>
</div>
<div class="hg-form-cols"> <div class="hg-form-cols">
<div class="hg-form-row">
<x:textareaC name="exceptionState" required="false" label="异常陈诉" maxLength="120" labelCol="1" fieldCol="11" rows="3"/>
</div>
<div style="padding-top: 15px;"> <div style="padding-top: 15px;">
<x:fileList bizCode="exceptionStateInfo" bizId="attbizId" id="exceptionStateInfoList" title="相关资料" /> <x:fileList bizCode="exceptionStateInfo" bizId="attbizId" id="exceptionStateInfoList" title="相关资料" />
</div> </div>
<div class="hg-form-row">
<x:textareaC name="exceptionState" required="false" label="异常陈诉" maxLength="120" labelCol="1" fieldCol="11" rows="3"/>
</div>
<div class="hg-form-row"> <div class="hg-form-row">
<x:textareaC name="exceptionReason" required="false" label="异常原因" maxLength="120" labelCol="1" fieldCol="11" rows="3"/> <x:textareaC name="exceptionReason" required="false" label="异常原因" maxLength="120" labelCol="1" fieldCol="11" rows="3"/>
</div> </div>
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
</div> </div>
<div class="hg-form-row"> <div class="hg-form-row">
<!--x:selectC name="exceptionType" label="异常类型" labelCol="1" fieldCol="2" required="true" dictionary="exceptionType"/--> <!--x:selectC name="exceptionType" label="异常类型" labelCol="1" fieldCol="2" required="true" dictionary="exceptionType"/-->
<x:inputC name="exceptionDate" label="发现日期" labelCol="1" fieldCol="2" required="true" wrapper="date"/> <x:inputC name="exceptionDate" label="异常日期" labelCol="1" fieldCol="2" required="true" wrapper="date"/>
<x:inputC name="reportDate" label="呈报日期" labelCol="1" fieldCol="2" required="true" wrapper="date"/> <x:inputC name="reportDate" label="呈报日期" labelCol="1" fieldCol="2" required="true" wrapper="date"/>
<x:selectC name="exceptionReasonType" label="异常原因分类" labelCol="1" fieldCol="2" required="true" dictionary="exceptionReasonType"/> <x:selectC name="exceptionReasonType" label="异常原因分类" labelCol="1" fieldCol="2" required="true" dictionary="exceptionReasonType"/>
......
...@@ -43,11 +43,11 @@ function initGrid() { ...@@ -43,11 +43,11 @@ function initGrid() {
}); });
gridManager = UICtrl.grid('#maingrid', { gridManager = UICtrl.grid('#maingrid', {
columns: [ columns: [
{display: "状态", name: "statusTextView", width: "80", align: "left", type: "string"} {display: "状态", name: "statusTextView", width: "60", align: "left", type: "string"}
, {display: "id", name: "id", width: "100", align: "left", type: "string", hide: true} , {display: "id", name: "id", width: "100", align: "left", type: "string", hide: true}
, {display: "报告编号", name: "billCode", width: 150, minWidth: 60, type: "string", align: "center"} , {display: "报告编号", name: "billCode", width: 150, minWidth: 60, type: "string", align: "center"}
, {display: "异常类型", name: "exceptionTypeTextView", width: 100, minWidth: 60, type: "string", align: "center"} , {display: "异常类型", name: "exceptionTypeTextView", width: 80, minWidth: 60, type: "string", align: "center"}
, {display: "单据类型", name: "billType", width: 100, minWidth: 60, type: "string", align: "center", , {display: "单据类型", name: "billType", width: 80, minWidth: 60, type: "string", align: "center",
render: function (item) { render: function (item) {
if (item.billType=="supplier"){ if (item.billType=="supplier"){
return "供应商"; return "供应商";
...@@ -60,17 +60,22 @@ function initGrid() { ...@@ -60,17 +60,22 @@ function initGrid() {
} }
} }
} }
, {display: "呈报日期", name: "reportDate", width: 140, minWidth: 60, type: "date", align: "center"} , {display: "异常原因分类", name: "exceptionReasonTypeTextView", width: 100, minWidth: 60, type: "string", align: "center"}
, {display: "呈报日期", name: "reportDate", width: 100, minWidth: 60, type: "date", align: "center"}
, {display: "异常日期", name: "exceptionDate", width: 100, minWidth: 60, type: "date", align: "center"}
// , {display: "异常标题", name: "exceptionTitle", width: 200, minWidth: 60, type: "date", align: "center"} // , {display: "异常标题", name: "exceptionTitle", width: 200, minWidth: 60, type: "date", align: "center"}
// , {display: "客户编号", name: "customerName", width: 200, minWidth: 60, type: "date", align: "center"} // , {display: "客户编号", name: "customerName", width: 200, minWidth: 60, type: "date", align: "center"}
, {display: "客户名称", name: "customerName", width: 200, minWidth: 60, type: "date", align: "center"} , {display: "客户名称", name: "customerName", width: 200, minWidth: 60, type: "date", align: "center"}
, {display: "客户单号", name: "customerOrderNo", width: 180, minWidth: 60, type: "date", align: "center"} , {display: "客户单号", name: "customerOrderNo", width: 180, minWidth: 60, type: "date", align: "center"}
, {display: "紧急程度", name: "urgencyTextView", width: 80, minWidth: 60, type: "date", align: "center"}
, {display: "改善措施", name: "dealMethod", width: 200, minWidth: 60, type: "date", align: "center"} , {display: "改善措施", name: "dealMethod", width: 200, minWidth: 60, type: "date", align: "center"}
, {display: "异常原因", name: "exceptionReason", width: 200, minWidth: 60, type: "date", align: "center"} , {display: "异常原因", name: "exceptionReason", width: 200, minWidth: 60, type: "date", align: "center"}
, {display: "责任人", name: "checkOperatorName", width: 160, minWidth: 60, type: "date", align: "center"} , {display: "责任部门", name: "dutyDeptName", width: 120, minWidth: 60, type: "date", align: "center"}
, {display: "责任人", name: "checkOperatorName", width: 100, minWidth: 60, type: "date", align: "center"}
, {display: "处理结果", name: "dealResult", width: 200, minWidth: 60, type: "date", align: "center"} , {display: "处理结果", name: "dealResult", width: 200, minWidth: 60, type: "date", align: "center"}
//, {display: "备注", name: "remark", width: 200, minWidth: 60, type: "date", align: "center"} //, {display: "备注", name: "remark", width: 200, minWidth: 60, type: "date", align: "center"}
, {display: "创建日期", name: "fillinDate", width: 150, minWidth: 60, type: "date", align: "center"} , {display: "创建日期", name: "fillinDate", width: 150, minWidth: 60, type: "dateTime", align: "center"}
, {display: "创建部门", name: "deptName", width: 120, minWidth: 60, type: "date", align: "center"} , {display: "创建部门", name: "deptName", width: 120, minWidth: 60, type: "date", align: "center"}
, {display: "创建人", name: "personMemberName", width: 100, minWidth: 60, type: "date", align: "center"} , {display: "创建人", name: "personMemberName", width: 100, minWidth: 60, type: "date", align: "center"}
], ],
......
...@@ -25,7 +25,9 @@ ...@@ -25,7 +25,9 @@
<x:inputC name="endDate" label="呈报结束日期" wrapper="date" labelCol="1" /> <x:inputC name="endDate" label="呈报结束日期" wrapper="date" labelCol="1" />
<x:inputC name="checkOperatorName" label="责任人" labelCol="1"/> <x:inputC name="checkOperatorName" label="责任人" labelCol="1"/>
<x:inputC name="dutyDeptName" label="责任部门" labelCol="1"/> <x:inputC name="dutyDeptName" label="责任部门" labelCol="1"/>
<x:selectC name="exceptionReasonType" label="异常原因分类" labelCol="1" dictionary="exceptionReasonType"/>
<x:selectC name="status" label="状态" labelCol="1" fieldCol="2" dictionary="bizBillStatus"/> <x:selectC name="status" label="状态" labelCol="1" fieldCol="2" dictionary="bizBillStatus"/>
<x:selectC name="urgency" label="紧急程度" labelCol="1" fieldCol="2" dictionary="urgency"/>
</div> </div>
<x:searchButtons/> <x:searchButtons/>
</form> </form>
......
...@@ -4,13 +4,17 @@ ...@@ -4,13 +4,17 @@
<meta http-equiv="Content-Style-Type" content="text/css"/> <meta http-equiv="Content-Style-Type" content="text/css"/>
<meta name="generator" content="Aspose.Words for .NET 15.1.0.0"/> <meta name="generator" content="Aspose.Words for .NET 15.1.0.0"/>
<title></title> <title></title>
<style type="text/css"> <style type="text/css">
body{ body{
font-family: SimSun; font-family: SimSun;
} }
span{ span{
font-size: 12pt; font-size: 12pt;
} }
table {border-collapse:collapse; margin-left:0pt;text-align: center;font-size:12pt;line-height: 8pt;}
.td1{border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:40pt}
.td2{border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid;border-top-width:0.75pt;vertical-align:top;width:100pt}
.p1{margin:5pt; orphans:0; widows:0;width:60pt}
</style></head> </style></head>
<body> <body>
<div> <div>
...@@ -24,308 +28,331 @@ ...@@ -24,308 +28,331 @@
</p> </p>
</p> </p>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size:12pt;line-height: 10pt;"> <table>
<tr style=""> <tr>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">异常类型</span></p> <p class="p1"><span style="font-weight:bolder ">异常类型</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:80pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun;">${(head.exceptionType)!' '}</span></p> <p class="p1" style="width:90pt"><span >${(head.exceptionType)!' '}</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">呈报日期</span></p> <p class="p1"><span style="font-weight:bolder ">呈报日期</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:80%;"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;width:300pt ">${(head.reportDate?substring(0,9))!' '}</span></p> <p class="p1"><span >${(head.reportDate?substring(0,9))!' '}</span></p>
</td> </td>
</tr> <td class="td1">
</table> <p class="p1"><span style="font-weight:bolder">出货日期</span></p>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;">
<tr style="">
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">客户</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100%"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; width:70%">${(head.customerName)!' '}</span></p> <p class="p1"><span>${(head.reportDate?substring(0,9))!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table>
<tr style=""> <tr>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">客户单号</span></p> <p class="p1"><span style="font-weight:bolder ">客户名称</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:90%"> <td class="td2" style="width:90%">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.customerOrderNo)!' '}</span></p> <p class="p1" style="width:auto"><span>${(head.customerName)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table>
<tr style=""> <tr>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">生产/采购单号</span></p> <p class="p1"><span style="font-weight:bolder ">客户单号</span></p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:80pt">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder ">产品编码</span></p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder">产品名称</span></p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:80pt">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder ">数量</span></p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:60pt">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder ">单位</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:60pt"> <td class="td2" >
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder ">币别</span></p> <p class="p1" style="width:90pt" ><span>${(head.customerOrderNo)!' '}</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder ">金额</span></p> <p class="p1"><span style="font-weight:bolder ">生产单号</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt"> <td class="td2" style="width:90%">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder ">转换成人民币金额</span></p> <#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:auto" ><span>${(list.produceNo)!' '}</span></p>
</#list>
</#if>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt"> </tr>
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder ">出货日期</span></p> </table>
<table>
<tr>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">产品编号</span></p>
</td>
<td class="td2" >
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:90pt" ><span>${(list.productCode)!' '}</span></p>
</#list>
</#if>
</td>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">产品名称</span></p>
</td>
<td class="td2" style="width:90%">
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:auto" ><span>${(list.productName)!' '}</span></p>
</#list>
</#if>
</td> </td>
</tr> </tr>
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;">
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt">
<p style="margin:5pt; orphans:0; widows:0;width: 100pt">
<span style="font-family:SimSun;">${(list.produceNo)!''}</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:60pt">
<p style="margin:5pt; orphans:0; widows:0">
<span style="font-family:SimSun;">${(list.productCode)!''}</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:30pt">
<p style="margin:5pt; orphans:0; widows:0;text-align: center;">
<span style="font-family:SimSun;">${(list.productName)!''}</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:30pt">
<p style="margin:5pt; orphans:0; widows:0;text-align: center;">
<span style="font-family:SimSun;">${(list.number)!''}</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt">
<p style="margin:5pt; orphans:0; widows:0"><span
style="font-family:SimSun; ">${(list.unitName)!''}</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt">
<p style="margin:5pt; orphans:0; widows:0"><span
style="font-family:SimSun; ">${(list.currencyName)!''}</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt">
<p style="margin:5pt; orphans:0; widows:0"><span
style="font-family:SimSun; ">${(list.money)!''}</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt">
<p style="margin:5pt; orphans:0; widows:0"><span
style="font-family:SimSun; ">${(list.rmbMoney)!''}</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt">
<p style="margin:5pt; orphans:0; widows:0"><span
style="font-family:SimSun; ">${(list.sendDate?substring(0,9))!''}</span>
</p>
</td>
</tr>
</#list>
</#if>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;">
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <table>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <tr>
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">异常陈述</span></p> <td class="td1">
<p class="p1"><span style="font-weight:bolder ">单位</span></p>
</td>
<td class="td2" >
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:90pt" ><span>${(list.unitName)!' '}</span></p>
</#list>
</#if>
</td>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">数量</span></p>
</td>
<td class="td2">
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:85pt" ><span>${(list.number)!' '}</span></p>
</#list>
</#if>
</td>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">币别</span></p>
</td>
<td class="td2" style="width:90%">
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:auto" ><span>${(list.currencyName)!' '}</span></p>
</#list>
</#if>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:90%"> </tr>
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.exceptionState)!' '}</span></p> </table>
<table>
<tr>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">金额</span></p>
</td>
<td class="td2" >
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:90pt" ><span>${(list.money)!' '}</span></p>
</#list>
</#if>
</td>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">折算金额</span></p>
</td>
<td class="td2" style="width:50%">
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:auto" ><span>${(list.rmbMoney)!' '}</span></p>
</#list>
</#if>
</td>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">客诉编号</span></p>
</td>
<td class="td2" style="width:90%">
<p class="p1" style="width:auto" ><span>${(head.appealNo)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;">
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <table>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <tr>
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">发生原因</span></p> <td class="td1">
<p class="p1"><span style="font-weight:bolder ">异常陈述</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:90%"> <td class="td2" style="width:90%">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.exceptionReason)!' '}</span></p> <p class="p1" style="width:auto"><span>${(head.exceptionState)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table >
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <tr>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">改善措施</span></p> <p class="p1"><span style="font-weight:bolder ">发生原因</span></p>
</td>
<td class="td2" style="width:90%">
<p class="p1" style="width:auto"><span>${(head.exceptionReason)!' '}</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:90%"> </tr>
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.dealMethod)!' '}</span></p> </table>
<table>
<tr>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">改善措施</span></p>
</td>
<td class="td2" style="width:90%">
<p class="p1" style="width:auto"><span>${(head.dealMethod)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;">
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <table>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <tr>
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">责任部门</span></p> <td class="td1">
</td> <p class="p1"><span style="font-weight:bolder ">责任部门</span></p>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:35%"> </td>
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.dutyDeptName)!' '}</span></p> <td class="td2">
<p class="p1"><span style="">${(head.dutyDeptName)!' '}</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">校验员</span></p> <p class="p1"><span style="font-weight:bolder ">校验员</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:35%"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.checkOperatorName)!' '}</span></p> <p class="p1"><span style="">${(head.checkOperatorName)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table >
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <tr>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">处理结果</span></p> <p class="p1"><span style="font-weight:bolder ">处理结果</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:90%"> <td class="td2" style="width:90%">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.dealResult)!' '}</span></p> <p class="p1" style="width:auto"><span>${(head.dealResult)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table>
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <tr >
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">单位主管</span></p> <p class="p1"><span style="font-weight:bolder">单位主管</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:80pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.manager)!' '}</span></p> <p class="p1" style="width:90pt"><span>${(head.manager)!' '}</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:80pt"><span style="font-family:SimSun; font-weight:bolder ">副理</span></p> <p class="p1"><span style="font-weight:bolder ">副理</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:85pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.deputyManager)!' '}</span></p> <p class="p1"><span>${(head.deputyManager)!' '}</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:80pt"><span style="font-family:SimSun; font-weight:bolder ">经理</span></p> <p class="p1"><span style="font-weight:bolder ">经理</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:85pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.generalManager)!' '}</span></p> <p class="p1"><span >${(head.generalManager)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table>
<tr>
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <td class="td1">
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <p class="p1"><span style="font-weight:bolder ">备注</span></p>
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">备注</span></p> </td>
</td> <td class="td2" style="width:90%">
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:90%"> <p class="p1"><span style="">${(head.remark)!' '}</span></p>
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.remark)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table>
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <tr>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:80pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">工号/客户编码</span></p> <p class="p1"><span style="font-weight:bolder ">工号/客户编码</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:80pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder ">姓名/户名称</span></p> <p class="p1"><span style="font-weight:bolder ">姓名/客户</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder">部门/客户名称</span></p> <p class="p1"><span style="font-weight:bolder">部门/客户名称</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder">定责比例</span></p> <p style="margin:5pt; orphans:0; widows:0"><span style="font-weight:bolder">定责比例</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder">个人责任比例</span></p> <p class="p1"><span style="font-weight:bolder">个人责任比例</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder">责任金额</span></p> <p class="p1"><span style="font-weight:bolder">责任金额</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:100pt"> <td class="td1" style="width:20%">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun; font-weight:bolder">备注</span></p> <p class="p1"><span style="font-weight:bolder">备注</span></p>
</td> </td>
</tr> </tr>
<#if (dutyList)?? && ((dutyList)?size > 0)> <#if (dutyList)?? && ((dutyList)?size > 0)>
<#list dutyList as list> <#list dutyList as list>
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <tr>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width: 100pt"> <p class="p1">
<span style="font-family:SimSun;">${(list.personNo)!''}</span> <span>${(list.personNo)!''}</span>
</p> </p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:60pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0"> <p class="p1">
<span style="font-family:SimSun;">${(list.personName)!''}</span> <span >${(list.personName)!''}</span>
</p> </p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:30pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0;text-align: center;"> <p class="p1">
<span style="font-family:SimSun;">${(list.deptName)!''}</span> <span style="">${(list.deptName)!''}</span>
</p> </p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:30pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0;text-align: center;"> <p class="p1">
<span style="font-family:SimSun;">${(list.dutyRate)!''}</span> <span style="">${(list.dutyRate)!''}</span>
</p> </p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span <p class="p1"><span style=" ">${(list.personDutyRate)!''}</span>
style="font-family:SimSun; ">${(list.personDutyRate)!''}</span>
</p> </p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span <p class="p1">
style="font-family:SimSun; ">${(list.dutyMoney)!''}</span> <span style=" ">${(list.dutyMoney)!''}</span>
</p> </p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span <p class="p1"><span
style="font-family:SimSun; ">${(list.remark)!''}</span> style=" ">${(list.remark)!''}</span>
</p> </p>
</td> </td>
</tr> </tr>
</#list> </#list>
</#if> </#if>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table>
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <tr>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">核准</span></p> <p class="p1" ><span style=" font-weight:bolder ">核准</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:80pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(lastAuditPerson)!' '}</span></p> <p class="p1" style="width:90pt"><span style="">${(lastAuditPerson)!' '}</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:80pt"><span style="font-family:SimSun; font-weight:bolder ">审核</span></p> <p class="p1"><span style=" font-weight:bolder ">审核</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:85pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(preAuditPerson)!' '}</span></p> <p class="p1"><span style="">${(preAuditPerson)!' '}</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td class="td1">
<p style="margin:5pt; orphans:0; widows:0;width:80pt"><span style="font-family:SimSun; font-weight:bolder ">制表</span></p> <p class="p1"><span style=" font-weight:bolder ">制表</span></p>
</td> </td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:85pt"> <td class="td2">
<p style="margin:5pt; orphans:0; widows:0"><span style="font-family:SimSun;">${(head.personMemberName)!' '}</span></p> <p class="p1"><span style="">${(head.personMemberName)!' '}</span></p>
</td> </td>
</tr> </tr>
</table> </table>
<p style="margin:0pt; orphans:0; text-align:left;margin-top: 1pt; widows:0"> <p style="margin:0pt; orphans:0; text-align:left;margin-top: 1pt; widows:0">
<span class="fs" style="font-family:SimSun;font-weight:bolder ">注:内部、外部异常均须填写此表单。</span> <span class="fs" style="font-weight:bolder ">注:内部、外部异常均须填写此表单。</span>
<span class="fs" style="font-family:SimSun;font-weight:bolder ">本人已清楚公司的异常责任处理规定。</span> <span class="fs" style="font-weight:bolder ">本人已清楚公司的异常责任处理规定。</span>
</p> </p>
</div> </div>
......
...@@ -283,7 +283,7 @@ ...@@ -283,7 +283,7 @@
</tr> </tr>
</table> </table>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;"> <table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:0pt;text-align: center;font-size: 9.5pt;line-height: 10pt;">
<tr style="text-align: center;font-size:6.5pt;line-height: 10pt;"> <tr style="text-align: center;font-size:6.5pt;line-height: 10pt;height: 200pt;">
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt"> <td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; vertical-align:top; width:50pt">
<p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">异常描述</span></p> <p style="margin:5pt; orphans:0; widows:0;width:100pt"><span style="font-family:SimSun; font-weight:bolder ">异常描述</span></p>
</td> </td>
......
...@@ -165,6 +165,13 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except ...@@ -165,6 +165,13 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except
if (StringUtils.isBlank(exceptionReport.getDutyDept())){ if (StringUtils.isBlank(exceptionReport.getDutyDept())){
exceptionReport.setDutyDept("0"); exceptionReport.setDutyDept("0");
} }
if (!"supplier".equals(exceptionReport.getBillType())&&"3".equals(exceptionReport.getExceptionReasonType())){ //客户异常
exceptionReport.setCustomerNo(exceptionReport.getCustomerNoPur());
exceptionReport.setCustomerName(exceptionReport.getCustomerNamePur());
exceptionReport.setCustomerOrderNo(exceptionReport.getCustomerOrderNoPur());
exceptionReport.setBillType("purchase");
}
/* 采购的单据 根据加减签 去更改为责任人 /* 采购的单据 根据加减签 去更改为责任人
if (exceptionReport.getStatusId()==1&&("purchase".equals(exceptionReport.getBillType())||"outgoing".equals(exceptionReport.getBillType())) if (exceptionReport.getStatusId()==1&&("purchase".equals(exceptionReport.getBillType())||"outgoing".equals(exceptionReport.getBillType()))
//&&!"auditDept".equals(exceptionReport.getHandleNodeId()) //不是审计部审批的 //&&!"auditDept".equals(exceptionReport.getHandleNodeId()) //不是审计部审批的
...@@ -215,6 +222,7 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except ...@@ -215,6 +222,7 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except
List<ExceptionReportGoods> exceptionReportGoodsList = this.getBizEntities(ExceptionReportGoods.class, "handleGoods"); List<ExceptionReportGoods> exceptionReportGoodsList = this.getBizEntities(ExceptionReportGoods.class, "handleGoods");
if ("supplier".equals(exceptionReport.getBillType())){ //供应商 默认类型 if ("supplier".equals(exceptionReport.getBillType())){ //供应商 默认类型
exceptionReport.setExceptionType("out"); exceptionReport.setExceptionType("out");
exceptionReport.setExceptionReasonType("3");
} }
if (("supplier".equals(exceptionReport.getBillType()))&&"pay".equals(exceptionReport.getDealWay()) if (("supplier".equals(exceptionReport.getBillType()))&&"pay".equals(exceptionReport.getDealWay())
...@@ -426,7 +434,7 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except ...@@ -426,7 +434,7 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except
} }
this.saveExceptionReport(exceptionReport); this.saveExceptionReport(exceptionReport);
//采购异常单根据责任部门是采购部门则生成供应商异常单 //采购异常单根据责任部门是采购部门则生成供应商异常单
if ("produce".equals(exceptionReport.getBillType()) if ("purchase".equals(exceptionReport.getBillType())
//&&StringUtil.isNotBlank(exceptionReport.getDutyDept()) //&&StringUtil.isNotBlank(exceptionReport.getDutyDept())
&&!"0".equals(exceptionReport.getDutyDept())) { &&!"0".equals(exceptionReport.getDutyDept())) {
Org org = orgApplication.loadOrg(exceptionReport.getDutyDept()); Org org = orgApplication.loadOrg(exceptionReport.getDutyDept());
...@@ -438,6 +446,14 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except ...@@ -438,6 +446,14 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except
suppExceptionReport.setExceptionType(exceptionReport.getExceptionType()); suppExceptionReport.setExceptionType(exceptionReport.getExceptionType());
suppExceptionReport.setExceptionTitle(exceptionReport.getExceptionTitle()); suppExceptionReport.setExceptionTitle(exceptionReport.getExceptionTitle());
suppExceptionReport.setExceptionDate(exceptionReport.getExceptionDate()); suppExceptionReport.setExceptionDate(exceptionReport.getExceptionDate());
suppExceptionReport.setCustomerOrderNo(exceptionReport.getCustomerOrderNo());
suppExceptionReport.setCustomerName(exceptionReport.getCustomerName());
suppExceptionReport.setUrgency(exceptionReport.getUrgency());
suppExceptionReport.setExceptionState(exceptionReport.getExceptionState());
suppExceptionReport.setExceptionReason(exceptionReport.getExceptionReason());
suppExceptionReport.setNeedGuarantee(exceptionReport.getNeedGuarantee());
suppExceptionReport.setNeedImproveReport(exceptionReport.getNeedImproveReport());
suppExceptionReport.setWerks(exceptionReport.getWerks()); suppExceptionReport.setWerks(exceptionReport.getWerks());
suppExceptionReport.setWerksName(exceptionReport.getWerksName()); suppExceptionReport.setWerksName(exceptionReport.getWerksName());
suppExceptionReport.setBrandName(exceptionReport.getBrandName()); suppExceptionReport.setBrandName(exceptionReport.getBrandName());
...@@ -448,6 +464,26 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except ...@@ -448,6 +464,26 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except
Operator operator = ThreadLocalUtil.getOperator(); Operator operator = ThreadLocalUtil.getOperator();
suppExceptionReport.setPersonMemberId(operator.getPersonMemberId()); suppExceptionReport.setPersonMemberId(operator.getPersonMemberId());
suppExceptionReport.setPersonMemberName(operator.getPersonMemberName()); suppExceptionReport.setPersonMemberName(operator.getPersonMemberName());
/* ExceptionReportQueryRequest queryRequest = new ExceptionReportQueryRequest();
queryRequest.setExceptionReportId(bizId);
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "exceptionReportItems");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
queryModel.setPageIndex(1);
queryModel.setPageSize(200);
Map<String,Object> mapItems= this.sqlExecutorDao.executeSlicedQuery(queryModel);
List<ExceptionReportItem> exceptionReportItems=(List<ExceptionReportItem>)mapItems.get("Rows");
queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "exceptionReportDutyPersons");
queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
queryModel.setPageIndex(1);
queryModel.setPageSize(200);
Map<String,Object> mapDutyItems= this.sqlExecutorDao.executeSlicedQuery(queryModel);
List<ExceptionReportDutyPerson> exceptionDutyItems=(List<ExceptionReportDutyPerson>)mapDutyItems.get("Rows");
*/
//创建供应商异常 //创建供应商异常
asyncWriteExecutor.execute(()-> asyncWriteExecutor.execute(()->
// mannualStartWorkApplication.startWorkflow(suppExceptionReport,PROCESS_DEFINITION_KEY,"exceptionReport") // mannualStartWorkApplication.startWorkflow(suppExceptionReport,PROCESS_DEFINITION_KEY,"exceptionReport")
...@@ -466,7 +502,8 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except ...@@ -466,7 +502,8 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except
exceptionReport.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName())); exceptionReport.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
Map<String, Object> formData = BeanUtil.beanToMap(exceptionReport); Map<String, Object> formData = BeanUtil.beanToMap(exceptionReport);
// formData.put("exceptionReportItems",exceptionItems);
// formData.put("personList",exceptionDutyItems);
//启动流程实例 //启动流程实例
this.startProcessInstance(PROCESS_DEFINITION_KEY, formData); this.startProcessInstance(PROCESS_DEFINITION_KEY, formData);
......
...@@ -112,8 +112,12 @@ public class ExceptionReportController extends CommonController { ...@@ -112,8 +112,12 @@ public class ExceptionReportController extends CommonController {
SDO sdo = this.getSDO(); SDO sdo = this.getSDO();
String id = sdo.getBizId(); String id = sdo.getBizId();
ExceptionReport exceptionReport = exceptionReportApplication.findById(id); ExceptionReport exceptionReport = exceptionReportApplication.findById(id);
if ("purchase".equals(exceptionReport.getBillType())||"outgoing".equals(exceptionReport.getBillType())) { if ("purchase".equals(exceptionReport.getBillType())||"outgoing".equals(exceptionReport.getBillType())) {
return forward("exceptionReportDetailPurchase", exceptionReport); exceptionReport.setCustomerNoPur(exceptionReport.getCustomerOrderNo());
exceptionReport.setCustomerNamePur(exceptionReport.getCustomerName());
exceptionReport.setCustomerOrderNoPur(exceptionReport.getCustomerOrderNo());
return forward("exceptionReportDetail", exceptionReport);
} else if ("supplier".equals(exceptionReport.getBillType())){ } else if ("supplier".equals(exceptionReport.getBillType())){
return forward("exceptionReportDetailSupplier", exceptionReport); return forward("exceptionReportDetailSupplier", exceptionReport);
} else { } else {
......
...@@ -6,6 +6,7 @@ import lombok.Data; ...@@ -6,6 +6,7 @@ import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
...@@ -37,9 +38,15 @@ public class ExceptionReport extends FlowBillAbstractEntity { ...@@ -37,9 +38,15 @@ public class ExceptionReport extends FlowBillAbstractEntity {
@Column(name = "customer_name") @Column(name = "customer_name")
private String customerName; private String customerName;
@Transient
private String customerNamePur;
@Column(name = "customer_no") @Column(name = "customer_no")
private String customerNo; private String customerNo;
@Transient
private String customerNoPur;
@Column(name = "werks") @Column(name = "werks")
private String werks; private String werks;
...@@ -52,6 +59,8 @@ public class ExceptionReport extends FlowBillAbstractEntity { ...@@ -52,6 +59,8 @@ public class ExceptionReport extends FlowBillAbstractEntity {
@Column(name = "customer_order_no") @Column(name = "customer_order_no")
private String customerOrderNo; private String customerOrderNo;
@Transient
private String customerOrderNoPur;
/** /**
* 异常陈诉 * 异常陈诉
*/ */
...@@ -168,7 +177,7 @@ public class ExceptionReport extends FlowBillAbstractEntity { ...@@ -168,7 +177,7 @@ public class ExceptionReport extends FlowBillAbstractEntity {
@Column(name = "appeal_no") @Column(name = "appeal_no")
private String appealNo; private String appealNo;
//紧急程度
@Column(name = "urgency") @Column(name = "urgency")
private String urgency; private String urgency;
...@@ -193,6 +202,9 @@ public class ExceptionReport extends FlowBillAbstractEntity { ...@@ -193,6 +202,9 @@ public class ExceptionReport extends FlowBillAbstractEntity {
@Column(name = "handle_node_id") @Column(name = "handle_node_id")
private String handleNodeId; private String handleNodeId;
@Column(name = "product_type")
private String productType;
@Override @Override
protected String getCodeRuleId() { protected String getCodeRuleId() {
return "exceptionReport"; return "exceptionReport";
......
...@@ -22,4 +22,7 @@ public class ExceptionReportQueryRequest extends QueryAbstractRequest { ...@@ -22,4 +22,7 @@ public class ExceptionReportQueryRequest extends QueryAbstractRequest {
private String checkOperatorName; private String checkOperatorName;
private String dutyDeptName; private String dutyDeptName;
private String billCode; private String billCode;
private String exceptionReasonType;
private String urgency;
} }
...@@ -127,7 +127,8 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -127,7 +127,8 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
} else if (StringUtils.isNotBlank(queryRequest.getKunnr())) { //查询订单号 } else if (StringUtils.isNotBlank(queryRequest.getKunnr())) { //查询订单号
for (Map map : mapList) { for (Map map : mapList) {
Map newMap = new HashMap(); Map newMap = new HashMap();
newMap.put("VBELN", map.get("VBELN")); //newMap.put("VBELN", map.get("VBELN")); BSTNK
newMap.put("VBELN", map.get("BSTNK"));
newMap.put("KUNNR", map.get("KUNNR")); newMap.put("KUNNR", map.get("KUNNR"));
newMap.put("NAME1", map.get("NAME1")); newMap.put("NAME1", map.get("NAME1"));
sapOrderVoList.add(newMap); sapOrderVoList.add(newMap);
......
...@@ -14,6 +14,9 @@ ...@@ -14,6 +14,9 @@
<condition column="duty_dept_name" name="dutyDeptName" type="java.lang.String" symbol="like" alias="t"/> <condition column="duty_dept_name" name="dutyDeptName" type="java.lang.String" symbol="like" alias="t"/>
<condition column="report_date" name="startDate" type="java.util.Date" symbol="&gt;=" alias="t"/> <condition column="report_date" name="startDate" type="java.util.Date" symbol="&gt;=" alias="t"/>
<condition column="report_date" name="endDate" type="java.util.Date" symbol="&lt;=" alias="t"/> <condition column="report_date" name="endDate" type="java.util.Date" symbol="&lt;=" alias="t"/>
<condition column="exception_reason_type" name="exceptionReasonType" type="java.lang.String" symbol="=" alias="t"/>
<condition column="urgency" name="urgency" type="java.lang.String" symbol="=" alias="t"/>
</query> </query>
<query name="exceptionReportItems" label="品质异常报告明细" table="sap_exception_report_item"> <query name="exceptionReportItems" label="品质异常报告明细" table="sap_exception_report_item">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment