Commit 32ebc37f authored by 廖旭伟's avatar 廖旭伟

事项材料附件自动下载;材料加入公共库,公共库加入材料

parent d60be694
package com.mortals.xhx.module.site.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.site.model.SiteDatumLibraryEntity;
import java.util.List;
/**
* 站点材料公共库Dao
* 站点材料公共库 DAO接口
*
* @author zxfei
* @date 2023-03-10
*/
public interface SiteDatumLibraryDao extends ICRUDDao<SiteDatumLibraryEntity,Long>{
}
package com.mortals.xhx.module.site.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.site.dao.SiteDatumLibraryDao;
import com.mortals.xhx.module.site.model.SiteDatumLibraryEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 站点材料公共库DaoImpl DAO接口
*
* @author zxfei
* @date 2023-03-10
*/
@Repository("siteDatumLibraryDao")
public class SiteDatumLibraryDaoImpl extends BaseCRUDDaoMybatis<SiteDatumLibraryEntity,Long> implements SiteDatumLibraryDao {
}
package com.mortals.xhx.module.site.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.site.model.SiteDatumLibraryEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 站点材料公共库视图对象
*
* @author zxfei
* @date 2023-03-10
*/
public class SiteDatumLibraryVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.site.model.vo;
import com.mortals.framework.model.BaseEntityLong;
/**
* 站点事项材料附件视图对象
*
* @author zxfei
* @date 2023-03-10
*/
public class SiteMatterDatumFileVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.site.model.vo;
import com.mortals.framework.model.BaseEntityLong;
/**
* 站点事项材料视图对象
*
* @author zxfei
* @date 2023-03-10
*/
public class SiteMatterDatumVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.site.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.site.model.SiteDatumLibraryEntity;
/**
* SiteDatumLibraryService
*
* 站点材料公共库 service接口
*
* @author zxfei
* @date 2023-03-10
*/
public interface SiteDatumLibraryService extends ICRUDService<SiteDatumLibraryEntity,Long>{
/**
* 添加公共库到材料
*
* @param libraryIds
* @param context
*/
Rest<String> addToMatterDatum(String libraryIds, Context context);
}
\ No newline at end of file
package com.mortals.xhx.module.site.service.impl;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import com.mortals.xhx.module.matter.model.MatterDatumQuery;
import com.mortals.xhx.module.matter.service.MatterDatumService;
import com.mortals.xhx.module.site.model.SiteDatumLibraryQuery;
import com.mortals.xhx.module.site.model.SiteEntity;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.site.dao.SiteDatumLibraryDao;
import com.mortals.xhx.module.site.model.SiteDatumLibraryEntity;
import com.mortals.xhx.module.site.service.SiteDatumLibraryService;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* SiteDatumLibraryService
* 站点材料公共库 service实现
*
* @author zxfei
* @date 2023-03-10
*/
@Service("siteDatumLibraryService")
public class SiteDatumLibraryServiceImpl extends AbstractCRUDServiceImpl<SiteDatumLibraryDao, SiteDatumLibraryEntity, Long> implements SiteDatumLibraryService {
@Autowired
private MatterDatumService matterDatumService;
@Override
public Rest<String> addToMatterDatum(String libraryIds, Context context) {
List<Long> libraryIdList = Arrays.asList(libraryIds.split(",")).stream().map(Long::parseLong).collect(Collectors.toList());
SiteDatumLibraryQuery query = new SiteDatumLibraryQuery();
query.setIdList(libraryIdList);
List<SiteDatumLibraryEntity> entities = this.find(query);
int success = 0;
int fail = 0;
List<MatterDatumEntity> addEntities = new ArrayList<>();
for (SiteDatumLibraryEntity library : entities) {
MatterDatumEntity datum = updateOrSave(library, context);
//SiteMatterEntity siteMatterEntity = updateOrSave(matterEntity, siteId, context);
if (!ObjectUtils.isEmpty(datum)) {
addEntities.add(datum);
success++;
} else {
fail++;
}
}
if (!ObjectUtils.isEmpty(addEntities)) {
matterDatumService.save(addEntities, context);
}
String msg = "当前加入材料已存在!";
if (libraryIdList.size() == 1) {
if (success > 0) {
msg = "加入材料成功!";
}
} else if (libraryIdList.size() > 1) {
if (success > 0 && fail == 0) {
msg = String.format("加入材料成功%d条!", success);
} else if (success > 0 && fail > 0) {
msg = String.format("加入材料成功%d条,重复加入材料%d条!", success, fail);
} else if (success == 0 && fail > 0) {
msg = String.format("重复加入材料%d条!", fail);
}
}
return Rest.ok(msg);
}
private MatterDatumEntity updateOrSave(SiteDatumLibraryEntity item, Context context) {
if(item.getDatumId()==null){
item.setDatumId(-1l);
}
MatterDatumEntity matterDatumEntity = matterDatumService.get(item.getDatumId());
if (ObjectUtils.isEmpty(matterDatumEntity)) {
MatterDatumEntity datumEntity = BeanUtil.covert(item,MatterDatumEntity.class);
datumEntity.setCreateTime(new Date());
if(context!=null&&context.getUser()!=null) {
datumEntity.setCreateUserId(context.getUser().getId());
}
return datumEntity;
}
return null;
}
}
\ No newline at end of file
package com.mortals.xhx.module.site.web;
import com.mortals.framework.common.Rest;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.site.model.SiteDatumLibraryEntity;
import com.mortals.xhx.module.site.service.SiteDatumLibraryService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 站点材料公共库
*
* @author zxfei
* @date 2023-03-10
*/
@RestController
@RequestMapping("site/datum/library")
public class SiteDatumLibraryController extends BaseCRUDJsonBodyMappingController<SiteDatumLibraryService,SiteDatumLibraryEntity,Long> {
@Autowired
private ParamService paramService;
public SiteDatumLibraryController(){
super.setModuleDesc( "站点材料公共库");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "isMust", paramService.getParamBySecondOrganize("SiteDatumLibrary","isMust"));
this.addDict(model, "materialType", paramService.getParamBySecondOrganize("SiteDatumLibrary","materialType"));
this.addDict(model, "materialProperty", paramService.getParamBySecondOrganize("SiteDatumLibrary","materialProperty"));
this.addDict(model, "electronicgs", paramService.getParamBySecondOrganize("SiteDatumLibrary","electronicgs"));
this.addDict(model, "materialSource", paramService.getParamBySecondOrganize("SiteDatumLibrary","materialSource"));
this.addDict(model, "paperNum", paramService.getParamBySecondOrganize("SiteDatumLibrary","paperNum"));
this.addDict(model, "jianmMs", paramService.getParamBySecondOrganize("SiteDatumLibrary","jianmMs"));
this.addDict(model, "isjianm", paramService.getParamBySecondOrganize("SiteDatumLibrary","isjianm"));
this.addDict(model, "isLack", paramService.getParamBySecondOrganize("SiteDatumLibrary","isLack"));
this.addDict(model, "source", paramService.getParamBySecondOrganize("SiteDatumLibrary","source"));
super.init(model, context);
}
/**
* 添加公共库到材料
*/
@PostMapping(value = "addToMatterDatum")
public String addToMatterDatum(@RequestBody Map<String, Object> map) {
JSONObject jsonObject = new JSONObject();
Map<String, Object> model = new HashMap<String, Object>();
String libraryIds = (String) map.get("libraryIds");
//Long siteId = DataUtil.converStr2Long(map.get("siteId").toString(), 0L);
try {
Rest<String> rest = this.service.addToMatterDatum(libraryIds, getContext());
jsonObject.put(KEY_RESULT_MSG, rest.getMsg());
jsonObject.put(KEY_RESULT_DATA, model);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
this.recordSysLog(this.request, rest.getMsg());
} catch (Exception e) {
log.error("获取异常", e);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
jsonObject.put(KEY_RESULT_MSG, super.convertException(e));
}
return jsonObject.toJSONString();
}
}
\ 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