Browse Source

领料申请单取消下达

master
常熟吴彦祖 7 months ago
parent
commit
741c8eae6f
  1. 30
      src/main/java/com/gaotao/modules/notify/controller/IssureNotifyController.java
  2. 17
      src/main/java/com/gaotao/modules/notify/mapper/IssureNotifyMapper.java
  3. 19
      src/main/java/com/gaotao/modules/notify/service/IssureNotifyService.java
  4. 58
      src/main/java/com/gaotao/modules/notify/service/impl/IssureNotifyServiceImpl.java
  5. 19
      src/main/resources/mapper/notify/IssureNotifyMapper.xml

30
src/main/java/com/gaotao/modules/notify/controller/IssureNotifyController.java

@ -330,4 +330,34 @@ public class IssureNotifyController {
return R.ok().put("errorMsg", msg);
}
/**
* @Description 检查用户是否有未下达的shoporder申请单 - rqrq
* @Title checkUserHasUnissueShopOrder
* @param data 查询条件包含site和username
* @return R
* @author rqrq
* @date 2025/11/03
*/
@PostMapping(value="/checkUserHasUnissueShopOrder")
@ResponseBody
public R checkUserHasUnissueShopOrder(@RequestBody SOIssueNotifyHeaderData data) throws Exception {
SOIssueNotifyHeaderData row = issureNotifyService.checkUserHasUnissueShopOrder(data);
return R.ok().put("row", row);
}
/**
* @Description 取消下达申请单 - rqrq
* @Title cancelIssueNotify
* @param data 申请单数据包含site和notifyNo
* @return R
* @author rqrq
* @date 2025/11/03
*/
@PostMapping(value="/cancelIssueNotify")
@ResponseBody
public R cancelIssueNotify(@RequestBody SOIssueNotifyHeaderData data) throws Exception {
issureNotifyService.cancelIssueNotify(data);
return R.ok();
}
}

17
src/main/java/com/gaotao/modules/notify/mapper/IssureNotifyMapper.java

@ -133,4 +133,21 @@ public interface IssureNotifyMapper extends BaseMapper<SOIssueNotifyHeader> {
*/
List<InventoryCheckResult> checkIssueNotifyInventory(@Param("site") String site, @Param("notifyNo") String notifyNo);
/**
* @Description 检查用户是否有未下达的shoporder申请单 - rqrq
* @param data 查询条件包含site和username
* @return SOIssueNotifyHeaderData
* @author rqrq
* @date 2025/11/03
*/
SOIssueNotifyHeaderData checkUserHasUnissueShopOrder(SOIssueNotifyHeaderData data);
/**
* @Description 取消下达申请单更新status为UNISSUE - rqrq
* @param data 申请单数据包含site和notifyNo
* @author rqrq
* @date 2025/11/03
*/
void cancelIssueNotify(SOIssueNotifyHeaderData data);
}

19
src/main/java/com/gaotao/modules/notify/service/IssureNotifyService.java

@ -141,4 +141,23 @@ public interface IssureNotifyService {
/*Boolean updateNotifyConfirmStatus(SOIssueNotifyHeaderData data)throws Exception;
Boolean updateBatchConfirmStatus(String[] notifyNos);*/
/**
* @Description 检查用户是否有未下达的shoporder申请单 - rqrq
* @Title checkUserHasUnissueShopOrder
* @param data 查询条件包含site和username
* @return SOIssueNotifyHeaderData 如果有未下达申请单则返回否则返回null
* @author rqrq
* @date 2025/11/03
*/
SOIssueNotifyHeaderData checkUserHasUnissueShopOrder(SOIssueNotifyHeaderData data);
/**
* @Description 取消下达申请单更新status为UNISSUE - rqrq
* @Title cancelIssueNotify
* @param data 申请单数据包含site和notifyNo
* @author rqrq
* @date 2025/11/03
*/
void cancelIssueNotify(SOIssueNotifyHeaderData data);
}

58
src/main/java/com/gaotao/modules/notify/service/impl/IssureNotifyServiceImpl.java

@ -12,10 +12,7 @@ import com.gaotao.modules.api.entity.IfsInventoryPart;
import com.gaotao.modules.api.service.IfsApiService;
import com.gaotao.modules.api.service.impl.IfsApiServiceImpl;
import com.gaotao.modules.base.entity.SOScheduledRoutingData;
import com.gaotao.modules.notify.entity.SOIssueNotifyHeaderData;
import com.gaotao.modules.notify.entity.SOIssueNotifyOrderList;
import com.gaotao.modules.notify.entity.SOIssueNotifyOrderListData;
import com.gaotao.modules.notify.entity.SOIssueNotifyOrderMaterialListData;
import com.gaotao.modules.notify.entity.*;
import com.gaotao.modules.notify.entity.vo.ShopOrderMaterialVo;
import com.gaotao.modules.notify.entity.vo.ShopOrderVo;
import com.gaotao.modules.notify.mapper.IssureNotifyMapper;
@ -632,4 +629,57 @@ public class IssureNotifyServiceImpl implements IssureNotifyService {
}
return true;
}*/
/**
* @Description 检查用户是否有未下达的shoporder申请单 - rqrq
* @param data 查询条件
* @return SOIssueNotifyHeaderData
* @author rqrq
*/
@Override
public SOIssueNotifyHeaderData checkUserHasUnissueShopOrder(SOIssueNotifyHeaderData data) {
System.out.println("开始检查用户是否有未下达的shoporder申请单 - rqrq,site=" + data.getSite() + ", username=" + data.getUsername());
// 调用Mapper查询用户是否有状态为UNISSUE且ordertype=shoporder的数据 - rqrq
SOIssueNotifyHeaderData result = issureNotifyMapper.checkUserHasUnissueShopOrder(data);
if (result != null) {
System.out.println("用户有未下达的shoporder申请单 - rqrq,notifyNo=" + result.getNotifyNo());
} else {
System.out.println("用户没有未下达的shoporder申请单 - rqrq");
}
return result;
}
/**
* @Description 取消下达申请单更新status为UNISSUE - rqrq
* @param data 申请单数据
* @author rqrq
*/
@Override
@Transactional
public void cancelIssueNotify(SOIssueNotifyHeaderData data) {
System.out.println("开始取消下达申请单 - rqrq,notifyNo=" + data.getNotifyNo() + ", site=" + data.getSite());
// 查询申请单信息检查是否已推送WCS - rqrq
QueryWrapper<SOIssueNotifyHeader> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("site", data.getSite());
queryWrapper.eq("notify_no", data.getNotifyNo());
SOIssueNotifyHeader notifyHeader = issureNotifyMapper.selectOne(queryWrapper);
if (notifyHeader == null) {
throw new RuntimeException("申请单不存在");
}
// 判断是否已推送WCS如果已推送则不允许取消下达 - rqrq
if (!"未推送".equals(notifyHeader.getPushWcsFlag())) {
throw new RuntimeException("申请单已推送WCS,不允许取消下达");
}
// 更新申请单状态为UNISSUE - rqrq
issureNotifyMapper.cancelIssueNotify(data);
System.out.println("取消下达申请单完成 - rqrq");
}
}

19
src/main/resources/mapper/notify/IssureNotifyMapper.xml

@ -376,4 +376,23 @@ record_version,out_work_order_flag,project_id,order_type,auth_rule_id,bu)
EXEC CheckIssueNotifyInventory #{site}, #{notifyNo}
</select>
<!-- rqrq - 检查用户是否有未下达的shoporder申请单 -->
<select id="checkUserHasUnissueShopOrder" resultType="SOIssueNotifyHeaderData">
select top 1 a.notify_no,a.site,a.notify_date,a.username,a.entered_date,a.receiver,a.department_id,a.remark,
a.credit_flag,a.issue_flag,a.issue_result,a.plan_issue_date,a.real_issue_date,a.status,
a.have_issue_record_flag,a.calc_flag,a.need_approve_flag,a.approved_flag,a.approver,a.approve_date,
a.warehouse_id,a.record_version,a.out_work_order_flag,a.project_id,a.order_type,a.auth_rule_id,
a.handler_username,a.handler_display,a.push_wcs_flag
from SOIssueNotifyHeader a
where a.site=#{site} and a.username=#{username} and a.status='UNISSUE' and a.order_type='shoporder'
order by a.entered_date desc
</select>
<!-- rqrq - 取消下达申请单(更新status为UNISSUE) -->
<update id="cancelIssueNotify">
update SOIssueNotifyHeader
set status='UNISSUE'
where site=#{site} and notify_no=#{notifyNo}
</update>
</mapper>
Loading…
Cancel
Save