|
@@ -28,108 +28,133 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
/**
|
|
|
* Service: tb_import_order -- 进口申报单
|
|
|
+ *
|
|
|
* @author lbl
|
|
|
*/
|
|
|
@Service
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
-public class TbImportOrderService extends ServiceImpl<TbImportOrderMapper, TbImportOrder> implements IService<TbImportOrder>{
|
|
|
-
|
|
|
- /** 底层 Mapper 对象 */
|
|
|
- @Autowired
|
|
|
- TbImportOrderMapper tbImportOrderMapper;
|
|
|
- @Autowired
|
|
|
- TbOrderService tbOrderService;
|
|
|
- @Autowired
|
|
|
- TbImportGoodsMapper importGoodsMapper;
|
|
|
- @Autowired
|
|
|
- private TbPeopleMapper tbPeopleMapper;
|
|
|
-
|
|
|
- /** 增 */
|
|
|
- void add(TbImportOrder t){
|
|
|
- save(t);
|
|
|
- }
|
|
|
-
|
|
|
- /** 删 */
|
|
|
- void delete(Long id){
|
|
|
- removeById(id);
|
|
|
- }
|
|
|
-
|
|
|
- /** 改 */
|
|
|
- void update(TbImportOrder t){
|
|
|
- updateById(t);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /** 查 */
|
|
|
- TbImportOrder getById(Long id){
|
|
|
- return super.getById(id);
|
|
|
- }
|
|
|
-
|
|
|
- /** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
|
|
|
- List<TbImportOrder> getList(SoMap so) {
|
|
|
- return tbImportOrderMapper.getList(so);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 查看订单详情
|
|
|
- * @param orderId 一级市场订单ID
|
|
|
- * @return 订单的vo
|
|
|
- */
|
|
|
- public ImportOrderVo importOrderDetail(Long orderId){
|
|
|
- TbOrder peopleOrder = tbOrderService.getById(orderId);
|
|
|
- APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
|
|
|
- if(!appLoginInfo.getFk().equals(peopleOrder.getBuyUserId())) throw new ServiceException("当前边民订单信息异常,请联系管理员!");
|
|
|
-
|
|
|
- //根据边民订单获取关联的进口申报单Id,查询进口申报单详情
|
|
|
- TbImportOrder importOrder = tbImportOrderMapper.selectById(peopleOrder.getImportOrderId());
|
|
|
- if(importOrder == null) throw new ServiceException("进口申报单信息异常,请联系管理员!");
|
|
|
-
|
|
|
- ImportOrderVo importOrderVo = new ImportOrderVo();
|
|
|
- BeanUtils.copyProperties(importOrder,importOrderVo);
|
|
|
-
|
|
|
- importOrderVo.setGoodsNames(peopleOrder.getGoodsNames());
|
|
|
- importOrderVo.setGLimit(peopleOrder.getGLimit());
|
|
|
- return importOrderVo;
|
|
|
- }
|
|
|
-
|
|
|
- public boolean audit(Long id, Integer judgeStatus, String judgeContent) {
|
|
|
- TbImportOrder importOrder = tbImportOrderMapper.selectById(id);
|
|
|
- if(importOrder == null) throw new ServiceException("进口申报单信息异常,请联系管理员!");
|
|
|
- String name = StpUserUtil.getLoginName();
|
|
|
- importOrder.setJudgeStatus(judgeStatus).setJudgeContent(judgeContent).setJudgeTime(new Date()).setJudgeBy(name);
|
|
|
- return updateById(importOrder);
|
|
|
- }
|
|
|
-
|
|
|
- /** 远程调用 进口申报单同步 */
|
|
|
- public boolean importOrderDto(HtImportOrderDto importOrderDto) {
|
|
|
-
|
|
|
- TbImportOrder importOrder = new TbImportOrder();
|
|
|
- BeanUtils.copyProperties(importOrderDto, importOrder);
|
|
|
- importOrder.setCreateTime(new Date());
|
|
|
- boolean save = save(importOrder);
|
|
|
- long importOrderId = SP.publicMapper.getPrimarykey();
|
|
|
- if(save) {
|
|
|
- //委托边民额度
|
|
|
- List<HtIeportDeclBillsBpLimitDto> ieportDeclBillsBpLimitDtoList = JSON.parseArray(importOrderDto.getBorderPeopleLimitList(), HtIeportDeclBillsBpLimitDto.class);
|
|
|
- ieportDeclBillsBpLimitDtoList.forEach(ieportDeclBillsBpLimitDto -> {
|
|
|
- LambdaUpdateWrapper<TbOrder> wrapper = new LambdaUpdateWrapper<>();
|
|
|
- wrapper.set(TbOrder::getLimitNo, ieportDeclBillsBpLimitDto.getLimitNo());
|
|
|
- wrapper.set(TbOrder::getGLimit, ieportDeclBillsBpLimitDto.getgLimit());
|
|
|
- wrapper.set(TbOrder::getGNo, ieportDeclBillsBpLimitDto.getgNo());
|
|
|
- wrapper.set(TbOrder::getImportOrderId, importOrderId);
|
|
|
- wrapper.eq(TbOrder::getPreIeportNo, ieportDeclBillsBpLimitDto.getPlatSeqNo());
|
|
|
- boolean update = tbOrderService.update(wrapper);
|
|
|
- });
|
|
|
-
|
|
|
- //申报单商品信息
|
|
|
- List<HtIeportDeclBillsGoodsDto> ieportDeclBillsGoodsDtoList = JSON.parseArray(importOrderDto.getGoodsList(), HtIeportDeclBillsGoodsDto.class);
|
|
|
- ieportDeclBillsGoodsDtoList.forEach(ieportDeclBillsGoodsDto -> {
|
|
|
- TbImportGoods importGoods = new TbImportGoods();
|
|
|
- BeanUtils.copyProperties(ieportDeclBillsGoodsDto, importGoods);
|
|
|
- importGoods.setImportOrderId(importOrderId);
|
|
|
- int insert = importGoodsMapper.insert(importGoods);
|
|
|
- });
|
|
|
- }
|
|
|
- return save;
|
|
|
- }
|
|
|
+public class TbImportOrderService extends ServiceImpl<TbImportOrderMapper, TbImportOrder> implements IService<TbImportOrder> {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 底层 Mapper 对象
|
|
|
+ */
|
|
|
+ @Autowired
|
|
|
+ TbImportOrderMapper tbImportOrderMapper;
|
|
|
+ @Autowired
|
|
|
+ TbOrderService tbOrderService;
|
|
|
+ @Autowired
|
|
|
+ TbImportGoodsMapper importGoodsMapper;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 增
|
|
|
+ */
|
|
|
+ void add(TbImportOrder t) {
|
|
|
+ save(t);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删
|
|
|
+ */
|
|
|
+ void delete(Long id) {
|
|
|
+ removeById(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 改
|
|
|
+ */
|
|
|
+ void update(TbImportOrder t) {
|
|
|
+ updateById(t);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查
|
|
|
+ */
|
|
|
+ TbImportOrder getById(Long id) {
|
|
|
+ return super.getById(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查集合 - 根据条件(参数为空时代表忽略指定条件)
|
|
|
+ */
|
|
|
+ List<TbImportOrder> getList(SoMap so) {
|
|
|
+ return tbImportOrderMapper.getList(so);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看订单详情
|
|
|
+ *
|
|
|
+ * @param orderId 一级市场订单ID
|
|
|
+ * @return 订单的vo
|
|
|
+ */
|
|
|
+ public ImportOrderVo importOrderDetail(Long orderId) {
|
|
|
+ TbOrder peopleOrder = tbOrderService.getById(orderId);
|
|
|
+ APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
|
|
|
+ if (!appLoginInfo.getFk().equals(peopleOrder.getBuyUserId()))
|
|
|
+ throw new ServiceException("当前边民订单信息异常,请联系管理员!");
|
|
|
+
|
|
|
+ //根据边民订单获取关联的进口申报单Id,查询进口申报单详情
|
|
|
+ TbImportOrder importOrder = tbImportOrderMapper.selectById(peopleOrder.getImportOrderId());
|
|
|
+ if (importOrder == null) throw new ServiceException("进口申报单信息异常,请联系管理员!");
|
|
|
+
|
|
|
+ ImportOrderVo importOrderVo = new ImportOrderVo();
|
|
|
+ BeanUtils.copyProperties(importOrder, importOrderVo);
|
|
|
+
|
|
|
+ importOrderVo.setGoodsNames(peopleOrder.getGoodsNames());
|
|
|
+ importOrderVo.setGLimit(peopleOrder.getGLimit());
|
|
|
+ return importOrderVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean audit(Long id, Integer judgeStatus, String judgeContent) {
|
|
|
+ TbImportOrder importOrder = tbImportOrderMapper.selectById(id);
|
|
|
+ if (importOrder == null) throw new ServiceException("进口申报单信息异常,请联系管理员!");
|
|
|
+ String name = StpUserUtil.getLoginName();
|
|
|
+ importOrder.setJudgeStatus(judgeStatus).setJudgeContent(judgeContent).setJudgeTime(new Date()).setJudgeBy(name);
|
|
|
+ return updateById(importOrder);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 远程调用 进口申报单同步
|
|
|
+ */
|
|
|
+ public boolean importOrderDto(HtImportOrderDto importOrderDto) {
|
|
|
+ TbImportOrder importOrder = tbImportOrderMapper.findByManifestId(importOrderDto.getManifestId());
|
|
|
+ if (importOrder == null) {
|
|
|
+ importOrder = new TbImportOrder();
|
|
|
+ importOrder.setCreateTime(new Date());
|
|
|
+ }
|
|
|
+ BeanUtils.copyProperties(importOrderDto, importOrder, "id");
|
|
|
+ boolean save = saveOrUpdate(importOrder);
|
|
|
+ long importOrderId = importOrder.getId();
|
|
|
+ if (save) {
|
|
|
+ //委托边民额度
|
|
|
+ List<HtIeportDeclBillsBpLimitDto> ieportDeclBillsBpLimitDtoList = JSON.parseArray(importOrderDto.getBorderPeopleLimitList(), HtIeportDeclBillsBpLimitDto.class);
|
|
|
+ ieportDeclBillsBpLimitDtoList.forEach(ieportDeclBillsBpLimitDto -> {
|
|
|
+ LambdaUpdateWrapper<TbOrder> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.set(TbOrder::getLimitNo, ieportDeclBillsBpLimitDto.getLimitNo());
|
|
|
+ wrapper.set(TbOrder::getGLimit, ieportDeclBillsBpLimitDto.getgLimit());
|
|
|
+ wrapper.set(TbOrder::getGNo, ieportDeclBillsBpLimitDto.getgNo());
|
|
|
+ wrapper.set(TbOrder::getImportOrderId, importOrderId);
|
|
|
+ wrapper.eq(TbOrder::getPreIeportNo, ieportDeclBillsBpLimitDto.getPlatSeqNo());
|
|
|
+ boolean update = tbOrderService.update(wrapper);
|
|
|
+ });
|
|
|
+ //申报单商品信息
|
|
|
+ List<HtIeportDeclBillsGoodsDto> ieportDeclBillsGoodsDtoList = JSON.parseArray(importOrderDto.getGoodsList(), HtIeportDeclBillsGoodsDto.class);
|
|
|
+ ieportDeclBillsGoodsDtoList.forEach(ieportDeclBillsGoodsDto -> {
|
|
|
+ TbImportGoods importGoods = importGoodsMapper.findBySeqPlatNo(ieportDeclBillsGoodsDto.getPlatSeqNo());
|
|
|
+ if (importGoods == null) {
|
|
|
+ importGoods = new TbImportGoods();
|
|
|
+ }
|
|
|
+ BeanUtils.copyProperties(ieportDeclBillsGoodsDto, importGoods, "id");
|
|
|
+ importGoods.setImportOrderId(importOrderId);
|
|
|
+ if (importGoods.getId() != null) {
|
|
|
+ importGoodsMapper.updateById(importGoods);
|
|
|
+ } else {
|
|
|
+ importGoodsMapper.insert(importGoods);
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return save;
|
|
|
+ }
|
|
|
}
|