Sfoglia il codice sorgente

[task-2350]【后端】外部人员扫码签到接口开发

szjbdgzl 1 anno fa
parent
commit
90408e021b
27 ha cambiato i file con 1702 aggiunte e 1 eliminazioni
  1. 4 1
      ibps-basic-root/modules/basic-response/src/main/java/com/lc/ibps/cloud/config/AuthorizationConfig.java
  2. 5 0
      ibps-comp-base-root/modules/comp-file-server-api/src/main/java/com/lc/ibps/file/server/api/IUploadService.java
  3. 19 0
      ibps-comp-root/modules/comp-file-server/src/main/java/com/lc/ibps/cloud/file/provider/UploadProvider.java
  4. 82 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/api/IQRcodeService.java
  5. 74 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/api/ISignInformationService.java
  6. 64 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/domain/QRcode.java
  7. 61 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/domain/SignInformation.java
  8. 16 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/QRcodeDao.java
  9. 16 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/QRcodeQueryDao.java
  10. 16 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/SignInformationDao.java
  11. 16 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/SignInformationQueryDao.java
  12. 26 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/impl/QRcodeDaoImpl.java
  13. 27 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/impl/QRcodeQueryDaoImpl.java
  14. 26 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/impl/SignInformationDaoImpl.java
  15. 27 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/impl/SignInformationQueryDaoImpl.java
  16. 35 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/entity/QRcodePo.java
  17. 205 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/entity/QRcodeTbl.java
  18. 35 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/entity/SignInformationPo.java
  19. 303 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/entity/SignInformationTbl.java
  20. 123 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/provider/QRcodeProvider.java
  21. 156 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/provider/SignInformationProvider.java
  22. 18 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/repository/QRcodeRepository.java
  23. 18 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/repository/SignInformationRepository.java
  24. 56 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/repository/impl/QRcodeRepositoryImpl.java
  25. 56 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/repository/impl/SignInformationRepositoryImpl.java
  26. 102 0
      ibps-provider-root/modules/provider-business/src/main/resources/com/lc/ibps/employee/persistence/mapping/QRcode.map.xml
  27. 116 0
      ibps-provider-root/modules/provider-business/src/main/resources/com/lc/ibps/employee/persistence/mapping/SignInformation.map.xml

+ 4 - 1
ibps-basic-root/modules/basic-response/src/main/java/com/lc/ibps/cloud/config/AuthorizationConfig.java

@@ -142,6 +142,7 @@ public class AuthorizationConfig {
 
 		//客户端地址
 		ignoreUrls.add("/**/mobile/**");
+		ignoreUrls.add("/file/upload/sign");
 		ignoreUrls.add("/file/upload/kettle");
 		ignoreUrls.add("/file/upload/kettleBigFile");
 		ignoreUrls.add("/file/upload/kettleBatchAdd");
@@ -192,7 +193,9 @@ public class AuthorizationConfig {
 		ignoreUrls.add("/ibps/platform/v3/file/download");//1
 		ignoreUrls.add("/file/download");//2
 
-
+		ignoreUrls.add("/employee/signInformation/query");
+		ignoreUrls.add("/employee/signInformation/save");
+		ignoreUrls.add("/employee/qRcode/query");
 
 		// swagger配置
 		ignoreUrls.add("/**/v2/api-docs");

+ 5 - 0
ibps-comp-base-root/modules/comp-file-server-api/src/main/java/com/lc/ibps/file/server/api/IUploadService.java

@@ -44,6 +44,11 @@ public interface IUploadService {
 			@NotNull(message = "{com.lc.ibps.cloud.file}")
 			@RequestPart(name = "file", required = true)MultipartFile file);
 
+	@RequestMapping(value = "/sign", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+	public APIResult<AttachmentPo> uploadFileSign(
+			@NotNull(message = "{com.lc.ibps.cloud.file}")
+			@RequestPart(name = "file", required = true)MultipartFile file);
+
 
 	@RequestMapping(value = "mobile", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
 	public APIResult<AttachmentPo> uploadFileFromMobile(

+ 19 - 0
ibps-comp-root/modules/comp-file-server/src/main/java/com/lc/ibps/cloud/file/provider/UploadProvider.java

@@ -103,6 +103,25 @@ public class UploadProvider extends GenericUploadProvider implements IUploadServ
 		return upload(file, result, paramsVo);
 	}
 
+	@Override
+	public APIResult<AttachmentPo> uploadFileSign(
+			@ApiParam(name = "file", value = "需上传文件", required = true)
+			@RequestPart(name = "file", required = true)MultipartFile file) {
+		APIResult<AttachmentPo> result = new APIResult<>();
+		UploadFileVo uploadFileVo = null;
+		Map<String, Object> paramsVo;
+		if (BeanUtils.isNotEmpty(this.getRequest())){
+			String uploadFileVoStr = this.getRequest().getParameter("uploadFileVo");
+			if(JacksonUtil.isJsonObject(uploadFileVoStr)) {
+				uploadFileVo = JacksonUtil.getDTO(uploadFileVoStr, UploadFileVo.class);
+			}
+		}
+		paramsVo = getUploadParams(uploadFileVo);
+		Map<String, Object> paramsRequest = getUploadParams(this.getRequest());
+		paramsVo.putAll(paramsRequest);
+		return upload(file, result, paramsVo);
+	}
+
 	@Override
 	public APIResult<AttachmentPo> uploadFileFromMobile(
 			@ApiParam(name = "file", value = "需上传文件", required = true)

+ 82 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/api/IQRcodeService.java

@@ -0,0 +1,82 @@
+package com.lc.ibps.components.employee.api;
+
+import java.util.List;
+
+import org.hibernate.validator.constraints.NotBlank;
+import org.hibernate.validator.constraints.NotEmpty;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.lc.ibps.cloud.entity.APIPageList;
+import com.lc.ibps.cloud.entity.APIRequest;
+import com.lc.ibps.cloud.entity.APIResult;
+import javax.validation.Valid;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+
+
+
+/**
+ * 二维码表 接口
+ *
+ *<pre> 
+ * 构建组:ibps-provider-qRcode-api
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:41
+ *</pre>
+ */
+@Validated
+@RequestMapping(value = "/employee/qRcode")
+@RestController
+public interface IQRcodeService {
+
+	/**
+	 * 
+	 * 【二维码表】列表(分页条件查询)数据
+	 *
+	 * @param request
+	 * @return
+	 */
+	@RequestMapping(value = "/query", method = RequestMethod.POST)
+	public APIResult<APIPageList<QRcodePo>> query(
+			@RequestBody(required = true) APIRequest request);
+	
+	/**
+	 * 
+	 * 根据id查询【二维码表】
+	 *
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping(value = "/get", method = { RequestMethod.GET })
+	public APIResult<QRcodePo> get(
+//			@NotBlank(message = "{com.lc.ibps.components.provider.QRcodeProvider.id}") 
+			@RequestParam(name = "id", required = true) String id);
+	
+	/**
+	 * 
+	 * 批量删除【二维码表】记录
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@RequestMapping(value = "/remove", method = { RequestMethod.POST })
+	public APIResult<Void> remove(
+//			@NotEmpty(message = "{com.lc.ibps.components.provider.QRcodeProvider.ids}")
+			@RequestParam(name = "ids", required = true) String[] ids);
+	
+	/**
+	 * 
+	 * 保存【二维码表】记录
+	 *
+	 * @param qRcodePo
+	 * @return
+	 */
+	@RequestMapping(value = "/save", method = { RequestMethod.POST })
+	public APIResult<Void> save(
+ 			@RequestBody(required = true) @Valid QRcodePo qRcodePo);
+}

+ 74 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/api/ISignInformationService.java

@@ -0,0 +1,74 @@
+package com.lc.ibps.components.employee.api;
+
+import com.lc.ibps.cloud.entity.APIPageList;
+import com.lc.ibps.cloud.entity.APIRequest;
+import com.lc.ibps.cloud.entity.APIResult;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+
+
+/**
+ * 签到信息表 接口
+ *
+ *<pre> 
+ * 构建组:ibps-provider-signInformation-api
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:22:00
+ *</pre>
+ */
+@Validated
+@RequestMapping(value = "/employee/signInformation")
+@RestController
+public interface ISignInformationService {
+
+	/**
+	 * 
+	 * 【签到信息表】列表(分页条件查询)数据
+	 *
+	 * @param request
+	 * @return
+	 */
+	@RequestMapping(value = "/query", method = RequestMethod.POST)
+	public APIResult<APIPageList<SignInformationPo>> query(
+			@RequestBody(required = true) APIRequest request);
+	
+	/**
+	 * 
+	 * 根据id查询【签到信息表】
+	 *
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping(value = "/get", method = { RequestMethod.GET })
+	public APIResult<SignInformationPo> get(
+//			@NotBlank(message = "{com.lc.ibps.components.provider.SignInformationProvider.id}") 
+			@RequestParam(name = "id", required = true) String id);
+	
+	/**
+	 * 
+	 * 批量删除【签到信息表】记录
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@RequestMapping(value = "/remove", method = { RequestMethod.POST })
+	public APIResult<Void> remove(
+//			@NotEmpty(message = "{com.lc.ibps.components.provider.SignInformationProvider.ids}")
+			@RequestParam(name = "ids", required = true) String[] ids);
+	
+	/**
+	 * 
+	 * 保存【签到信息表】记录
+	 *
+	 * @param signInformationPo
+	 * @return
+	 */
+	@RequestMapping(value = "/save", method = { RequestMethod.POST })
+	public APIResult<Void> save(
+ 			@RequestBody(required = true) @Valid SignInformationPo signInformationPo);
+}

+ 64 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/domain/QRcode.java

@@ -0,0 +1,64 @@
+package com.lc.ibps.components.employee.domain;
+
+
+import javax.annotation.Resource;
+
+import org.springframework.context.annotation.Scope;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.stereotype.Service;
+
+import com.lc.ibps.base.core.util.BeanUtils;
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.framework.domain.AbstractDomain;
+import com.lc.ibps.base.framework.persistence.dao.IDao;
+import com.lc.ibps.base.framework.persistence.dao.IQueryDao;
+import com.lc.ibps.components.employee.persistence.dao.QRcodeDao;
+import com.lc.ibps.components.employee.persistence.dao.QRcodeQueryDao;
+import com.lc.ibps.components.employee.repository.QRcodeRepository;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+
+/**
+ * 二维码表 领域对象实体
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:41
+ *</pre>
+ */
+@SuppressWarnings("serial")
+@Service
+@Transactional
+@Scope("prototype")
+public class QRcode extends AbstractDomain<String, QRcodePo>{
+	
+	@Resource
+	private QRcodeDao qRcodeDao;
+	@Resource
+	private QRcodeQueryDao qRcodeQueryDao;
+	@Resource
+	private QRcodeRepository qRcodeRepository;
+
+
+	protected void init(){
+		//
+	}
+	
+	@Override
+	protected IQueryDao<String, QRcodePo> getInternalQueryDao() {
+		return qRcodeQueryDao;
+	}
+	
+	@Override
+	protected IDao<String, QRcodePo> getInternalDao() {
+		return qRcodeDao;
+	}
+	
+	@Override
+	public String getInternalCacheName() {
+		return "qRcode";
+	}
+	
+	
+	
+}

+ 61 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/domain/SignInformation.java

@@ -0,0 +1,61 @@
+package com.lc.ibps.components.employee.domain;
+
+
+import com.lc.ibps.base.framework.domain.AbstractDomain;
+import com.lc.ibps.base.framework.persistence.dao.IDao;
+import com.lc.ibps.base.framework.persistence.dao.IQueryDao;
+import com.lc.ibps.components.employee.persistence.dao.SignInformationDao;
+import com.lc.ibps.components.employee.persistence.dao.SignInformationQueryDao;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+import com.lc.ibps.components.employee.repository.SignInformationRepository;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+/**
+ * 签到信息表 领域对象实体
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:22:00
+ *</pre>
+ */
+@SuppressWarnings("serial")
+@Service
+@Transactional
+@Scope("prototype")
+public class SignInformation extends AbstractDomain<String, SignInformationPo>{
+	
+	@Resource
+	private SignInformationDao signInformationDao;
+	@Resource
+	private SignInformationQueryDao signInformationQueryDao;
+	@Resource
+	private SignInformationRepository signInformationRepository;
+
+
+	protected void init(){
+		//
+	}
+	
+	@Override
+	protected IQueryDao<String, SignInformationPo> getInternalQueryDao() {
+		return signInformationQueryDao;
+	}
+	
+	@Override
+	protected IDao<String, SignInformationPo> getInternalDao() {
+		return signInformationDao;
+	}
+	
+	@Override
+	public String getInternalCacheName() {
+		return "signInformation";
+	}
+	
+	
+	
+}

+ 16 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/QRcodeDao.java

@@ -0,0 +1,16 @@
+package com.lc.ibps.components.employee.persistence.dao;
+
+import com.lc.ibps.base.framework.persistence.dao.IDao;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+
+/**
+ * 二维码表 Dao接口
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:40
+ *</pre>
+ */
+public interface QRcodeDao extends IDao<String, QRcodePo> {
+}

+ 16 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/QRcodeQueryDao.java

@@ -0,0 +1,16 @@
+package com.lc.ibps.components.employee.persistence.dao;
+
+import com.lc.ibps.base.framework.persistence.dao.IQueryDao;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+
+/**
+ * 二维码表 查询Dao接口
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:40
+ *</pre>
+ */
+public interface QRcodeQueryDao extends IQueryDao<String, QRcodePo> {
+}

+ 16 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/SignInformationDao.java

@@ -0,0 +1,16 @@
+package com.lc.ibps.components.employee.persistence.dao;
+
+import com.lc.ibps.base.framework.persistence.dao.IDao;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+
+/**
+ * 签到信息表 Dao接口
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:21:59
+ *</pre>
+ */
+public interface SignInformationDao extends IDao<String, SignInformationPo> {
+}

+ 16 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/SignInformationQueryDao.java

@@ -0,0 +1,16 @@
+package com.lc.ibps.components.employee.persistence.dao;
+
+import com.lc.ibps.base.framework.persistence.dao.IQueryDao;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+
+/**
+ * 签到信息表 查询Dao接口
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:21:59
+ *</pre>
+ */
+public interface SignInformationQueryDao extends IQueryDao<String, SignInformationPo> {
+}

+ 26 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/impl/QRcodeDaoImpl.java

@@ -0,0 +1,26 @@
+package com.lc.ibps.components.employee.persistence.dao.impl;
+
+import org.springframework.stereotype.Repository;
+
+import com.lc.ibps.base.db.ddd.dao.MyBatisDaoImpl;
+import com.lc.ibps.components.employee.persistence.dao.QRcodeDao;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+
+/**
+ * 二维码表 Dao接口的实现类
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:40
+ *</pre>
+ */
+@SuppressWarnings("serial")
+@Repository
+public class QRcodeDaoImpl extends MyBatisDaoImpl<String, QRcodePo> implements QRcodeDao{
+
+    @Override
+    public String getNamespace() {
+        return QRcodePo.class.getName();
+    }
+}

+ 27 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/impl/QRcodeQueryDaoImpl.java

@@ -0,0 +1,27 @@
+package com.lc.ibps.components.employee.persistence.dao.impl;
+
+
+import org.springframework.stereotype.Repository;
+
+import com.lc.ibps.base.db.ddd.dao.MyBatisQueryDaoImpl;
+import com.lc.ibps.components.employee.persistence.dao.QRcodeQueryDao;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+
+/**
+ *二维码表 查询Dao的实现类
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:39
+ *</pre>
+ */
+ @SuppressWarnings("serial")
+@Repository
+public class QRcodeQueryDaoImpl extends MyBatisQueryDaoImpl<String, QRcodePo> implements QRcodeQueryDao{
+
+    @Override
+    public String getNamespace() {
+        return QRcodePo.class.getName();
+    }
+}

+ 26 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/impl/SignInformationDaoImpl.java

@@ -0,0 +1,26 @@
+package com.lc.ibps.components.employee.persistence.dao.impl;
+
+import org.springframework.stereotype.Repository;
+
+import com.lc.ibps.base.db.ddd.dao.MyBatisDaoImpl;
+import com.lc.ibps.components.employee.persistence.dao.SignInformationDao;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+
+/**
+ * 签到信息表 Dao接口的实现类
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:21:59
+ *</pre>
+ */
+@SuppressWarnings("serial")
+@Repository
+public class SignInformationDaoImpl extends MyBatisDaoImpl<String, SignInformationPo> implements SignInformationDao{
+
+    @Override
+    public String getNamespace() {
+        return SignInformationPo.class.getName();
+    }
+}

+ 27 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/dao/impl/SignInformationQueryDaoImpl.java

@@ -0,0 +1,27 @@
+package com.lc.ibps.components.employee.persistence.dao.impl;
+
+
+import org.springframework.stereotype.Repository;
+
+import com.lc.ibps.base.db.ddd.dao.MyBatisQueryDaoImpl;
+import com.lc.ibps.components.employee.persistence.dao.SignInformationQueryDao;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+
+/**
+ *签到信息表 查询Dao的实现类
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:21:58
+ *</pre>
+ */
+ @SuppressWarnings("serial")
+@Repository
+public class SignInformationQueryDaoImpl extends MyBatisQueryDaoImpl<String, SignInformationPo> implements SignInformationQueryDao{
+
+    @Override
+    public String getNamespace() {
+        return SignInformationPo.class.getName();
+    }
+}

+ 35 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/entity/QRcodePo.java

@@ -0,0 +1,35 @@
+package com.lc.ibps.components.employee.persistence.entity;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import com.lc.ibps.base.core.util.JacksonUtil;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 二维码表 实体对象
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:39
+ *</pre>
+ */
+@SuppressWarnings("serial")
+@ApiModel(value = "二维码表对象")
+public class QRcodePo extends QRcodeTbl{
+
+	public static QRcodePo fromJsonString(String data){
+		if(JacksonUtil.isNotJsonObject(data)){
+			return null;
+		}
+		return JacksonUtil.getDTO(data, QRcodePo.class);
+	}
+	
+	public static List<QRcodePo> fromJsonArrayString(String listData){
+		if(JacksonUtil.isNotJsonArray(listData)){
+			return Collections.emptyList();
+		}
+		return JacksonUtil.getDTOList(listData, QRcodePo.class);
+	}
+}

+ 205 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/entity/QRcodeTbl.java

@@ -0,0 +1,205 @@
+package com.lc.ibps.components.employee.persistence.entity;
+
+import java.util.Date;
+
+import com.lc.ibps.base.framework.persistence.entity.AbstractPo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 二维码表 表对象
+ * 
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:39
+ *</pre>
+ */
+@SuppressWarnings("serial")
+@ApiModel(value = "二维码表对象")
+public class QRcodeTbl extends AbstractPo<String>{
+	@ApiModelProperty(value = "主键")
+	protected String  id; 		/*主键*/
+	@ApiModelProperty(value = "租户ID")
+	protected String  tenantId; 		/*租户ID*/
+	@ApiModelProperty(value = "IP地址")
+	protected String  ip; 		/*IP地址*/
+	@ApiModelProperty(value = "是否过审")
+	protected String  shiFouGuoShen; 		/*是否过审*/
+	@ApiModelProperty(value = "地点")
+	protected String  diDian; 		/*地点*/
+	@ApiModelProperty(value = "编制人")
+	protected String  bianZhiRen; 		/*编制人*/
+	@ApiModelProperty(value = "编制部门")
+	protected String  bianZhiBuMen; 		/*编制部门*/
+	@ApiModelProperty(value = "编制时间")
+	protected String  bianZhiShiJian; 		/*编制时间*/
+	@ApiModelProperty(value = "快照")
+	protected String  kuaiZhao; 		/*快照*/
+	@ApiModelProperty(value = "关联ID")
+	protected String  guanLianId; 		/*关联ID*/
+	@ApiModelProperty(value = "表名")
+	protected String  biaoMing; 		/*表名*/
+	@ApiModelProperty(value = "状态")
+	protected String  zhuangTai; 		/*状态*/
+	@ApiModelProperty(value = "详细信息")
+	protected String  xiangXiXinXi; 		/*详细信息*/
+
+	public void setId(String id) 
+	{
+		this.id = id;
+	}
+	/**
+	 * 返回 主键
+	 * @return
+	 */
+	public String getId() 
+	{
+		return this.id;
+	}
+	public void setTenantId(String tenantId) 
+	{
+		this.tenantId = tenantId;
+	}
+	/**
+	 * 返回 租户ID
+	 * @return
+	 */
+	public String getTenantId() 
+	{
+		return this.tenantId;
+	}
+	public void setIp(String ip) 
+	{
+		this.ip = ip;
+	}
+	/**
+	 * 返回 IP地址
+	 * @return
+	 */
+	public String getIp() 
+	{
+		return this.ip;
+	}
+	public void setShiFouGuoShen(String shiFouGuoShen) 
+	{
+		this.shiFouGuoShen = shiFouGuoShen;
+	}
+	/**
+	 * 返回 是否过审
+	 * @return
+	 */
+	public String getShiFouGuoShen() 
+	{
+		return this.shiFouGuoShen;
+	}
+	public void setDiDian(String diDian) 
+	{
+		this.diDian = diDian;
+	}
+	/**
+	 * 返回 地点
+	 * @return
+	 */
+	public String getDiDian() 
+	{
+		return this.diDian;
+	}
+	public void setBianZhiRen(String bianZhiRen) 
+	{
+		this.bianZhiRen = bianZhiRen;
+	}
+	/**
+	 * 返回 编制人
+	 * @return
+	 */
+	public String getBianZhiRen() 
+	{
+		return this.bianZhiRen;
+	}
+	public void setBianZhiBuMen(String bianZhiBuMen) 
+	{
+		this.bianZhiBuMen = bianZhiBuMen;
+	}
+	/**
+	 * 返回 编制部门
+	 * @return
+	 */
+	public String getBianZhiBuMen() 
+	{
+		return this.bianZhiBuMen;
+	}
+	public void setBianZhiShiJian(String bianZhiShiJian) 
+	{
+		this.bianZhiShiJian = bianZhiShiJian;
+	}
+	/**
+	 * 返回 编制时间
+	 * @return
+	 */
+	public String getBianZhiShiJian() 
+	{
+		return this.bianZhiShiJian;
+	}
+	public void setKuaiZhao(String kuaiZhao) 
+	{
+		this.kuaiZhao = kuaiZhao;
+	}
+	/**
+	 * 返回 快照
+	 * @return
+	 */
+	public String getKuaiZhao() 
+	{
+		return this.kuaiZhao;
+	}
+	public void setGuanLianId(String guanLianId) 
+	{
+		this.guanLianId = guanLianId;
+	}
+	/**
+	 * 返回 关联ID
+	 * @return
+	 */
+	public String getGuanLianId() 
+	{
+		return this.guanLianId;
+	}
+	public void setBiaoMing(String biaoMing) 
+	{
+		this.biaoMing = biaoMing;
+	}
+	/**
+	 * 返回 表名
+	 * @return
+	 */
+	public String getBiaoMing() 
+	{
+		return this.biaoMing;
+	}
+	public void setZhuangTai(String zhuangTai) 
+	{
+		this.zhuangTai = zhuangTai;
+	}
+	/**
+	 * 返回 状态
+	 * @return
+	 */
+	public String getZhuangTai() 
+	{
+		return this.zhuangTai;
+	}
+	public void setXiangXiXinXi(String xiangXiXinXi) 
+	{
+		this.xiangXiXinXi = xiangXiXinXi;
+	}
+	/**
+	 * 返回 详细信息
+	 * @return
+	 */
+	public String getXiangXiXinXi() 
+	{
+		return this.xiangXiXinXi;
+	}
+	
+}

+ 35 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/entity/SignInformationPo.java

@@ -0,0 +1,35 @@
+package com.lc.ibps.components.employee.persistence.entity;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import com.lc.ibps.base.core.util.JacksonUtil;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 签到信息表 实体对象
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:21:58
+ *</pre>
+ */
+@SuppressWarnings("serial")
+@ApiModel(value = "签到信息表对象")
+public class SignInformationPo extends SignInformationTbl{
+
+	public static SignInformationPo fromJsonString(String data){
+		if(JacksonUtil.isNotJsonObject(data)){
+			return null;
+		}
+		return JacksonUtil.getDTO(data, SignInformationPo.class);
+	}
+	
+	public static List<SignInformationPo> fromJsonArrayString(String listData){
+		if(JacksonUtil.isNotJsonArray(listData)){
+			return Collections.emptyList();
+		}
+		return JacksonUtil.getDTOList(listData, SignInformationPo.class);
+	}
+}

+ 303 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/persistence/entity/SignInformationTbl.java

@@ -0,0 +1,303 @@
+package com.lc.ibps.components.employee.persistence.entity;
+
+import java.util.Date;
+
+import com.lc.ibps.base.framework.persistence.entity.AbstractPo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 签到信息表 表对象
+ * 
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:21:58
+ *</pre>
+ */
+@SuppressWarnings("serial")
+@ApiModel(value = "签到信息表对象")
+public class SignInformationTbl extends AbstractPo<String>{
+	@ApiModelProperty(value = "主键")
+	protected String  id; 		/*主键*/
+	@ApiModelProperty(value = "外键")
+	protected String  parentId; 		/*外键*/
+	@ApiModelProperty(value = "租户ID")
+	protected String  tenantId; 		/*租户ID*/
+	@ApiModelProperty(value = "IP地址")
+	protected String  ip; 		/*IP地址*/
+	@ApiModelProperty(value = "是否过审")
+	protected String  shiFouGuoShen; 		/*是否过审*/
+	@ApiModelProperty(value = "地点")
+	protected String  diDian; 		/*地点*/
+	@ApiModelProperty(value = "编制人")
+	protected String  bianZhiRen; 		/*编制人*/
+	@ApiModelProperty(value = "编制部门")
+	protected String  bianZhiBuMen; 		/*编制部门*/
+	@ApiModelProperty(value = "编制时间")
+	protected String  bianZhiShiJian; 		/*编制时间*/
+	@ApiModelProperty(value = "快照")
+	protected String  kuaiZhao; 		/*快照*/
+	@ApiModelProperty(value = "二维码ID")
+	protected String  erWeiMaId; 		/*二维码ID*/
+	@ApiModelProperty(value = "人员ID")
+	protected String  renYuanId; 		/*人员ID*/
+	@ApiModelProperty(value = "签到时间")
+	protected String  qianDaoShiJian; 		/*签到时间*/
+	@ApiModelProperty(value = "相关信息")
+	protected String  xiangGuanXinXi; 		/*相关信息*/
+	@ApiModelProperty(value = "关联ID")
+	protected String  guanLianId; 		/*关联ID*/
+	@ApiModelProperty(value = "签到类型")
+	protected String  qianDaoLeiXing; 		/*签到类型*/
+	@ApiModelProperty(value = "人员姓名")
+	protected String  renYuanXingMin; 		/*人员姓名*/
+	@ApiModelProperty(value = "外部人员签名")
+	protected String  waiBuRenYuanQ; 		/*外部人员签名*/
+	@ApiModelProperty(value = "业务表名")
+	protected String  yeWuBiaoMing; 		/*业务表名*/
+	@ApiModelProperty(value = "来源类型")
+	protected String  laiYuanLeiXing; 		/*来源类型*/
+
+	public void setId(String id) 
+	{
+		this.id = id;
+	}
+	/**
+	 * 返回 主键
+	 * @return
+	 */
+	public String getId() 
+	{
+		return this.id;
+	}
+	public void setParentId(String parentId) 
+	{
+		this.parentId = parentId;
+	}
+	/**
+	 * 返回 外键
+	 * @return
+	 */
+	public String getParentId() 
+	{
+		return this.parentId;
+	}
+	public void setTenantId(String tenantId) 
+	{
+		this.tenantId = tenantId;
+	}
+	/**
+	 * 返回 租户ID
+	 * @return
+	 */
+	public String getTenantId() 
+	{
+		return this.tenantId;
+	}
+	public void setIp(String ip) 
+	{
+		this.ip = ip;
+	}
+	/**
+	 * 返回 IP地址
+	 * @return
+	 */
+	public String getIp() 
+	{
+		return this.ip;
+	}
+	public void setShiFouGuoShen(String shiFouGuoShen) 
+	{
+		this.shiFouGuoShen = shiFouGuoShen;
+	}
+	/**
+	 * 返回 是否过审
+	 * @return
+	 */
+	public String getShiFouGuoShen() 
+	{
+		return this.shiFouGuoShen;
+	}
+	public void setDiDian(String diDian) 
+	{
+		this.diDian = diDian;
+	}
+	/**
+	 * 返回 地点
+	 * @return
+	 */
+	public String getDiDian() 
+	{
+		return this.diDian;
+	}
+	public void setBianZhiRen(String bianZhiRen) 
+	{
+		this.bianZhiRen = bianZhiRen;
+	}
+	/**
+	 * 返回 编制人
+	 * @return
+	 */
+	public String getBianZhiRen() 
+	{
+		return this.bianZhiRen;
+	}
+	public void setBianZhiBuMen(String bianZhiBuMen) 
+	{
+		this.bianZhiBuMen = bianZhiBuMen;
+	}
+	/**
+	 * 返回 编制部门
+	 * @return
+	 */
+	public String getBianZhiBuMen() 
+	{
+		return this.bianZhiBuMen;
+	}
+	public void setBianZhiShiJian(String bianZhiShiJian) 
+	{
+		this.bianZhiShiJian = bianZhiShiJian;
+	}
+	/**
+	 * 返回 编制时间
+	 * @return
+	 */
+	public String getBianZhiShiJian() 
+	{
+		return this.bianZhiShiJian;
+	}
+	public void setKuaiZhao(String kuaiZhao) 
+	{
+		this.kuaiZhao = kuaiZhao;
+	}
+	/**
+	 * 返回 快照
+	 * @return
+	 */
+	public String getKuaiZhao() 
+	{
+		return this.kuaiZhao;
+	}
+	public void setErWeiMaId(String erWeiMaId) 
+	{
+		this.erWeiMaId = erWeiMaId;
+	}
+	/**
+	 * 返回 二维码ID
+	 * @return
+	 */
+	public String getErWeiMaId() 
+	{
+		return this.erWeiMaId;
+	}
+	public void setRenYuanId(String renYuanId) 
+	{
+		this.renYuanId = renYuanId;
+	}
+	/**
+	 * 返回 人员ID
+	 * @return
+	 */
+	public String getRenYuanId() 
+	{
+		return this.renYuanId;
+	}
+	public void setQianDaoShiJian(String qianDaoShiJian) 
+	{
+		this.qianDaoShiJian = qianDaoShiJian;
+	}
+	/**
+	 * 返回 签到时间
+	 * @return
+	 */
+	public String getQianDaoShiJian() 
+	{
+		return this.qianDaoShiJian;
+	}
+	public void setXiangGuanXinXi(String xiangGuanXinXi) 
+	{
+		this.xiangGuanXinXi = xiangGuanXinXi;
+	}
+	/**
+	 * 返回 相关信息
+	 * @return
+	 */
+	public String getXiangGuanXinXi() 
+	{
+		return this.xiangGuanXinXi;
+	}
+	public void setGuanLianId(String guanLianId) 
+	{
+		this.guanLianId = guanLianId;
+	}
+	/**
+	 * 返回 关联ID
+	 * @return
+	 */
+	public String getGuanLianId() 
+	{
+		return this.guanLianId;
+	}
+	public void setQianDaoLeiXing(String qianDaoLeiXing) 
+	{
+		this.qianDaoLeiXing = qianDaoLeiXing;
+	}
+	/**
+	 * 返回 签到类型
+	 * @return
+	 */
+	public String getQianDaoLeiXing() 
+	{
+		return this.qianDaoLeiXing;
+	}
+	public void setRenYuanXingMin(String renYuanXingMin) 
+	{
+		this.renYuanXingMin = renYuanXingMin;
+	}
+	/**
+	 * 返回 人员姓名
+	 * @return
+	 */
+	public String getRenYuanXingMin() 
+	{
+		return this.renYuanXingMin;
+	}
+	public void setWaiBuRenYuanQ(String waiBuRenYuanQ) 
+	{
+		this.waiBuRenYuanQ = waiBuRenYuanQ;
+	}
+	/**
+	 * 返回 外部人员签名
+	 * @return
+	 */
+	public String getWaiBuRenYuanQ() 
+	{
+		return this.waiBuRenYuanQ;
+	}
+	public void setYeWuBiaoMing(String yeWuBiaoMing) 
+	{
+		this.yeWuBiaoMing = yeWuBiaoMing;
+	}
+	/**
+	 * 返回 业务表名
+	 * @return
+	 */
+	public String getYeWuBiaoMing() 
+	{
+		return this.yeWuBiaoMing;
+	}
+	public void setLaiYuanLeiXing(String laiYuanLeiXing) 
+	{
+		this.laiYuanLeiXing = laiYuanLeiXing;
+	}
+	/**
+	 * 返回 来源类型
+	 * @return
+	 */
+	public String getLaiYuanLeiXing() 
+	{
+		return this.laiYuanLeiXing;
+	}
+	
+}

+ 123 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/provider/QRcodeProvider.java

@@ -0,0 +1,123 @@
+package com.lc.ibps.components.employee.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import com.lc.ibps.api.base.constants.StateEnum;
+import com.lc.ibps.api.base.query.QueryFilter;
+import com.lc.ibps.base.core.constants.StringPool;
+import com.lc.ibps.base.core.util.BeanUtils;
+import com.lc.ibps.cloud.entity.APIPageList;
+import com.lc.ibps.cloud.entity.APIRequest;
+import com.lc.ibps.cloud.entity.APIResult;
+import com.lc.ibps.cloud.provider.GenericProvider;
+import com.lc.ibps.components.employee.api.IQRcodeService;
+import com.lc.ibps.components.employee.domain.QRcode;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+import com.lc.ibps.components.employee.repository.QRcodeRepository;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.Extension;
+import io.swagger.annotations.ExtensionProperty;
+
+/**
+ * 二维码表 服务类
+ * <pre>
+ * 构建组:ibps-provider-qRcode
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:42
+ *</pre>
+ */
+@Api(tags = "二维码表管理", value = "二维码表数据")
+@Service
+public class QRcodeProvider extends GenericProvider implements IQRcodeService{
+
+	@Resource
+	private QRcodeRepository qRcodeRepository;
+
+	@ApiOperation(value = "二维码表列表(分页条件查询)数据", notes = "二维码表列表(分页条件查询)数据")
+	@Override
+	public APIResult<APIPageList<QRcodePo>> query(
+			@ApiParam(name = "request", value = "传入查询请求json字符串", required = true) 
+			@RequestBody(required = true) APIRequest request) {
+		APIResult<APIPageList<QRcodePo>> result = new APIResult<>();
+		try {
+			QueryFilter queryFilter = getQueryFilter(request);
+			List<QRcodePo> data = qRcodeRepository.query(queryFilter);
+			APIPageList<QRcodePo> apiPageData = getAPIPageList(data);
+			result.setData(apiPageData);
+		} catch (Exception e) {
+			// TODO ERROR => other error message
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+		}
+		return result;
+	}
+
+	@ApiOperation(value = "根据id查询二维码表", notes = "根据id查询二维码表")
+	@Override
+	public APIResult<QRcodePo> get(
+			@ApiParam(name = "id", value = "查询id", required = true) 
+			@RequestParam(name = "id", required = true) String id) {
+		APIResult<QRcodePo> result = new APIResult<>();
+		try {
+			QRcodePo qRcodePo = qRcodeRepository.get(id);
+			result.setData(qRcodePo);
+		} catch (Exception e) {
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+		}
+		return result;
+	}
+	
+	@ApiOperation(value = "保存", notes = "保存二维码表信息", 
+			extensions = {
+					@Extension(properties = {
+							@ExtensionProperty(name = "submitCtrl", value = StringPool.Y)
+					})
+			})
+	@Override
+	public APIResult<Void> save(
+			@ApiParam(name = "qRcodePo", value = "二维码表对象", required = true)  
+			@RequestBody(required = true) QRcodePo qRcodePo) {
+		APIResult<Void> result = new APIResult<Void>();
+		try {
+			logger.info(" com.lc.ibps.components.provider.QRcodeProvider.save()--->qRcodePo: {}", qRcodePo.toString());
+			QRcode domain = qRcodeRepository.newInstance(qRcodePo);
+			domain.save();
+			result.setMessage("保存二维码表成功");
+		} catch (Exception e) {
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+		}
+		return result;
+	}
+
+	@ApiOperation(value = "删除", notes = "删除二维码表", 
+			extensions = {
+					@Extension(properties = {
+							@ExtensionProperty(name = "submitCtrl", value = StringPool.Y)
+					})
+			})
+	@Override
+	public APIResult<Void> remove(
+			@ApiParam(name = "ids", value = "二维码表ID数组", required = true)  
+			@RequestParam(name = "ids", required = true) String[] ids) {
+		APIResult<Void> result = new APIResult<Void>();
+		try {
+			QRcode domain = qRcodeRepository.newInstance();
+			domain.deleteByIds(ids);
+			result.setMessage("删除二维码表成功");
+		} catch (Exception e) {
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+		}
+		return result;
+	}
+	
+}

+ 156 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/provider/SignInformationProvider.java

@@ -0,0 +1,156 @@
+package com.lc.ibps.components.employee.provider;
+
+import com.lc.ibps.api.base.constants.StateEnum;
+import com.lc.ibps.api.base.query.QueryFilter;
+import com.lc.ibps.base.core.constants.StringPool;
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.core.util.BeanUtils;
+import com.lc.ibps.base.saas.token.ITenantTokenService;
+import com.lc.ibps.base.web.context.ContextUtil;
+import com.lc.ibps.cloud.entity.APIPageList;
+import com.lc.ibps.cloud.entity.APIRequest;
+import com.lc.ibps.cloud.entity.APIResult;
+import com.lc.ibps.cloud.provider.GenericProvider;
+import com.lc.ibps.common.file.persistence.entity.AttachmentPo;
+import com.lc.ibps.components.employee.api.ISignInformationService;
+import com.lc.ibps.components.employee.domain.SignInformation;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+import com.lc.ibps.components.employee.repository.SignInformationRepository;
+import com.lc.ibps.file.server.api.IUploadService;
+import io.swagger.annotations.*;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Base64;
+import java.util.List;
+
+/**
+ * 签到信息表 服务类
+ * <pre>
+ * 构建组:ibps-provider-signInformation
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:22:01
+ *</pre>
+ */
+@Api(tags = "签到信息表管理", value = "签到信息表数据")
+@Service
+public class SignInformationProvider extends GenericProvider implements ISignInformationService{
+
+	@Resource
+	private SignInformationRepository signInformationRepository;
+
+	@ApiOperation(value = "签到信息表列表(分页条件查询)数据", notes = "签到信息表列表(分页条件查询)数据")
+	@Override
+	public APIResult<APIPageList<SignInformationPo>> query(
+			@ApiParam(name = "request", value = "传入查询请求json字符串", required = true) 
+			@RequestBody(required = true) APIRequest request) {
+		APIResult<APIPageList<SignInformationPo>> result = new APIResult<>();
+		try {
+			QueryFilter queryFilter = getQueryFilter(request);
+			List<SignInformationPo> data = signInformationRepository.query(queryFilter);
+			APIPageList<SignInformationPo> apiPageData = getAPIPageList(data);
+			result.setData(apiPageData);
+		} catch (Exception e) {
+			// TODO ERROR => other error message
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+		}
+		return result;
+	}
+
+	@ApiOperation(value = "根据id查询签到信息表", notes = "根据id查询签到信息表")
+	@Override
+	public APIResult<SignInformationPo> get(
+			@ApiParam(name = "id", value = "查询id", required = true) 
+			@RequestParam(name = "id", required = true) String id) {
+		APIResult<SignInformationPo> result = new APIResult<>();
+		try {
+			SignInformationPo signInformationPo = signInformationRepository.get(id);
+			result.setData(signInformationPo);
+		} catch (Exception e) {
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+		}
+		return result;
+	}
+	
+	@ApiOperation(value = "保存", notes = "保存签到信息表信息", 
+			extensions = {
+					@Extension(properties = {
+							@ExtensionProperty(name = "submitCtrl", value = StringPool.Y)
+					})
+			})
+	@Override
+	public APIResult<Void> save(
+			@ApiParam(name = "signInformationPo", value = "签到信息表对象", required = true)  
+			@RequestBody(required = true) SignInformationPo signInformationPo) {
+		APIResult<Void> result = new APIResult<Void>();
+		try {
+			logger.info(" com.lc.ibps.components.provider.SignInformationProvider.save()--->signInformationPo: {}", signInformationPo.toString());
+			SignInformation domain = signInformationRepository.newInstance(signInformationPo);
+			if (BeanUtils.isNotEmpty(signInformationPo.getWaiBuRenYuanQ()) && BeanUtils.isNotEmpty(signInformationPo.getRenYuanXingMin())){
+				IUploadService uploadService = AppUtil.getBean(IUploadService.class);
+				String base64 = signInformationPo.getWaiBuRenYuanQ();
+				String fileName = signInformationPo.getRenYuanXingMin()+".png";
+				MultipartFile multipartFile = convertBase64ToMultipartFile(base64,fileName);
+//				if (StringUtils.isBlank(ContextUtil.getCurrentAccessToken())) {
+//					ITenantTokenService tenantTokenService = AppUtil.getBean(ITenantTokenService.class);
+//					String accessToken = tenantTokenService.getAccessToken();
+//					ContextUtil.setCurrentAccessToken(accessToken);
+//				}
+				APIResult<AttachmentPo> apiResult = uploadService.uploadFileSign(multipartFile);
+				signInformationPo.setKuaiZhao(apiResult.getData().getId());
+			}
+			domain.save();
+			result.setMessage("保存签到信息表成功");
+		} catch (Exception e) {
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+		}
+		return result;
+	}
+
+	public static MultipartFile convertBase64ToMultipartFile(String base64String,String fileName) throws IOException {
+		byte[] imageBytes = Base64.getDecoder().decode(base64String.split(",")[1]);
+		return new MockMultipartFile("file", fileName, "image/png", imageBytes);
+	}
+
+	private static InputStream convertBase64ToInputStream(String base64String) {
+		if (base64String.contains(",")) {
+			base64String = base64String.substring(base64String.indexOf(",") + 1);
+		}
+		byte[] imageBytes = Base64.getDecoder().decode(base64String);
+		return new ByteArrayInputStream(imageBytes);
+	}
+
+	@ApiOperation(value = "删除", notes = "删除签到信息表", 
+			extensions = {
+					@Extension(properties = {
+							@ExtensionProperty(name = "submitCtrl", value = StringPool.Y)
+					})
+			})
+	@Override
+	public APIResult<Void> remove(
+			@ApiParam(name = "ids", value = "签到信息表ID数组", required = true)  
+			@RequestParam(name = "ids", required = true) String[] ids) {
+		APIResult<Void> result = new APIResult<Void>();
+		try {
+			SignInformation domain = signInformationRepository.newInstance();
+			domain.deleteByIds(ids);
+			result.setMessage("删除签到信息表成功");
+		} catch (Exception e) {
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+		}
+		return result;
+	}
+	
+}

+ 18 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/repository/QRcodeRepository.java

@@ -0,0 +1,18 @@
+package com.lc.ibps.components.employee.repository;
+
+import com.lc.ibps.base.framework.repository.IRepository;
+import com.lc.ibps.components.employee.domain.QRcode;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+
+/**
+ * 二维码表 仓库接口
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:40
+ *</pre>
+ */
+public interface QRcodeRepository extends IRepository<String, QRcodePo,QRcode>{
+
+}

+ 18 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/repository/SignInformationRepository.java

@@ -0,0 +1,18 @@
+package com.lc.ibps.components.employee.repository;
+
+import com.lc.ibps.base.framework.repository.IRepository;
+import com.lc.ibps.components.employee.domain.SignInformation;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+
+/**
+ * 签到信息表 仓库接口
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:21:59
+ *</pre>
+ */
+public interface SignInformationRepository extends IRepository<String, SignInformationPo,SignInformation>{
+
+}

+ 56 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/repository/impl/QRcodeRepositoryImpl.java

@@ -0,0 +1,56 @@
+package com.lc.ibps.components.employee.repository.impl;
+
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Repository;
+
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.framework.persistence.dao.IQueryDao;
+import com.lc.ibps.base.framework.repository.AbstractRepository;
+import com.lc.ibps.components.employee.domain.QRcode;
+import com.lc.ibps.components.employee.repository.QRcodeRepository;
+import com.lc.ibps.components.employee.persistence.dao.QRcodeQueryDao;
+import com.lc.ibps.components.employee.persistence.entity.QRcodePo;
+
+/**
+ * 二维码表 仓库的实现类
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:37:40
+ *</pre>
+ */
+@Repository
+public class QRcodeRepositoryImpl extends AbstractRepository<String, QRcodePo,QRcode> implements QRcodeRepository{
+	  
+	@Resource
+	private  QRcodeQueryDao qRcodeQueryDao;
+
+	public QRcode newInstance() {
+		QRcodePo po = new QRcodePo();
+		QRcode qRcode = AppUtil.getBean(QRcode.class);
+		qRcode.setData(po);
+		return qRcode;
+	}
+
+	public QRcode newInstance(QRcodePo po) {
+		QRcode qRcode = AppUtil.getBean(QRcode.class);
+		qRcode.setData(po);
+		return qRcode;
+	} 
+	
+	@Override
+	protected IQueryDao<String, QRcodePo> getQueryDao() {
+		return qRcodeQueryDao;
+	}
+	
+	@Override
+	public String getInternalCacheName() {
+		return "qRcode";
+	}
+	
+
+	
+}

+ 56 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/employee/repository/impl/SignInformationRepositoryImpl.java

@@ -0,0 +1,56 @@
+package com.lc.ibps.components.employee.repository.impl;
+
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Repository;
+
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.framework.persistence.dao.IQueryDao;
+import com.lc.ibps.base.framework.repository.AbstractRepository;
+import com.lc.ibps.components.employee.domain.SignInformation;
+import com.lc.ibps.components.employee.repository.SignInformationRepository;
+import com.lc.ibps.components.employee.persistence.dao.SignInformationQueryDao;
+import com.lc.ibps.components.employee.persistence.entity.SignInformationPo;
+
+/**
+ * 签到信息表 仓库的实现类
+ *
+ *<pre> 
+ * 开发公司:深圳市金源信通科技有限公司
+ * 开发人员:codegen
+ * 创建时间:2024-09-19 16:21:59
+ *</pre>
+ */
+@Repository
+public class SignInformationRepositoryImpl extends AbstractRepository<String, SignInformationPo,SignInformation> implements SignInformationRepository{
+	  
+	@Resource
+	private  SignInformationQueryDao signInformationQueryDao;
+
+	public SignInformation newInstance() {
+		SignInformationPo po = new SignInformationPo();
+		SignInformation signInformation = AppUtil.getBean(SignInformation.class);
+		signInformation.setData(po);
+		return signInformation;
+	}
+
+	public SignInformation newInstance(SignInformationPo po) {
+		SignInformation signInformation = AppUtil.getBean(SignInformation.class);
+		signInformation.setData(po);
+		return signInformation;
+	} 
+	
+	@Override
+	protected IQueryDao<String, SignInformationPo> getQueryDao() {
+		return signInformationQueryDao;
+	}
+	
+	@Override
+	public String getInternalCacheName() {
+		return "signInformation";
+	}
+	
+
+	
+}

+ 102 - 0
ibps-provider-root/modules/provider-business/src/main/resources/com/lc/ibps/employee/persistence/mapping/QRcode.map.xml

@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lc.ibps.components.employee.persistence.entity.QRcodePo">
+	<!--<cache type="net.oschina.j2cache.mybatis.J2CacheAdapter"/>-->
+	<resultMap id="QRcodePo" type="com.lc.ibps.components.employee.persistence.entity.QRcodePo">
+		<id property="id" column="ID_" jdbcType="VARCHAR"/>
+		<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR"/>
+		<result property="ip" column="IP_" jdbcType="VARCHAR"/>
+		<result property="createBy" column="CREATE_BY_" jdbcType="VARCHAR"/>
+		<result property="createTime" column="CREATE_TIME_" jdbcType="TIMESTAMP"/>
+		<result property="updateBy" column="UPDATE_BY_" jdbcType="VARCHAR"/>
+		<result property="updateTime" column="UPDATE_TIME_" jdbcType="TIMESTAMP"/>
+		<result property="shiFouGuoShen" column="SHI_FOU_GUO_SHEN_" jdbcType="VARCHAR"/>
+		<result property="diDian" column="DI_DIAN_" jdbcType="VARCHAR"/>
+		<result property="bianZhiRen" column="BIAN_ZHI_REN_" jdbcType="VARCHAR"/>
+		<result property="bianZhiBuMen" column="BIAN_ZHI_BU_MEN_" jdbcType="VARCHAR"/>
+		<result property="bianZhiShiJian" column="BIAN_ZHI_SHI_JIAN" jdbcType="VARCHAR"/>
+		<result property="kuaiZhao" column="KUAI_ZHAO_" jdbcType="VARCHAR"/>
+		<result property="guanLianId" column="GUAN_LIAN_ID_" jdbcType="BLOB"/>
+		<result property="biaoMing" column="BIAO_MING_" jdbcType="VARCHAR"/>
+		<result property="zhuangTai" column="ZHUANG_TAI_" jdbcType="VARCHAR"/>
+		<result property="xiangXiXinXi" column="XIANG_XI_XIN_XI_" jdbcType="BLOB"/>
+	</resultMap>
+	
+	<sql id="columns">
+		ID_,TENANT_ID_,IP_,CREATE_BY_,CREATE_TIME_,UPDATE_BY_,UPDATE_TIME_,SHI_FOU_GUO_SHEN_,DI_DIAN_,BIAN_ZHI_REN_,BIAN_ZHI_BU_MEN_,BIAN_ZHI_SHI_JIAN,KUAI_ZHAO_,GUAN_LIAN_ID_,BIAO_MING_,ZHUANG_TAI_,XIANG_XI_XIN_XI_
+	</sql>
+	
+	<insert id="create" parameterType="com.lc.ibps.components.employee.persistence.entity.QRcodePo">
+		INSERT INTO T_QRCODEB
+		(<include refid="columns"/>)
+		VALUES 
+		(#{id,jdbcType=VARCHAR}, #{tenantId,jdbcType=VARCHAR}, #{ip,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{shiFouGuoShen,jdbcType=VARCHAR}, #{diDian,jdbcType=VARCHAR}, #{bianZhiRen,jdbcType=VARCHAR}, #{bianZhiBuMen,jdbcType=VARCHAR}, #{bianZhiShiJian,jdbcType=VARCHAR}, #{kuaiZhao,jdbcType=VARCHAR}, #{guanLianId,jdbcType=BLOB}, #{biaoMing,jdbcType=VARCHAR}, #{zhuangTai,jdbcType=VARCHAR}, #{xiangXiXinXi,jdbcType=BLOB})
+	</insert>
+	
+	<select id="get" parameterType="java.lang.String" resultMap="QRcodePo">
+		SELECT <include refid="columns"/> FROM T_QRCODEB 
+		WHERE 
+		ID_=#{id}
+	</select>
+	
+	
+	<sql id="querySql" >
+		SELECT <include refid="columns"/> FROM T_QRCODEB
+		<where>
+			<if test="@o.Ognl@isNotEmpty(whereSql)">
+				${whereSql}
+			</if>
+		</where>
+		<if test="@o.Ognl@isNotEmpty(orderBySql)">
+			ORDER BY ${orderBySql}
+		</if>
+		<if test="@o.Ognl@isEmpty(orderBySql)">
+			ORDER BY ID_ DESC
+		</if>
+	</sql>
+	
+	<select id="query" parameterType="java.util.Map" resultMap="QRcodePo">
+		<include refid="querySql"/>
+	</select>
+	
+	<select id="queryIds" parameterType="java.util.Map" resultMap="QRcodePo">
+		SELECT ID_ FROM (<include refid="querySql"/>) T
+	</select>
+	
+	<select id="findByIds" resultMap="QRcodePo">
+		SELECT <include refid="columns"/> FROM T_QRCODEB
+			WHERE ID_ in 
+			<foreach item="id" index="index" collection="ids" open="(" separator="," close=")">  
+				#{id}  
+			</foreach>  		
+			ORDER BY ID_ DESC			
+	</select>	
+	
+	<update id="update" parameterType="com.lc.ibps.components.employee.persistence.entity.QRcodePo">
+		UPDATE T_QRCODEB SET
+		TENANT_ID_=#{tenantId,jdbcType=VARCHAR},
+		IP_=#{ip,jdbcType=VARCHAR},
+		UPDATE_BY_=#{updateBy,jdbcType=VARCHAR},
+		UPDATE_TIME_=#{updateTime,jdbcType=TIMESTAMP},
+		SHI_FOU_GUO_SHEN_=#{shiFouGuoShen,jdbcType=VARCHAR},
+		DI_DIAN_=#{diDian,jdbcType=VARCHAR},
+		BIAN_ZHI_REN_=#{bianZhiRen,jdbcType=VARCHAR},
+		BIAN_ZHI_BU_MEN_=#{bianZhiBuMen,jdbcType=VARCHAR},
+		BIAN_ZHI_SHI_JIAN=#{bianZhiShiJian,jdbcType=VARCHAR},
+		KUAI_ZHAO_=#{kuaiZhao,jdbcType=VARCHAR},
+		GUAN_LIAN_ID_=#{guanLianId,jdbcType=BLOB},
+		BIAO_MING_=#{biaoMing,jdbcType=VARCHAR},
+		ZHUANG_TAI_=#{zhuangTai,jdbcType=VARCHAR},
+		XIANG_XI_XIN_XI_=#{xiangXiXinXi,jdbcType=BLOB}
+		WHERE
+		ID_=#{id}
+	</update>
+	
+	<delete id="remove" parameterType="java.lang.String">
+		DELETE FROM T_QRCODEB 
+		WHERE
+		ID_=#{id}
+	</delete>
+	
+	
+</mapper>

+ 116 - 0
ibps-provider-root/modules/provider-business/src/main/resources/com/lc/ibps/employee/persistence/mapping/SignInformation.map.xml

@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lc.ibps.components.employee.persistence.entity.SignInformationPo">
+	<!--<cache type="net.oschina.j2cache.mybatis.J2CacheAdapter"/>-->
+	<resultMap id="SignInformationPo" type="com.lc.ibps.components.employee.persistence.entity.SignInformationPo">
+		<id property="id" column="ID_" jdbcType="VARCHAR"/>
+		<result property="parentId" column="PARENT_ID_" jdbcType="VARCHAR"/>
+		<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR"/>
+		<result property="ip" column="IP_" jdbcType="VARCHAR"/>
+		<result property="createBy" column="CREATE_BY_" jdbcType="VARCHAR"/>
+		<result property="createTime" column="CREATE_TIME_" jdbcType="TIMESTAMP"/>
+		<result property="updateBy" column="UPDATE_BY_" jdbcType="VARCHAR"/>
+		<result property="updateTime" column="UPDATE_TIME_" jdbcType="TIMESTAMP"/>
+		<result property="shiFouGuoShen" column="SHI_FOU_GUO_SHEN_" jdbcType="VARCHAR"/>
+		<result property="diDian" column="DI_DIAN_" jdbcType="VARCHAR"/>
+		<result property="bianZhiRen" column="BIAN_ZHI_REN_" jdbcType="VARCHAR"/>
+		<result property="bianZhiBuMen" column="BIAN_ZHI_BU_MEN_" jdbcType="VARCHAR"/>
+		<result property="bianZhiShiJian" column="BIAN_ZHI_SHI_JIAN" jdbcType="VARCHAR"/>
+		<result property="kuaiZhao" column="KUAI_ZHAO_" jdbcType="VARCHAR"/>
+		<result property="erWeiMaId" column="ER_WEI_MA_ID_" jdbcType="VARCHAR"/>
+		<result property="renYuanId" column="REN_YUAN_ID_" jdbcType="VARCHAR"/>
+		<result property="qianDaoShiJian" column="QIAN_DAO_SHI_JIAN" jdbcType="VARCHAR"/>
+		<result property="xiangGuanXinXi" column="XIANG_GUAN_XIN_XI" jdbcType="BLOB"/>
+		<result property="guanLianId" column="GUAN_LIAN_ID_" jdbcType="VARCHAR"/>
+		<result property="qianDaoLeiXing" column="QIAN_DAO_LEI_XING" jdbcType="VARCHAR"/>
+		<result property="renYuanXingMin" column="REN_YUAN_XING_MIN" jdbcType="VARCHAR"/>
+		<result property="waiBuRenYuanQ" column="WAI_BU_REN_YUAN_Q" jdbcType="BLOB"/>
+		<result property="yeWuBiaoMing" column="YE_WU_BIAO_MING_" jdbcType="VARCHAR"/>
+		<result property="laiYuanLeiXing" column="LAI_YUAN_LEI_XING" jdbcType="VARCHAR"/>
+	</resultMap>
+	
+	<sql id="columns">
+		ID_,PARENT_ID_,TENANT_ID_,IP_,CREATE_BY_,CREATE_TIME_,UPDATE_BY_,UPDATE_TIME_,SHI_FOU_GUO_SHEN_,DI_DIAN_,BIAN_ZHI_REN_,BIAN_ZHI_BU_MEN_,BIAN_ZHI_SHI_JIAN,KUAI_ZHAO_,ER_WEI_MA_ID_,REN_YUAN_ID_,QIAN_DAO_SHI_JIAN,XIANG_GUAN_XIN_XI,GUAN_LIAN_ID_,QIAN_DAO_LEI_XING,REN_YUAN_XING_MIN,WAI_BU_REN_YUAN_Q,YE_WU_BIAO_MING_,LAI_YUAN_LEI_XING
+	</sql>
+	
+	<insert id="create" parameterType="com.lc.ibps.components.employee.persistence.entity.SignInformationPo">
+		INSERT INTO T_QDXXB
+		(<include refid="columns"/>)
+		VALUES 
+		(#{id,jdbcType=VARCHAR}, #{parentId,jdbcType=VARCHAR}, #{tenantId,jdbcType=VARCHAR}, #{ip,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{shiFouGuoShen,jdbcType=VARCHAR}, #{diDian,jdbcType=VARCHAR}, #{bianZhiRen,jdbcType=VARCHAR}, #{bianZhiBuMen,jdbcType=VARCHAR}, #{bianZhiShiJian,jdbcType=VARCHAR}, #{kuaiZhao,jdbcType=VARCHAR}, #{erWeiMaId,jdbcType=VARCHAR}, #{renYuanId,jdbcType=VARCHAR}, #{qianDaoShiJian,jdbcType=VARCHAR}, #{xiangGuanXinXi,jdbcType=BLOB}, #{guanLianId,jdbcType=VARCHAR}, #{qianDaoLeiXing,jdbcType=VARCHAR}, #{renYuanXingMin,jdbcType=VARCHAR}, #{waiBuRenYuanQ,jdbcType=BLOB}, #{yeWuBiaoMing,jdbcType=VARCHAR}, #{laiYuanLeiXing,jdbcType=VARCHAR})
+	</insert>
+	
+	<select id="get" parameterType="java.lang.String" resultMap="SignInformationPo">
+		SELECT <include refid="columns"/> FROM T_QDXXB 
+		WHERE 
+		ID_=#{id}
+	</select>
+	
+	
+	<sql id="querySql" >
+		SELECT <include refid="columns"/> FROM T_QDXXB
+		<where>
+			<if test="@o.Ognl@isNotEmpty(whereSql)">
+				${whereSql}
+			</if>
+		</where>
+		<if test="@o.Ognl@isNotEmpty(orderBySql)">
+			ORDER BY ${orderBySql}
+		</if>
+		<if test="@o.Ognl@isEmpty(orderBySql)">
+			ORDER BY ID_ DESC
+		</if>
+	</sql>
+	
+	<select id="query" parameterType="java.util.Map" resultMap="SignInformationPo">
+		<include refid="querySql"/>
+	</select>
+	
+	<select id="queryIds" parameterType="java.util.Map" resultMap="SignInformationPo">
+		SELECT ID_ FROM (<include refid="querySql"/>) T
+	</select>
+	
+	<select id="findByIds" resultMap="SignInformationPo">
+		SELECT <include refid="columns"/> FROM T_QDXXB
+			WHERE ID_ in 
+			<foreach item="id" index="index" collection="ids" open="(" separator="," close=")">  
+				#{id}  
+			</foreach>  		
+			ORDER BY ID_ DESC			
+	</select>	
+	
+	<update id="update" parameterType="com.lc.ibps.components.employee.persistence.entity.SignInformationPo">
+		UPDATE T_QDXXB SET
+		PARENT_ID_=#{parentId,jdbcType=VARCHAR},
+		TENANT_ID_=#{tenantId,jdbcType=VARCHAR},
+		IP_=#{ip,jdbcType=VARCHAR},
+		UPDATE_BY_=#{updateBy,jdbcType=VARCHAR},
+		UPDATE_TIME_=#{updateTime,jdbcType=TIMESTAMP},
+		SHI_FOU_GUO_SHEN_=#{shiFouGuoShen,jdbcType=VARCHAR},
+		DI_DIAN_=#{diDian,jdbcType=VARCHAR},
+		BIAN_ZHI_REN_=#{bianZhiRen,jdbcType=VARCHAR},
+		BIAN_ZHI_BU_MEN_=#{bianZhiBuMen,jdbcType=VARCHAR},
+		BIAN_ZHI_SHI_JIAN=#{bianZhiShiJian,jdbcType=VARCHAR},
+		KUAI_ZHAO_=#{kuaiZhao,jdbcType=VARCHAR},
+		ER_WEI_MA_ID_=#{erWeiMaId,jdbcType=VARCHAR},
+		REN_YUAN_ID_=#{renYuanId,jdbcType=VARCHAR},
+		QIAN_DAO_SHI_JIAN=#{qianDaoShiJian,jdbcType=VARCHAR},
+		XIANG_GUAN_XIN_XI=#{xiangGuanXinXi,jdbcType=BLOB},
+		GUAN_LIAN_ID_=#{guanLianId,jdbcType=VARCHAR},
+		QIAN_DAO_LEI_XING=#{qianDaoLeiXing,jdbcType=VARCHAR},
+		REN_YUAN_XING_MIN=#{renYuanXingMin,jdbcType=VARCHAR},
+		WAI_BU_REN_YUAN_Q=#{waiBuRenYuanQ,jdbcType=BLOB},
+		YE_WU_BIAO_MING_=#{yeWuBiaoMing,jdbcType=VARCHAR},
+		LAI_YUAN_LEI_XING=#{laiYuanLeiXing,jdbcType=VARCHAR}
+		WHERE
+		ID_=#{id}
+	</update>
+	
+	<delete id="remove" parameterType="java.lang.String">
+		DELETE FROM T_QDXXB 
+		WHERE
+		ID_=#{id}
+	</delete>
+	
+	
+</mapper>