新增第三方单据提交设置,打印字段新增与修改,产品信息关联修改

fengcang
anthonyywj2 3 years ago
parent 5ef244b716
commit 43a7369e64

@ -1,5 +1,6 @@
package com.glxp.api.admin.controller.basic;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.PageInfo;
@ -131,8 +132,19 @@ public class UdiInfoController {
@GetMapping("udiwms/udiinfo/local/filterByUuid")
public BaseResponse filterLocalByUuid(FilterUdiInfoRequest productInfoFilterRequest) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(productInfoFilterRequest.getRelId());
udiRelevanceService.selectByUuid(productInfoFilterRequest.getUuid());
List<UdiInfoEntity> udiInfoEntities = udiInfoService.filterAllUdiInfo(productInfoFilterRequest);
if (CollUtil.isNotEmpty(udiInfoEntities)) {
for (UdiInfoEntity udiInfoEntity : udiInfoEntities) {
if (udiRelevanceEntity != null) {
udiInfoEntity.setManufactory(udiRelevanceEntity.getManufactory());
udiInfoEntity.setMeasname(udiRelevanceEntity.getMeasname());
}
}
}
return ResultVOUtils.success(udiInfoEntities);
}
//获取ERP产品信息

@ -0,0 +1,57 @@
package com.glxp.api.admin.controller.info;
import cn.hutool.core.collection.CollUtil;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.info.SyncDataBustypeEntity;
import com.glxp.api.admin.entity.info.SyncDataSetEntity;
import com.glxp.api.admin.entity.info.SyncUploadDataSetEntity;
import com.glxp.api.admin.res.info.SyncDataSetResponse;
import com.glxp.api.admin.service.info.SyncUploadDataBustypeService;
import com.glxp.api.admin.service.info.SyncUploadDataSetService;
import com.glxp.api.admin.util.RedisUtil;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@RestController
public class ThirdUploadSetController {
@Resource
SyncUploadDataSetService syncUploadDataSetService;
@Resource
SyncUploadDataBustypeService syncUploadDataBustypeService;
@AuthRuleAnnotation("system/third/syncData/config")
@GetMapping("/system/third/syncData/config")
public BaseResponse list() {
SyncUploadDataSetEntity syncDataSetResponse = syncUploadDataSetService.selectSet();
return ResultVOUtils.success(syncDataSetResponse);
}
@AuthRuleAnnotation("system/third/syncData/save")
@PostMapping("/system/third/syncData/save")
public BaseResponse save(@RequestBody @Valid SyncUploadDataSetEntity syncUploadDataSetEntity
) {
List<SyncDataBustypeEntity> busTypes = syncUploadDataSetEntity.getBusTypes();
syncUploadDataBustypeService.deleteAll();
if (CollUtil.isNotEmpty(busTypes))
syncUploadDataBustypeService.inserts(busTypes);
syncUploadDataSetEntity.setBusTypes(null);
boolean b = syncUploadDataSetService.insert(syncUploadDataSetEntity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
}
}

@ -0,0 +1,19 @@
package com.glxp.api.admin.dao.info;
import com.glxp.api.admin.entity.info.SyncDataBustypeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface SyncUploadDataBustypeDao {
List<SyncDataBustypeEntity> findAll();
boolean deleteAll();
void inserts(@Param("syncDataBustypeEntities") List<SyncDataBustypeEntity> syncDataBustypeEntities);
}

@ -0,0 +1,13 @@
package com.glxp.api.admin.dao.info;
import com.glxp.api.admin.entity.info.SyncUploadDataSetEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SyncUploadDataSetDao {
SyncUploadDataSetEntity selectSet();
boolean insert(SyncUploadDataSetEntity syncDataSetEntity);
}

@ -62,6 +62,7 @@ public class UdiInfoEntity {
private boolean allowNoBatch;
private boolean allowNoExpire;
private boolean allowNoProduct;
private String spmc;
public Integer getId() {
return id;

@ -0,0 +1,19 @@
package com.glxp.api.admin.entity.info;
import lombok.Data;
import java.util.List;
@Data
public class SyncUploadDataSetEntity {
private Integer id;
private boolean autoUpload;
private Integer orderSyncTime;
private boolean orderUnCheck;
private boolean orderUnReceive;
private boolean orderScanFinish;
private List<SyncDataBustypeEntity> busTypes;
}

@ -57,6 +57,6 @@ public class FilterUdiInfoRequest extends ListPageRequest {
private String supName;
private String unitFk;
private String originUuid;
private String relId;
}

@ -68,8 +68,9 @@ public class UdiRelevanceResponse {
private boolean allowNoBatch;
private boolean allowNoExpire;
private boolean allowNoProduct;
private String measname;
private String price;
private String spmc;
public int getBhzxxsbzsl() {
if (bhzxxsbzsl == null || bhzxxsbzsl == 0) {

@ -69,4 +69,5 @@ public class CompanyProductRelevanceResponse {
private boolean allowNoProduct;
private String price;
private String spmc;
}

@ -0,0 +1,15 @@
package com.glxp.api.admin.service.info;
import com.glxp.api.admin.entity.info.SyncDataBustypeEntity;
import java.util.List;
public interface SyncUploadDataBustypeService {
List<SyncDataBustypeEntity> findAll();
boolean deleteAll();
void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities);
}

@ -0,0 +1,14 @@
package com.glxp.api.admin.service.info;
import com.glxp.api.admin.entity.info.SyncUploadDataSetEntity;
public interface SyncUploadDataSetService {
SyncUploadDataSetEntity findSet();
SyncUploadDataSetEntity selectSet();
boolean insert(SyncUploadDataSetEntity syncUploadDataSetEntity);
}

@ -0,0 +1,31 @@
package com.glxp.api.admin.service.info.impl;
import com.glxp.api.admin.dao.info.SyncUploadDataBustypeDao;
import com.glxp.api.admin.entity.info.SyncDataBustypeEntity;
import com.glxp.api.admin.service.info.SyncUploadDataBustypeService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class SyncUploadDataBustypeServiceImpl implements SyncUploadDataBustypeService {
@Resource
SyncUploadDataBustypeDao syncUploadDataBustypeDao;
@Override
public List<SyncDataBustypeEntity> findAll() {
return syncUploadDataBustypeDao.findAll();
}
@Override
public boolean deleteAll() {
return syncUploadDataBustypeDao.deleteAll();
}
@Override
public void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities) {
syncUploadDataBustypeDao.inserts(syncDataBustypeEntities);
}
}

@ -0,0 +1,49 @@
package com.glxp.api.admin.service.info.impl;
import com.glxp.api.admin.dao.info.SyncUploadDataSetDao;
import com.glxp.api.admin.entity.info.SyncDataBustypeEntity;
import com.glxp.api.admin.entity.info.SyncUploadDataSetEntity;
import com.glxp.api.admin.service.info.SyncDataBustypeService;
import com.glxp.api.admin.service.info.SyncUploadDataBustypeService;
import com.glxp.api.admin.service.info.SyncUploadDataSetService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class SyncUploadDataSetServiceImpl implements SyncUploadDataSetService {
@Resource
SyncUploadDataSetDao syncUploadDataSetDao;
@Resource
SyncUploadDataBustypeService syncUploadDataBustypeService;
@Override
public SyncUploadDataSetEntity findSet() {
SyncUploadDataSetEntity syncDataSetEntity = syncUploadDataSetDao.selectSet();
return syncDataSetEntity;
}
@Override
public SyncUploadDataSetEntity selectSet() {
SyncUploadDataSetEntity syncDataSetEntity = syncUploadDataSetDao.selectSet();
if (syncDataSetEntity == null) {
syncDataSetEntity = new SyncUploadDataSetEntity();
syncDataSetEntity.setId(1);
syncDataSetEntity.setAutoUpload(false);
syncDataSetEntity.setOrderSyncTime(1);
syncUploadDataSetDao.insert(syncDataSetEntity);
}
List<SyncDataBustypeEntity> syncDataBustypeEntities = syncUploadDataBustypeService.findAll();
syncDataSetEntity.setBusTypes(syncDataBustypeEntities);
return syncDataSetEntity;
}
@Override
public boolean insert(SyncUploadDataSetEntity syncDataSetEntity) {
return syncUploadDataSetDao.insert(syncDataSetEntity);
}
}

@ -55,7 +55,6 @@ public class HeartTask implements SchedulingConfigurer {
private void process() {
//查询数据同步设置
logger.error("心跳任务--------------------------------------"+Thread.currentThread().getName());
SyncDataSetEntity syncDataSetEntity = syncDataSetDao.selectSet();
if (syncDataSetEntity.isDownstreamEnable()) {
//定时上传最近更新基础数据至上游轮询时间

@ -2,6 +2,7 @@ package com.glxp.api.admin.thread;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONUtil;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.constant.ThirdSysConstant;
import com.glxp.api.admin.dao.basic.BasicThirdSysBusApiDao;
import com.glxp.api.admin.dao.basic.BasicThirdSysDao;
@ -9,10 +10,17 @@ import com.glxp.api.admin.dao.basic.BasicThirdSysDetailDao;
import com.glxp.api.admin.dao.schedule.ScheduledDao;
import com.glxp.api.admin.dao.schedule.SystemParamConfigDao;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.info.ScheduledEntity;
import com.glxp.api.admin.entity.info.SyncDataBustypeEntity;
import com.glxp.api.admin.entity.info.SyncUploadDataSetEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.req.info.ScheduledRequest;
import com.glxp.api.admin.service.basic.BussinessLocalTypeService;
import com.glxp.api.admin.service.business.StockOrderService;
import com.glxp.api.admin.service.info.SyncUploadDataSetService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.common.res.BaseResponse;
import lombok.extern.slf4j.Slf4j;
@ -48,6 +56,12 @@ public class OrderSubmitTask implements SchedulingConfigurer {
private BasicThirdSysDao basicThirdSysDao;
@Resource
private BasicThirdSysBusApiDao basicThirdSysBusApiDao;
@Resource
BussinessLocalTypeService bussinessLocalTypeService;
@Resource
SyncUploadDataSetService syncUploadDataSetService;
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
@ -66,13 +80,13 @@ public class OrderSubmitTask implements SchedulingConfigurer {
private void process() {
log.error("OrderSubmitTask--------------------------------------" + Thread.currentThread().getName());
SystemParamConfigEntity auto_submit_order = systemParamConfigDao.selectByParamKey("auto_submit_order");
if (auto_submit_order.getParamValue().equals("0")) {
log.info("未开启自动提交单据");
SyncUploadDataSetEntity syncUploadDataSetEntity = syncUploadDataSetService.selectSet();
if (!syncUploadDataSetEntity.isAutoUpload()) {
return;
}
//查询所有启用的第三方系统的标识
List<String> thirdIds = basicThirdSysDao.selectEnabledThirdId();
if (CollUtil.isNotEmpty(thirdIds)) {
@ -86,19 +100,42 @@ public class OrderSubmitTask implements SchedulingConfigurer {
List<String> orderIds = orderService.getWaitSubmitOrder();
AtomicInteger counter = new AtomicInteger(0);
if (CollUtil.isNotEmpty(orderIds)) {
log.info("待提交单据数量为: {} 条", orderIds.size());
for (String orderId : orderIds) {
log.info("开始提交id为 {} 的单据", orderId);
BaseResponse baseResponse = stockOrderService.submitOrderToThirdys(orderId);
if (baseResponse.getCode() == 20000) {
counter.addAndGet(1);
log.info("自动提交成功");
StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(orderId);
BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType());
if (stockOrderEntity.getStatus() == ConstantStatus.SORDER_DELIVER) {
if (!syncUploadDataSetEntity.isOrderScanFinish()) {
continue;
}
} else if (stockOrderEntity.getStatus() == ConstantStatus.SORDER_CHECKED) {
if (!syncUploadDataSetEntity.isOrderUnReceive()) {
continue;
}
} else if (stockOrderEntity.getStatus() == ConstantStatus.SORDER_CHECK) {
if (!syncUploadDataSetEntity.isOrderUnCheck()) {
continue;
}
} else {
log.error("自动提交失败,响应信息:{}" + JSONUtil.toJsonStr(baseResponse));
continue;
}
if (bussinessLocalTypeEntity != null
&& isConatin(syncUploadDataSetEntity.getBusTypes(), bussinessLocalTypeEntity.getLocalAction())
) {
BaseResponse baseResponse = stockOrderService.submitOrderToThirdys(orderId);
if (baseResponse.getCode() == 20000) {
counter.addAndGet(1);
} else {
log.error("自动提交失败,响应信息:{}" + JSONUtil.toJsonStr(baseResponse));
}
}
}
}
log.info("单据自动提交完成,提交成功: {} 条", counter.get());
}
}
}
@ -106,4 +143,18 @@ public class OrderSubmitTask implements SchedulingConfigurer {
}
public boolean isConatin(List<SyncDataBustypeEntity> syncDataBustypeEntities, String action) {
if (CollUtil.isNotEmpty(syncDataBustypeEntities)) {
for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataBustypeEntities) {
if (syncDataBustypeEntity.getAction().equals(action)) {
return true;
}
}
}
return false;
}
}

@ -52,6 +52,7 @@
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,basic_products.cpms,basic_products.originUuid,company_product_relevance.price
,basic_products.spmc
FROM company_product_relevance
inner JOIN basic_udirel
ON company_product_relevance.udiRlIdFk = basic_udirel.id

@ -47,7 +47,7 @@
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,basic_products.cpms,basic_products.originUuid,basic_products.allowNoBatch,
basic_products.allowNoExpire,basic_products.allowNoProduct
basic_products.allowNoExpire,basic_products.allowNoProduct,basic_products.spmc
FROM (company_product_relevance
inner JOIN basic_udirel
ON company_product_relevance.udiRlIdFk = basic_udirel.id)

@ -202,7 +202,7 @@
basic_udirel.mainId,basic_udirel.mainName,basic_udirel.isAdavence,basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,basic_products.cpms,basic_udirel.supName,basic_products.originUuid
basic_products.scbssfbhsxrq,basic_products.cpms,basic_udirel.supName,basic_products.originUuid,basic_products.spmc
FROM basic_products
right JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid

@ -268,7 +268,7 @@
stock_order_detail.count, stock_order_detail.sweepCount,
stock_order_detail.ylqxzcrbarmc,stock_order_detail.manufactory,
stock_order_detail.zczbhhzbapzbh,stock_order_detail.price,inv_warehouse.name locInv
,productinfo.spmc
,basic_products.spmc
FROM stock_order INNER JOIN
stock_order_detail on
stock_order.id =
@ -278,7 +278,6 @@
LEFT JOIN inv_warehouse_user on inv_warehouse_sub.code = inv_warehouse_user.`code`
left join basic_udirel on stock_order_detail.productId = basic_udirel.id
INNER JOIN basic_products on basic_products.uuid = basic_udirel.uuid
INNER JOIN productinfo on productinfo.uuid = basic_products.originUuid
<where>
<if test="id != '' and id!=null">
and stock_order.id =#{id}
@ -310,13 +309,12 @@
resultType="com.glxp.api.admin.entity.business.StockOrderPrintEntity">
select io_codes.code udiCode,basic_udirel.id productId,basic_products.cpmctymc productName,basic_products.ggxh
spec,io_codes.batchNo,io_codes.produceDate productDate,io_codes.expireDate ,io_codes.serialNo,io_codes.count,
basic_products.ylqxzcrbarmc,basic_products.manufactory,basic_udirel.measname,basic_products.zczbhhzbapzbh,
inv_warehouse.name locInv,productinfo.spmc, basic_products.cpms
basic_products.ylqxzcrbarmc,basic_udirel.manufactory,basic_udirel.measname,basic_products.zczbhhzbapzbh,
inv_warehouse.name locInv,basic_products.spmc, basic_products.cpms
from io_codes
INNER JOIN basic_udirel on io_codes.relId = basic_udirel.id
INNER JOIN basic_products on basic_products.uuid = basic_udirel.uuid
LEFT JOIN inv_warehouse ON io_codes.locStorageCode = inv_warehouse.`code`
left JOIN productinfo on productinfo.uuid = basic_products.originUuid
<where>
<if test="orderId != '' and orderId !=null">
and io_codes.orderId =#{orderId}

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.admin.dao.info.SyncUploadDataBustypeDao">
<select id="findAll"
resultType="com.glxp.api.admin.entity.info.SyncDataBustypeEntity">
SELECT *
FROM thr_order_upload_bustypes
</select>
<delete id="deleteAll">
DELETE
FROM thr_order_upload_bustypes
</delete>
<insert id="inserts" parameterType="com.glxp.api.admin.entity.info.SyncDataBustypeEntity">
insert INTO thr_order_upload_bustypes
( `action`, `name`)
values
<foreach collection="syncDataBustypeEntities" item="item" index="index"
separator=",">
(
#{item.action}, #{item.name}
)
</foreach>
</insert>
</mapper>

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.admin.dao.info.SyncUploadDataSetDao">
<select id="selectSet"
resultType="com.glxp.api.admin.entity.info.SyncUploadDataSetEntity">
SELECT *
FROM thr_order_upload limit 1
</select>
<insert id="insert" parameterType="com.glxp.api.admin.entity.info.SyncUploadDataSetEntity">
replace
INTO thr_order_upload(id,autoUpload, orderSyncTime,orderUnCheck,orderUnReceive,orderScanFinish)
values (
#{id},
#{autoUpload},
#{orderSyncTime},
#{orderUnCheck},
#{orderUnReceive},
#{orderScanFinish}
)
</insert>
</mapper>
Loading…
Cancel
Save