瀏覽代碼

解决从表字段缺失的情况

guq 7 年之前
父節點
當前提交
f0c351b8d7
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      eis-wms/src/main/java/com/uas/eiswms/service/impl/ProdIOServiceImpl.java

+ 4 - 3
eis-wms/src/main/java/com/uas/eiswms/service/impl/ProdIOServiceImpl.java

@@ -57,9 +57,10 @@ public class ProdIOServiceImpl implements ProdIOService{
         logger.info("获取单据字段...");
         List<Object> mainFields = baseDao.getFieldDatasByCondition("form left join formdetail on fo_id=fd_foid", "fd_field",
                 "fo_caller='" + caller + "' and (upper(fd_field) like upper('pi_%') or upper(fd_field) like upper('prodinout%pi_%') ) order by fd_detno");
-        List<Object> detailFileds = baseDao.getFieldDatasByCondition("detailgrid", "dg_field", "dg_caller='"+ caller +"' and " +
-                "(upper(dg_field) like upper('pd_%') or upper(dg_field) like upper('prodiodetail.%pd_%')) and UPPER(dg_field) not in (select COLUMN_NAME from USER_TAB_COLS where table_name='PURCHASEDETAIL') order by DG_SEQUENCE");
-        if (mainFields != null && detailFileds != null) {
+        List<Object> detailFileds = baseDao.getFieldDatasByCondition("detailgrid", "dg_field", "dg_caller='"+ caller +"' and (upper(dg_field) like upper('pd_%') or upper(dg_field) like upper('prodiodetail.%pd_%'))  and " +
+                "(UPPER(dg_field) not in (select COLUMN_NAME from USER_TAB_COLS where table_name='PURCHASEDETAIL') or UPPER(dg_field) in " +
+                "(select COLUMN_NAME from USER_TAB_COLS where table_name='PRODIODETAIL' and COLUMN_NAME in( select COLUMN_NAME from USER_TAB_COLS where table_name='PURCHASEDETAIL')) ) order by DG_SEQUENCE");
+         if (mainFields != null && detailFileds != null) {
             String mainStr = List2Str(mainFields);
             String gridStr = List2Str(detailFileds);
             List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();