diff --git a/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionConclusionMapper.xml b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionConclusionMapper.xml
new file mode 100644
index 00000000..c58af984
--- /dev/null
+++ b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionConclusionMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionMapper.xml b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionMapper.xml
new file mode 100644
index 00000000..2285c330
--- /dev/null
+++ b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionProductMapper.xml b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionProductMapper.xml
new file mode 100644
index 00000000..25dbc933
--- /dev/null
+++ b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionProductMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionVoucherMapper.xml b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionVoucherMapper.xml
new file mode 100644
index 00000000..a8826d5d
--- /dev/null
+++ b/jnpf-java-boot/jnpf-admin/src/main/resources/mapper/scm/WarehousingInspectionVoucherMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionConclusionMapper.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionConclusionMapper.java
new file mode 100644
index 00000000..6f95837b
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionConclusionMapper.java
@@ -0,0 +1,16 @@
+package jnpf.mapper;
+
+
+import jnpf.entity.WarehousingInspectionConclusionEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+public interface WarehousingInspectionConclusionMapper extends BaseMapper {
+
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionMapper.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionMapper.java
new file mode 100644
index 00000000..3379f617
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionMapper.java
@@ -0,0 +1,16 @@
+package jnpf.mapper;
+
+
+import jnpf.entity.WarehousingInspectionEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+public interface WarehousingInspectionMapper extends BaseMapper {
+
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionProductMapper.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionProductMapper.java
new file mode 100644
index 00000000..59886752
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionProductMapper.java
@@ -0,0 +1,16 @@
+package jnpf.mapper;
+
+
+import jnpf.entity.WarehousingInspectionProductEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+public interface WarehousingInspectionProductMapper extends BaseMapper {
+
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionVoucherMapper.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionVoucherMapper.java
new file mode 100644
index 00000000..c48001d5
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/mapper/WarehousingInspectionVoucherMapper.java
@@ -0,0 +1,16 @@
+package jnpf.mapper;
+
+
+import jnpf.entity.WarehousingInspectionVoucherEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+public interface WarehousingInspectionVoucherMapper extends BaseMapper {
+
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionConclusionService.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionConclusionService.java
new file mode 100644
index 00000000..d5012856
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionConclusionService.java
@@ -0,0 +1,18 @@
+package jnpf.service;
+
+import jnpf.model.warehousinginspection.*;
+import jnpf.entity.*;
+import java.util.*;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+/**
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+public interface WarehousingInspectionConclusionService extends IService {
+ QueryWrapper getChild(WarehousingInspectionPagination pagination,QueryWrapper warehousingInspectionConclusionQueryWrapper);
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionProductService.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionProductService.java
new file mode 100644
index 00000000..4a3888ce
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionProductService.java
@@ -0,0 +1,18 @@
+package jnpf.service;
+
+import jnpf.model.warehousinginspection.*;
+import jnpf.entity.*;
+import java.util.*;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+/**
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+public interface WarehousingInspectionProductService extends IService {
+ QueryWrapper getChild(WarehousingInspectionPagination pagination,QueryWrapper warehousingInspectionProductQueryWrapper);
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionService.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionService.java
new file mode 100644
index 00000000..9bff315e
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionService.java
@@ -0,0 +1,47 @@
+package jnpf.service;
+
+import jnpf.model.warehousinginspection.*;
+import jnpf.entity.*;
+import java.util.*;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+/**
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+public interface WarehousingInspectionService extends IService {
+ List getList(WarehousingInspectionPagination warehousingInspectionPagination);
+
+ List getTypeList(WarehousingInspectionPagination warehousingInspectionPagination,String dataType);
+
+ WarehousingInspectionEntity getInfo(String id);
+
+ void delete(WarehousingInspectionEntity entity);
+
+ void create(WarehousingInspectionEntity entity);
+
+ boolean update(String id, WarehousingInspectionEntity entity);
+
+ //子表方法
+ List getWarehousingInspectionVoucherList(String id,WarehousingInspectionPagination warehousingInspectionPagination);
+
+ List getWarehousingInspectionVoucherList(String id);
+
+ List getWarehousingInspectionProductList(String id,WarehousingInspectionPagination warehousingInspectionPagination);
+
+ List getWarehousingInspectionProductList(String id);
+
+ List getWarehousingInspectionConclusionList(String id,WarehousingInspectionPagination warehousingInspectionPagination);
+
+ List getWarehousingInspectionConclusionList(String id);
+
+ //副表数据方法
+ String checkForm(WarehousingInspectionForm form,int i);
+
+ void saveOrUpdate(WarehousingInspectionForm warehousingInspectionForm,String id, boolean isSave) throws Exception;
+
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionVoucherService.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionVoucherService.java
new file mode 100644
index 00000000..3df8c9b6
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/WarehousingInspectionVoucherService.java
@@ -0,0 +1,18 @@
+package jnpf.service;
+
+import jnpf.model.warehousinginspection.*;
+import jnpf.entity.*;
+import java.util.*;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+/**
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+public interface WarehousingInspectionVoucherService extends IService {
+ QueryWrapper getChild(WarehousingInspectionPagination pagination,QueryWrapper warehousingInspectionVoucherQueryWrapper);
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionConclusionServiceImpl.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionConclusionServiceImpl.java
new file mode 100644
index 00000000..8c336ad5
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionConclusionServiceImpl.java
@@ -0,0 +1,59 @@
+package jnpf.service.impl;
+
+import jnpf.entity.*;
+import jnpf.mapper.WarehousingInspectionConclusionMapper;
+import jnpf.service.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jnpf.model.warehousinginspection.*;
+import java.math.BigDecimal;
+import cn.hutool.core.util.ObjectUtil;
+import jnpf.permission.model.authorize.AuthorizeConditionModel;
+import jnpf.util.GeneraterSwapUtil;
+import jnpf.database.model.superQuery.SuperQueryJsonModel;
+import jnpf.database.model.superQuery.ConditionJsonModel;
+import jnpf.database.model.superQuery.SuperQueryConditionModel;
+import jnpf.model.QueryModel;
+import java.util.stream.Collectors;
+import jnpf.base.model.ColumnDataModel;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import jnpf.database.model.superQuery.SuperJsonModel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import java.text.SimpleDateFormat;
+import jnpf.util.*;
+import java.util.*;
+import jnpf.base.UserInfo;
+import jnpf.permission.entity.UserEntity;
+/**
+ *
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+@Service
+public class WarehousingInspectionConclusionServiceImpl extends ServiceImpl implements WarehousingInspectionConclusionService{
+ @Autowired
+ private GeneraterSwapUtil generaterSwapUtil;
+
+ @Autowired
+ private UserProvider userProvider;
+
+ //子表过滤方法
+ @Override
+ public QueryWrapper getChild(WarehousingInspectionPagination pagination, QueryWrapper warehousingInspectionConclusionQueryWrapper){
+ boolean pcPermission = true;
+ boolean appPermission = false;
+ boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
+ String ruleQueryJson = isPc?WarehousingInspectionConstant.getColumnData():WarehousingInspectionConstant.getAppColumnData();
+ ColumnDataModel dataModel = JsonUtil.getJsonToBean(ruleQueryJson,ColumnDataModel.class);
+ String ruleJson = isPc?JsonUtil.getObjectToString(dataModel.getRuleList()):JsonUtil.getObjectToString(dataModel.getRuleListApp());
+ if(isPc){
+ }
+ return warehousingInspectionConclusionQueryWrapper;
+ }
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionProductServiceImpl.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionProductServiceImpl.java
new file mode 100644
index 00000000..ef154282
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionProductServiceImpl.java
@@ -0,0 +1,59 @@
+package jnpf.service.impl;
+
+import jnpf.entity.*;
+import jnpf.mapper.WarehousingInspectionProductMapper;
+import jnpf.service.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jnpf.model.warehousinginspection.*;
+import java.math.BigDecimal;
+import cn.hutool.core.util.ObjectUtil;
+import jnpf.permission.model.authorize.AuthorizeConditionModel;
+import jnpf.util.GeneraterSwapUtil;
+import jnpf.database.model.superQuery.SuperQueryJsonModel;
+import jnpf.database.model.superQuery.ConditionJsonModel;
+import jnpf.database.model.superQuery.SuperQueryConditionModel;
+import jnpf.model.QueryModel;
+import java.util.stream.Collectors;
+import jnpf.base.model.ColumnDataModel;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import jnpf.database.model.superQuery.SuperJsonModel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import java.text.SimpleDateFormat;
+import jnpf.util.*;
+import java.util.*;
+import jnpf.base.UserInfo;
+import jnpf.permission.entity.UserEntity;
+/**
+ *
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+@Service
+public class WarehousingInspectionProductServiceImpl extends ServiceImpl implements WarehousingInspectionProductService{
+ @Autowired
+ private GeneraterSwapUtil generaterSwapUtil;
+
+ @Autowired
+ private UserProvider userProvider;
+
+ //子表过滤方法
+ @Override
+ public QueryWrapper getChild(WarehousingInspectionPagination pagination, QueryWrapper warehousingInspectionProductQueryWrapper){
+ boolean pcPermission = true;
+ boolean appPermission = false;
+ boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
+ String ruleQueryJson = isPc?WarehousingInspectionConstant.getColumnData():WarehousingInspectionConstant.getAppColumnData();
+ ColumnDataModel dataModel = JsonUtil.getJsonToBean(ruleQueryJson,ColumnDataModel.class);
+ String ruleJson = isPc?JsonUtil.getObjectToString(dataModel.getRuleList()):JsonUtil.getObjectToString(dataModel.getRuleListApp());
+ if(isPc){
+ }
+ return warehousingInspectionProductQueryWrapper;
+ }
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionServiceImpl.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionServiceImpl.java
new file mode 100644
index 00000000..9aec59c1
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionServiceImpl.java
@@ -0,0 +1,637 @@
+package jnpf.service.impl;
+
+import jnpf.entity.*;
+import jnpf.mapper.WarehousingInspectionMapper;
+import jnpf.service.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jnpf.model.warehousinginspection.*;
+import java.math.BigDecimal;
+import cn.hutool.core.util.ObjectUtil;
+import jnpf.permission.model.authorize.AuthorizeConditionModel;
+import jnpf.util.GeneraterSwapUtil;
+import jnpf.database.model.superQuery.SuperQueryJsonModel;
+import jnpf.database.model.superQuery.ConditionJsonModel;
+import jnpf.database.model.superQuery.SuperQueryConditionModel;
+import java.lang.reflect.Field;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.util.regex.Pattern;
+import jnpf.model.QueryModel;
+import java.util.stream.Collectors;
+import jnpf.base.model.ColumnDataModel;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import jnpf.database.model.superQuery.SuperJsonModel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import java.text.SimpleDateFormat;
+import jnpf.util.*;
+import java.util.*;
+import jnpf.base.UserInfo;
+import jnpf.permission.entity.UserEntity;
+/**
+ *
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+@Service
+public class WarehousingInspectionServiceImpl extends ServiceImpl implements WarehousingInspectionService{
+ @Autowired
+ private GeneraterSwapUtil generaterSwapUtil;
+
+ @Autowired
+ private UserProvider userProvider;
+
+ @Autowired
+ private WarehousingInspectionVoucherService warehousingInspectionVoucherService;
+ @Autowired
+ private WarehousingInspectionProductService warehousingInspectionProductService;
+ @Autowired
+ private WarehousingInspectionConclusionService warehousingInspectionConclusionService;
+ @Override
+ public List getList(WarehousingInspectionPagination warehousingInspectionPagination){
+ return getTypeList(warehousingInspectionPagination,warehousingInspectionPagination.getDataType());
+ }
+ /** 列表查询 */
+ @Override
+ public List getTypeList(WarehousingInspectionPagination warehousingInspectionPagination,String dataType){
+ String userId=userProvider.get().getUserId();
+ List AllIdList =new ArrayList();
+ List> intersectionList =new ArrayList<>();
+ boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
+ String columnData = !isPc ? WarehousingInspectionConstant.getAppColumnData() : WarehousingInspectionConstant.getColumnData();
+ ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class);
+ String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList());
+
+ int total=0;
+ int warehousingInspectionNum =0;
+ QueryWrapper warehousingInspectionQueryWrapper=new QueryWrapper<>();
+ int warehousingInspectionConclusionNum =0;
+ QueryWrapper warehousingInspectionConclusionQueryWrapper=new QueryWrapper<>();
+ int warehousingInspectionProductNum =0;
+ QueryWrapper warehousingInspectionProductQueryWrapper=new QueryWrapper<>();
+ int warehousingInspectionVoucherNum =0;
+ QueryWrapper warehousingInspectionVoucherQueryWrapper=new QueryWrapper<>();
+ long warehousingInspectionConclusioncount = warehousingInspectionConclusionService.count();
+ long warehousingInspectionProductcount = warehousingInspectionProductService.count();
+ long warehousingInspectionVouchercount = warehousingInspectionVoucherService.count();
+ List allSuperIDlist = new ArrayList<>();
+ String superOp ="";
+ if (ObjectUtil.isNotEmpty(warehousingInspectionPagination.getSuperQueryJson())){
+ List allSuperList = new ArrayList<>();
+ List> intersectionSuperList = new ArrayList<>();
+ String queryJson = warehousingInspectionPagination.getSuperQueryJson();
+ SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class);
+ int superNum = 0;
+ QueryWrapper warehousingInspectionSuperWrapper = new QueryWrapper<>();
+ warehousingInspectionSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(warehousingInspectionSuperWrapper,WarehousingInspectionEntity.class,queryJson,"0"));
+ int warehousingInspectionNum1 = warehousingInspectionSuperWrapper.getExpression().getNormal().size();
+ if (warehousingInspectionNum1>0){
+ List warehousingInspectionList =this.list(warehousingInspectionSuperWrapper).stream().map(WarehousingInspectionEntity::getId).collect(Collectors.toList());
+ allSuperList.addAll(warehousingInspectionList);
+ intersectionSuperList.add(warehousingInspectionList);
+ superNum++;
+ }
+ String warehousingInspectionConclusionTable = "jg_warehousing_inspection_conclusion";
+ boolean warehousingInspectionConclusionHasSql = queryJson.contains(warehousingInspectionConclusionTable);
+ List warehousingInspectionConclusionList = generaterSwapUtil.selectIdsByChildCondition(WarehousingInspectionConstant.getTableList(), warehousingInspectionConclusionTable , queryJson, null);
+ if (warehousingInspectionConclusionHasSql){
+ allSuperList.addAll(warehousingInspectionConclusionList);
+ intersectionSuperList.add(warehousingInspectionConclusionList);
+ superNum++;
+ }
+ String warehousingInspectionProductTable = "jg_warehousing_inspection_product";
+ boolean warehousingInspectionProductHasSql = queryJson.contains(warehousingInspectionProductTable);
+ List warehousingInspectionProductList = generaterSwapUtil.selectIdsByChildCondition(WarehousingInspectionConstant.getTableList(), warehousingInspectionProductTable , queryJson, null);
+ if (warehousingInspectionProductHasSql){
+ allSuperList.addAll(warehousingInspectionProductList);
+ intersectionSuperList.add(warehousingInspectionProductList);
+ superNum++;
+ }
+ String warehousingInspectionVoucherTable = "jg_warehousing_inspection_voucher";
+ boolean warehousingInspectionVoucherHasSql = queryJson.contains(warehousingInspectionVoucherTable);
+ List warehousingInspectionVoucherList = generaterSwapUtil.selectIdsByChildCondition(WarehousingInspectionConstant.getTableList(), warehousingInspectionVoucherTable , queryJson, null);
+ if (warehousingInspectionVoucherHasSql){
+ allSuperList.addAll(warehousingInspectionVoucherList);
+ intersectionSuperList.add(warehousingInspectionVoucherList);
+ superNum++;
+ }
+ superOp = superNum > 0 ? superJsonModel.getMatchLogic() : "";
+ //and or
+ if(superOp.equalsIgnoreCase("and")){
+ allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList);
+ }else{
+ allSuperIDlist = allSuperList;
+ }
+ }
+ List allRuleIDlist = new ArrayList<>();
+ String ruleOp ="";
+ if (ObjectUtil.isNotEmpty(ruleJson)){
+ List allRuleList = new ArrayList<>();
+ List> intersectionRuleList = new ArrayList<>();
+ SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class);
+ int ruleNum = 0;
+ QueryWrapper warehousingInspectionSuperWrapper = new QueryWrapper<>();
+ warehousingInspectionSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(warehousingInspectionSuperWrapper,WarehousingInspectionEntity.class,ruleJson,"0"));
+ int warehousingInspectionNum1 = warehousingInspectionSuperWrapper.getExpression().getNormal().size();
+ if (warehousingInspectionNum1>0){
+ List warehousingInspectionList =this.list(warehousingInspectionSuperWrapper).stream().map(WarehousingInspectionEntity::getId).collect(Collectors.toList());
+ allRuleList.addAll(warehousingInspectionList);
+ intersectionRuleList.add(warehousingInspectionList);
+ ruleNum++;
+ }
+ String warehousingInspectionConclusionTable = "jg_warehousing_inspection_conclusion";
+ boolean warehousingInspectionConclusionHasSql = ruleJson.contains(warehousingInspectionConclusionTable);
+ List warehousingInspectionConclusionList = generaterSwapUtil.selectIdsByChildCondition(WarehousingInspectionConstant.getTableList(), warehousingInspectionConclusionTable , ruleJson, null);
+ if (warehousingInspectionConclusionHasSql){
+ allRuleList.addAll(warehousingInspectionConclusionList);
+ intersectionRuleList.add(warehousingInspectionConclusionList);
+ ruleNum++;
+ }
+ String warehousingInspectionProductTable = "jg_warehousing_inspection_product";
+ boolean warehousingInspectionProductHasSql = ruleJson.contains(warehousingInspectionProductTable);
+ List warehousingInspectionProductList = generaterSwapUtil.selectIdsByChildCondition(WarehousingInspectionConstant.getTableList(), warehousingInspectionProductTable , ruleJson, null);
+ if (warehousingInspectionProductHasSql){
+ allRuleList.addAll(warehousingInspectionProductList);
+ intersectionRuleList.add(warehousingInspectionProductList);
+ ruleNum++;
+ }
+ String warehousingInspectionVoucherTable = "jg_warehousing_inspection_voucher";
+ boolean warehousingInspectionVoucherHasSql = ruleJson.contains(warehousingInspectionVoucherTable);
+ List warehousingInspectionVoucherList = generaterSwapUtil.selectIdsByChildCondition(WarehousingInspectionConstant.getTableList(), warehousingInspectionVoucherTable , ruleJson, null);
+ if (warehousingInspectionVoucherHasSql){
+ allRuleList.addAll(warehousingInspectionVoucherList);
+ intersectionRuleList.add(warehousingInspectionVoucherList);
+ ruleNum++;
+ }
+ ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : "";
+ //and or
+ if(ruleOp.equalsIgnoreCase("and")){
+ allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList);
+ }else{
+ allRuleIDlist = allRuleList;
+ }
+ }
+ boolean pcPermission = true;
+ boolean appPermission = false;
+ if(isPc && pcPermission){
+ if (!userProvider.get().getIsAdministrator()){
+ Object warehousingInspectionObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(warehousingInspectionQueryWrapper,WarehousingInspectionEntity.class,warehousingInspectionPagination.getMenuId(),"0"));
+ if (ObjectUtil.isEmpty(warehousingInspectionObj)){
+ return new ArrayList<>();
+ } else {
+ warehousingInspectionQueryWrapper = (QueryWrapper)warehousingInspectionObj;
+ if( warehousingInspectionQueryWrapper.getExpression().getNormal().size()>0){
+ warehousingInspectionNum++;
+ }
+ }
+ Object warehousingInspectionConclusionObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(warehousingInspectionConclusionQueryWrapper,WarehousingInspectionConclusionEntity.class,warehousingInspectionPagination.getMenuId(),"0"));
+ if (ObjectUtil.isEmpty(warehousingInspectionConclusionObj)){
+ return new ArrayList<>();
+ } else {
+ warehousingInspectionConclusionQueryWrapper = (QueryWrapper)warehousingInspectionConclusionObj;
+ if( warehousingInspectionConclusionQueryWrapper.getExpression().getNormal().size()>0){
+ warehousingInspectionConclusionNum++;
+ }
+ }
+ Object warehousingInspectionProductObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(warehousingInspectionProductQueryWrapper,WarehousingInspectionProductEntity.class,warehousingInspectionPagination.getMenuId(),"0"));
+ if (ObjectUtil.isEmpty(warehousingInspectionProductObj)){
+ return new ArrayList<>();
+ } else {
+ warehousingInspectionProductQueryWrapper = (QueryWrapper)warehousingInspectionProductObj;
+ if( warehousingInspectionProductQueryWrapper.getExpression().getNormal().size()>0){
+ warehousingInspectionProductNum++;
+ }
+ }
+ Object warehousingInspectionVoucherObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(warehousingInspectionVoucherQueryWrapper,WarehousingInspectionVoucherEntity.class,warehousingInspectionPagination.getMenuId(),"0"));
+ if (ObjectUtil.isEmpty(warehousingInspectionVoucherObj)){
+ return new ArrayList<>();
+ } else {
+ warehousingInspectionVoucherQueryWrapper = (QueryWrapper)warehousingInspectionVoucherObj;
+ if( warehousingInspectionVoucherQueryWrapper.getExpression().getNormal().size()>0){
+ warehousingInspectionVoucherNum++;
+ }
+ }
+ }
+ }
+ if(!isPc && appPermission){
+ if (!userProvider.get().getIsAdministrator()){
+ Object warehousingInspectionObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(warehousingInspectionQueryWrapper,WarehousingInspectionEntity.class,warehousingInspectionPagination.getMenuId(),"0"));
+ if (ObjectUtil.isEmpty(warehousingInspectionObj)){
+ return new ArrayList<>();
+ } else {
+ warehousingInspectionQueryWrapper = (QueryWrapper)warehousingInspectionObj;
+ if( warehousingInspectionQueryWrapper.getExpression().getNormal().size()>0){
+ warehousingInspectionNum++;
+ }
+ }
+
+
+ Object warehousingInspectionConclusionObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(warehousingInspectionConclusionQueryWrapper,WarehousingInspectionConclusionEntity.class,warehousingInspectionPagination.getMenuId(),"0"));
+ if (ObjectUtil.isEmpty(warehousingInspectionConclusionObj)){
+ return new ArrayList<>();
+ } else {
+ warehousingInspectionConclusionQueryWrapper = (QueryWrapper)warehousingInspectionConclusionObj;
+ if( warehousingInspectionConclusionQueryWrapper.getExpression().getNormal().size()>0){
+ warehousingInspectionConclusionNum++;
+ }
+ }
+
+
+ Object warehousingInspectionProductObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(warehousingInspectionProductQueryWrapper,WarehousingInspectionProductEntity.class,warehousingInspectionPagination.getMenuId(),"0"));
+ if (ObjectUtil.isEmpty(warehousingInspectionProductObj)){
+ return new ArrayList<>();
+ } else {
+ warehousingInspectionProductQueryWrapper = (QueryWrapper)warehousingInspectionProductObj;
+ if( warehousingInspectionProductQueryWrapper.getExpression().getNormal().size()>0){
+ warehousingInspectionProductNum++;
+ }
+ }
+
+
+ Object warehousingInspectionVoucherObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(warehousingInspectionVoucherQueryWrapper,WarehousingInspectionVoucherEntity.class,warehousingInspectionPagination.getMenuId(),"0"));
+ if (ObjectUtil.isEmpty(warehousingInspectionVoucherObj)){
+ return new ArrayList<>();
+ } else {
+ warehousingInspectionVoucherQueryWrapper = (QueryWrapper)warehousingInspectionVoucherObj;
+ if( warehousingInspectionVoucherQueryWrapper.getExpression().getNormal().size()>0){
+ warehousingInspectionVoucherNum++;
+ }
+ }
+
+
+ }
+ }
+ if(isPc){
+ if(ObjectUtil.isNotEmpty(warehousingInspectionPagination.getInspectionCode())){
+ warehousingInspectionNum++;
+
+ String value = warehousingInspectionPagination.getInspectionCode() instanceof List ?
+ JsonUtil.getObjectToString(warehousingInspectionPagination.getInspectionCode()) :
+ String.valueOf(warehousingInspectionPagination.getInspectionCode());
+ warehousingInspectionQueryWrapper.lambda().like(WarehousingInspectionEntity::getInspectionCode,value);
+
+ }
+
+ if(ObjectUtil.isNotEmpty(warehousingInspectionPagination.getCreatorTime())){
+ warehousingInspectionNum++;
+
+ List CreatorTimeList = JsonUtil.getJsonToList(warehousingInspectionPagination.getCreatorTime(),String.class);
+ Long fir = Long.valueOf(String.valueOf(CreatorTimeList.get(0)));
+ Long sec = Long.valueOf(String.valueOf(CreatorTimeList.get(1)));
+
+ warehousingInspectionQueryWrapper.lambda().ge(WarehousingInspectionEntity::getCreatorTime, new Date(fir))
+ .le(WarehousingInspectionEntity::getCreatorTime, DateUtil.stringToDate(DateUtil.daFormatYmd(sec) + " 23:59:59"));
+
+
+ }
+
+ if(ObjectUtil.isNotEmpty(warehousingInspectionPagination.getInspectionType())){
+ warehousingInspectionNum++;
+
+ List idList = new ArrayList<>();
+ try {
+ String[][] inspectionType = JsonUtil.getJsonToBean(warehousingInspectionPagination.getInspectionType(),String[][].class);
+ for(int i=0;i0){
+ idList.add(JsonUtil.getObjectToString(Arrays.asList(inspectionType[i])));
+ }
+ }
+ }catch (Exception e1){
+ try {
+ List inspectionType = JsonUtil.getJsonToList(warehousingInspectionPagination.getInspectionType(),String.class);
+ if(inspectionType.size()>0){
+ idList.addAll(inspectionType);
+ }
+ }catch (Exception e2){
+ idList.add(String.valueOf(warehousingInspectionPagination.getInspectionType()));
+ }
+ }
+ warehousingInspectionQueryWrapper.lambda().and(t->{
+ idList.forEach(tt->{
+ t.like(WarehousingInspectionEntity::getInspectionType, tt).or();
+ });
+ });
+
+ }
+
+ if(ObjectUtil.isNotEmpty(warehousingInspectionPagination.getBelongUserId())){
+ warehousingInspectionNum++;
+
+ List idList = new ArrayList<>();
+ try {
+ String[][] belongUserId = JsonUtil.getJsonToBean(warehousingInspectionPagination.getBelongUserId(),String[][].class);
+ for(int i=0;i0){
+ idList.add(JsonUtil.getObjectToString(Arrays.asList(belongUserId[i])));
+ }
+ }
+ }catch (Exception e1){
+ try {
+ List belongUserId = JsonUtil.getJsonToList(warehousingInspectionPagination.getBelongUserId(),String.class);
+ if(belongUserId.size()>0){
+ idList.addAll(belongUserId);
+ }
+ }catch (Exception e2){
+ idList.add(String.valueOf(warehousingInspectionPagination.getBelongUserId()));
+ }
+ }
+ warehousingInspectionQueryWrapper.lambda().and(t->{
+ idList.forEach(tt->{
+ t.like(WarehousingInspectionEntity::getBelongUserId, tt).or();
+ });
+ });
+
+ }
+
+ if(ObjectUtil.isNotEmpty(warehousingInspectionPagination.getInspectionTime())){
+ warehousingInspectionNum++;
+
+ List InspectionTimeList = JsonUtil.getJsonToList(warehousingInspectionPagination.getInspectionTime(),String.class);
+ Long fir = Long.valueOf(String.valueOf(InspectionTimeList.get(0)));
+ Long sec = Long.valueOf(String.valueOf(InspectionTimeList.get(1)));
+
+ warehousingInspectionQueryWrapper.lambda().ge(WarehousingInspectionEntity::getInspectionTime, new Date(fir))
+ .le(WarehousingInspectionEntity::getInspectionTime, DateUtil.stringToDate(DateUtil.daFormatYmd(sec) + " 23:59:59"));
+
+
+ }
+
+ }
+ if(warehousingInspectionConclusionNum>0){
+ List warehousingInspectionConclusionIdList = warehousingInspectionConclusionService.list(warehousingInspectionConclusionQueryWrapper).stream().filter(t->StringUtil.isNotEmpty(t.getInspectionId())).map(t->t.getInspectionId()).collect(Collectors.toList());
+ long count = warehousingInspectionConclusionService.count();
+ if (count>0){
+ intersectionList.add(warehousingInspectionConclusionIdList);
+ }
+ AllIdList.addAll(warehousingInspectionConclusionIdList);
+ }
+ total+=warehousingInspectionConclusionNum;
+ if(warehousingInspectionProductNum>0){
+ List warehousingInspectionProductIdList = warehousingInspectionProductService.list(warehousingInspectionProductQueryWrapper).stream().filter(t->StringUtil.isNotEmpty(t.getInspectionId())).map(t->t.getInspectionId()).collect(Collectors.toList());
+ long count = warehousingInspectionProductService.count();
+ if (count>0){
+ intersectionList.add(warehousingInspectionProductIdList);
+ }
+ AllIdList.addAll(warehousingInspectionProductIdList);
+ }
+ total+=warehousingInspectionProductNum;
+ if(warehousingInspectionVoucherNum>0){
+ List warehousingInspectionVoucherIdList = warehousingInspectionVoucherService.list(warehousingInspectionVoucherQueryWrapper).stream().filter(t->StringUtil.isNotEmpty(t.getInspectionId())).map(t->t.getInspectionId()).collect(Collectors.toList());
+ long count = warehousingInspectionVoucherService.count();
+ if (count>0){
+ intersectionList.add(warehousingInspectionVoucherIdList);
+ }
+ AllIdList.addAll(warehousingInspectionVoucherIdList);
+ }
+ total+=warehousingInspectionVoucherNum;
+ List intersection = generaterSwapUtil.getIntersection(intersectionList);
+ if (total>0){
+ if (intersection.size()==0){
+ intersection.add("jnpfNullList");
+ }
+ warehousingInspectionQueryWrapper.lambda().in(WarehousingInspectionEntity::getId, intersection);
+ }
+ //是否有高级查询
+ if (StringUtil.isNotEmpty(superOp)){
+ if (allSuperIDlist.size()==0){
+ allSuperIDlist.add("jnpfNullList");
+ }
+ List finalAllSuperIDlist = allSuperIDlist;
+ warehousingInspectionQueryWrapper.lambda().and(t->t.in(WarehousingInspectionEntity::getId, finalAllSuperIDlist));
+ }
+ //是否有数据过滤查询
+ if (StringUtil.isNotEmpty(ruleOp)){
+ if (allRuleIDlist.size()==0){
+ allRuleIDlist.add("jnpfNullList");
+ }
+ List finalAllRuleIDlist = allRuleIDlist;
+ warehousingInspectionQueryWrapper.lambda().and(t->t.in(WarehousingInspectionEntity::getId, finalAllRuleIDlist));
+ }
+ //假删除标志
+ warehousingInspectionQueryWrapper.lambda().isNull(WarehousingInspectionEntity::getDeleteMark);
+
+ //排序
+ if(StringUtil.isEmpty(warehousingInspectionPagination.getSidx())){
+ warehousingInspectionQueryWrapper.lambda().orderByDesc(WarehousingInspectionEntity::getId);
+ }else{
+ try {
+ String sidx = warehousingInspectionPagination.getSidx();
+ String[] strs= sidx.split("_name");
+ WarehousingInspectionEntity warehousingInspectionEntity = new WarehousingInspectionEntity();
+ Field declaredField = warehousingInspectionEntity.getClass().getDeclaredField(strs[0]);
+ declaredField.setAccessible(true);
+ String value = declaredField.getAnnotation(TableField.class).value();
+ warehousingInspectionQueryWrapper="asc".equals(warehousingInspectionPagination.getSort().toLowerCase())?warehousingInspectionQueryWrapper.orderByAsc(value):warehousingInspectionQueryWrapper.orderByDesc(value);
+ } catch (NoSuchFieldException e) {
+ e.printStackTrace();
+ }
+ }
+
+ if("0".equals(dataType)){
+ if((total>0 && AllIdList.size()>0) || total==0){
+ Page page=new Page<>(warehousingInspectionPagination.getCurrentPage(), warehousingInspectionPagination.getPageSize());
+ IPage userIPage=this.page(page, warehousingInspectionQueryWrapper);
+ return warehousingInspectionPagination.setData(userIPage.getRecords(),userIPage.getTotal());
+ }else{
+ List list = new ArrayList();
+ return warehousingInspectionPagination.setData(list, list.size());
+ }
+ }else{
+ return this.list(warehousingInspectionQueryWrapper);
+ }
+ }
+ @Override
+ public WarehousingInspectionEntity getInfo(String id){
+ QueryWrapper queryWrapper=new QueryWrapper<>();
+ queryWrapper.lambda().eq(WarehousingInspectionEntity::getId,id);
+ return this.getOne(queryWrapper);
+ }
+ @Override
+ public void create(WarehousingInspectionEntity entity){
+ this.save(entity);
+ }
+ @Override
+ public boolean update(String id, WarehousingInspectionEntity entity){
+ return this.updateById(entity);
+ }
+ @Override
+ public void delete(WarehousingInspectionEntity entity){
+ if(entity!=null){
+ this.removeById(entity.getId());
+ }
+ }
+ /** WarehousingInspectionVoucher子表方法 */
+ @Override
+ public List getWarehousingInspectionVoucherList(String id,WarehousingInspectionPagination warehousingInspectionPagination){
+ Map newtabMap=WarehousingInspectionConstant.TABLEFIELDKEY.entrySet()
+ .stream().collect( Collectors.toMap(e->e.getValue(),e->e.getKey()));
+ String tableName="warehousingInspectionVoucher";
+ tableName=newtabMap.get(tableName)==null?tableName:newtabMap.get(tableName).toString();
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper = warehousingInspectionVoucherService.getChild(warehousingInspectionPagination,queryWrapper);
+ queryWrapper.lambda().eq(WarehousingInspectionVoucherEntity::getInspectionId, id);
+ generaterSwapUtil.wrapperHandle(WarehousingInspectionConstant.getColumnData(), WarehousingInspectionConstant.getAppColumnData(), queryWrapper,WarehousingInspectionVoucherEntity.class,"sub",tableName);
+ return warehousingInspectionVoucherService.list(queryWrapper);
+ }
+
+ /** WarehousingInspectionVoucher子表方法 */
+ @Override
+ public List getWarehousingInspectionVoucherList(String id){
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda().eq(WarehousingInspectionVoucherEntity::getInspectionId, id);
+ return warehousingInspectionVoucherService.list(queryWrapper);
+ }
+ /** WarehousingInspectionProduct子表方法 */
+ @Override
+ public List getWarehousingInspectionProductList(String id,WarehousingInspectionPagination warehousingInspectionPagination){
+ Map newtabMap=WarehousingInspectionConstant.TABLEFIELDKEY.entrySet()
+ .stream().collect( Collectors.toMap(e->e.getValue(),e->e.getKey()));
+ String tableName="warehousingInspectionProduct";
+ tableName=newtabMap.get(tableName)==null?tableName:newtabMap.get(tableName).toString();
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper = warehousingInspectionProductService.getChild(warehousingInspectionPagination,queryWrapper);
+ queryWrapper.lambda().eq(WarehousingInspectionProductEntity::getInspectionId, id);
+ generaterSwapUtil.wrapperHandle(WarehousingInspectionConstant.getColumnData(), WarehousingInspectionConstant.getAppColumnData(), queryWrapper,WarehousingInspectionProductEntity.class,"sub",tableName);
+ return warehousingInspectionProductService.list(queryWrapper);
+ }
+
+ /** WarehousingInspectionProduct子表方法 */
+ @Override
+ public List getWarehousingInspectionProductList(String id){
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda().eq(WarehousingInspectionProductEntity::getInspectionId, id);
+ return warehousingInspectionProductService.list(queryWrapper);
+ }
+ /** WarehousingInspectionConclusion子表方法 */
+ @Override
+ public List getWarehousingInspectionConclusionList(String id,WarehousingInspectionPagination warehousingInspectionPagination){
+ Map newtabMap=WarehousingInspectionConstant.TABLEFIELDKEY.entrySet()
+ .stream().collect( Collectors.toMap(e->e.getValue(),e->e.getKey()));
+ String tableName="warehousingInspectionConclusion";
+ tableName=newtabMap.get(tableName)==null?tableName:newtabMap.get(tableName).toString();
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper = warehousingInspectionConclusionService.getChild(warehousingInspectionPagination,queryWrapper);
+ queryWrapper.lambda().eq(WarehousingInspectionConclusionEntity::getInspectionId, id);
+ generaterSwapUtil.wrapperHandle(WarehousingInspectionConstant.getColumnData(), WarehousingInspectionConstant.getAppColumnData(), queryWrapper,WarehousingInspectionConclusionEntity.class,"sub",tableName);
+ return warehousingInspectionConclusionService.list(queryWrapper);
+ }
+
+ /** WarehousingInspectionConclusion子表方法 */
+ @Override
+ public List getWarehousingInspectionConclusionList(String id){
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda().eq(WarehousingInspectionConclusionEntity::getInspectionId, id);
+ return warehousingInspectionConclusionService.list(queryWrapper);
+ }
+ /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/
+ @Override
+ public String checkForm(WarehousingInspectionForm form,int i) {
+ boolean isUp =StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0");
+ String id="";
+ String countRecover = "";
+ if (isUp){
+ id = form.getId();
+ }
+ //主表字段验证
+ //子表字段验证
+ if (form.getWarehousingInspectionVoucherList()!=null){
+ }
+ if (form.getWarehousingInspectionProductList()!=null){
+ }
+ if (form.getWarehousingInspectionConclusionList()!=null){
+ }
+ return countRecover;
+ }
+ /**
+ * 新增修改数据(事务回滚)
+ * @param id
+ * @param warehousingInspectionForm
+ * @return
+ */
+ @Override
+ @Transactional
+ public void saveOrUpdate(WarehousingInspectionForm warehousingInspectionForm,String id, boolean isSave) throws Exception{
+ UserInfo userInfo=userProvider.get();
+ UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId());
+ warehousingInspectionForm = JsonUtil.getJsonToBean(
+ generaterSwapUtil.swapDatetime(WarehousingInspectionConstant.getFormData(),warehousingInspectionForm),WarehousingInspectionForm.class);
+ WarehousingInspectionEntity entity = JsonUtil.getJsonToBean(warehousingInspectionForm, WarehousingInspectionEntity.class);
+
+ if(isSave){
+ String mainId = id ;
+ entity.setInspectionCode(generaterSwapUtil.getBillNumber("warehousingInspection", false));
+ entity.setCreatorTime(DateUtil.getNowDate());
+ entity.setCreatorUserId(userInfo.getUserId());
+ entity.setLastModifyTime(null);
+ entity.setLastModifyUserId(null);
+ entity.setId(mainId);
+ entity.setFlowId(warehousingInspectionForm.getFlowId());
+ entity.setVersion(0);
+ }else{
+ entity.setInspectionCode(generaterSwapUtil.getBillNumber("warehousingInspection", false));
+ entity.setCreatorTime(DateUtil.getNowDate());
+ entity.setCreatorUserId(userInfo.getUserId());
+ entity.setLastModifyTime(null);
+ entity.setLastModifyUserId(null);
+ entity.setFlowId(warehousingInspectionForm.getFlowId());
+ }
+ this.saveOrUpdate(entity);
+
+ //WarehousingInspectionVoucher子表数据新增修改
+ if(!isSave){
+ QueryWrapper WarehousingInspectionVoucherqueryWrapper = new QueryWrapper<>();
+ WarehousingInspectionVoucherqueryWrapper.lambda().eq(WarehousingInspectionVoucherEntity::getInspectionId, entity.getId());
+ warehousingInspectionVoucherService.remove(WarehousingInspectionVoucherqueryWrapper);
+ }
+ if (warehousingInspectionForm.getWarehousingInspectionVoucherList()!=null){
+ List tableField118 = JsonUtil.getJsonToList(warehousingInspectionForm.getWarehousingInspectionVoucherList(),WarehousingInspectionVoucherEntity.class);
+ for(WarehousingInspectionVoucherEntity entitys : tableField118){
+ entitys.setId(RandomUtil.uuId());
+ entitys.setInspectionId(entity.getId());
+ if(isSave){
+ }else{
+ }
+ warehousingInspectionVoucherService.saveOrUpdate(entitys);
+ }
+ }
+ //WarehousingInspectionProduct子表数据新增修改
+ if(!isSave){
+ QueryWrapper WarehousingInspectionProductqueryWrapper = new QueryWrapper<>();
+ WarehousingInspectionProductqueryWrapper.lambda().eq(WarehousingInspectionProductEntity::getInspectionId, entity.getId());
+ warehousingInspectionProductService.remove(WarehousingInspectionProductqueryWrapper);
+ }
+ if (warehousingInspectionForm.getWarehousingInspectionProductList()!=null){
+ List tableField126 = JsonUtil.getJsonToList(warehousingInspectionForm.getWarehousingInspectionProductList(),WarehousingInspectionProductEntity.class);
+ for(WarehousingInspectionProductEntity entitys : tableField126){
+ entitys.setId(RandomUtil.uuId());
+ entitys.setInspectionId(entity.getId());
+ if(isSave){
+ }else{
+ }
+ warehousingInspectionProductService.saveOrUpdate(entitys);
+ }
+ }
+ //WarehousingInspectionConclusion子表数据新增修改
+ if(!isSave){
+ QueryWrapper WarehousingInspectionConclusionqueryWrapper = new QueryWrapper<>();
+ WarehousingInspectionConclusionqueryWrapper.lambda().eq(WarehousingInspectionConclusionEntity::getInspectionId, entity.getId());
+ warehousingInspectionConclusionService.remove(WarehousingInspectionConclusionqueryWrapper);
+ }
+ if (warehousingInspectionForm.getWarehousingInspectionConclusionList()!=null){
+ List tableField131 = JsonUtil.getJsonToList(warehousingInspectionForm.getWarehousingInspectionConclusionList(),WarehousingInspectionConclusionEntity.class);
+ for(WarehousingInspectionConclusionEntity entitys : tableField131){
+ entitys.setId(RandomUtil.uuId());
+ entitys.setInspectionId(entity.getId());
+ if(isSave){
+ }else{
+ }
+ warehousingInspectionConclusionService.saveOrUpdate(entitys);
+ }
+ }
+ }
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionVoucherServiceImpl.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionVoucherServiceImpl.java
new file mode 100644
index 00000000..e8358a08
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/WarehousingInspectionVoucherServiceImpl.java
@@ -0,0 +1,59 @@
+package jnpf.service.impl;
+
+import jnpf.entity.*;
+import jnpf.mapper.WarehousingInspectionVoucherMapper;
+import jnpf.service.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jnpf.model.warehousinginspection.*;
+import java.math.BigDecimal;
+import cn.hutool.core.util.ObjectUtil;
+import jnpf.permission.model.authorize.AuthorizeConditionModel;
+import jnpf.util.GeneraterSwapUtil;
+import jnpf.database.model.superQuery.SuperQueryJsonModel;
+import jnpf.database.model.superQuery.ConditionJsonModel;
+import jnpf.database.model.superQuery.SuperQueryConditionModel;
+import jnpf.model.QueryModel;
+import java.util.stream.Collectors;
+import jnpf.base.model.ColumnDataModel;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import jnpf.database.model.superQuery.SuperJsonModel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import java.text.SimpleDateFormat;
+import jnpf.util.*;
+import java.util.*;
+import jnpf.base.UserInfo;
+import jnpf.permission.entity.UserEntity;
+/**
+ *
+ * warehousingInspection
+ * 版本: V3.5
+ * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * 作者: JNPF开发平台组
+ * 日期: 2024-02-23
+ */
+@Service
+public class WarehousingInspectionVoucherServiceImpl extends ServiceImpl implements WarehousingInspectionVoucherService{
+ @Autowired
+ private GeneraterSwapUtil generaterSwapUtil;
+
+ @Autowired
+ private UserProvider userProvider;
+
+ //子表过滤方法
+ @Override
+ public QueryWrapper getChild(WarehousingInspectionPagination pagination, QueryWrapper warehousingInspectionVoucherQueryWrapper){
+ boolean pcPermission = true;
+ boolean appPermission = false;
+ boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
+ String ruleQueryJson = isPc?WarehousingInspectionConstant.getColumnData():WarehousingInspectionConstant.getAppColumnData();
+ ColumnDataModel dataModel = JsonUtil.getJsonToBean(ruleQueryJson,ColumnDataModel.class);
+ String ruleJson = isPc?JsonUtil.getObjectToString(dataModel.getRuleList()):JsonUtil.getObjectToString(dataModel.getRuleListApp());
+ if(isPc){
+ }
+ return warehousingInspectionVoucherQueryWrapper;
+ }
+}
diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/WarehousingInspectionController.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/WarehousingInspectionController.java
new file mode 100644
index 00000000..d7665f59
--- /dev/null
+++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/WarehousingInspectionController.java
@@ -0,0 +1,493 @@
+package jnpf.controller;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jnpf.base.ActionResult;
+import jnpf.base.UserInfo;
+import jnpf.exception.DataException;
+import jnpf.permission.entity.UserEntity;
+import jnpf.service.*;
+import jnpf.entity.*;
+import jnpf.util.*;
+import jnpf.model.warehousinginspection.*;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.validation.Valid;
+import java.util.*;
+import jnpf.annotation.JnpfField;
+import jnpf.base.vo.PageListVO;
+import jnpf.base.vo.PaginationVO;
+import jnpf.base.vo.DownloadVO;
+import jnpf.config.ConfigValueUtil;
+import jnpf.base.entity.ProvinceEntity;
+import java.io.IOException;
+import java.util.stream.Collectors;
+import jnpf.engine.entity.FlowTaskEntity;
+import jnpf.exception.WorkFlowException;
+import org.springframework.web.multipart.MultipartFile;
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
+import cn.afterturn.easypoi.excel.ExcelImportUtil;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
+import cn.afterturn.easypoi.excel.entity.ImportParams;
+import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
+import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Workbook;
+import java.io.File;
+import jnpf.onlinedev.model.ExcelImFieldModel;
+import jnpf.onlinedev.model.OnlineImport.ImportDataModel;
+import jnpf.onlinedev.model.OnlineImport.ImportFormCheckUniqueModel;
+import jnpf.onlinedev.model.OnlineImport.ExcelImportModel;
+import jnpf.onlinedev.model.OnlineImport.VisualImportModel;
+import cn.xuyanwu.spring.file.storage.FileInfo;
+import lombok.Cleanup;
+import jnpf.model.visualJson.config.HeaderModel;
+import jnpf.base.model.ColumnDataModel;
+import jnpf.base.util.VisualUtils;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * warehousingInspection
+ * @版本: V3.5
+ * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * @作者: JNPF开发平台组
+ * @日期: 2024-02-23
+ */
+@Slf4j
+@RestController
+@Tag(name = "warehousingInspection" , description = "scm")
+@RequestMapping("/api/scm/WarehousingInspection")
+public class WarehousingInspectionController {
+
+ @Autowired
+ private GeneraterSwapUtil generaterSwapUtil;
+
+ @Autowired
+ private UserProvider userProvider;
+
+ @Autowired
+ private WarehousingInspectionService warehousingInspectionService;
+
+ @Autowired
+ private WarehousingInspectionVoucherService warehousingInspectionVoucherService;
+ @Autowired
+ private WarehousingInspectionProductService warehousingInspectionProductService;
+ @Autowired
+ private WarehousingInspectionConclusionService warehousingInspectionConclusionService;
+
+
+ @Autowired
+ private ConfigValueUtil configValueUtil;
+
+ /**
+ * 列表
+ *
+ * @param warehousingInspectionPagination
+ * @return
+ */
+ @Operation(summary = "获取列表")
+ @PostMapping("/getList")
+ public ActionResult list(@RequestBody WarehousingInspectionPagination warehousingInspectionPagination)throws IOException{
+ List list= warehousingInspectionService.getList(warehousingInspectionPagination);
+ List