diff --git a/erm/component.xml b/erm/component.xml new file mode 100644 index 0000000..e7b647f --- /dev/null +++ b/erm/component.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/erm/src/client/nccloud/web/erm/action/billmanage/BillQueryAction.java b/erm/src/client/nccloud/web/erm/action/billmanage/BillQueryAction.java new file mode 100644 index 0000000..d9dba5a --- /dev/null +++ b/erm/src/client/nccloud/web/erm/action/billmanage/BillQueryAction.java @@ -0,0 +1,140 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nccloud.web.erm.action.billmanage; + +import com.alibaba.fastjson.JSONObject; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import nc.bs.logging.Log; +import nc.nccloud.util.erm.expenseaccount.Func; +import nc.vo.ep.bx.JKBXHeaderVO; +import nc.vo.ml.NCLangRes4VoTransl; +import nccloud.dto.baseapp.querytree.dataformat.Condition; +import nccloud.dto.baseapp.querytree.dataformat.PageInfo; +import nccloud.dto.baseapp.querytree.dataformat.QueryCondition; +import nccloud.dto.baseapp.querytree.dataformat.QueryTreeFormatVO; +import nccloud.dto.baseapp.querytree.dataformat.Value; +import nccloud.framework.core.exception.ExceptionUtils; +import nccloud.framework.core.json.IJson; +import nccloud.framework.service.ServiceLocator; +import nccloud.framework.web.container.IRequest; +import nccloud.framework.web.json.JsonFactory; +import nccloud.framework.web.ui.model.row.Row; +import nccloud.framework.web.ui.pattern.grid.Grid; +import nccloud.framework.web.ui.pattern.grid.GridOperator; +import nccloud.pubitf.erm.billmanage.IBillManageService; +import nccloud.web.erm.action.lic.AbstractLicAction; +import nccloud.web.erm.util.expenseaccount.initbills.InitBillsUtil; +import org.apache.commons.lang3.StringUtils; + +public class BillQueryAction extends AbstractLicAction { + private Log log = Log.getInstance(this.getClass()); + + public BillQueryAction() { + } + + public Object doRealAction(IRequest request) { + JKBXHeaderVO[] jkbxvos = new JKBXHeaderVO[0]; + Grid grid = new Grid(); + PageInfo pageInfo = null; + + try { + if (request == null) { + ExceptionUtils.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("20110011makebill", "020110011makebill-0000")); + } + + IJson json = JsonFactory.create(); + String read = request.read(); + if (StringUtils.isEmpty(read)) { + ExceptionUtils.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("20110011makebill", "020110011makebill-0000")); + } + + QueryTreeFormatVO info = (QueryTreeFormatVO)json.fromJson(read, QueryTreeFormatVO.class); + if (null == info) { + ExceptionUtils.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("20110011makebill", "020110011makebill-0000")); + } + + if (info.getUserdefObj() != null) { + QueryCondition queryCon = new QueryCondition(); + List conditions = new ArrayList(); + + for(Map.Entry entry : info.getUserdefObj().entrySet()) { + Condition con = new Condition(); + con.setField((String)entry.getKey()); + Value value = new Value(); + value.setFirstvalue((String)entry.getValue()); + con.setValue(value); + conditions.add(con); + } + + queryCon.setConditions(conditions); + info.setQuerycondition(queryCon); + } + + IBillManageService billManageService = (IBillManageService)ServiceLocator.find(IBillManageService.class); + String[] pks = null; + if (info.getQuerycondition() != null) { + jkbxvos = (JKBXHeaderVO[])billManageService.queryBillInfoByPage(info).toArray(jkbxvos); + } else { + ExceptionUtils.wrapBusinessException("请传入查询条件"); + } + + if (jkbxvos == null || jkbxvos.length == 0) { + return null; + } + + pks = new String[jkbxvos.length]; + + for(int i = 0; i < jkbxvos.length; ++i) { + if (jkbxvos[i] != null) { + pks[i] = jkbxvos[i].getPk_jkbx(); + } + } + + GridOperator go = new GridOperator("201104DJCX_LIST"); + grid = go.toGrid(jkbxvos); + InitBillsUtil.proGridDigit(grid); + this.proGridDjztAndSpr(grid, pks); + pageInfo = info.getPageInfo(); + } catch (Exception e) { + this.log.error(e); + ExceptionUtils.wrapException(e); + } + + JSONObject jsonObj = new JSONObject(); + jsonObj.put("pageInfo", pageInfo); + jsonObj.put("data", grid); + return jsonObj; + } + + private void proGridDjztAndSpr(Grid grid, String[] pks) throws Exception { + IBillManageService service = (IBillManageService)ServiceLocator.find(IBillManageService.class); + Map busiid_username = service.qryCurApproveman(Arrays.asList(pks)); + Row[] rows = grid.getModel().getRows(); + + for(int i = 0; i < rows.length; ++i) { + String pk_billtype = Func.toString(rows[i].getCell("pk_billtype").getValue()); + String djlxbm = Func.toString(rows[i].getCell("djlxbm").getValue()); + if (!"264a".equalsIgnoreCase(djlxbm) && !"261X".equalsIgnoreCase(pk_billtype) && !"262X".equalsIgnoreCase(pk_billtype)) { + if ("3".equals(Func.toString(rows[i].getCell("djzt").getValue()))) { + rows[i].getCell("djzt").setDisplay(NCLangRes4VoTransl.getNCLangRes().getStrByID("20110012billmanage", "020110012billmanage-0002")); + } + } else if ("3".equals(Func.toString(rows[i].getCell("djzt").getValue()))) { + rows[i].getCell("djzt").setDisplay(NCLangRes4VoTransl.getNCLangRes().getStrByID("20110012billmanage", "020110012billmanage-0000")); + } + + if (busiid_username != null && busiid_username.size() > 0) { + String pk_jkbx = Func.toString(rows[i].getCell("pk_jkbx").getValue()); + if (!StringUtils.isEmpty((CharSequence)busiid_username.get(pk_jkbx))) { + rows[i].getCell("approver").setDisplay((String)busiid_username.get(pk_jkbx)); + } + } + } + + } +}