Commit 31f5e8d1 authored by 周亚武's avatar 周亚武

Merge remote-tracking branch 'origin/master'

parents 067c7753 b34ad5e9
...@@ -82,6 +82,7 @@ start_service() { ...@@ -82,6 +82,7 @@ start_service() {
project_deploy() { project_deploy() {
writelog "${PROJECT_NAME}_deploy" writelog "${PROJECT_NAME}_deploy"
systemctl stop ${PROJECT_NAME} systemctl stop ${PROJECT_NAME}
sleep 5
clear_deploy ${PROJECT_SERVICE} ${PROJECT_EXECPATH} clear_deploy ${PROJECT_SERVICE} ${PROJECT_EXECPATH}
writelog "${PROJECT_NAME}_clear_finish" writelog "${PROJECT_NAME}_clear_finish"
tar -zvxf ./${PROJECT_FILENAME} -C ${PUBLISH_PATH} tar -zvxf ./${PROJECT_FILENAME} -C ${PUBLISH_PATH}
......
package com.mortals.xhx.module.window.service; package com.mortals.xhx.module.window.service;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.common.pdu.window.WindowPdu;
import com.mortals.xhx.module.window.model.WindowOwnerEntity; import com.mortals.xhx.module.window.model.WindowOwnerEntity;
import com.mortals.xhx.module.window.dao.WindowOwnerDao; import com.mortals.xhx.module.window.dao.WindowOwnerDao;
import java.util.List;
/** /**
* WindowOwnerService * WindowOwnerService
* *
...@@ -13,4 +17,11 @@ import com.mortals.xhx.module.window.dao.WindowOwnerDao; ...@@ -13,4 +17,11 @@ import com.mortals.xhx.module.window.dao.WindowOwnerDao;
public interface WindowOwnerService extends ICRUDService<WindowOwnerEntity,Long>{ public interface WindowOwnerService extends ICRUDService<WindowOwnerEntity,Long>{
WindowOwnerDao getDao(); WindowOwnerDao getDao();
/**
* 获取基础平台与考勤绩效系统已分配的窗口差集列表
* @param pdu
* @return
*/
List<WindowPdu> subWindowPduList(WindowPdu pdu);
} }
\ No newline at end of file
package com.mortals.xhx.module.window.service.impl; package com.mortals.xhx.module.window.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.window.WindowPdu;
import com.mortals.xhx.feign.window.IWindowFeign;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -11,10 +19,14 @@ import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity; ...@@ -11,10 +19,14 @@ import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import com.mortals.xhx.module.window.model.WindowOwnerDetailQuery; import com.mortals.xhx.module.window.model.WindowOwnerDetailQuery;
import com.mortals.xhx.module.window.service.WindowOwnerDetailService; import com.mortals.xhx.module.window.service.WindowOwnerDetailService;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/** /**
* WindowOwnerService * WindowOwnerService
* 窗口负责人 service实现 * 窗口负责人 service实现
...@@ -25,13 +37,75 @@ import lombok.extern.slf4j.Slf4j; ...@@ -25,13 +37,75 @@ import lombok.extern.slf4j.Slf4j;
@Service("windowOwnerService") @Service("windowOwnerService")
@Slf4j @Slf4j
public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerDao, WindowOwnerEntity, Long> implements WindowOwnerService { public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerDao, WindowOwnerEntity, Long> implements WindowOwnerService {
@Autowired @Autowired
private WindowOwnerDetailService windowOwnerDetailService; private WindowOwnerDetailService windowOwnerDetailService;
@Autowired
private IWindowFeign windowFeign;
@Override @Override
protected void saveAfter(WindowOwnerEntity entity, Context context) throws AppException { public List<WindowPdu> subWindowPduList(WindowPdu pdu) {
List<WindowPdu> subList = new ArrayList<>();
List<WindowPdu> ownerList = new ArrayList<>();
List<WindowOwnerDetailEntity> ownerDetail = windowOwnerDetailService.getAllList();
if (!CollectionUtils.isEmpty(ownerDetail)) {
Long[] windows = ownerDetail.stream().map(WindowOwnerDetailEntity::getWindowId).toArray(Long[]::new);
pdu.setIdNotList(Arrays.asList(windows));
if (pdu.getSiteId() == null) {
pdu.setSiteId(1l); //默认只查宜宾市民中心
}
pdu.setSize(-1);
Rest<RespData<List<WindowPdu>>> respDataRest = windowFeign.list(pdu);
log.info(JSONObject.toJSONString(respDataRest));
if (respDataRest.getCode() == YesNoEnum.YES.getValue()) {
subList = respDataRest.getData().getData();
}
if(!ObjectUtils.isEmpty(pdu.getStaffId())){
//查询当前负责人负责的窗口
WindowOwnerDetailQuery detailQuery = new WindowOwnerDetailQuery();
detailQuery.setOwnerId(pdu.getStaffId());
Long[] windowIds = windowOwnerDetailService.find(detailQuery).stream().map(WindowOwnerDetailEntity::getId).toArray(Long[]::new);
if(!ObjectUtils.isEmpty(windowIds)){
WindowPdu ownerWindowPdu = new WindowPdu();
ownerWindowPdu.setIdList(Arrays.asList(windowIds));
Rest<RespData<List<WindowPdu>>> ownerRest = windowFeign.list(ownerWindowPdu);
if (ownerRest.getCode() == YesNoEnum.YES.getValue()) {
ownerList=ownerRest.getData().getData();
}
}
}
}
ownerList.addAll(subList);
return ownerList;
}
@Override
protected void saveBefore(WindowOwnerEntity entity, Context context) throws AppException {
super.saveBefore(entity, context);
if(!ObjectUtils.isEmpty(entity.getWindowOwnerDetailList())){
entity.setWindowCount(entity.getWindowOwnerDetailList().size());
}
}
@Override
protected void updateBefore(WindowOwnerEntity entity, Context context) throws AppException {
super.updateBefore(entity, context);
if(!ObjectUtils.isEmpty(entity.getWindowOwnerDetailList())){ if(!ObjectUtils.isEmpty(entity.getWindowOwnerDetailList())){
entity.getWindowOwnerDetailList().stream().peek(item->{ entity.setWindowCount(entity.getWindowOwnerDetailList().size());
}
}
@Override
protected void saveAfter(WindowOwnerEntity entity, Context context) throws AppException {
if (!ObjectUtils.isEmpty(entity.getWindowOwnerDetailList())) {
entity.getWindowOwnerDetailList().stream().peek(item -> {
item.setOwnerId(entity.getId()); item.setOwnerId(entity.getId());
item.setCreateUserId(this.getContextUserId(context)); item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date()); item.setCreateTime(new Date());
...@@ -43,10 +117,10 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD ...@@ -43,10 +117,10 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD
@Override @Override
protected void updateAfter(WindowOwnerEntity entity, Context context) throws AppException { protected void updateAfter(WindowOwnerEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getWindowOwnerDetailList())){ if (!ObjectUtils.isEmpty(entity.getWindowOwnerDetailList())) {
Long[] windowOwnerDetailIds = windowOwnerDetailService.find(new WindowOwnerDetailQuery().ownerId(entity.getId())).stream().map(WindowOwnerDetailEntity::getId).toArray(Long[]::new); Long[] windowOwnerDetailIds = windowOwnerDetailService.find(new WindowOwnerDetailQuery().ownerId(entity.getId())).stream().map(WindowOwnerDetailEntity::getId).toArray(Long[]::new);
windowOwnerDetailService.remove(windowOwnerDetailIds,context); windowOwnerDetailService.remove(windowOwnerDetailIds, context);
entity.getWindowOwnerDetailList().stream().peek(item ->{ entity.getWindowOwnerDetailList().stream().peek(item -> {
item.setOwnerId(entity.getId()); item.setOwnerId(entity.getId());
item.setCreateUserId(this.getContextUserId(context)); item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date()); item.setCreateTime(new Date());
...@@ -61,7 +135,7 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD ...@@ -61,7 +135,7 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD
@Override @Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException { protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<WindowOwnerDetailEntity> windowOwnerDetaillist = windowOwnerDetailService.find(new WindowOwnerDetailQuery().ownerIdList(Arrays.asList(ids))); List<WindowOwnerDetailEntity> windowOwnerDetaillist = windowOwnerDetailService.find(new WindowOwnerDetailQuery().ownerIdList(Arrays.asList(ids)));
windowOwnerDetailService.removeList(windowOwnerDetaillist,context); windowOwnerDetailService.removeList(windowOwnerDetaillist, context);
super.removeAfter(ids, context, result); super.removeAfter(ids, context, result);
} }
} }
\ No newline at end of file
package com.mortals.xhx.module.window.web; package com.mortals.xhx.module.window.web;
import com.mortals.framework.common.Rest;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.base.system.user.model.UserQuery; import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.site.SiteHallPdu;
import com.mortals.xhx.common.pdu.window.WindowPdu;
import com.mortals.xhx.feign.site.ISiteHallFeign;
import com.mortals.xhx.feign.window.IWindowFeign;
import com.mortals.xhx.module.dept.model.DeptQuery; import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.service.DeptService; import com.mortals.xhx.module.dept.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -52,6 +59,12 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win ...@@ -52,6 +59,12 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win
@Autowired @Autowired
private DeptService deptService; private DeptService deptService;
@Autowired
private IWindowFeign windowFeign;
@Autowired
private ISiteHallFeign siteHallFeign;
public WindowOwnerController() { public WindowOwnerController() {
super.setModuleDesc("窗口负责人"); super.setModuleDesc("窗口负责人");
} }
...@@ -59,6 +72,14 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win ...@@ -59,6 +72,14 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
SiteHallPdu siteHallPdu = new SiteHallPdu();
siteHallPdu.setSiteId(1L);
Rest<RespData<List<SiteHallPdu>>> rest = siteHallFeign.list(siteHallPdu);
if(YesNoEnum.YES.getValue()==rest.getCode()){
Map<Long, String> hallMap = rest.getData().getData().stream().collect(Collectors.toMap(x -> x.getId(), y -> y.getHallName(), (o, n) -> n));
this.addDict(model, "hallId", hallMap);
}
// Map<String, String> collect = userService.find(new UserQuery(), getContext()).stream() // Map<String, String> collect = userService.find(new UserQuery(), getContext()).stream()
// .collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n)); // .collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n));
// this.addDict(model, "updateUserId", collect); // this.addDict(model, "updateUserId", collect);
...@@ -68,5 +89,33 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win ...@@ -68,5 +89,33 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win
super.init(model, context); super.init(model, context);
} }
@PostMapping({"subWindowList"})
public Rest<Object> subWindowList(@RequestBody WindowPdu query) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询待分配的窗口列表";
int code = 1;
try {
//查询所有可以选择的窗口
List<WindowPdu> result = this.getService().subWindowPduList(query);
//查询当前负责人已经选择的窗口
model.put("data", result);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = -1;
this.doException(this.request, busiDesc, model, var9);
}
this.init(model, context);
ret.setCode(code);
ret.setData(model);
ret.setDict(model.get("dict"));
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
} }
\ No newline at end of file
package com.mortals.xhx.common.pdu.site;
import com.mortals.framework.model.BaseEntityLong;
import lombok.Data;
/**
* 站点大厅信息Pdu对象
*
* @author zxfei
* @date 2024-01-26
*/
@Data
public class SiteHallPdu extends BaseEntityLong {
private static final long serialVersionUID = 1L;
/**
* 站点ID
*/
private Long siteId;
/**
* 站点名称
*/
private String siteName;
/**
* 大厅名称
*/
private String hallName;
/**
* 地址
*/
private String address;
/**
* 楼层
*/
private Integer floor;
/**
* 楼栋
*/
private Integer build;
/**
* 备注
*/
private String remark;
public void initAttrValue(){
this.siteId = null;
this.siteName = "";
this.hallName = "";
this.address = "";
this.floor = 1;
this.build = 1;
this.remark = "";
}
}
\ No newline at end of file
...@@ -7,6 +7,11 @@ import java.util.List; ...@@ -7,6 +7,11 @@ import java.util.List;
@Data @Data
public class WindowPdu extends BaseEntityLong { public class WindowPdu extends BaseEntityLong {
/**
* 窗口负责人ID
*/
private Long staffId;
/** /**
* 站点ID * 站点ID
*/ */
...@@ -92,4 +97,6 @@ public class WindowPdu extends BaseEntityLong { ...@@ -92,4 +97,6 @@ public class WindowPdu extends BaseEntityLong {
/** 序号,主键,自增长排除列表 */ /** 序号,主键,自增长排除列表 */
private List<Long> idNotList; private List<Long> idNotList;
private List<Long> idList;
} }
package com.mortals.xhx.feign.site;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.site.SiteHallPdu;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.feign.IFeign;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 站点大厅信息 Feign接口
*
* @author zxfei
* @date 2024-01-26
*/
@FeignClient(name = "base-manager", path = "/base", fallbackFactory = SiteHallFeignFallbackFactory.class)
public interface ISiteHallFeign extends IFeign {
/**
* 查看站点大厅信息列表
*
* @param siteHallPdu
* @return
*/
@PostMapping(value = "/site/hall/interlist")
Rest<RespData<List<SiteHallPdu>>> list(@RequestBody SiteHallPdu siteHallPdu);
/**
* 查看站点大厅信息
*
* @param id
* @return
*/
@GetMapping(value = "/site/hall/interinfo")
Rest<SiteHallPdu> info(@RequestParam(value = "id") Long id);
/**
* 删除站点大厅信息
*
* @param ids
* @return
*/
@GetMapping(value = "/site/hall/delete")
Rest<Void> delete(Long[] ids, @RequestHeader("Authorization") String authorization);
/**
* 站点大厅信息保存更新
*
* @param siteHallPdu
* @return
*/
@PostMapping(value = "/site/hall/save")
Rest<RespData<SiteHallPdu>> save(@RequestBody SiteHallPdu siteHallPdu, @RequestHeader("Authorization") String authorization);
}
@Slf4j
@Component
class SiteHallFeignFallbackFactory implements FallbackFactory<ISiteHallFeign> {
@Override
public ISiteHallFeign create(Throwable t) {
return new ISiteHallFeign() {
@Override
public Rest<RespData<List<SiteHallPdu>>> list(SiteHallPdu siteHallPdu) {
return Rest.fail("暂时无法获取站点大厅信息列表,请稍后再试!");
}
@Override
public Rest<SiteHallPdu> info(Long id) {
return Rest.fail("暂时无法获取站点大厅信息详细,请稍后再试!");
}
@Override
public Rest<Void> delete(Long[] ids, String authorization) {
return Rest.fail("暂时无法删除站点大厅信息,请稍后再试!");
}
@Override
public Rest<RespData<SiteHallPdu>> save(SiteHallPdu siteHallPdu, String authorization) {
return Rest.fail("暂时无法保存站点大厅信息,请稍后再试!");
}
};
}
}
...@@ -22,6 +22,11 @@ public interface IWindowFeign extends IFeign { ...@@ -22,6 +22,11 @@ public interface IWindowFeign extends IFeign {
@PostMapping(value = "/window/interlist") @PostMapping(value = "/window/interlist")
Rest<RespData<List<WindowPdu>>> list(@RequestBody WindowPdu windowPdu); Rest<RespData<List<WindowPdu>>> list(@RequestBody WindowPdu windowPdu);
} }
@Slf4j @Slf4j
......
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