Browse Source

2026-02-10

工单数据汇总【工单数据汇总】【工单数据回传】优化
master
fengyuan_yang 3 weeks ago
parent
commit
01b71b73b6
  1. 3
      src/main/java/com/gaotao/modules/shopOrder/controller/WorkOrderAllocController.java
  2. 8
      src/main/java/com/gaotao/modules/shopOrder/service/Impl/WorkOrderAllocServiceImpl.java
  3. 2
      src/main/java/com/gaotao/modules/shopOrder/service/WorkOrderAllocService.java
  4. 10
      src/main/resources/mapper/shopOrder/WorkOrderAllocMapper.xml

3
src/main/java/com/gaotao/modules/shopOrder/controller/WorkOrderAllocController.java

@ -92,7 +92,7 @@ public class WorkOrderAllocController extends AbstractController {
*/
@PostMapping("/executeSync")
public R executeSync(@RequestBody WorkOrderSyncRequest request) {
ResponseData response = workOrderAllocService.executeWorkOrderSync(request.getSite(), request.getOrderList());
ResponseData response = workOrderAllocService.executeWorkOrderSync(request.getSite(), request.getUserName(), request.getOrderList());
if (response.isSuccess()) {
return R.ok(response.getMsg());
} else {
@ -116,6 +116,7 @@ public class WorkOrderAllocController extends AbstractController {
@lombok.Data
public static class WorkOrderSyncRequest {
private String site;
private String userName;
private List<OrderSiteItem> orderList; // 包含orderNo和site的列表
}

8
src/main/java/com/gaotao/modules/shopOrder/service/Impl/WorkOrderAllocServiceImpl.java

@ -94,10 +94,10 @@ public class WorkOrderAllocServiceImpl implements WorkOrderAllocService {
log.info("已插入{}条选中的工单到临时表", orderList.size());
}
// 2. 调用存储过程orderNo传空字符串
// 2. 调用存储过程orderNo传*
List<Object> params = new ArrayList<>();
params.add(query.getSite() != null ? query.getSite() : "");
params.add(""); // orderNo传空字符串
params.add("*"); // orderNo传"*"表示存储过程内不再过滤订单号直接使用临时表数据
params.add(currentUser);
List<Map<String, Object>> resultList = procedureDao.getProcedureData("UspInsertWorkOrderAlloc", params);
@ -135,7 +135,7 @@ public class WorkOrderAllocServiceImpl implements WorkOrderAllocService {
@Override
@Transactional(rollbackFor = Exception.class)
public ResponseData executeWorkOrderSync(String site, List<OrderSiteItem> orderList) {
public ResponseData executeWorkOrderSync(String site, String userName, List<OrderSiteItem> orderList) {
ResponseData responseData = new ResponseData();
try {
log.info("开始执行工单数据回传");
@ -156,7 +156,7 @@ public class WorkOrderAllocServiceImpl implements WorkOrderAllocService {
} else {
// 没有选中行时使用默认site查询
UspWorkOrderAllocData queryData = new UspWorkOrderAllocData();
queryData.setSite(site);
queryData.setCurrentUser(userName);
unSyncedList = workOrderAllocMapper.selectUnSyncedData(queryData);
}

2
src/main/java/com/gaotao/modules/shopOrder/service/WorkOrderAllocService.java

@ -45,5 +45,5 @@ public interface WorkOrderAllocService {
* @param orderList 工单列表包含orderNo和site
* @return 执行结果
*/
ResponseData executeWorkOrderSync(String site, List<OrderSiteItem> orderList);
ResponseData executeWorkOrderSync(String site, String userName, List<OrderSiteItem> orderList);
}

10
src/main/resources/mapper/shopOrder/WorkOrderAllocMapper.xml

@ -187,11 +187,11 @@
<if test="site != null and site != ''">
AND site = #{site}
</if>
<if test="orderNoList != null and orderNoList.size() > 0">
AND orderNo IN
<foreach collection="orderNoList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="site == null or site == ''">
AND site in (select site from AccessSite where userID = #{currentUser})
</if>
<if test="orderNo != null and orderNo != ''">
AND orderNo = #{orderNo}
</if>
</where>
ORDER BY allocDate ASC

Loading…
Cancel
Save