|
|
@@ -26,12 +26,15 @@ import org.springblade.check.entity.AuditPathsActs;
|
|
|
import org.springblade.check.entity.AuditPathsLevels;
|
|
|
import org.springblade.check.feign.ICheckClient;
|
|
|
import org.springblade.client.entity.CommonFile;
|
|
|
+import org.springblade.client.entity.Message;
|
|
|
import org.springblade.client.feign.ICommonFileClient;
|
|
|
+import org.springblade.client.feign.IMessageClient;
|
|
|
import org.springblade.client.feign.ISerialClient;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.DateUtil;
|
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
|
import org.springblade.project.entity.Handover;
|
|
|
@@ -65,6 +68,8 @@ public class HandoverServiceImpl extends ServiceImpl<HandoverMapper, Handover> i
|
|
|
|
|
|
private final ICommonFileClient commonFileClient;
|
|
|
|
|
|
+ private final IMessageClient messageClient;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<HandoverVO> selectHandoverPage(IPage<HandoverVO> page, HandoverVO handover) {
|
|
|
return page.setRecords(baseMapper.selectHandoverPage(page, handover));
|
|
|
@@ -99,6 +104,7 @@ public class HandoverServiceImpl extends ServiceImpl<HandoverMapper, Handover> i
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Long saveHandover(Handover handover) {
|
|
|
+ boolean sendMsg = false;
|
|
|
if (ObjectUtil.isEmpty(handover.getId())) {
|
|
|
R sysNo = serialClient.getBillNo("JJD", "JJD", "JJD");
|
|
|
if (!sysNo.isSuccess()) {
|
|
|
@@ -110,13 +116,38 @@ public class HandoverServiceImpl extends ServiceImpl<HandoverMapper, Handover> i
|
|
|
handover.setCreateUser(AuthUtil.getUserId());
|
|
|
handover.setCreateTime(new Date());
|
|
|
baseMapper.insert(handover);
|
|
|
+
|
|
|
+ if (handover.getChargeStatus() == 1) {
|
|
|
+ sendMsg = true;
|
|
|
+ }
|
|
|
} else {
|
|
|
+ Handover temp = baseMapper.selectById(handover.getId());
|
|
|
+ if (handover.getChargeStatus() == 1 && !temp.getHandingUser().equals(handover.getHandingUser())) {
|
|
|
+ sendMsg = true;
|
|
|
+ }
|
|
|
+
|
|
|
handover.setUpdateUser(AuthUtil.getUserId());
|
|
|
handover.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(handover);
|
|
|
}
|
|
|
|
|
|
long handoverId = handover.getId();
|
|
|
+ if (sendMsg) {
|
|
|
+ Message message = new Message();
|
|
|
+ message.setParameter(String.valueOf(handoverId));
|
|
|
+ message.setUserName(AuthUtil.getUserName());
|
|
|
+ message.setUserId(AuthUtil.getUserId());
|
|
|
+ message.setToUserId(handover.getHandingUser());
|
|
|
+ message.setMessageType(1);
|
|
|
+ message.setTenantId(AuthUtil.getTenantId());
|
|
|
+ message.setCreateUser(AuthUtil.getUserId());
|
|
|
+ message.setCreateTime(new Date());
|
|
|
+ message.setUrl("/workManagement/handoverSheet/index");
|
|
|
+ message.setMessageBody("您有新的交接单,客户:" + handover.getCorpName() + ",日期:" + DateUtil.formatDate(handover.getHandoverDate()));
|
|
|
+ message.setPageLabel("交接单");
|
|
|
+ messageClient.save(message);
|
|
|
+ }
|
|
|
+
|
|
|
handover.getItemList().forEach(item -> {
|
|
|
if (ObjectUtil.isEmpty(item.getId())) {
|
|
|
item.setPid(handoverId);
|
|
|
@@ -159,6 +190,19 @@ public class HandoverServiceImpl extends ServiceImpl<HandoverMapper, Handover> i
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public boolean confirm(Long id) {
|
|
|
+ Handover handover = baseMapper.selectById(id);
|
|
|
+ if (!handover.getHandingUser().equals(AuthUtil.getUserId())) {
|
|
|
+ throw new RuntimeException("当前登录用户非交接人,禁止确认!");
|
|
|
+ }
|
|
|
+
|
|
|
+ handover.setConfirmStatus(1);
|
|
|
+ handover.setConfirmTime(new Date());
|
|
|
+ baseMapper.updateById(handover);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public void checkHandover(Handover handover) {
|
|
|
// 判断是否有审批流,如果审批流已开启就进入审批流,否则直接走申请通过
|
|
|
AuditPathsActs pathsActs = checkClient.getActsByActId(12, "status");
|