|
|
@@ -0,0 +1,133 @@
|
|
|
+package com.zksy.system.basicData.service.impl;
|
|
|
+
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.zksy.common.core.controller.BaseControllerInterface;
|
|
|
+import com.zksy.common.core.domain.AjaxResult;
|
|
|
+import com.zksy.system.constant.InventoryReviewConstant;
|
|
|
+import com.zksy.system.domain.SysInventoryReview;
|
|
|
+import com.zksy.system.basicData.mapper.SysInventoryReviewMapper;
|
|
|
+import com.zksy.system.basicData.service.HandleRequestLicenseService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.context.ApplicationContext;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Service
|
|
|
+@Transactional
|
|
|
+public class HandleRequestLicenseServiceImpl implements HandleRequestLicenseService {
|
|
|
+ @Autowired
|
|
|
+ private ApplicationContext applicationContext;
|
|
|
+ @Autowired
|
|
|
+ private SysInventoryReviewMapper sysInventoryReviewMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void requestDelete(String beanName, String tableName, List<String> ids, String username) {
|
|
|
+ LambdaQueryWrapper<SysInventoryReview> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SysInventoryReview::getAuditStatus, 0);
|
|
|
+ wrapper.eq(SysInventoryReview::getTableName, tableName);
|
|
|
+ wrapper.like(SysInventoryReview::getBusinessType, InventoryReviewConstant.DELETE_ONE_ROW);
|
|
|
+ if (!sysInventoryReviewMapper.selectList(wrapper).isEmpty()) {
|
|
|
+ throw new RuntimeException("存在未审批的删除申请,请先通过审批");
|
|
|
+ }
|
|
|
+ SysInventoryReview sysInventoryReview = new SysInventoryReview();
|
|
|
+ sysInventoryReview.setAuditStatus(0);
|
|
|
+ sysInventoryReview.setBusinessType(InventoryReviewConstant.DELETE_ONE_ROW);
|
|
|
+ sysInventoryReview.setOperationContent(String.join(",", ids));
|
|
|
+ sysInventoryReview.setTableName(tableName);
|
|
|
+ sysInventoryReview.setUserName(username);
|
|
|
+ sysInventoryReview.setCreateBy(username);
|
|
|
+ sysInventoryReview.setBeanName(beanName);
|
|
|
+ sysInventoryReview.setCreateTime(LocalDateTime.now());
|
|
|
+ sysInventoryReview.setUpdateTime(LocalDateTime.now());
|
|
|
+ sysInventoryReviewMapper.insert(sysInventoryReview);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult deleteExec(String beanName, List<String> ids) {
|
|
|
+ BaseControllerInterface bean = (BaseControllerInterface) applicationContext.getBean(beanName);
|
|
|
+ AjaxResult result = bean.delete(ids);
|
|
|
+ if ((int) result.get("code") != 200) {
|
|
|
+ throw new RuntimeException("删除失败");
|
|
|
+ }
|
|
|
+ return AjaxResult.success("删除成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void requestDeleteAll(String beanName, String tableName, String username) {
|
|
|
+ LambdaQueryWrapper<SysInventoryReview> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SysInventoryReview::getAuditStatus, 0);
|
|
|
+ wrapper.eq(SysInventoryReview::getTableName, tableName);
|
|
|
+ wrapper.like(SysInventoryReview::getBusinessType, InventoryReviewConstant.DELETE_ONE_ROW);
|
|
|
+ if (!sysInventoryReviewMapper.selectList(wrapper).isEmpty()) {
|
|
|
+ throw new RuntimeException("存在未审批的删除申请,请先通过审批");
|
|
|
+ }
|
|
|
+ SysInventoryReview sysInventoryReview = new SysInventoryReview();
|
|
|
+ sysInventoryReview.setAuditStatus(0);
|
|
|
+ sysInventoryReview.setBusinessType(InventoryReviewConstant.DELETE_WHOLE_TABLE);
|
|
|
+ sysInventoryReview.setTableName(tableName);
|
|
|
+ sysInventoryReview.setUserName(username);
|
|
|
+ sysInventoryReview.setCreateBy(username);
|
|
|
+ sysInventoryReview.setBeanName(beanName);
|
|
|
+ sysInventoryReview.setCreateTime(LocalDateTime.now());
|
|
|
+ sysInventoryReview.setUpdateTime(LocalDateTime.now());
|
|
|
+ sysInventoryReviewMapper.insert(sysInventoryReview);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult deleteAllExec(String beanName) {
|
|
|
+ BaseControllerInterface bean = (BaseControllerInterface) applicationContext.getBean(beanName);
|
|
|
+ AjaxResult result = bean.deleteAll();
|
|
|
+ if ((int) result.get("code") != 200) {
|
|
|
+ throw new RuntimeException("删除失败");
|
|
|
+ }
|
|
|
+ return AjaxResult.success("删除成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void requestImportData(String beanName, String tableName, MultipartFile file, String username) throws Exception {
|
|
|
+ LambdaQueryWrapper<SysInventoryReview> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SysInventoryReview::getAuditStatus, 0);
|
|
|
+ wrapper.eq(SysInventoryReview::getTableName, tableName);
|
|
|
+ wrapper.like(SysInventoryReview::getBusinessType, InventoryReviewConstant.IMPORT_DATA);
|
|
|
+ if (!sysInventoryReviewMapper.selectList(wrapper).isEmpty()) {
|
|
|
+ throw new RuntimeException("存在未审批的导入申请,请先通过审批");
|
|
|
+ }
|
|
|
+ SysInventoryReview sysInventoryReview = new SysInventoryReview();
|
|
|
+ Object invoke = applicationContext
|
|
|
+ .getBean("manageCommonServiceImpl")
|
|
|
+ .getClass()
|
|
|
+ .getMethod("uploadFilePath", MultipartFile.class)
|
|
|
+ .invoke(applicationContext.getBean("manageCommonServiceImpl"), file);
|
|
|
+ if(invoke instanceof String){
|
|
|
+ sysInventoryReview.setOperationContent((String) invoke);
|
|
|
+ }else {
|
|
|
+ throw new RuntimeException("上传出现了问题");
|
|
|
+ }
|
|
|
+ sysInventoryReview.setAuditStatus(0);
|
|
|
+ sysInventoryReview.setBusinessType("导入");
|
|
|
+ sysInventoryReview.setTableName(tableName);
|
|
|
+ sysInventoryReview.setUserName(username);
|
|
|
+ sysInventoryReview.setCreateBy(username);
|
|
|
+ sysInventoryReview.setBeanName(beanName);
|
|
|
+ sysInventoryReview.setCreateTime(LocalDateTime.now());
|
|
|
+ sysInventoryReview.setUpdateTime(LocalDateTime.now());
|
|
|
+ sysInventoryReviewMapper.insert(sysInventoryReview);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult importDataExec(String beanName,MultipartFile file) {
|
|
|
+ BaseControllerInterface bean = (BaseControllerInterface) applicationContext.getBean(beanName);
|
|
|
+ AjaxResult ajaxResult = bean.importData(file);
|
|
|
+ if((int) ajaxResult.get("code") != 200){
|
|
|
+ throw new RuntimeException(String.valueOf(ajaxResult.get("msg")));
|
|
|
+ }
|
|
|
+ return ajaxResult;
|
|
|
+ }
|
|
|
+}
|