fix: 修复

dev_no_inv
chenhc 10 months ago
parent 970d87013a
commit e571580a70

@ -31,6 +31,7 @@ import com.glxp.api.service.collect.*;
import com.glxp.api.util.IntUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -55,6 +56,8 @@ public class IoCollectOrderController extends BaseController {
@Resource
IoCollectOrderBizService collectOrderBizService;
@Resource
IoCollectOrderBizBackupService collectOrderBizBackupService;
@Resource
private BasicCollectUserService basicCollectUserService;
@ -233,8 +236,8 @@ public class IoCollectOrderController extends BaseController {
* @return
*/
@PostMapping("/udiwms/basic/collect/order/biz/save")
public BaseResponse saveOrderBiz(@RequestBody IoCollectOrderBiz collectOrderBiz) {
collectOrderBizService.updateById(collectOrderBiz);
public BaseResponse saveOrderBiz(@RequestBody IoCollectOrderBizBackup collectOrderBiz) {
collectOrderBizBackupService.updateById(collectOrderBiz);
return ResultVOUtils.success("更新成功");
}
@ -284,6 +287,7 @@ public class IoCollectOrderController extends BaseController {
* @return
*/
@PostMapping("/udiwms/basic/collect/order/finish")
@Transactional(rollbackFor = Exception.class)
public BaseResponse saveFinishOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
if (!IntUtil.value(collectOrderRequest.getConfirmFinish())) {

@ -1,20 +1,25 @@
package com.glxp.api.controller.collect;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dao.basic.SysWorkplaceDocumentDao;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderOrigin;
import com.glxp.api.req.basic.BasicCollectUserRequest;
import com.glxp.api.req.basic.WorkBindBusTypeRequest;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.SysWorkplaceDocumentResponse;
import com.glxp.api.res.basic.UserWorkResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.service.basic.BasicCollectUserService;
import com.glxp.api.service.collect.DownloadFactory;
import com.glxp.api.service.collect.IoCollectOrderBizOriginService;
import com.glxp.api.service.collect.IoCollectOrderOriginService;
import com.glxp.api.service.collect.IoCollectOriginService;
@ -42,10 +47,29 @@ public class IoCollectOriginController extends BaseController {
IoCollectOriginService collectOriginService;
@Resource
IoCollectOrderBizOriginService collectOrderBizOriginService;
@Resource
SysWorkplaceDocumentDao sysWorkplaceDocumentDao;
@PostMapping("/udiwms/basic/collect/origin/order/download")
public BaseResponse downloadOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
return collectOriginService.downloadOrderV2(collectOrderRequest);
Long workPlaceCode = collectOrderRequest.getWorkPlaceCode();
if (workPlaceCode == null) {
WorkBindBusTypeRequest workBindBusTypeRequest = new WorkBindBusTypeRequest();
List<SysWorkplaceDocumentResponse> sysWorkplaceDocumentResponses = sysWorkplaceDocumentDao.filterList(workBindBusTypeRequest);
if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)) {
for (SysWorkplaceDocumentResponse sysWorkplaceDocumentResponse : sysWorkplaceDocumentResponses) {
Long workplaceCode = sysWorkplaceDocumentResponse.getWorkplaceCode();
String documentTypeCode = sysWorkplaceDocumentResponse.getDocumentTypeCode();
collectOrderRequest.setBusType(documentTypeCode);
collectOrderRequest.setWorkPlaceCode(workplaceCode);
collectOriginService.downloadOrderV2(collectOrderRequest);
}
}
}else {
return collectOriginService.downloadOrderV2(collectOrderRequest);
}
return ResultVOUtils.success("下载成功");
}

@ -1,6 +1,8 @@
package com.glxp.api.req.collect;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
@ -127,4 +129,14 @@ public class CollectOrderRequest extends ListPageRequest {
*/
private String updateError;
/**
*
*/
@TableField(value = "fromCorpName")
@ApiModelProperty(value = "往来信息名称")
private String fromCorpName;
private String startTime;
private String endTime;
}

@ -43,4 +43,7 @@ public class FilterThrOrderRequest extends ListPageRequest {
private String fromType;
private String busType;
private List<ThrOrderResponse> erpOrderResponses;
private String startTime;
private String endTime;
}

@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
@ -623,12 +624,17 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
BeanUtils.copyProperties(collectOrderRequest, collectOrder);
collectOrder.setTagStatus(3);
collectOrder.setUpdateTime(new Date());
updateByBillNo(collectOrder);
// updateByBillNo(collectOrder);
splitCodeService.finishAutoTagCode(collectOrder);
//插入备用表
IoCollectOrderBackup ioCollectOrderBackup = new IoCollectOrderBackup();
BeanUtils.copyProperties(collectOrder, ioCollectOrderBackup);
ioCollectOrderBackupService.save(ioCollectOrderBackup);
//删除原来单据
removeOrderByBillNo(collectOrder);
ThreadUtil.execAsync(() -> {
//插入到码表
collectCodeService.insertCodesByBill(collectOrderRequest.getBillNo());
@ -636,6 +642,11 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
});
}
private void removeOrderByBillNo(IoCollectOrder collectOrder) {
String billNo = collectOrder.getBillNo();
this.remove(new LambdaUpdateWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo,billNo));
collectOrderBizService.remove(new LambdaUpdateWrapper<IoCollectOrderBiz>().eq(IoCollectOrderBiz::getOrderIdFk,billNo));
}
@Resource

@ -49,6 +49,8 @@ public class ThrOrderDownload implements IDownload {
filterThrOrderRequest.setBusType(collectOrderRequest.getBusType());
filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
filterThrOrderRequest.setFromType(collectOrderRequest.getFromType());
filterThrOrderRequest.setStartTime(collectOrderRequest.getStartTime());
filterThrOrderRequest.setEndTime(collectOrderRequest.getEndTime());
while (true) {
filterThrOrderRequest.setPage(page);
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest);

@ -31,6 +31,8 @@ public class YPCF002Download implements IDownload {
getSickPrescribeRequest.setThirdSys("thirdId");
getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType());
getSickPrescribeRequest.setStartTime(collectOrderRequest.getStartTime());
getSickPrescribeRequest.setEndTime(collectOrderRequest.getEndTime());
while (true) {
getSickPrescribeRequest.setPage(page);
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest);

@ -0,0 +1,79 @@
package com.glxp.api.task;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.thread.ThreadUtil;
import com.glxp.api.dao.basic.SysWorkplaceDocumentDao;
import com.glxp.api.dao.schedule.ScheduledDao;
import com.glxp.api.entity.inv.InvProductRationEntity;
import com.glxp.api.entity.system.ScheduledEntity;
import com.glxp.api.req.basic.WorkBindBusTypeRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.system.ScheduledRequest;
import com.glxp.api.res.basic.SysWorkplaceDocumentResponse;
import com.glxp.api.service.collect.IoCollectOriginService;
import com.glxp.api.service.inv.InvProductRationService;
import com.glxp.api.util.MsDateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Component
@EnableScheduling
public class AsyncIoCollectOrderDownloadTask implements SchedulingConfigurer {
final Logger logger = LoggerFactory.getLogger(AsyncIoCollectOrderDownloadTask.class);
@Resource
private ScheduledDao scheduledDao;
@Resource
SysWorkplaceDocumentDao sysWorkplaceDocumentDao;
@Resource
IoCollectOriginService collectOriginService;
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
scheduledTaskRegistrar.addTriggerTask(() -> process(),
triggerContext -> {
ScheduledRequest scheduledRequest = new ScheduledRequest();
scheduledRequest.setCronName("ioCollectOrderDownloadTask");
ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest);
String cron = scheduledEntity != null ? scheduledEntity.getCron() : "0 */10 * * * ?";
if (cron.isEmpty()) {
logger.error("cron is null");
}
return new CronTrigger(cron).nextExecutionTime(triggerContext);
});
}
private void process() {
ThreadUtil.execAsync(() -> {
WorkBindBusTypeRequest workBindBusTypeRequest = new WorkBindBusTypeRequest();
List<SysWorkplaceDocumentResponse> sysWorkplaceDocumentResponses = sysWorkplaceDocumentDao.filterList(workBindBusTypeRequest);
if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)) {
//包装开始和结束的日期
CollectOrderRequest collectOrderRequest = new CollectOrderRequest();
String date = MsDateUtil.getDate();
collectOrderRequest.setStartTime(date);
collectOrderRequest.setEndTime(date);
for (SysWorkplaceDocumentResponse sysWorkplaceDocumentResponse : sysWorkplaceDocumentResponses) {
Long workplaceCode = sysWorkplaceDocumentResponse.getWorkplaceCode();
String documentTypeCode = sysWorkplaceDocumentResponse.getDocumentTypeCode();
collectOrderRequest.setBusType(documentTypeCode);
collectOrderRequest.setWorkPlaceCode(workplaceCode);
collectOriginService.downloadOrderV2(collectOrderRequest);
}
}
});
}
}

@ -127,6 +127,9 @@
TRUNCATE io_collect_order_origin;
TRUNCATE io_collect_order_biz_origin;
TRUNCATE io_collect_order_backup;
TRUNCATE io_collect_order_biz_backup;
</select>
<update id="updateInvAlert" parameterType="map">

@ -101,6 +101,9 @@
<if test="uploadStatus != null">
and ico.uploadStatus = #{uploadStatus}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND date_format(ico.billTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d')
</if>
</where>
GROUP BY
ico.billNo

Loading…
Cancel
Save