Browse Source

更新合同

master
zhao 1 year ago
parent
commit
0336bc37ac
6 changed files with 112 additions and 29 deletions
  1. +1
    -0
      agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSProtocol.java
  2. +3
    -0
      agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java
  3. +76
    -16
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/ContractionListener.java
  4. +2
    -0
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java
  5. +3
    -1
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AgentCenterImpl.java
  6. +27
    -12
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java

+ 1
- 0
agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSProtocol.java View File

@@ -6,6 +6,7 @@ public final class NSProtocol
public static final int NS_PROTOCOL_INVALID = 0;
public static final int NS_PROTOCOL_TEST = 0x00001;
public static final int NS_PROTOCOL_CONTRACTION = 0x10001;
public static final int NS_PROTOCOL_UPDATE_CONTRACTION = 0x10002;

public static int FromString(String str)
{


+ 3
- 0
agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java View File

@@ -15,4 +15,7 @@ public class NSContractionEntity extends NSEntity

/** 签订日期 */
private String buildingTime;

/** 状态 */
private String orderStatus;
}

+ 76
- 16
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/ContractionListener.java View File

@@ -38,7 +38,7 @@ public class ContractionListener
}

@CallbackHandler(protocol = "" + NSProtocol.NS_PROTOCOL_CONTRACTION)
public void handle(ContractionSession session)
public void reportContraction(ContractionSession session)
{
TAgentContraction contraction = conv(session.message);
Result result = session.result;
@@ -46,7 +46,35 @@ public class ContractionListener
SqlUtil.transaction(() -> {
TAgentTask task = syncTask(session.message.getData(), contraction);
contraction.setTaskId(task.getId());
itAgentContractionService.insertTAgentContraction(contraction);
if(null == contraction.getId())
{
itAgentContractionService.insertTAgentContraction(contraction);
result.setMessage("新增合同报账成功");
}
else
{
itAgentContractionService.updateTAgentContraction(contraction);
result.setMessage("更新合同报账成功");
}
});

result.setData(contraction);
}

@CallbackHandler(protocol = "" + NSProtocol.NS_PROTOCOL_UPDATE_CONTRACTION)
public void updateContraction(ContractionSession session)
{
NSContractionEntity inContraction = session.message.getData();
Result result = session.result;
TAgentContraction contraction = itAgentContractionService.selectTAgentContraction(new TAgentContraction().setOrgCode(inContraction.getOrgCode()).setOutId(inContraction.getOutId()));
Assert.notNull(contraction, "报账合同不存在");
Assert.isTrue(TAgentTask.AGENT_STATUS_PROCESSING.equals(contraction.getAgentStatus()), "报账合同任务未分配");
Assert.isTrue("2".equals(contraction.getOrderStatus()), "报账合同状态不是待记账状态");

SqlUtil.transaction(() -> {
contraction.setOrderStatus(inContraction.getOrderStatus());
itAgentContractionService.updateTAgentContraction(contraction);
syncFinishTask(contraction);
});

result.setData(contraction);
@@ -54,20 +82,39 @@ public class ContractionListener

private TAgentContraction conv(Message<NSContractionEntity> message)
{
TAgentContraction contraction = new TAgentContraction();
NSContractionEntity data = message.getData();
contraction.setBookId(data.getBookId())
.setDeptId(data.getDeptId())
.setOutId(data.getOutId())
.setOrgCode(data.getOrgCode())
.setName(data.getName())
.setBuildingTime(data.getBuildingTime())
.setOrderAt(new Date())
.setAgentStatus(TAgentTask.AGENT_STATUS_READY)
.setOrderStatus("2")
.normalized()
;
contraction.setCreateBy("admin");

TAgentContraction contractionCond = new TAgentContraction();
contractionCond.setOrgCode(data.getOrgCode())
.setOutId(data.getOutId());
TAgentContraction contraction = itAgentContractionService.selectTAgentContraction(contractionCond);
if(null != contraction)
{
Assert.isTrue("2".equals(contraction.getOrderStatus()), "非待记账状态的合同保障不能修改");
contraction.setBookId(data.getBookId())
.setDeptId(data.getDeptId())
.setName(data.getName())
.setBuildingTime(data.getBuildingTime())
;
contraction.setUpdateBy("admin");
}
else
{
contraction = new TAgentContraction();
contraction.setBookId(data.getBookId())
.setDeptId(data.getDeptId())
.setOutId(data.getOutId())
.setName(data.getName())
.setOrgCode(data.getOrgCode())
.setBuildingTime(data.getBuildingTime())
.setOrderAt(new Date())
.setAgentStatus(TAgentTask.AGENT_STATUS_READY)
.setOrderStatus("2")
.normalized()
;
contraction.setCreateBy("admin");
}

return contraction;
}

@@ -86,6 +133,19 @@ public class ContractionListener
task.setId(tAgentTask.getId());
itAgentTaskService.updateTAgentTaskCount(task);

return task;
return tAgentTask;
}

private void syncFinishTask(TAgentContraction contraction)
{
String orgCode = contraction.getOrgCode();

TAgentTask tAgentTask = itAgentTaskService.getTAgentTask(orgCode, contraction.getOrderYear(), contraction.getOrderMonth());
Assert.notNull(tAgentTask, "{}下{}年{}月无任务", orgCode, contraction.getOrderYear(), contraction.getOrderMonth());

TAgentTask task = new TAgentTask();
task.setFinishCount(1);
task.setId(tAgentTask.getId());
itAgentTaskService.updateTAgentTaskCount(task);
}
}

+ 2
- 0
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java View File

@@ -107,4 +107,6 @@ public interface ITAgentTaskService
public void fillTAgentTaskOrg(TAgentTask tAgentTask);

public TAgentTask getTAgentTask(String orgCode, String year, String month, Consumer<TAgentTask> ifNotExists);

public TAgentTask getTAgentTask(String orgCode, String year, String month);
}

+ 3
- 1
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AgentCenterImpl.java View File

@@ -49,6 +49,7 @@ public class AgentCenterImpl implements IAgentCenter
switch(protocol)
{
case NSProtocol.NS_PROTOCOL_CONTRACTION:
case NSProtocol.NS_PROTOCOL_UPDATE_CONTRACTION:
clazz = NSContractionEntity.class;
break;
default:
@@ -68,6 +69,7 @@ public class AgentCenterImpl implements IAgentCenter
switch(protocol)
{
case NSProtocol.NS_PROTOCOL_CONTRACTION:
case NSProtocol.NS_PROTOCOL_UPDATE_CONTRACTION:
session = new ContractionSession((Message<NSContractionEntity>) message);
break;
default:
@@ -109,7 +111,7 @@ public class AgentCenterImpl implements IAgentCenter
Message<?> message = getMessage(server, request);
check(message, request);
Session<?, ?> session = createSession(message);
HandlerEngine.Post(session);
HandlerEngine.Call("" + message.getProtocol(), session);
return session.result;
}
}

+ 27
- 12
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java View File

@@ -214,19 +214,19 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService
@Override
public TAgentTask getTAgentTask(String orgCode, String year, String month, Consumer<TAgentTask> ifNotExists)
{
TAgentTask task = new TAgentTask();
task.setOrgCode(orgCode)
.setOrderYear(year)
.setOrderMonth(month)
;
TAgentTask tAgentTask = tAgentTaskMapper.selectTAgentTask(task);
TAgentTask tAgentTask = getTAgentTask(orgCode, year, month);
if(null == tAgentTask)
{
tAgentTask = new TAgentTask();
SysDept deptCond = new SysDept();
deptCond.setOrgCode(orgCode);
SysDept dept = sysDeptMapper.selectSysDept(deptCond);
Assert.notNull(dept, "部门不存在: {}", orgCode);
task.setContracCount(0)
tAgentTask.setOrgCode(orgCode)
.setOrderYear(year)
.setOrderMonth(month)

.setContracCount(0)
.setVoucherCount(0)
.setAssetCount(0)
.setAllCount(0)
@@ -235,12 +235,27 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService
.setAgentCenter(dept.getAgentCenter())
.setAgentStatus(TAgentTask.AGENT_STATUS_READY)
;
fillTAgentTaskOrg(task);
task.setCreateBy("admin");
ifNotExists.accept(task); // 补充
insertTAgentTask(task);
tAgentTask = task;
fillTAgentTaskOrg(tAgentTask);
tAgentTask.setCreateBy("admin");
ifNotExists.accept(tAgentTask); // 补充
insertTAgentTask(tAgentTask);
}
return tAgentTask;
}

@Override
public TAgentTask getTAgentTask(String orgCode, String year, String month)
{
Assert.notBlank(orgCode, "查询任务: orgCode为空");
Assert.notBlank(year, "查询任务: orderYear为空");
Assert.notBlank(month, "查询任务: orderMonth为空");

TAgentTask task = new TAgentTask();
task.setOrgCode(orgCode)
.setOrderYear(year)
.setOrderMonth(month)
;
return tAgentTaskMapper.selectTAgentTask(task);
}

}

Loading…
Cancel
Save