Commit e8831ee6 by liuyang

2024-04-02 客户负责人手动录入新的客户后可以加入客户档案

parent e95c9a5e
...@@ -2,6 +2,7 @@ package com.baosight.hpjx.hp.pz.service; ...@@ -2,6 +2,7 @@ package com.baosight.hpjx.hp.pz.service;
import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation; import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation;
import com.baosight.hpjx.common.CompanyTypeEnum; import com.baosight.hpjx.common.CompanyTypeEnum;
import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.InitiateModeEnum; import com.baosight.hpjx.common.InitiateModeEnum;
import com.baosight.hpjx.core.dao.DaoUtils; import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
...@@ -18,6 +19,7 @@ import com.baosight.hpjx.hp.pz.domain.HPPZ003; ...@@ -18,6 +19,7 @@ import com.baosight.hpjx.hp.pz.domain.HPPZ003;
import com.baosight.iplat4j.ed.util.SequenceGenerator; import com.baosight.iplat4j.ed.util.SequenceGenerator;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -187,5 +189,10 @@ public class ServiceHPPZ003 extends ServiceBase { ...@@ -187,5 +189,10 @@ public class ServiceHPPZ003 extends ServiceBase {
} }
return inInfo; return inInfo;
} }
public EiInfo queryCustCode(EiInfo inInfo){
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.CUSTOMER_RECORD_BLOCK_ID), null);
return inInfo;
}
} }
package com.baosight.hpjx.hp.sc.service; package com.baosight.hpjx.hp.sc.service;
import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation; import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation;
import com.baosight.hpjx.common.CompanyTypeEnum;
import com.baosight.hpjx.common.DdynamicEnum; import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.HPConstants; import com.baosight.hpjx.common.HPConstants;
import com.baosight.hpjx.core.constant.CommonConstant; import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils; import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.core.security.UserSessionUtils; import com.baosight.hpjx.core.security.UserSessionUtils;
import com.baosight.hpjx.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.pz.domain.HPPZ003;
import com.baosight.hpjx.hp.sc.domain.HPSC002; import com.baosight.hpjx.hp.sc.domain.HPSC002;
import com.baosight.hpjx.hp.sc.domain.HPSC004; import com.baosight.hpjx.hp.sc.domain.HPSC004;
import com.baosight.hpjx.util.*; import com.baosight.hpjx.util.*;
...@@ -112,6 +114,15 @@ public class ServiceHPSC001 extends ServiceBase { ...@@ -112,6 +114,15 @@ public class ServiceHPSC001 extends ServiceBase {
for (int i = 0; i < resultRows.size(); i++) { for (int i = 0; i < resultRows.size(); i++) {
HPSC001 hpsc001 = new HPSC001(); HPSC001 hpsc001 = new HPSC001();
hpsc001.fromMap(resultRows.get(i)); hpsc001.fromMap(resultRows.get(i));
HPPZ003 fPz003 = new HPPZ003();
if (hpsc001.getPrinc2().trim().isEmpty()) {
fPz003.setCustCode(SequenceGenerator.getNextSequence(HPConstant.SequenceId.HPPZ003_CUST_CODE));
fPz003.setCustType(CompanyTypeEnum.GQ.getCode());
fPz003.setCustName(resultRows.get(i).get("princ2Name").toString());
fPz003.setCompanyName(resultRows.get(i).get("princ2Name").toString());
DaoUtils.insert("HPPZ003.insert", fPz003);
hpsc001.setPrinc2(fPz003.getCustCode());
}
if (hpsc001.getId() == null || hpsc001.getId() == 0) { if (hpsc001.getId() == null || hpsc001.getId() == 0) {
this.add(hpsc001); this.add(hpsc001);
} else { } else {
...@@ -119,6 +130,7 @@ public class ServiceHPSC001 extends ServiceBase { ...@@ -119,6 +130,7 @@ public class ServiceHPSC001 extends ServiceBase {
} }
} }
inInfo = this.query(inInfo); inInfo = this.query(inInfo);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.CUSTOMER_RECORD_BLOCK_ID), null);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
} catch (Exception e) { } catch (Exception e) {
......
var prdtNameGlobalData = []; var prdtNameGlobalData = [];
var resultRows = []; var resultRows = [];
var princ2Data = [];
$(function () { $(function () {
$("#QUERY").on("click", function () { $("#QUERY").on("click", function () {
...@@ -11,7 +12,8 @@ $(function () { ...@@ -11,7 +12,8 @@ $(function () {
return false; return false;
}); });
princ2Data = __eiInfo.getBlock("customer_record_block_id").getMappedRows();
var gridContainer=$("#ef_grid_result").data("kendoGrid");
IPLATUI.EFGrid= { IPLATUI.EFGrid= {
"result": { "result": {
...@@ -37,13 +39,62 @@ $(function () { ...@@ -37,13 +39,62 @@ $(function () {
// } // }
return template; return template;
} }
},
{
field: "princ2Name",
title: "客户负责人",
/*query: function (container, options) {
let eiInfo = new EiInfo();
eiInfo.set("inqu_status-0-inventTypes", [3, 4]);
eiInfo.set("inqu_status-0-inventType", options.model["prdtType"]);
return eiInfo;
}*/
template: function (dataItem) {
for (let i = 0; i < princ2Data.length; i++) {
if (princ2Data[i]['textField'] === dataItem['princ2Name']) {
//resultGrid.setCellValue(0, "princ2", princ2Data[i]['valueField']);
dataItem["princ2"] = princ2Data[i]['valueField'];
return princ2Data[i]['textField'];
}else if (!dataItem['princ2Name'] && princ2Data[i]['valueField'] === dataItem['princ2']){
return princ2Data[i]['textField'];
}
}
return dataItem["princ2Name"];
},
editor: function (container, options) {
var grid = container.closest(".k-grid").data("kendoGrid");
gridContainer = grid;
var cellIndex = grid.cellIndex(container);
var input = $('<input />');
input.attr("name", options.field);
input.attr("id", options.field);
input.appendTo(container);
input.kendoAutoComplete({
valuePrimitive: true,
dataSource: __eiInfo.getBlock("customer_record_block_id").getMappedRows(),
dataTextField: "textField",
dataValueField: "valueField",
required: "true",
optionLabelTemplate: "#:textField#",
valueTemplate: "#:valueField#",
template: "#:textField#",
filter: "contains"
});
},
/*afterEdit: function (e) {
for (let i = 0; i < princ2Data.length; i++) {
if (princ2Data[i]['valueField'] === dataItem['princ2']) {
//resultGrid.setCellValue(0, "princ2", princ2Data[i]['valueField']);
e.model["princ2"]= princ2Data[i]['valueField'];
}
}
}*/
} }
], ],
onSave: function (e) { onSave: function (e) {
// 阻止默认请求,使用自定义保存 // 阻止默认请求,使用自定义保存
e.preventDefault(); e.preventDefault();
saveFunc(); saveFunc();
}, },
onDelete: function (e) { onDelete: function (e) {
// 阻止默认请求,使用自定义删除 // 阻止默认请求,使用自定义删除
...@@ -51,8 +102,7 @@ $(function () { ...@@ -51,8 +102,7 @@ $(function () {
deleteFunc(); deleteFunc();
}, },
onSuccess: function (e) { onSuccess: function (e) {
if (e.eiInfo.extAttr.methodName == 'save' if (e.eiInfo.extAttr.methodName == 'save' || e.eiInfo.extAttr.methodName == 'delete') {
|| e.eiInfo.extAttr.methodName == 'delete') {
query(); query();
} }
}, },
...@@ -79,7 +129,7 @@ $(function () { ...@@ -79,7 +129,7 @@ $(function () {
info.set("inqu_status-0-lv", 2); info.set("inqu_status-0-lv", 2);
queryDetail(info); queryDetail(info);
} }
}, }
}, },
"detail":{ "detail":{
/*toolbarConfig: { /*toolbarConfig: {
...@@ -210,6 +260,14 @@ $(function () { ...@@ -210,6 +260,14 @@ $(function () {
] ]
} }
} }
window.document.addEventListener("keyup",function (event) {
if(event.keyCode === 13){
var grid = $("#ef_grid_result").data("kendoGrid");
// 回填
//grid.addRows(returnRows);
grid.closeCell();
}
})
}); });
function check(id, auditStatus) { function check(id, auditStatus) {
...@@ -246,7 +304,7 @@ function check(id, auditStatus) { ...@@ -246,7 +304,7 @@ function check(id, auditStatus) {
let projType= item.get("projType"); let projType= item.get("projType");
let projName= item.get("projName"); let projName= item.get("projName");
let princ1= item.get("princ1"); let princ1= item.get("princ1");
let princ2= item.get("princ2"); //let princ2= item.get("princ2");
if(isBlank(projType)){ if(isBlank(projType)){
message("选中的第"+(index+1)+"行\"项目类型\",不能为空!"); message("选中的第"+(index+1)+"行\"项目类型\",不能为空!");
flag = false; flag = false;
...@@ -262,16 +320,43 @@ function check(id, auditStatus) { ...@@ -262,16 +320,43 @@ function check(id, auditStatus) {
flag = false; flag = false;
return false; return false;
} }
if(isBlank(princ2)){ /*if(isBlank(princ2)){
message("选中的第"+(index+1)+"行\"客户负责人\",不能为空!"); message("选中的第"+(index+1)+"行\"客户负责人\",不能为空!");
flag = false; flag = false;
return false; return false;
} }*/
}); });
if(flag) { if(flag) {
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"保存\"操作? ", { JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"保存\"操作? ", {
ok: function () { ok: function () {
JSUtils.submitGridsData("result", "HPSC001", "save", true); var info = new EiInfo();
info.addBlock(JSUtils.checkedRows2Block("result"));
EiCommunicator.send("HPSC001", "save", info, {
onSuccess: function (ei) {
if (ei.getStatus() >= 0) {
try {
princ2Data =ei.getBlock("customer_record_block_id").getMappedRows();
//queryCustCode();
resultGrid.setEiInfo(ei);
} catch (e) {
// TODO: handle exception
}
if (ei.getStatus() == 0) {
NotificationUtil(ei, 'warning');
} else {
NotificationUtil(ei);
}
} else {
NotificationUtil(ei, "error");
}
},
onFail: function (ei) {
// 发生异常
NotificationUtil("操作失败,原因[" + ei + "]", "error");
}
});
//JSUtils.submitGridsData("result", "HPSC001", "save", true);
} }
}); });
} }
...@@ -437,4 +522,20 @@ function showUploadFile(id) { ...@@ -437,4 +522,20 @@ function showUploadFile(id) {
width: "80%", width: "80%",
height: "80%", height: "80%",
}); });
}
/**
* 查询客户
*/
function queryCustCode() {
let eiInfo = new EiInfo();
var dataSource;
EiCommunicator.send("HPPZ003", "queryCustCode", eiInfo, {
onSuccess: function (ei) {
dataSource = ei.getBlock("customer_record_block_id").getMappedRows();
princ2Data = dataSource;
},
onFail: function (ei) {
}
}, {async: false});
} }
\ No newline at end of file
...@@ -50,11 +50,13 @@ ...@@ -50,11 +50,13 @@
columnTemplate="#=textField#" itemTemplate="#=textField#" readonly="true" columnTemplate="#=textField#" itemTemplate="#=textField#" readonly="true"
filter="contains"> filter="contains">
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFComboColumn ename="princ2" cname="客户负责人" width="120" align="center" required="true" <EF:EFColumn ename="princ2" cname="客户负责人" width="120" align="center" maxLength="50" hidden="true"/>
<EF:EFColumn ename="princ2Name" cname="客户负责人" width="120" align="center" maxLength="50" required="true"/>
<%--<EF:EFComboColumn ename="princ2" cname="客户负责人" width="120" align="center" required="true"
blockName="customer_record_block_id" textField="textField" valueField="valueField" blockName="customer_record_block_id" textField="textField" valueField="valueField"
columnTemplate="#=textField#" itemTemplate="#=textField#" readonly="true" columnTemplate="#=textField#" itemTemplate="#=textField#" readonly="true"
filter="contains"> filter="contains">
</EF:EFComboColumn> </EF:EFComboColumn>--%>
<EF:EFColumn ename="deliveryDate" cname="交货日期" width="100" align="center" <EF:EFColumn ename="deliveryDate" cname="交货日期" width="100" align="center"
editType="date" dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/> editType="date" dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
<EF:EFComboColumn ename="status" cname="状态" enable="false" width="100" align="center"> <EF:EFComboColumn ename="status" cname="状态" enable="false" width="100" align="center">
......
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