Commit 5841f10a authored by wanghang's avatar wanghang

bean注入问题

parent 0ba4686a
...@@ -48,8 +48,8 @@ ...@@ -48,8 +48,8 @@
<option name="tableUIInfoList"> <option name="tableUIInfoList">
<list> <list>
<TableUIInfo> <TableUIInfo>
<option name="className" value="NonProdApplyBaseInfo" /> <option name="className" value="SapNonProdApplyDept" />
<option name="tableName" value="non_prod_apply_base_info" /> <option name="tableName" value="sap_non_prod_apply_dept" />
</TableUIInfo> </TableUIInfo>
</list> </list>
</option> </option>
......
...@@ -92,6 +92,15 @@ $.extend(ExcelImpManager.prototype,{ ...@@ -92,6 +92,15 @@ $.extend(ExcelImpManager.prototype,{
let code = prompt("请输入编码"); let code = prompt("请输入编码");
Public.syncAjax(web_app.name + '/globalCode/revampGlobalCode.ajax',{dictionaryCode:code}) Public.syncAjax(web_app.name + '/globalCode/revampGlobalCode.ajax',{dictionaryCode:code})
// UICtrl.showDialog({
// title: $.i18nProp('编码详情'),
// width: 600,
// url: web_app.name + '/globalCode/forwardGlobalCode.load',
// ok: function (){
// let code =$("#dictionaryCode").val();
// Public.syncAjax(web_app.name + '/globalCode/revampGlobalCode.ajax',{dictionaryCode:code})
// }
// });
if(_self.getTemplateId()==''){ if(_self.getTemplateId()==''){
Public.errorTip('请选择模板。'); Public.errorTip('请选择模板。');
return false; return false;
......
$(document).ready(function () { $(document).ready(function () {
$('#productCode').searchbox({ $('#dictionaryCode').searchbox({
type: "product", type: "system",
name: "productCode", name: "dictionaryCodes",
onChange: function (value, data) { onChange: function (value, data) {
$('#dictionaryCode').val(data.code) $('#dictionaryCode').val(data.code)
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<html> <html>
<head> <head>
<x:base include="layout,dialog,grid,tree,combox,commonTree,date"/> <x:base include="layout,dialog,grid,tree,combox,commonTree,date"/>
<x:script src='/biz/topsun/sap/statsIndicators/statsIndicators.js'/> <script src='<c:url value="/system/excelimport/inputDictionariesCode.js"/>' type="text/javascript"></script>
</head> </head>
<body> <body>
<x:billTitle title="导入字典对应编码" needStatus="false" needPerson="true"/> <x:billTitle title="导入字典对应编码" needStatus="false" needPerson="true"/>
......
...@@ -9,7 +9,7 @@ function initialize(){ ...@@ -9,7 +9,7 @@ function initialize(){
$("#proofingApplyNgReReason").prop("placeholder","录入此列本单作废"); $("#proofingApplyNgReReason").prop("placeholder","录入此列本单作废");
//若是作为流程页或详情页,则初始化bom //若是作为流程页或详情页,则初始化bom
if($("#productId").val()!=null&&$("#productId").val()!=""){ if($("#productId").val()!=null&&$("#productId").val()!=""){
showTable({proofingApplyId:$("#proofingApplyId").val()}); showTechnologyTable({proofingApplyId:$("#proofingApplyId").val()},"proofingApplyTechnologyId",null);
} }
let isDetailPage = ($("#isDetailPage").val() === "true"); let isDetailPage = ($("#isDetailPage").val() === "true");
if (isDetailPage) { if (isDetailPage) {
...@@ -24,11 +24,14 @@ function bindQueryEvent() { ...@@ -24,11 +24,14 @@ function bindQueryEvent() {
onChange: function (value, data) { onChange: function (value, data) {
ajaxRenderDataGoForm({productId:data.productId}); ajaxRenderDataGoForm({productId:data.productId});
$('#productCategoryName').val(data.productCategoryName) $('#productCategoryName').val(data.productCategoryName)
showTechnologyTable(data.productId); showTechnologyTable({productId:data.productId},"technologyId",null);
} }
}); });
} }
/** /**
* 流程引擎回调设置打样的id * 流程引擎回调设置打样的id
* @param value 打样申请的id * @param value 打样申请的id
...@@ -72,5 +75,4 @@ function getExtendedData(processAction) { ...@@ -72,5 +75,4 @@ function getExtendedData(processAction) {
return extendedData; return extendedData;
} }
return getTableResult(); return getTableResult();
} }
\ No newline at end of file
...@@ -13,7 +13,7 @@ function initialize() { ...@@ -13,7 +13,7 @@ function initialize() {
*/ */
let isDetailPage = ($("#isDetailPage").val() === "true"); let isDetailPage = ($("#isDetailPage").val() === "true");
if (isDetailPage) { if (isDetailPage) {
showTable({proofingMakeId:$("#proofingMakeId").val()}); showTechnologyTable({proofingMakeId:$("#proofingMakeId").val()},"proofingMakeTechnologyId",null);
$("#jobPageTop").hide(); $("#jobPageTop").hide();
if($("#jobPageTop").length>0){ if($("#jobPageTop").length>0){
$("#formButton").hide(); $("#formButton").hide();
...@@ -28,7 +28,7 @@ function bindQueryEvent() { ...@@ -28,7 +28,7 @@ function bindQueryEvent() {
onChange: function (value, data) { onChange: function (value, data) {
$('#productCode').val(data.productCode); $('#productCode').val(data.productCode);
ajaxRenderDataGoForm(data.proofingApplyNo); ajaxRenderDataGoForm(data.proofingApplyNo);
showTable({proofingApplyId:data.proofingApplyId}); showTechnologyTable({proofingApplyId:data.proofingApplyId},"proofingApplyTechnologyId",null);
} }
}); });
} }
......
//是否开启联动事件 //是否开启联动事件
var isDetail=false,isComplete=null; // var isDetail=false;
//定义生成表格的参数对象 //定义生成表格的参数对象
var bomObj={ var bomObj={
...@@ -17,6 +17,7 @@ var technologyObj={ ...@@ -17,6 +17,7 @@ var technologyObj={
node:"technologyGrid", node:"technologyGrid",
url:"slicedTechnologyList", url:"slicedTechnologyList",
gridManager:null, gridManager:null,
primaryKey:null,
columns:[ columns:[
{display: "工艺路线名称", name: "technologyName", width: 140, minWidth: 60, type: "string", align: "left", {display: "工艺路线名称", name: "technologyName", width: 140, minWidth: 60, type: "string", align: "left",
editor: { editor: {
...@@ -26,13 +27,13 @@ var technologyObj={ ...@@ -26,13 +27,13 @@ var technologyObj={
} }
], ],
linkage:function (data){ linkage:function (data){
debugger let key = this.primaryKey;
let result = data.Rows.length>0?data.Rows[0].technologyId:-1; // 获取选中行 let val = data.Rows.length>0?data.Rows[0][key]:-1; // 获取选中行
processObj.parms = { technologyId: result }; processObj.parms = { [key]: val };
processBomObj.parms = { technologyId: result }; processBomObj.parms = { [key]: val };
if(processObj.gridManager==null){ if(processObj.gridManager==null){
loadProofingApplyGrid(processObj); loadGrid(processObj);
loadProofingApplyGrid(processBomObj); loadGrid(processBomObj);
}else { }else {
reloadGrid(processObj); reloadGrid(processObj);
reloadGrid(processBomObj); reloadGrid(processBomObj);
...@@ -108,6 +109,7 @@ var processBomObj={ ...@@ -108,6 +109,7 @@ var processBomObj={
parms:{}, parms:{},
node:"processBomGrid", node:"processBomGrid",
url:"slicedProcessMaterialList", url:"slicedProcessMaterialList",
primaryKey:null,
columns:[ columns:[
{ display: "物料", name: "materialName", width: 140, minWidth: 60, type: "string", align: "left", { display: "物料", name: "materialName", width: 140, minWidth: 60, type: "string", align: "left",
editor: { editor: {
...@@ -137,8 +139,7 @@ var processBomObj={ ...@@ -137,8 +139,7 @@ var processBomObj={
} }
//创建表格(参数、列、插入的节点、请求地址) //创建表格(参数、列、插入的节点、请求地址)
function loadProofingApplyGrid(obj) { function loadGrid(obj) {
isComplete=false;
var toolbarOptions = UICtrl.getDefaultToolbarOptions({ var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () { addHandler: function () {
UICtrl.addGridRow(obj.gridManager); UICtrl.addGridRow(obj.gridManager);
...@@ -174,60 +175,14 @@ function loadProofingApplyGrid(obj) { ...@@ -174,60 +175,14 @@ function loadProofingApplyGrid(obj) {
} }
/**
* 详情页初始化调用
* 获取申请或制造单的工艺工序等数据生成表格
* @param proofingApplyId
*/
function showTable(params) {
isDetail=true;
// 根据传入的参数确定使用哪个ID
let key = Object.keys(params)[0];
let value = params[key];
// 根据key来确定是"apply"还是"make"
let a=key.includes("Apply")?"proofingApply":"proofingMake";
technologyObj.parms = { [a+"Id"]: value };
let promise = new Promise(function(resolve, reject) {
if (technologyObj.gridManager != null) {
reloadGrid(technologyObj);
} else {
technologyObj=loadProofingApplyGrid(technologyObj);
}
setTimeout(function() {
resolve();
}, 1200);
});
promise.then(function() {
let technologyResult = DataUtil.getGridData({
gridManager: technologyObj.gridManager,
isAllData: true
});
let technologyId = technologyResult.length > 0 ? technologyResult[0][a+"TechnologyId"] : -1;
processObj.parms = {[a+"TechnologyId"]: technologyId}
processBomObj.parms = {[a+"TechnologyId"]: technologyId}
if (processObj.gridManager != null) {
reloadGrid(processObj);
reloadGrid(processBomObj);
} else {
processObj=loadProofingApplyGrid(processObj);
processBomObj=loadProofingApplyGrid(processBomObj);
}
});
}
//根据产品编号展示产品的艺表格 //根据产品编号展示产品的艺表格
function showTechnologyTable(productId){ function showTechnologyTable(parms,technologyKey,processKey){
isDetail=false; // isDetail=false;
technologyObj.parms = {productId: productId}; technologyObj.primaryKey=technologyKey
processObj.primaryKey=processKey
technologyObj.parms = parms;
if(technologyObj.gridManager==null) { if(technologyObj.gridManager==null) {
loadProofingApplyGrid(technologyObj); loadGrid(technologyObj);
}{ }{
reloadGrid(technologyObj); reloadGrid(technologyObj);
} }
...@@ -235,7 +190,6 @@ function showTechnologyTable(productId){ ...@@ -235,7 +190,6 @@ function showTechnologyTable(productId){
$(document).ready(function() { $(document).ready(function() {
// switchGridManager();
// technologyClickRequestProcess(); // technologyClickRequestProcess();
UICtrl.layout("#layout",{ UICtrl.layout("#layout",{
leftWidth:2, leftWidth:2,
...@@ -258,36 +212,35 @@ function reloadGrid(obj) { ...@@ -258,36 +212,35 @@ function reloadGrid(obj) {
/** // /**
* 根据选定的technology列获取对应的process // * 根据选定的technology列获取对应的process
* 冒泡机制永远都会先执行此点击事件,需要让平台内置事件先执行来获取行id // * 冒泡机制永远都会先执行此点击事件,需要让平台内置事件先执行来获取行id
*/ // */
function technologyClickRequestProcess(){ // function technologyClickRequestProcess(){
$(document).on('click', '#technology .l-grid-row', function(event) { // $(document).on('click', '#technology .l-grid-row', function(event) {
setTimeout(function() { // setTimeout(function() {
if(isDetail)return; // if(isDetail)return;
debugger // debugger
let result = DataUtil.getUpdateRow(technologyObj.gridManager); // 获取选中行 // let result = DataUtil.getUpdateRow(technologyObj.gridManager); // 获取选中行
processObj.parms = { technologyId: result.technologyId }; // processObj.parms = { technologyId: result.technologyId };
processBomObj.parms = { technologyId: result.technologyId }; // processBomObj.parms = { technologyId: result.technologyId };
if (processObj.gridManager != null) { // if (processObj.gridManager != null) {
reloadGrid(processObj); // reloadGrid(processObj);
reloadGrid(processBomObj); // reloadGrid(processBomObj);
} else { // } else {
loadProofingApplyGrid(processObj); // loadProofingApplyGrid(processObj);
loadProofingApplyGrid(processBomObj); // loadProofingApplyGrid(processBomObj);
} // }
}, 0); // }, 0);
}); // });
//
} // }
/** /**
* 获取编辑表格中的数据 * 获取编辑表格中的数据
* @returns {{}|boolean} * @returns {{}|boolean}
*/ */
function getTableResult(){ function getTableResult(){
debugger
let technologyResult = DataUtil.getUpdateRow(technologyObj.gridManager); // 获取选中行 let technologyResult = DataUtil.getUpdateRow(technologyObj.gridManager); // 获取选中行
let processResult =processObj.gridManager.getSelectedRows(); let processResult =processObj.gridManager.getSelectedRows();
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<div class="hg-form-row"> <div class="hg-form-row">
<x:radioC name="maintenanceType" label="维护类型" labelCol="1" fieldCol="2" dictionary="maintainType"/> <x:radioC name="maintenanceType" label="维护类型" labelCol="1" fieldCol="2" dictionary="maintainType"/>
<x:inputC name="approvalStatus" label="批准状态" readonly="true" labelCol="1" fieldCol="2"/> <x:selectC name="statusId" label="批准状态" dictionary="bizBillStatus" disabled="true" labelCol="1" fieldCol="2"/>
<x:inputC name="approver" label="批准人" labelCol="1" fieldCol="2"/> <x:inputC name="approver" label="批准人" labelCol="1" fieldCol="2"/>
<x:inputC name="approvalDate" label="批准日期" wrapper="date" labelCol="1" fieldCol="2"/> <x:inputC name="approvalDate" label="批准日期" wrapper="date" labelCol="1" fieldCol="2"/>
</div> </div>
......
...@@ -2,8 +2,7 @@ var gridManager = null; ...@@ -2,8 +2,7 @@ var gridManager = null;
$(document).ready(function () { $(document).ready(function () {
initializateUI() initializateUI()
// loadNonProdApplyListGrid(); loadNonProdApplyListGrid();
// console.log(gridManager)
}) })
function initializateUI() { function initializateUI() {
UICtrl.layout("#layout", {leftWidth: 3}); UICtrl.layout("#layout", {leftWidth: 3});
...@@ -61,11 +60,6 @@ function loadNonProdApplyListGrid() { ...@@ -61,11 +60,6 @@ function loadNonProdApplyListGrid() {
UICtrl.setSearchAreaToggle(gridManager); UICtrl.setSearchAreaToggle(gridManager);
} }
function a() {
debugger
loadNonProdApplyListGrid();
console.log(gridManager)
}
function query(obj) { function query(obj) {
var param = $(obj).formToJSON(); var param = $(obj).formToJSON();
...@@ -103,7 +97,7 @@ function deleteHandler() { ...@@ -103,7 +97,7 @@ function deleteHandler() {
function addHandler() { function addHandler() {
UICtrl.addTabItem({ UICtrl.addTabItem({
tabid: 'nonProdApply', tabid: 'nonProdApply',
text: "统计指标数据", text: "非产品/非本成品类物料主数据维护申请",
url: web_app.name + '/sapNonProdApply/forwardNonProdApplyDetail.job' url: web_app.name + '/sapNonProdApply/forwardNonProdApplyDetail.job'
}); });
} }
...@@ -111,7 +105,15 @@ function addHandler() { ...@@ -111,7 +105,15 @@ function addHandler() {
function doView(id) { function doView(id) {
UICtrl.addTabItem({ UICtrl.addTabItem({
tabid: 'showNonProdApply'+id, tabid: 'showNonProdApply'+id,
text: "统计指标详情", text: "非产品/非本成品类物料主数据维护申请详情",
url: web_app.name + '/sapNonProdApply/showNonProdApply.job?bizId='+id+"&isDetailPage=true" url: web_app.name + '/sapNonProdApply/showNonProdApply.job?bizId='+id+"&isDetailPage=true"
}); });
}
function next(){
UICtrl.addTabItem({
tabid: 'showNonProdApplyNext',
text: "非产品/非本成品类物料主数据维护申请详情",
url: web_app.name + '/sapNonProdApply/forwardNonProdApplyNext.do?isDetailPage=true'
});
} }
\ No newline at end of file
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</head> </head>
<body> <body>
<div class="container-fluid"> <div class="container-fluid">
<div onclick="a()">a</div> <x:button value="next" onclick="next()" icon="fa-save"/>
<div class="ui-hide"> <div class="ui-hide">
<x:select name="processType" dictionary="processType"/> <x:select name="processType" dictionary="processType"/>
<x:select name="yesorno" dictionary="yesorno"/> <x:select name="yesorno" dictionary="yesorno"/>
......
$(document).ready(function () {
initializate()
})
function initializate() {
console.log("aa")
$("#a").show();
}
\ No newline at end of file
package com.huigou.topsun.base.dictionary; package com.huigou.topsun.base.dictionary;
import java.util.concurrent.atomic.AtomicInteger; import com.huigou.util.StringUtil;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
public class GlobalCode { public class GlobalCode {
...@@ -12,6 +13,9 @@ public class GlobalCode { ...@@ -12,6 +13,9 @@ public class GlobalCode {
} }
public static String get() { public static String get() {
if(StringUtil.isBlank( str.get())){
throw new RuntimeException("未选择编码");
}
return str.get(); return str.get();
} }
} }
package com.huigou.topsun.base.dictionary.application; package com.huigou.topsun.base.dictionary.application;
import java.util.Map;
/** /**
* @Auther: xin.lu * @Auther: xin.lu
* @Date: 2023/12/20/10:30 * @Date: 2023/12/20/10:30
* @Description: * @Description:
*/ */
public interface DictionaryImportApplication { public interface DictionaryImportApplication {
static String QUERY_XML_FILE_PATH = "config/topsun/base/dictionaryImport.xml"; static String QUERY_XML_FILE_PATH = "config/topsun/base/dictionaryImport.xml";
Map<String,Object> querySaDictionary(String code);
} }
...@@ -66,4 +66,11 @@ public class DictionaryImportApplicationImpl extends BaseApplication implements ...@@ -66,4 +66,11 @@ public class DictionaryImportApplicationImpl extends BaseApplication implements
return BatchSqlUpdateDetail.newInstance(this.sqlExecutorDao.getDataSource(), return BatchSqlUpdateDetail.newInstance(this.sqlExecutorDao.getDataSource(),
queryDescriptor.getSqlByName("insertRecord"), paramType); queryDescriptor.getSqlByName("insertRecord"), paramType);
} }
@Override
public Map<String, Object> querySaDictionary(String code) {
QueryDescriptor query = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "querySaDictionary");
return this.sqlExecutorDao.queryOneToMap(code,query);
}
} }
package com.huigou.topsun.base.dictionary.controller; package com.huigou.topsun.base.dictionary.controller;
import com.huigou.topsun.base.dictionary.GlobalCode; import com.huigou.topsun.base.dictionary.GlobalCode;
import com.huigou.topsun.base.dictionary.application.DictionaryImportApplication;
import com.huigou.topsun.technology.domain.query.ProcessQueryRequest;
import com.huigou.uasp.annotation.ControllerMapping; import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.easysearch.EasySearch;
import com.huigou.uasp.bmp.common.easysearch.domain.model.EasySearchParse;
import com.huigou.uasp.bmp.common.easysearch.domain.model.QuerySchemeField;
import com.huigou.uasp.bmp.opm.application.MemEasySearcher;
import com.huigou.uasp.bmp.opm.application.impl.MemEasySearcherImpl;
import com.huigou.uasp.client.CommonController; import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO; import com.huigou.util.SDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@Controller @Controller
@ControllerMapping("/globalCode") @ControllerMapping("/globalCode")
public class GlobalCodeController extends CommonController { public class GlobalCodeController extends CommonController {
protected String getPagePath() {
return "/excelImport/";
}
@Autowired
DictionaryImportApplication dictionaryImportApplication;
public String revampGlobalCode(){ public String revampGlobalCode(){
SDO sdo = this.getSDO(); SDO sdo = this.getSDO();
String code = sdo.getString("dictionaryCode"); String code = sdo.getString("dictionaryCode");
GlobalCode.set(code); GlobalCode.set(code);
return success(); return success();
} }
public String forwardGlobalCode(){
return forward("inputDictionariesCode");
}
@EasySearch(queryName = "dictionaryCodes")
public Map<String, Object> queryDictionaryCodes(SDO sdo){
Integer intPage = sdo.getInteger("intPage", 1);
Integer pageSize = sdo.getInteger("pageSize",10);
PageRequest pageRequest = new PageRequest(intPage - 1, pageSize);
List<QuerySchemeField> fields =
Arrays.asList(new QuerySchemeField("id", "id", "string", 200L),
new QuerySchemeField("工序名称", "processName", "string", 200L),
new QuerySchemeField("工序类型", "processType", "hidden", 100L),
new QuerySchemeField("工序类型", "processTypeTextView", "string", 100L),
new QuerySchemeField("工时", "workHours", "string", 100L),
new QuerySchemeField("工序内容", "processContent", "hidden", 100L),
new QuerySchemeField("工序说明", "processRemark", "hidden", 100L)
);
EasySearchParse easySearchParse = new EasySearchParse();
easySearchParse.setFields(fields);
easySearchParse.setWidth(450L);
// String processName = sdo.getString("paramValue");
// ProcessQueryRequest queryRequest = sdo.toQueryRequest(ProcessQueryRequest.class);
// queryRequest.setProcessName(processName);
// Map<String, Object> map = processApplication.slicedProcessList(queryRequest);
String code = sdo.getString("code");
Map<String, Object> map = dictionaryImportApplication.querySaDictionary(code);
List<Map<String, Object>> mapList = (List<Map<String, Object>>)map.get("Rows");
MemEasySearcher<Map<String, Object>> memEasySearcher = new MemEasySearcherImpl<>();
Map<String, Object> model = memEasySearcher.search(mapList, easySearchParse, pageRequest, null);
return model;
}
} }
...@@ -71,6 +71,9 @@ public class NonProdApplyController extends CommonController { ...@@ -71,6 +71,9 @@ public class NonProdApplyController extends CommonController {
return success(); return success();
} }
public String forwardNonProdApplyNext(){
return forward("nonProdApplyNext");
}
} }
......
...@@ -31,4 +31,10 @@ ...@@ -31,4 +31,10 @@
</sql> </sql>
</query> </query>
<query name="querySaDictionary" label="" table="sa_dictionary">
<sql-query>
select t.id from sa_dictionary t where 1=1 and t.code like ?
</sql-query>
</query>
</query-mappings> </query-mappings>
\ No newline at end of file
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