Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java
master
wangwei 2 years ago
commit 3903ad57d9

@ -558,6 +558,7 @@ public class IoOrderDetailBizController extends BaseController {
ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo()); ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo());
ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate()); ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate());
ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate()); ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate());
ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId());
boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity);
return ResultVOUtils.success("成功"); return ResultVOUtils.success("成功");

@ -360,6 +360,7 @@ public class ThrProductsAddDiController {
FilterThrProductsRequest filterThrProductsRequest=new FilterThrProductsRequest(); FilterThrProductsRequest filterThrProductsRequest=new FilterThrProductsRequest();
filterThrProductsRequest.setStatus(2); filterThrProductsRequest.setStatus(2);
filterThrProductsRequest.setDiType(1);
List<ThrProductsAddDiEntity> thrProductsAddDiEntityList=thrProductsAddDiService.filterThrProductsDiLists(filterThrProductsRequest); List<ThrProductsAddDiEntity> thrProductsAddDiEntityList=thrProductsAddDiService.filterThrProductsDiLists(filterThrProductsRequest);
for (ThrProductsAddDiEntity thrProductsAddDiEntity:thrProductsAddDiEntityList){ for (ThrProductsAddDiEntity thrProductsAddDiEntity:thrProductsAddDiEntityList){

@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date; import java.util.Date;
import lombok.Data; import lombok.Data;
@Data @Data
@ -98,10 +100,12 @@ public class IoOrderInvoiceEntity {
private String licenseUrl; private String licenseUrl;
@TableField(value = "remark") @TableField(value = "remark")
private String remark; private String remark;
@TableField(value = "bizIdFk")
private Integer bizIdFk;
public static final String COL_ID = "id"; public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk"; public static final String COL_ORDERIDFK = "orderIdFk";

@ -138,6 +138,7 @@ public class IdcServiceImpl implements IdcService {
logger.info("UDI管理系统同步任务开始--------"); logger.info("UDI管理系统同步任务开始--------");
asyncDataTask(true); asyncDataTask(true);
} }
/*自助平台生成任务,不上传*/ /*自助平台生成任务,不上传*/
@Override @Override
public void asyncSpsTask() { public void asyncSpsTask() {
@ -151,6 +152,7 @@ public class IdcServiceImpl implements IdcService {
public void asyncFetchUdiTask() { public void asyncFetchUdiTask() {
fetchTask(false); fetchTask(false);
} }
@Async @Async
@Override @Override
public void asyncFetchTask() { public void asyncFetchTask() {
@ -274,7 +276,6 @@ public class IdcServiceImpl implements IdcService {
} }
private String fetchData(String host, Map<String, Object> params) { private String fetchData(String host, Map<String, Object> params) {
OkHttpClient client = new OkHttpClient().newBuilder() OkHttpClient client = new OkHttpClient().newBuilder()
.build(); .build();
@ -287,7 +288,6 @@ public class IdcServiceImpl implements IdcService {
.build(); .build();
String result = ""; String result = "";
MultipartFile[] files = {}; MultipartFile[] files = {};
Date startTime = new Date();
try { try {
boolean success = true; boolean success = true;
Response response = client.newCall(request).execute(); Response response = client.newCall(request).execute();
@ -302,11 +302,11 @@ public class IdcServiceImpl implements IdcService {
} else { } else {
success = false; success = false;
} }
syncAddTaskStatus(json.getJSONObject("data"),3,success,startTime,true); syncAddTaskStatus(json.getJSONObject("data"), 3, success);
} else { } else {
if (json.get("code") != null && json.get("data") != null) { if (json.get("code") != null && json.get("data") != null) {
//logger.info("res1-->"+JSON.toJSONString(json)); logger.info("res1-->" + JSON.toJSONString(json));
syncAddTaskStatus(json.getJSONObject("data"),0,success,startTime,true); syncAddTaskStatus(json.getJSONObject("data"), 0, success);
analyMiddle(host, json.getJSONObject("data"), files, false, false); analyMiddle(host, json.getJSONObject("data"), files, false, false);
} }
} }
@ -349,10 +349,11 @@ public class IdcServiceImpl implements IdcService {
public BaseResponse downlaodSuccess(HttpServletRequest request, Map<String, Object> params) { public BaseResponse downlaodSuccess(HttpServletRequest request, Map<String, Object> params) {
String sql = "update basic_export_status set receiveStatus='1',endTime=now() where id='"+params.get("taskId")+"'"; String sql = "update basic_export_status set receiveStatus='1' where id='" + params.get("taskId") + "'";
dbDao.update(sql); dbDao.update(sql);
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
/****/ /****/
@Override @Override
public BaseResponse receive(HttpServletRequest request, public BaseResponse receive(HttpServletRequest request,
@ -375,7 +376,7 @@ public class IdcServiceImpl implements IdcService {
FileUtils.SaveFileAs(content, fileName); FileUtils.SaveFileAs(content, fileName);
FileUtils.SaveFileAs(content, backFileName); FileUtils.SaveFileAs(content, backFileName);
ArrayList<String> saveFiles = new ArrayList<>(); ArrayList<String> saveFiles = new ArrayList<>();
Date startTime = new Date();
if (files != null) { if (files != null) {
int n = 0; int n = 0;
@ -402,7 +403,7 @@ public class IdcServiceImpl implements IdcService {
boolean success = false; boolean success = false;
if (isLastLevel()) { if (isLastLevel()) {
success = analyMiddle("", json, files, true, true); success = analyMiddle("", json, files, true, true);
syncAddTaskStatus(json,2,success,startTime,true); syncAddTaskStatus(json, 2, success);
if (!success) { if (!success) {
return ResultVOUtils.error(9000, "解析失败"); return ResultVOUtils.error(9000, "解析失败");
@ -413,11 +414,11 @@ public class IdcServiceImpl implements IdcService {
String host = getNextHost(); String host = getNextHost();
String result = relay(request.getHeader("reqNo"), content, saveFiles, host); String result = relay(request.getHeader("reqNo"), content, saveFiles, host);
if (IDCUtils.isJson(result)) { if (IDCUtils.isJson(result)) {
syncAddTaskStatus(json,1,true,startTime,true); syncAddTaskStatus(json, 1, true);
BaseResponse object = JSON.parseObject(result, BaseResponse.class); BaseResponse object = JSON.parseObject(result, BaseResponse.class);
return object; return object;
} else { } else {
syncAddTaskStatus(json,1,false,startTime,false); syncAddTaskStatus(json, 1, false);
return ResultVOUtils.error(9000, "转发失败"); return ResultVOUtils.error(9000, "转发失败");
} }
@ -435,6 +436,7 @@ public class IdcServiceImpl implements IdcService {
} }
@Override @Override
public BaseResponse send(String messageType, String tableName, Map<String, Object> params) { public BaseResponse send(String messageType, String tableName, Map<String, Object> params) {
@ -446,7 +448,9 @@ public class IdcServiceImpl implements IdcService {
public void downloadFile(String fileName, HttpServletResponse response) { public void downloadFile(String fileName, HttpServletResponse response) {
OutputStream os; OutputStream os;
String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : fileName.substring(0, 1).equals("/") ? "" : "/"; String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : fileName.substring(0, 1).equals("/") ? "" : "/";
if (!FileUtils.isFileExist(filePath + filePathSlash + fileName))
fileName = "11.jpg";
logger.info(filePath + filePathSlash + fileName);
try { try {
if (FileUtils.isFileExist(filePath + filePathSlash + fileName)) { if (FileUtils.isFileExist(filePath + filePathSlash + fileName)) {
byte[] bytes = FileUtils.readFileByBytes(filePath + filePathSlash + fileName); byte[] bytes = FileUtils.readFileByBytes(filePath + filePathSlash + fileName);
@ -464,34 +468,39 @@ public class IdcServiceImpl implements IdcService {
private void saveUploadStatus(Map<String, Object> params) { private void saveUploadStatus(Map<String, Object> params) {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
map.putAll(params); map.putAll(params);
map.put("id", CustomUtil.getId());
map.put("updateTime", new Date());
Map<String, Object> columns = getColumn("basic_upload_status"); Map<String, Object> columns = getColumn("basic_upload_status");
String sql = "replace basic_upload_status "+DBAUtils.parseInsert(map, columns); String sql = "insert into basic_upload_status " + DBAUtils.parseInsert(map, columns);
dbDao.save(sql); dbDao.save(sql);
} }
private void saveExportStatus(Map<String, Object> params) { private void saveExportStatus(Map<String, Object> params) {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
map.putAll(params); map.putAll(params);
map.put("receiveStatus", "0"); map.put("receiveStatus", "0");
map.put("id", CustomUtil.getId());
map.put("updateTime", new Date());
Map<String, Object> columns = getColumn("basic_export_status"); Map<String, Object> columns = getColumn("basic_export_status");
String sql = "replace basic_export_status "+DBAUtils.parseInsert(map, columns); String sql = "insert into basic_export_status " + DBAUtils.parseInsert(map, columns);
dbDao.save(sql); dbDao.save(sql);
} }
private void saveDownloadStatus(Map<String, Object> params) { private void saveDownloadStatus(Map<String, Object> params) {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
map.put("receiveStatus", "0"); map.put("receiveStatus", "0");
map.putAll(params); map.putAll(params);
map.put("id", CustomUtil.getId());
map.put("updateTime", new Date());
Map<String, Object> columns = getColumn("basic_download_status"); Map<String, Object> columns = getColumn("basic_download_status");
String sql = "replace basic_download_status "+DBAUtils.parseInsert(map, columns); String sql = "insert into basic_download_status " + DBAUtils.parseInsert(map, columns);
dbDao.save(sql); dbDao.save(sql);
} }
private void saveIdcLog(String messageType, String taskId, String content, int offset, int total) { private void saveIdcLog(String messageType, String taskId, String content, int offset, int total) {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
map.put("id", CustomUtil.getId()); map.put("id", CustomUtil.getId());
@ -559,7 +568,6 @@ public class IdcServiceImpl implements IdcService {
for (int i = 0; i < Math.ceil(total / limit) + 1; i++) { for (int i = 0; i < Math.ceil(total / limit) + 1; i++) {
whereParams.replace("page", i * limit); whereParams.replace("page", i * limit);
whereParams.replace("limit", limit); whereParams.replace("limit", limit);
Date startTime = new Date();
Map<String, Object> data = getData(messageType, tableName, params, whereParams); Map<String, Object> data = getData(messageType, tableName, params, whereParams);
String recordSql = ""; String recordSql = "";
orderNum++; orderNum++;
@ -580,7 +588,6 @@ public class IdcServiceImpl implements IdcService {
} }
recordSql += !StringUtils.isEmpty(recordSql) ? "," : ""; recordSql += !StringUtils.isEmpty(recordSql) ? "," : "";
recordSql += "('" + UUID.randomUUID().toString().replaceAll("-", "") + "','" + tableName + "','" + list.get(m).get(keyColumn) + "','" + isEnd + "',now())"; recordSql += "('" + UUID.randomUUID().toString().replaceAll("-", "") + "','" + tableName + "','" + list.get(m).get(keyColumn) + "','" + isEnd + "',now())";
if (childNum > -1) { if (childNum > -1) {
for (int z = 0; z < childNum + 1; z++) { for (int z = 0; z < childNum + 1; z++) {
String[] chidTnames = childs[z].split("/"); String[] chidTnames = childs[z].split("/");
@ -639,7 +646,7 @@ public class IdcServiceImpl implements IdcService {
} }
saveIdcLog(messageType, "", tableName + ">success", i * limit, total); saveIdcLog(messageType, "", tableName + ">success", i * limit, total);
} }
syncAddTaskStatus(data,isUpload ? 1 : 0 ,success,startTime,isUpload); syncAddTaskStatus(data, isUpload ? 1 : 0, success);
} }
} }
} }
@ -650,9 +657,8 @@ public class IdcServiceImpl implements IdcService {
} }
/*增加同步任务状态*/ /*增加同步任务状态*/
private void syncAddTaskStatus(Map<String,Object> json,int scheduleType,boolean success,Date startTime,boolean isEnd) { private void syncAddTaskStatus(Map<String, Object> json, int scheduleType, boolean success) {
try try {
{
String content = JSON.toJSONString(json); String content = JSON.toJSONString(json);
String datePath = DateUtil.formatDate(new Date(), "yyyy-MM-dd"); String datePath = DateUtil.formatDate(new Date(), "yyyy-MM-dd");
String fileName = filePath + datePath + "/" + json.get("messageType") + "-" + json.get("messageId") + ".udi"; String fileName = filePath + datePath + "/" + json.get("messageType") + "-" + json.get("messageId") + ".udi";
@ -668,18 +674,11 @@ public class IdcServiceImpl implements IdcService {
//type,transportType,superiorService,subordinateService,cacheFilePath //type,transportType,superiorService,subordinateService,cacheFilePath
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("type", json.get("messageType")); map.put("type", json.get("messageType"));
map.put("id", json.get("messageId"));
if(json.get("id")==null)
map.put("id", CustomUtil.getId());
map.put("transportType", scheduleType == 0 ? "1" : "2"); map.put("transportType", scheduleType == 0 ? "1" : "2");
map.put("scheduleType", scheduleType); map.put("scheduleType", scheduleType);
map.put("taskId", json.get("messageId")); map.put("taskId", json.get("messageId"));
map.put("cacheFilePath", fileName); map.put("cacheFilePath", fileName);
map.put("status", success ? "1" : "0"); map.put("status", success ? "1" : "0");
map.put("startTime", startTime!=null ? startTime : new Date());
map.put("updateTime", new Date());
if(isEnd)
map.put("endTime", new Date());
if (scheduleType == 2) { if (scheduleType == 2) {
saveUploadStatus(map); saveUploadStatus(map);
} else if (scheduleType == 3) { } else if (scheduleType == 3) {
@ -957,9 +956,11 @@ public class IdcServiceImpl implements IdcService {
} }
return success; return success;
} }
private boolean signleDownloadFile(String syncIp, String fileName) { private boolean signleDownloadFile(String syncIp, String fileName) {
OkHttpClient client = new OkHttpClient().newBuilder() OkHttpClient client = new OkHttpClient().newBuilder()
.build();; .build();
;
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "fileName=" + fileName); RequestBody body = RequestBody.create(mediaType, "fileName=" + fileName);
@ -992,7 +993,6 @@ public class IdcServiceImpl implements IdcService {
outputStream.flush(); outputStream.flush();
} catch (Exception e) { } catch (Exception e) {
@ -1037,14 +1037,16 @@ public class IdcServiceImpl implements IdcService {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
map.putAll(params); map.putAll(params);
map.put("sql", sql); map.put("sql", sql);
List<Map<String, Object>> list = dbDao.list(map); List<Map<String, Object>> list = dbDao.list(map);
return list; return list;
} }
/*由表名获取数据*/ /*由表名获取数据*/
private Map<String, Object> getData(String messageType, String tableName, Map<String, Object> params, Map<String, Object> whereParams) { private Map<String, Object> getData(String messageType, String tableName, Map<String, Object> params, Map<String, Object> whereParams) {
List<Map<String, Object>> list = getList(tableName, whereParams); List<Map<String, Object>> list = getList(tableName, whereParams);
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
map.put("messageId", CustomUtil.getId()); map.put("messageId", UUID.randomUUID().toString().replaceAll("-", ""));
map.put("messageType", messageType); map.put("messageType", messageType);
map.put("apiCode", "common"); map.put("apiCode", "common");
map.put("tableName", DBAUtils.tableAliasName(tableName)); map.put("tableName", DBAUtils.tableAliasName(tableName));
@ -1058,8 +1060,6 @@ public class IdcServiceImpl implements IdcService {
} }
private SystemParamConfigEntity getSystemParamConfig(String paramKey, String paramName, String defaultValue, String paramExplain) { private SystemParamConfigEntity getSystemParamConfig(String paramKey, String paramName, String defaultValue, String paramExplain) {
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey(paramKey); SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey(paramKey);
if (systemParamConfigEntity == null || (systemParamConfigEntity != null && StringUtils.isEmpty(systemParamConfigEntity.getParamKey()))) { if (systemParamConfigEntity == null || (systemParamConfigEntity != null && StringUtils.isEmpty(systemParamConfigEntity.getParamKey()))) {
@ -1075,6 +1075,7 @@ public class IdcServiceImpl implements IdcService {
} }
return systemParamConfigEntity; return systemParamConfigEntity;
} }
private void writeFile(byte[] file, String filePath, String fileName) throws Exception { private void writeFile(byte[] file, String filePath, String fileName) throws Exception {
File targetFile = new File(filePath); File targetFile = new File(filePath);
if (!targetFile.exists()) { if (!targetFile.exists()) {
@ -1099,7 +1100,8 @@ public class IdcServiceImpl implements IdcService {
for (int i = 0; i < columnList.size(); i++) { for (int i = 0; i < columnList.size(); i++) {
Map<String, Object> column = new HashMap<String, Object>(); Map<String, Object> column = new HashMap<String, Object>();
String dataType = columnList.get(i).get("dataType").toLowerCase().contains("char") || columnList.get(i).get("dataType").toLowerCase().contains("text") ? String dataType = columnList.get(i).get("dataType").toLowerCase().contains("char") || columnList.get(i).get("dataType").toLowerCase().contains("text") ?
"C" : columnList.get(i).get("dataType").toLowerCase().contains("date") ? "D" : "N" ;; "C" : columnList.get(i).get("dataType").toLowerCase().contains("date") ? "D" : "N";
;
String attrName = columnList.get(i).get("columnName").toString(); String attrName = columnList.get(i).get("columnName").toString();
if (map.get(attrName) == null) { if (map.get(attrName) == null) {
column.put("tableName", tname); column.put("tableName", tname);
@ -1139,6 +1141,7 @@ public class IdcServiceImpl implements IdcService {
} }
return updateTime; return updateTime;
} }
private String setUpdateTime(String id, String updateTime) { private String setUpdateTime(String id, String updateTime) {
String sql = ""; String sql = "";
Map<String, Object> map = dbDao.get("select * from idc_status where id='" + id + "'"); Map<String, Object> map = dbDao.get("select * from idc_status where id='" + id + "'");
@ -1151,6 +1154,7 @@ public class IdcServiceImpl implements IdcService {
} }
return updateTime; return updateTime;
} }
private void initTable() { private void initTable() {
alterTable("idc_var", "create table idc_var (code varchar(60),content varchar(200),PRIMARY KEY (code))"); alterTable("idc_var", "create table idc_var (code varchar(60),content varchar(200),PRIMARY KEY (code))");
alterTable("idc_status", "create table idc_status (id varchar(100),statusTime datetime,PRIMARY KEY (id))"); alterTable("idc_status", "create table idc_status (id varchar(100),statusTime datetime,PRIMARY KEY (id))");
@ -1166,6 +1170,7 @@ public class IdcServiceImpl implements IdcService {
} }
} }
private void alterTable(String tableName, String sql) { private void alterTable(String tableName, String sql) {
Map<String, String> map = dbDao.getMysql(tableName); Map<String, String> map = dbDao.getMysql(tableName);
if (!(map != null && map.get("tableName") != null)) { if (!(map != null && map.get("tableName") != null)) {

@ -28,4 +28,6 @@ public class FilterOrderDetailBizRequest extends ListPageRequest {
* *
*/ */
private String productName; private String productName;
private Long bizIdFk;
} }

@ -67,6 +67,8 @@ public class IoOrderInvoiceRequest {
private String remark; private String remark;
private Long bizIdFk;
public static final String COL_ID = "id"; public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk"; public static final String COL_ORDERIDFK = "orderIdFk";

@ -9,9 +9,7 @@ import com.glxp.api.constant.ConstantType;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBusTypePreEntity; import com.glxp.api.entity.basic.BasicBusTypePreEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoCodeEntity; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.InvWarehouseService;
@ -58,18 +56,21 @@ public class IoChangeInoutService {
SystemParamConfigService systemParamConfigService; SystemParamConfigService systemParamConfigService;
@Resource @Resource
IoCodeTempService codeTempService; IoCodeTempService codeTempService;
@Resource
IoOrderInvoiceService ioOrderInvoiceService;
@Resource
IoOrderDetailBizService orderDetailBizService;
public void changeOrder(IoOrderEntity orderEntity) { public void changeOrder(IoOrderEntity orderEntity) {
BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction()); BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction());
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo()); List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo());
if (basicBusTypePreEntity != null) {
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity);
} else {
//结束,不生成库存,
}
if (basicBusTypePreEntity != null) {
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity, true);
}
//结束,不生成库存,
} }
@ -86,7 +87,7 @@ public class IoChangeInoutService {
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo()); List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo());
if (basicBusTypePreEntity.getSupplementAll()) {//全量补单 if (basicBusTypePreEntity.getSupplementAll()) {//全量补单
invProductDetailService.insertList(invProductDetailEntities); invProductDetailService.insertList(invProductDetailEntities);
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity); buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity, false);
} else { //缺量补单 } else { //缺量补单
List<IoCodeEntity> inList = new ArrayList<>(); List<IoCodeEntity> inList = new ArrayList<>();
for (IoCodeEntity warehouseEntity : codeEnttities) { for (IoCodeEntity warehouseEntity : codeEnttities) {
@ -108,7 +109,7 @@ public class IoChangeInoutService {
InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode());
invProductDetailService.insert(invProductDetailEntity); invProductDetailService.insert(invProductDetailEntity);
} }
buildInOrder(basicBusTypePreEntity, inList, orderEntity); buildInOrder(basicBusTypePreEntity, inList, orderEntity, false);
} }
} }
@ -140,7 +141,7 @@ public class IoChangeInoutService {
} }
//生成单据 //生成单据
public void buildInOrder(BasicBusTypePreEntity bussinessChangeTypeEntity, List<IoCodeEntity> useInList, IoOrderEntity orderEntity) { public void buildInOrder(BasicBusTypePreEntity bussinessChangeTypeEntity, List<IoCodeEntity> useInList, IoOrderEntity orderEntity, boolean isGenInovice) {
if (StrUtil.isEmpty(orderEntity.getRelKey())) { if (StrUtil.isEmpty(orderEntity.getRelKey())) {
@ -231,6 +232,8 @@ public class IoChangeInoutService {
outOrder.setCreateUser(null); outOrder.setCreateUser(null);
outOrder.setReviewUser(null); outOrder.setReviewUser(null);
orderService.insertOrder(outOrder); orderService.insertOrder(outOrder);
//生成条码
List<IoCodeTempEntity> codeTempEntities = new ArrayList<>(); List<IoCodeTempEntity> codeTempEntities = new ArrayList<>();
for (IoCodeEntity warehouseEntity : temps) { for (IoCodeEntity warehouseEntity : temps) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
@ -242,6 +245,19 @@ public class IoChangeInoutService {
codeTempEntities.add(codeTempEntity); codeTempEntities.add(codeTempEntity);
} }
codeTempService.insertBatch(codeTempEntities); codeTempService.insertBatch(codeTempEntities);
if (isGenInovice) {
//生成发票信息
List<IoOrderInvoiceEntity> invoiceEntities = ioOrderInvoiceService.findByBillNo(orderEntity.getBillNo());
if (CollUtil.isNotEmpty(invoiceEntities)) {
for (IoOrderInvoiceEntity orderInvoiceEntity : invoiceEntities) {
orderInvoiceEntity.setOrderIdFk(outOrder.getBillNo());
orderInvoiceEntity.setId(null);
orderInvoiceEntity.setBizIdFk(null);
orderInvoiceEntity.setUpdateTime(new Date());
ioOrderInvoiceService.insertInvoice(orderInvoiceEntity);
}
}
}
//根据单据设置状态 1:草稿 //根据单据设置状态 1:草稿
if (bussinessChangeTypeEntity.getAuditStatus() == 1) { if (bussinessChangeTypeEntity.getAuditStatus() == 1) {

@ -806,7 +806,6 @@ public class IoCheckInoutService {
} }
} }
//校验是否是不入库存单据 //校验是否是不入库存单据
if (bussinessTypeEntity.isInStock()) { if (bussinessTypeEntity.isInStock()) {
// if (bussinessTypeEntity.getBusType() == ConstantStatus.BUS_TYPE_NORMAL) { // if (bussinessTypeEntity.getBusType() == ConstantStatus.BUS_TYPE_NORMAL) {

@ -3,8 +3,13 @@ package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.req.inout.IoOrderInvoiceRequest; import com.glxp.api.req.inout.IoOrderInvoiceRequest;
import java.util.List;
public interface IoOrderInvoiceService { public interface IoOrderInvoiceService {
List<IoOrderInvoiceEntity> findByBillNo(String billNo);
boolean deleteByInvId(Integer id); boolean deleteByInvId(Integer id);
boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest); boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest);

@ -1,5 +1,6 @@
package com.glxp.api.service.inout.impl; package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.inout.IoOrderInvoiceMapper; import com.glxp.api.dao.inout.IoOrderInvoiceMapper;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.req.inout.IoOrderInvoiceRequest; import com.glxp.api.req.inout.IoOrderInvoiceRequest;
@ -10,6 +11,7 @@ import com.glxp.api.service.inout.IoOrderInvoiceService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -17,6 +19,12 @@ public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService {
@Resource @Resource
IoOrderInvoiceMapper ioOrderInvoiceMapper; IoOrderInvoiceMapper ioOrderInvoiceMapper;
@Override
public List<IoOrderInvoiceEntity> findByBillNo(String orderIdFk) {
return ioOrderInvoiceMapper.selectList(new QueryWrapper<IoOrderInvoiceEntity>().eq("orderIdFk", orderIdFk));
}
@Override @Override
public boolean deleteByInvId(Integer id) { public boolean deleteByInvId(Integer id) {
return this.ioOrderInvoiceMapper.deleteById(id) > 0; return this.ioOrderInvoiceMapper.deleteById(id) > 0;
@ -31,6 +39,6 @@ public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService {
@Override @Override
public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) { public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) {
return ioOrderInvoiceMapper.insertInvoice(ioOrderInvoiceEntity); return ioOrderInvoiceMapper.insert(ioOrderInvoiceEntity) > 0;
} }
} }

@ -36,7 +36,7 @@ public class AsyncSpsTask implements SchedulingConfigurer {
scheduledRequest.setCronName("syncIdcSps"); scheduledRequest.setCronName("syncIdcSps");
logger.info("syncIdcSps----------------"); logger.info("syncIdcSps----------------");
ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest);
String cron = scheduledEntity != null ? scheduledEntity.getCron() : "0 0/50 * * * ?"; String cron = scheduledEntity != null ? scheduledEntity.getCron() : "0 0/1 * * * ?";
if (cron.isEmpty()) { if (cron.isEmpty()) {
logger.error("cron is null"); logger.error("cron is null");

@ -4,9 +4,9 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_spms_wmd?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_spms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: Glxp@6066 password: 123456
hikari: hikari:
connection-timeout: 60000 connection-timeout: 60000
maximum-pool-size: 20 maximum-pool-size: 20

@ -24,19 +24,25 @@
</select> </select>
<select id="filterListInv" resultType="com.glxp.api.res.inout.IoOrderInvoiceResponse"> <select id="filterListInv" resultType="com.glxp.api.res.inout.IoOrderInvoiceResponse">
SELECT SELECT ic.*,
ic.*,
(select cpmctymc from basic_products where basic_products.uuid = bu.uuid) cpmctymc, (select cpmctymc from basic_products where basic_products.uuid = bu.uuid) cpmctymc,
(select ggxh from basic_products where basic_products.uuid = bu.uuid) ggxh (select ggxh from basic_products where basic_products.uuid = bu.uuid) ggxh
FROM FROM io_order_invoice ic
io_order_invoice ic
LEFT JOIN basic_udirel bu ON bu.id = ic.bindRlFk LEFT JOIN basic_udirel bu ON bu.id = ic.bindRlFk
LEFT JOIN basic_products bp ON bu.uuid = bp.uuid LEFT JOIN basic_products bp ON bu.uuid = bp.uuid
LEFT JOIN io_order_detail_biz io ON bu.id = io.bindRlFk
<where> <where>
<if test="orderIdFk != null and orderIdFk != ''"> <if test="orderIdFk != null and orderIdFk != ''">
AND ic.orderIdFk = #{orderIdFk} AND ic.orderIdFk = #{orderIdFk}
</if> </if>
<if test="relId != null">
AND ic.bindRlFk = #{relId}
</if>
<if test="batchNo != null and batchNo != ''">
AND ic.batchNo = #{batchNo}
</if>
<if test="bizIdFk != null and bizIdFk != ''">
AND ic.bizIdFk = #{bizIdFk}
</if>
</where> </where>
GROUP BY ic.id GROUP BY ic.id
</select> </select>

@ -260,6 +260,9 @@
<if test="status != null"> <if test="status != null">
AND tdi.status = #{status} AND tdi.status = #{status}
</if> </if>
<if test="diType != null">
AND updateTime &lt;= "2023-04-5 00:00:00"
</if>
</where> </where>
</select> </select>

@ -18,6 +18,9 @@ CALL Pro_Temp_ColumnWork('thr_system_bus_api', 'thirdBuyName', 'varchar(255) ',
CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'bindRlIds', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'bindRlIds', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'checkFileName', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'checkFileName', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_order_invoice', 'bizIdFk', 'int ', 1);
CALL Pro_Temp_ColumnWork('auth_warehouse', 'advanceType', 'tinyint', 1); CALL Pro_Temp_ColumnWork('auth_warehouse', 'advanceType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('auth_warehouse', 'spUse', 'tinyint', 1); CALL Pro_Temp_ColumnWork('auth_warehouse', 'spUse', 'tinyint', 1);

Loading…
Cancel
Save