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") @PostMapping("/executeSync")
public R executeSync(@RequestBody WorkOrderSyncRequest request) { 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()) { if (response.isSuccess()) {
return R.ok(response.getMsg()); return R.ok(response.getMsg());
} else { } else {
@ -116,6 +116,7 @@ public class WorkOrderAllocController extends AbstractController {
@lombok.Data @lombok.Data
public static class WorkOrderSyncRequest { public static class WorkOrderSyncRequest {
private String site; private String site;
private String userName;
private List<OrderSiteItem> orderList; // 包含orderNo和site的列表 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()); log.info("已插入{}条选中的工单到临时表", orderList.size());
} }
// 2. 调用存储过程orderNo传空字符串
// 2. 调用存储过程orderNo传*
List<Object> params = new ArrayList<>(); List<Object> params = new ArrayList<>();
params.add(query.getSite() != null ? query.getSite() : ""); params.add(query.getSite() != null ? query.getSite() : "");
params.add(""); // orderNo传空字符串
params.add("*"); // orderNo传"*"表示存储过程内不再过滤订单号直接使用临时表数据
params.add(currentUser); params.add(currentUser);
List<Map<String, Object>> resultList = procedureDao.getProcedureData("UspInsertWorkOrderAlloc", params); List<Map<String, Object>> resultList = procedureDao.getProcedureData("UspInsertWorkOrderAlloc", params);
@ -135,7 +135,7 @@ public class WorkOrderAllocServiceImpl implements WorkOrderAllocService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @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(); ResponseData responseData = new ResponseData();
try { try {
log.info("开始执行工单数据回传"); log.info("开始执行工单数据回传");
@ -156,7 +156,7 @@ public class WorkOrderAllocServiceImpl implements WorkOrderAllocService {
} else { } else {
// 没有选中行时使用默认site查询 // 没有选中行时使用默认site查询
UspWorkOrderAllocData queryData = new UspWorkOrderAllocData(); UspWorkOrderAllocData queryData = new UspWorkOrderAllocData();
queryData.setSite(site);
queryData.setCurrentUser(userName);
unSyncedList = workOrderAllocMapper.selectUnSyncedData(queryData); 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 * @param orderList 工单列表包含orderNo和site
* @return 执行结果 * @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 != ''"> <if test="site != null and site != ''">
AND site = #{site} AND site = #{site}
</if> </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> </if>
</where> </where>
ORDER BY allocDate ASC ORDER BY allocDate ASC

Loading…
Cancel
Save