Commit 2a2c93cb by guojuxing

Merge remote-tracking branch 'origin/developer' into developer

parents 034be22c 7a5c29bc
......@@ -76,4 +76,6 @@ public interface ClerkApiService {
*/
ServiceResponse<List<ClerkDTO>> listClerkByIds(Integer enterpriseId, String clerkIds);
ServiceResponse<List<ClerkDTO>> listClerkByStoreId(Integer enterpriseId, Integer storeId, String search);
}
......@@ -214,4 +214,16 @@ public class ClerkApiServiceImpl implements ClerkApiService {
return EnterpriseServiceResponse.success(clerkDTOList);
}
@Override
public ServiceResponse<List<ClerkDTO>> listClerkByStoreId(Integer enterpriseId, Integer storeId, String search) {
ServiceResponse<StoreDTO> response = this.storeApiService.getStoreById(enterpriseId, storeId);
if(response.isSuccess() && response.getResult() != null){
List<Integer> storeInfoIds = new ArrayList<>();
storeInfoIds.add(response.getResult().getStoreInfoId());
List<TabClerk> clerkList = this.clerkService.listClerkByStoreInfoId(enterpriseId, storeInfoIds, search);
return ServiceResponse.success(EntityUtil.changeEntityListByJSON(ClerkDTO.class, clerkList));
}
return ServiceResponse.success();
}
}
\ No newline at end of file
......@@ -5,7 +5,12 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.download.utils.DataDownloadUtils;
import com.gic.download.utils.DownloadReport;
import com.gic.download.utils.DownloadUtils;
import com.gic.download.utils.ExecutorPoolSingleton;
import com.gic.download.utils.log.LogUtils;
import com.gic.enterprise.context.RequestContext;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseRestResponse;
import com.gic.enterprise.utils.ResultControllerUtils;
......@@ -22,7 +27,9 @@ import com.gic.store.service.StoreDictApiService;
import com.gic.store.service.StoreLogApiService;
import com.gic.store.utils.StoreRedisKeyUtils;
import com.gic.store.web.qo.PageQO;
import com.gic.store.web.qo.store.StoreExportQO;
import com.gic.store.web.qo.store.StoreQO;
import com.gic.store.web.vo.StoreExportFieldVO;
import com.gic.store.web.vo.StoreListSourceVO;
import com.gic.store.web.vo.StoreOverflowVO;
import org.apache.commons.collections.CollectionUtils;
......@@ -44,7 +51,7 @@ import java.util.List;
* @date 2019/6/28
*/
@RestController
public class StoreController {
public class StoreController extends DownloadUtils {
private static final Logger logger = LogManager.getLogger(StoreController.class);
......@@ -222,6 +229,56 @@ public class StoreController {
return EnterpriseRestResponse.failure(response);
}
@RequestMapping("list-store-export-field")
public RestResponse listStoreExportField(){
List<StoreListSourceVO> listSource = this.getStoreAllListSource(UserDetailUtils.getUserDetail().getEnterpriseId());
return RestResponse.success(EntityUtil.changeEntityListByJSON(StoreExportFieldVO.class, listSource));
}
@RequestMapping("export-store-list")
public RestResponse exportStoreList(@RequestBody StoreExportQO storeExportQO){
ServiceResponse<Long> response = this.storeApiService.queryStoreCountFromES(storeExportQO);
if(response.isSuccess() && response.getResult() > 0){
int total = response.getResult().intValue();
DownloadReport report = new DownloadReport();
report.setApplyUserId(UserDetailUtils.getUserDetail().getUserId());
report.setDataContent("门店资料");
report.setDataCount(total);
report.setDataType(2);
report.setDataUrl("/damo-store/shop-management/shop-list");
report.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
report.setFileName("门店资料");
Integer downloadReport = DataDownloadUtils.createDownloadReport(report);
String path = RequestContext.getContext().getRequest().getSession().getServletContext().getRealPath("/excel/csv/collaborator/file/");
List<String> nameList = new ArrayList<>();
List<StoreListSourceVO> listSource = this.getStoreAllListSource(UserDetailUtils.getUserDetail().getEnterpriseId());
for(String s : storeExportQO.getFieldCodeList()){
if(listSource.contains(s)){
nameList.add(StoreESFieldsEnum.valueOf(s).getDesc());
}
}
ExecutorPoolSingleton.getInstance().executeTask(new Runnable() {
@Override
public void run() {
DownloadDataLoader<StoreDTO> loader = new DownloadDataLoader<StoreDTO>() {
@Override
protected List<StoreDTO> getDownloadData(Integer pageNum) throws Exception {
ServiceResponse<Page<StoreDTO>> pageServiceResponse = storeApiService.listStore(storeExportQO, pageNum, 1000);
return pageServiceResponse.getResult().getResult();
}
};
try {
download(path, downloadReport, storeExportQO.getFileName(), storeExportQO.getExcelExtension(), storeExportQO.getFieldCodeList(), nameList,loader, null, null);
} catch (Exception e) {
logger.error("异常", e);
}
}
});
return RestResponse.success(downloadReport);
}else {
return RestResponse.failure(ErrorCode.SYSTEM_ERROR.getCode(), "没有数据可以导出");
}
}
private List<StoreListSourceVO> getStoreAllListSource(Integer enterpriseId) {
List<StoreListSourceVO> list = new ArrayList<>();
......
package com.gic.store.web.qo.store;
import com.gic.store.dto.StoreSearchDTO;
import java.util.List;
public class StoreExportQO extends StoreSearchDTO {
private String fileName;
private Integer excelExtension;
private List<String> fieldCodeList;
private Integer dataType;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Integer getExcelExtension() {
return excelExtension;
}
public void setExcelExtension(Integer excelExtension) {
this.excelExtension = excelExtension;
}
public List<String> getFieldCodeList() {
return fieldCodeList;
}
public void setFieldCodeList(List<String> fieldCodeList) {
this.fieldCodeList = fieldCodeList;
}
public Integer getDataType() {
return dataType;
}
public void setDataType(Integer dataType) {
this.dataType = dataType;
}
}
package com.gic.store.web.vo;
import java.io.Serializable;
/**
* tab_store_dict
*/
public class StoreExportFieldVO implements Serializable {
private String value;
private String key;
public StoreExportFieldVO(){
}
public StoreExportFieldVO(String value, String key){
this.value = value;
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment