Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java
#	src/main/java/com/glxp/api/task/AsyncFetchUdiTask.java
#	src/main/java/com/glxp/api/task/AsyncUdiTask.java
#	src/main/resources/schemas/schema_v2.1.sql
master
郑明梁 2 years ago
commit 57898a6731

@ -28,6 +28,10 @@ public class BasicProcessStatus {
public static final String NEW_ALL_DATA = "7"; //所有最新数据 public static final String NEW_ALL_DATA = "7"; //所有最新数据
public static final String NEW_ALL_BUS = "8"; public static final String NEW_ALL_BUS = "8";
public static final String NEW_ALL_ORDER = "9"; public static final String NEW_ALL_ORDER = "9";
/**
*
*/
public static final String BASIC_DATA = "21";
public static final String ALL_BUS_ORDER = "11"; public static final String ALL_BUS_ORDER = "11";
public static final String NEW_ALL_DI = "10"; public static final String NEW_ALL_DI = "10";
public static final String NEW_ALL_THR_DATA = "12"; //所有第三方基础数据 public static final String NEW_ALL_THR_DATA = "12"; //所有第三方基础数据

@ -234,13 +234,15 @@ public class ConstantStatus {
public static final String SYNC_SYS_SETTING = "AutoUploadSysSetting"; public static final String SYNC_SYS_SETTING = "AutoUploadSysSetting";
//自动下载所有数据 //自动下载所有数据
public static final String SYNC_DOWNLOAD_BASIC_DATA = "AutoDownloadAllData"; public static final String SYNC_DOWNLOAD_ALL_DATA = "AutoDownloadAllData";
//自动下载单据数据 //自动下载单据数据
public static final String SYNC_DOWNLOAD_BUS_TYPE = "AutoDownloadBusType"; public static final String SYNC_DOWNLOAD_BUS_TYPE = "AutoDownloadBusType";
//自动下载单据数据 //自动下载单据数据
public static final String SYNC_DOWNLOAD_SCAN_ORDER = "AutoDownloadOrder"; public static final String SYNC_DOWNLOAD_SCAN_ORDER = "AutoDownloadOrder";
//自动下载DI数据 //自动下载DI数据
public static final String SYNC_DOWNLOAD_DI_PRODUCTS = "AutoDownloadDiProducts"; public static final String SYNC_DOWNLOAD_DI_PRODUCTS = "AutoDownloadDiProducts";
//自动下载基础数据
public static final String SYNC_DOWNLOAD_BASIC_DATA = "AutoDownloadBasicData";
public static final int SYNC_STATUS_SUCCESS = 1; //处理成功 public static final int SYNC_STATUS_SUCCESS = 1; //处理成功
public static final int SYNC_STATUS_FAIL = 2; //处理失败 public static final int SYNC_STATUS_FAIL = 2; //处理失败

@ -264,9 +264,27 @@ public class InvWarehouseController extends BaseController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
} }
Integer userCount = warehouseUserService.countUserBySubInvCode(invWarehouseEntity.getCode());
if (userCount > 0) {
return ResultVOUtils.error(500, "修改失败,请先移除该仓库关联用户!");
}
//更新仓库信息 //更新仓库信息
invWarehouseEntity.setUpdateTime(new Date());
boolean b = invWarehouseService.updateInvSubWarehouse(invWarehouseEntity); boolean b = invWarehouseService.updateInvSubWarehouse(invWarehouseEntity);
//如果要是一级仓库就吧全部子集都刷成一样的寄售仓库
if(StrUtil.isBlank(invWarehouseEntity.getParentCode())){
List<InvWarehouseEntity> invWarehouseEntityList=invWarehouseService.selectLowWarehouseAll(invWarehouseEntity.getCode());
for (InvWarehouseEntity obj : invWarehouseEntityList) {
obj.setAdvanceType(invWarehouseEntity.getAdvanceType());
obj.setUpdateTime(new Date());
invWarehouseService.updateInvSubWarehouse(obj);
}
}
//更新部门信息 //更新部门信息
DeptEntity pEntity = deptService.selectByCode(invWarehouseEntity.getParentId()); DeptEntity pEntity = deptService.selectByCode(invWarehouseEntity.getParentId());
pEntity.setUpdateTime(new Date()); pEntity.setUpdateTime(new Date());
@ -610,4 +628,10 @@ public class InvWarehouseController extends BaseController {
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
@PostMapping("/warehouse/inout/getDeptById")
public BaseResponse getDeptById(@RequestBody List<Integer> deptIds) {
List<DeptEntity> list = deptService.getDeptById(deptIds);
return ResultVOUtils.success(list);
}
} }

@ -1,10 +1,13 @@
package com.glxp.api.controller.inv; package com.glxp.api.controller.inv;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.Log;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.entity.inv.InvRemindSetEntity; import com.glxp.api.entity.inv.InvRemindSetEntity;
import com.glxp.api.req.inv.AddInvRemindSetRequest; import com.glxp.api.req.inv.AddInvRemindSetRequest;
import com.glxp.api.req.inv.FilterInvRemindSetRequest; import com.glxp.api.req.inv.FilterInvRemindSetRequest;
@ -79,4 +82,33 @@ public class InvRemindSetController {
return invRemindSetService.deleteInvRemindSet(Integer.valueOf(deleteRequest.getId())); return invRemindSetService.deleteInvRemindSet(Integer.valueOf(deleteRequest.getId()));
} }
/**
*
*
* @param addInvRemindSetRequest
* @return
*/
@PostMapping("/udiwms/inv/remind/set/batchAddInvRemindSet")
@Log(title = "库存预警", businessType = BusinessType.INSERT)
public BaseResponse batchAddInvRemindSet(@RequestBody AddInvRemindSetRequest addInvRemindSetRequest) {
if (null == addInvRemindSetRequest || CollUtil.isEmpty(addInvRemindSetRequest.getRelIdList())) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
return invRemindSetService.batchAddInvRemindSet(addInvRemindSetRequest);
}
/**
* ID
*
* @param invId
* @return
*/
@GetMapping("/udiwms/inv/remind/set/getInfoByInvId")
public BaseResponse getInfoByInvId(FilterInvRemindSetRequest filterInvRemindSetRequest) {
if (null == filterInvRemindSetRequest || null == filterInvRemindSetRequest.getInvId()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
return invRemindSetService.getInfoByInvId(filterInvRemindSetRequest.getInvId());
}
} }

@ -275,7 +275,7 @@ public class IoPurChangeService {
billNo += ioOrderEntity.getBillNo() + ","; billNo += ioOrderEntity.getBillNo() + ",";
//插入业务单表 //插入业务单表
for (PurReceiveDetailEntity obj : m.getValue()) { for (PurReceiveDetailEntity obj : m.getValue()) {
BasicProductsEntity basicProductsEntity = purPlanDetailService.selectIoOrderDetailBiz(obj.getId()); BasicProductsEntity basicProductsEntity = receivedetailService.selectIoOrderDetailBiz(obj.getId());
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo()); ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo());
ioOrderDetailBizEntity.setBindRlFk(obj.getRelIdFk()); ioOrderDetailBizEntity.setBindRlFk(obj.getRelIdFk());
@ -436,10 +436,10 @@ public class IoPurChangeService {
ioOrderEntity.setAction(basicBusTypeChangeEntity.getTargetAction()); ioOrderEntity.setAction(basicBusTypeChangeEntity.getTargetAction());
ioOrderEntity.setFromCorp(m.getKey()); ioOrderEntity.setFromCorp(m.getKey());
ioOrderEntity.setFromType(ConstantStatus.FROM_Order); ioOrderEntity.setFromType(ConstantStatus.FROM_Order);
if(basicBusTypeChangeEntity.getAuditStatus()==1){ if (basicBusTypeChangeEntity.getAuditStatus() == 1) {
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); ioOrderEntity.setDealStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
}else if(basicBusTypeChangeEntity.getAuditStatus()==2){ } else if (basicBusTypeChangeEntity.getAuditStatus() == 2) {
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_STATUS_PROCESS); ioOrderEntity.setDealStatus(ConstantStatus.ORDER_STATUS_PROCESS);
} }

@ -21,4 +21,5 @@ public interface BasicBusTypeChangeDao extends BaseMapper<BasicBusTypeChangeEnti
* @return * @return
*/ */
List<BasicBusTypeChangeResponse> filterList(FilterBusTypeChangeRequest filterBusTypeChangeRequest); List<BasicBusTypeChangeResponse> filterList(FilterBusTypeChangeRequest filterBusTypeChangeRequest);
}
}

@ -42,4 +42,6 @@ public interface BasicBusTypePreDao extends BaseMapperPlus<BasicBusTypePreDao, B
*/ */
List<BasicBusTypePreResponse> selectBusTypePreResList(FilterBusTypePreRequest filterBusTypePreRequest); List<BasicBusTypePreResponse> selectBusTypePreResList(FilterBusTypePreRequest filterBusTypePreRequest);
} boolean insertOrUpdate(BasicBusTypePreEntity record);
}

@ -1,9 +1,9 @@
package com.glxp.api.dao.basic; package com.glxp.api.dao.basic;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest; import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.res.thrsys.ThrCorpsResponse;
import com.glxp.api.res.thrsys.ThrUnitMaintainResponse; import com.glxp.api.res.thrsys.ThrUnitMaintainResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -11,16 +11,16 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface BasicCorpDao { public interface BasicCorpDao extends BaseMapperPlus<BasicCorpDao, BasicCorpEntity, BasicCorpEntity> {
List<BasicCorpEntity> filterList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); List<BasicCorpEntity> filterList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest);
boolean insertBasicUnitMaintain(BasicCorpEntity basicUnitMaintainEntity); boolean insertBasicUnitMaintain(BasicCorpEntity basicUnitMaintainEntity);
boolean insertThrUnitMaintainignore(ThrUnitMaintainResponse thrUnitMaintainResponse); boolean insertThrUnitMaintainignore(ThrUnitMaintainResponse thrUnitMaintainResponse);
boolean insert(BasicCorpEntity basicUnitMaintainEntity); int insert(BasicCorpEntity basicUnitMaintainEntity);
boolean updateById(BasicCorpEntity basicUnitMaintainSaveRequest); int customUpdateById(BasicCorpEntity basicUnitMaintainSaveRequest);
BasicCorpEntity selectByThirdId(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); BasicCorpEntity selectByThirdId(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest);

@ -1,14 +1,17 @@
package com.glxp.api.dao.basic; package com.glxp.api.dao.basic;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicHospTypeEntity; import com.glxp.api.entity.basic.BasicHospTypeEntity;
import java.util.List; import java.util.List;
import com.glxp.api.res.basic.BasicHospTypeResponse; import com.glxp.api.res.basic.BasicHospTypeResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@Mapper @Mapper
public interface BasicHospTypeDao extends BaseMapper<BasicHospTypeEntity> { public interface BasicHospTypeDao extends BaseMapperPlus<BasicHospTypeDao, BasicHospTypeEntity, BasicHospTypeEntity> {
List<BasicHospTypeResponse> getTreeList(); List<BasicHospTypeResponse> getTreeList();

@ -0,0 +1,9 @@
package com.glxp.api.dao.basic;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicProductsEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface BasicProductsDao extends BaseMapperPlus<BasicProductsDao, BasicProductsEntity,BasicProductsEntity> {
}

@ -0,0 +1,10 @@
package com.glxp.api.dao.basic;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.basic.CompanyProductRelevanceEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CompanyProductRelevanceDao extends BaseMapperPlus<CompanyProductRelevanceDao, CompanyProductRelevanceEntity,CompanyProductRelevanceEntity> {
}

@ -1,12 +1,14 @@
package com.glxp.api.dao.inout; package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.inout.PurReceiveDetailEntity; import com.glxp.api.entity.inout.PurReceiveDetailEntity;
import com.glxp.api.req.inout.FilterReceiveDetailRequest; import com.glxp.api.req.inout.FilterReceiveDetailRequest;
import com.glxp.api.req.inout.UpdateReceiveDetailRequest; import com.glxp.api.req.inout.UpdateReceiveDetailRequest;
import com.glxp.api.res.inout.ReceiveDetailResponse; import com.glxp.api.res.inout.ReceiveDetailResponse;
import com.glxp.api.res.inout.ReceiveResponse; import com.glxp.api.res.inout.ReceiveResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -17,5 +19,5 @@ public interface ReceiveDetailDao extends BaseMapperPlus<ReceiveDetailDao, PurRe
boolean updateReceiveDetail(UpdateReceiveDetailRequest updateReceiveDetailRequest); boolean updateReceiveDetail(UpdateReceiveDetailRequest updateReceiveDetailRequest);
BasicProductsEntity selectIoOrderDetailBiz(@Param("id") long id);
} }

@ -2,6 +2,7 @@ package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.purchase.SupCertEntity; import com.glxp.api.entity.purchase.SupCertEntity;
import com.glxp.api.req.purchase.FilterSupCertRequest; import com.glxp.api.req.purchase.FilterSupCertRequest;
import com.glxp.api.req.purchase.purPlanPrintRequest; import com.glxp.api.req.purchase.purPlanPrintRequest;
@ -11,7 +12,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface SupCertDao extends BaseMapper<SupCertEntity> { public interface SupCertDao extends BaseMapperPlus<SupCertDao, SupCertEntity, SupCertEntity> {
List<SupCertEntity> filterCompanyCert(FilterSupCertRequest filterSupCertRequest); List<SupCertEntity> filterCompanyCert(FilterSupCertRequest filterSupCertRequest);

@ -1,6 +1,7 @@
package com.glxp.api.dao.purchase; package com.glxp.api.dao.purchase;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.purchase.SupCertSetEntity; import com.glxp.api.entity.purchase.SupCertSetEntity;
import com.glxp.api.req.purchase.FilterCertSetsRequest; import com.glxp.api.req.purchase.FilterCertSetsRequest;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -8,7 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface SupCertSetDao { public interface SupCertSetDao extends BaseMapperPlus<SupCertSetDao, SupCertSetEntity, SupCertSetEntity> {
List<SupCertSetEntity> filterCertSets(FilterCertSetsRequest filterCertSetsRequest); List<SupCertSetEntity> filterCertSets(FilterCertSetsRequest filterCertSetsRequest);
boolean insertCertSet(SupCertSetEntity supCertSetEntity); boolean insertCertSet(SupCertSetEntity supCertSetEntity);

@ -1,6 +1,8 @@
package com.glxp.api.dao.purchase; package com.glxp.api.dao.purchase;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.purchase.SupCertEntity;
import com.glxp.api.entity.purchase.SupCompanyEntity; import com.glxp.api.entity.purchase.SupCompanyEntity;
import com.glxp.api.req.purchase.FilterSupCompanyRequest; import com.glxp.api.req.purchase.FilterSupCompanyRequest;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -9,7 +11,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface SupCompanyDao { public interface SupCompanyDao extends BaseMapperPlus<SupCompanyDao, SupCompanyEntity, SupCompanyEntity> {
SupCompanyEntity findCompany(String CustomerId); SupCompanyEntity findCompany(String CustomerId);

@ -1,6 +1,7 @@
package com.glxp.api.dao.purchase; package com.glxp.api.dao.purchase;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.purchase.SupManufacturerEntity; import com.glxp.api.entity.purchase.SupManufacturerEntity;
import com.glxp.api.req.purchase.FilterSupManufacturerRequest; import com.glxp.api.req.purchase.FilterSupManufacturerRequest;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -9,7 +10,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface SupManufacturerDao { public interface SupManufacturerDao extends BaseMapperPlus<SupManufacturerDao, SupManufacturerEntity, SupManufacturerEntity> {
SupManufacturerEntity findCompany(Long id); SupManufacturerEntity findCompany(Long id);

@ -1,6 +1,7 @@
package com.glxp.api.dao.purchase; package com.glxp.api.dao.purchase;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.purchase.SupProductEntity; import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.req.purchase.FilterPoductRequest; import com.glxp.api.req.purchase.FilterPoductRequest;
import com.glxp.api.res.purchase.SupProductResponse; import com.glxp.api.res.purchase.SupProductResponse;
@ -10,7 +11,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface SupProductDao { public interface SupProductDao extends BaseMapperPlus<SupProductDao,SupProductEntity,SupProductEntity> {
SupProductEntity findRegistration(Long id); SupProductEntity findRegistration(Long id);

@ -123,6 +123,11 @@ public class BasicBusTypePreEntity {
@TableField(value = "remark") @TableField(value = "remark")
private String remark; private String remark;
// 创建单模式1送货至入库单模式2.向上级补单模式3.预验收/寄售转入库单模式
@TableField(value = "createType")
private int createType;
/** /**
* *

@ -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
@ -61,21 +63,30 @@ public class BasicHospTypeEntity {
@TableField(value = "updateUser") @TableField(value = "updateUser")
private String updateUser; private String updateUser;
@TableField(exist = false)
public static final String COL_ID = "id"; public static final String COL_ID = "id";
@TableField(exist = false)
public static final String COL_CODE = "code"; public static final String COL_CODE = "code";
@TableField(exist = false)
public static final String COL_PARENTCODE = "parentCode"; public static final String COL_PARENTCODE = "parentCode";
@TableField(exist = false)
public static final String COL_NAME = "name"; public static final String COL_NAME = "name";
@TableField(exist = false)
public static final String COL_REMARK = "remark"; public static final String COL_REMARK = "remark";
@TableField(exist = false)
public static final String COL_CREATETIME = "createTime"; public static final String COL_CREATETIME = "createTime";
@TableField(exist = false)
public static final String COL_UPDATETIME = "updateTime"; public static final String COL_UPDATETIME = "updateTime";
@TableField(exist = false)
public static final String COL_CREATEUSER = "createUser"; public static final String COL_CREATEUSER = "createUser";
@TableField(exist = false)
public static final String COL_UPDATEUSER = "updateUser"; public static final String COL_UPDATEUSER = "updateUser";
} }

@ -1,5 +1,9 @@
package com.glxp.api.entity.basic; package com.glxp.api.entity.basic;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@ -9,39 +13,162 @@ import java.util.Date;
*/ */
@Data @Data
@TableName("basic_udirel")
public class UdiRelevanceEntity { public class UdiRelevanceEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id; private Long id;
/**
* UUID
*/
@TableField(value = "uuid")
private String uuid; private String uuid;
/**
* ID
*/
@TableField(value = "mainId")
private String mainId; private String mainId;
/**
* ID
*/
@TableField(value = "thirdId")
private String thirdId; private String thirdId;
/**
* ID1
*/
@TableField(value = "thirdId1")
private String thirdId1; private String thirdId1;
/**
* ID2
*/
@TableField(value = "thirdId2")
private String thirdId2; private String thirdId2;
/**
* ID3
*/
@TableField(value = "thirdId3")
private String thirdId3; private String thirdId3;
/**
* ID4
*/
@TableField(value = "thirdId4")
private String thirdId4; private String thirdId4;
/**
*
*/
@TableField(value = "udplatCode")
private String udplatCode; private String udplatCode;
/**
* 使
*/
@TableField(value = "isUseDy")
private Boolean isUseDy; private Boolean isUseDy;
/**
*
*/
@TableField(value = "isDisable")
private Boolean isDisable; private Boolean isDisable;
/**
*
*/
@TableField(value = "isLock")
private Boolean isLock; private Boolean isLock;
/**
* 1.2.3.
*/
@TableField(value = "lockStatus")
private Integer lockStatus; private Integer lockStatus;
/**
* )
*/
@TableField(value = "isAdavence")
private Boolean isAdavence; private Boolean isAdavence;
/**
* 使
*/
@TableField(value = "useMuti")
private Boolean useMuti; private Boolean useMuti;
/**
* 使
*/
@TableField(value = "useNum")
private Integer useNum; private Integer useNum;
/**
*
*/
@TableField(value = "supName")
private String supName; private String supName;
/**
*
*/
@TableField(value = "createTime")
private Date createTime; private Date createTime;
@TableField(value = "overStockNum")
private Integer overStockNum;
@TableField(value = "recentDateTime")
private Integer recentDateTime;
@TableField(value = "lowStockNum")
private Integer lowStockNum;
@TableField(value = "relCode")
private String relCode;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime; private Date updateTime;
/**
*
*/
@TableField(value = "modifyTime")
private Date modifyTime; private Date modifyTime;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser; private String createUser;
private String updateUser;
private String remark;
private Integer lowStockNum;
private Integer overStockNum;
private Integer recentDateTime;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
@TableField(value = "remark")
private String remark;
@TableField(value = "useExpireTime")
private Integer useExpireTime; private Integer useExpireTime;
private boolean dispatch; //是否可配送 @TableField(value = "dispatch")
private boolean groupBuy; //是否集采产品 private boolean dispatch;
private String relCode; @TableField(value = "groupBuy") //是否可配送
private boolean groupBuy;
//是否集采产品
@TableField(value = "isDateBy")
private Integer isDateBy; private Integer isDateBy;
} @TableField(value = "needCert")
private boolean needCert; //是否需要资质材料
@TableField(value = "certIdFk")
private String certIdFk;
}

@ -19,6 +19,11 @@ public class ThrSystemDetailEntity {
private String localAction; private String localAction;
private String thirdAction; private String thirdAction;
/**
*
*/
private Integer time;
public String getValue() { public String getValue() {
if (value == null) if (value == null)
return null; return null;

@ -44,7 +44,7 @@ public class SpGetHttpClient {
} }
public String[] buildHeader() { public String[] buildHeader() {
String[] headers = {"apiKey", apiKey, "apiSecret", apiSecret}; String[] headers = {"api_key", apiKey, "secret_key", apiSecret};
return headers; return headers;
} }
@ -237,6 +237,26 @@ public class SpGetHttpClient {
return response; return response;
} }
/**
* UDI
*
* @return
*/
public String pullBasicData() {
String result = okHttpCli.doGet(getIpUrl() + "/sps/sync/basicData", null, buildHeader());
return result;
}
public void finishTask(String id) {
BasicExportStatusRequest basicExportStatusRequest = new BasicExportStatusRequest();
basicExportStatusRequest.setId(id);
String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/basic/udiinfo/finishTask"
, JSONUtil.toJsonStr(basicExportStatusRequest), buildHeader());
}
/** /**
* *
* *
@ -281,4 +301,19 @@ public class SpGetHttpClient {
}); });
return response; return response;
} }
/**
*
*
* @param fileNameList
* @return
*/
public BaseResponse<String> postTemplateFile(List<Map<String, String>> fileNameList) {
String json = JSONUtil.toJsonStr(fileNameList);
String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/file/download", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
} }

@ -1,5 +1,6 @@
package com.glxp.api.idc.service; package com.glxp.api.idc.service;
import java.util.List;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -9,8 +10,10 @@ import org.springframework.web.multipart.MultipartFile;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
/*文件服务*/ /*文件服务*/
public interface FileService { public interface FileService {
BaseResponse upload(List<String> list);
BaseResponse download(List<String> list);
BaseResponse fileUpload(HttpServletRequest request,Map<String,Object> params); BaseResponse fileUpload(HttpServletRequest request,Map<String,Object> params);
BaseResponse fileDownload(HttpServletRequest request,Map<String,Object> params); BaseResponse fileDownload(HttpServletRequest request,Map<String,Object> params);
BaseResponse downloadFile(HttpServletRequest request,Map<String,Object> params); BaseResponse downloadFile(HttpServletRequest request,Map<String,Object> params);

@ -4,6 +4,8 @@ import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -36,7 +38,7 @@ import okhttp3.RequestBody;
import okhttp3.Response; import okhttp3.Response;
/*连通检测*/ /*文件服务*/
@Service @Service
public class FileServiceImpl implements FileService { public class FileServiceImpl implements FileService {
private static final Logger logger = LoggerFactory.getLogger(FileServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(FileServiceImpl.class);
@ -52,8 +54,27 @@ public class FileServiceImpl implements FileService {
@Resource @Resource
private IdcService idcService; private IdcService idcService;
private String imagePath = "register/file/image2/"; private String imagePath = "register/file/image2/";
@Override
public BaseResponse upload(List<String> list) {
return fileToUpload(list);
}
@Override
public BaseResponse download(List<String> list) {
return fileToDownload(list);
}
@Override @Override
public BaseResponse fileUpload(HttpServletRequest request,Map<String,Object> params) { public BaseResponse fileUpload(HttpServletRequest request,Map<String,Object> params) {
List<String> list = new ArrayList<>();
String[] strs = params.get("fileName").toString().split(",");
for(String str:strs) {
list.add(str);
}
return fileToUpload(list);
}
private BaseResponse fileToUpload(List<String> list) {
String host=""; String host="";
try { try {
Map<String, Object> map = dbDao.get("select * from sync_data_set limit 1"); Map<String, Object> map = dbDao.get("select * from sync_data_set limit 1");
@ -73,23 +94,27 @@ public class FileServiceImpl implements FileService {
} }
if(StringUtils.isEmpty(host)) if(StringUtils.isEmpty(host))
return ResultVOUtils.error(9999,"上传地址未配置,请至同步设置中进行设置"); return ResultVOUtils.error(9999,"上传地址未配置,请至同步设置中进行设置");
if(params.get("fileName")!=null) { if(list!=null) {
String fileName = params.get("fileName").toString();
String[] strs = fileName.split(",");
String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : "/"; String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : "/";
ArrayList<String> files = new ArrayList<>(); ArrayList<String> files = new ArrayList<>();
boolean isExists = true; boolean isExists = true;
for(String str:strs) { List<String> noExitsList = new ArrayList<>();
if (!StringUtils.isEmpty(str) && FileUtils.isFileExist(filePath + filePathSlash + imagePath + str)) { for(String strs:list) {
files.add(filePath + filePathSlash + imagePath + str); String[] str = strs.split(",");
} else { for(String s:str) {
isExists = false; if (!StringUtils.isEmpty(s) && FileUtils.isFileExist(filePath + filePathSlash + imagePath + s)) {
files.add(filePath + filePathSlash + imagePath + s);
} else {
isExists = false;
noExitsList.add(s);
}
} }
} }
if(!isExists) if(!isExists)
return ResultVOUtils.error(9999,filePath + filePathSlash + imagePath + strs[0]); return ResultVOUtils.error(9999,"以下文件不存在:\n"+JSON.toJSONString(noExitsList));
String result = relayFile(files,host); String result = relayFile(files,host);
logger.error(result);
if (IDCUtils.isJson(result)) { if (IDCUtils.isJson(result)) {
BaseResponse baseResponse = JSON.parseObject(result,BaseResponse.class); BaseResponse baseResponse = JSON.parseObject(result,BaseResponse.class);
return baseResponse; return baseResponse;
@ -102,18 +127,37 @@ public class FileServiceImpl implements FileService {
@Override @Override
public BaseResponse fileDownload(HttpServletRequest request,Map<String,Object> params) { public BaseResponse fileDownload(HttpServletRequest request,Map<String,Object> params) {
List<String> list = new ArrayList<>();
String[] strs = params.get("fileName").toString().split(",");
for(String str:strs) {
list.add(str);
}
return fileToDownload(list);
}
private BaseResponse fileToDownload(List<String> list) {
Map<String,Object> params = new HashMap<String,Object>();
String fileName = "";
for(String str:list) {
fileName +=fileName.length()>0 ? ","+str : str;
}
params.put("fileName", fileName);
Map<String, Object> map = dbDao.get("select * from sync_data_set limit 1"); Map<String, Object> map = dbDao.get("select * from sync_data_set limit 1");
if(map!=null&&map.get("syncIp")!=null) { if(map!=null&&map.get("syncIp")!=null) {
String result = IDCUtils.post(map.get("syncIp").toString()+"/spssync/file/downloadFile", params); String result = IDCUtils.post(map.get("syncIp").toString()+"/spssync/file/downloadFile", params);
JSONObject object = JSON.parseObject(result);
boolean success = false; boolean success = false;
if(object.getInteger("code")==20000) { if(IDCUtils.isJson(result)) {
String[] files = params.get("fileName").toString().split(","); JSONObject object = JSON.parseObject(result);
success = true;
for(String str:files) { if(object.getInteger("code")==20000) {
if(!idcService.signleDownloadFile(map.get("syncIp").toString(), str)) String[] files = params.get("fileName").toString().split(",");
success = false; success = true;
for(String str:files) {
if(!idcService.signleDownloadFile(map.get("syncIp").toString(), str))
success = false;
}
} }
} }
if(!success) if(!success)
@ -216,7 +260,6 @@ public class FileServiceImpl implements FileService {
try { try {
Response response = client.newCall(req).execute(); Response response = client.newCall(req).execute();
result = response.body().string(); result = response.body().string();
logger.info("result--->" + result);
} catch (IOException e) { } catch (IOException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
@ -228,7 +271,6 @@ public class FileServiceImpl implements FileService {
return result; return result;
} }
@Override @Override
public BaseResponse downloadFile(HttpServletRequest request,Map<String,Object> params) { public BaseResponse downloadFile(HttpServletRequest request,Map<String,Object> params) {
String host = ""; String host = "";

@ -24,4 +24,14 @@ public class FilterInvRemindSetRequest extends ListPageRequest {
*/ */
private String invSpaceCode; private String invSpaceCode;
/**
* ID
*/
private Integer invId;
/**
* 0 1
*/
private Integer status;
} }

@ -14,4 +14,7 @@ public class BasicBusTypeChangeResponse extends BasicBusTypeChangeEntity {
*/ */
private String targetBusName; private String targetBusName;
private String targetName;
} }

@ -9,6 +9,7 @@ public class BaseSyncResponse {
private String taskId; private String taskId;
private List<String> files; private List<String> files;
private List<String> uploadFiles;
private String updateTime; private String updateTime;
} }

@ -0,0 +1,23 @@
package com.glxp.api.res.sync;
import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.purchase.*;
import lombok.Data;
import java.util.List;
@Data
public class SpsSyncBasicDataResponse extends BaseSyncResponse {
List<BasicHospTypeEntity> hospTypeList;
List<UdiRelevanceEntity> udiRelevanceList;
List<BasicProductsEntity> productsList;
List<CompanyProductRelevanceEntity> relevanceList;
List<BasicCorpEntity> corpList;
List<SupCertEntity> supCertList;
List<SupCertSetEntity> supCertSetList;
List<SupCompanyEntity> supCompanyList;
List<SupManufacturerEntity> supManufacturerList;
List<SupProductEntity> supProductList;
}

@ -1,5 +1,6 @@
package com.glxp.api.service.basic; package com.glxp.api.service.basic;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.basic.BasicHospTypeEntity; import com.glxp.api.entity.basic.BasicHospTypeEntity;
import com.glxp.api.req.basic.BasicHospTypeFilterRequest; import com.glxp.api.req.basic.BasicHospTypeFilterRequest;
import com.glxp.api.req.basic.BasicHospTypeRequest; import com.glxp.api.req.basic.BasicHospTypeRequest;
@ -10,7 +11,7 @@ import com.glxp.api.res.basic.UdiRelevanceResponse;
import java.util.List; import java.util.List;
public interface BasicHospTypeService { public interface BasicHospTypeService extends IService<BasicHospTypeEntity> {
List<BasicHospTypeEntity> filterHospTypeList(BasicHospTypeFilterRequest basicHospTypeFilterRequest); List<BasicHospTypeEntity> filterHospTypeList(BasicHospTypeFilterRequest basicHospTypeFilterRequest);

@ -1,7 +1,6 @@
package com.glxp.api.service.basic; package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.req.basic.FilterBusTypeChangeRequest; import com.glxp.api.req.basic.FilterBusTypeChangeRequest;
import com.glxp.api.res.basic.BasicBusTypeChangeResponse; import com.glxp.api.res.basic.BasicBusTypeChangeResponse;

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.BasicBusTypeChangeDao; import com.glxp.api.dao.basic.BasicBusTypeChangeDao;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.req.basic.FilterBusTypeChangeRequest; import com.glxp.api.req.basic.FilterBusTypeChangeRequest;
import com.glxp.api.res.basic.BasicBusTypeChangeResponse; import com.glxp.api.res.basic.BasicBusTypeChangeResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;

@ -109,7 +109,6 @@ public class BasicBusTypePreServiceImpl implements IBasicBusTypePreService {
public List<BasicBusTypePreEntity> findByLastTime(Date lastUpdateTime) { public List<BasicBusTypePreEntity> findByLastTime(Date lastUpdateTime) {
return basicBusTypePreDao.selectList(new QueryWrapper<BasicBusTypePreEntity>().gt("updateTime", lastUpdateTime)); return basicBusTypePreDao.selectList(new QueryWrapper<BasicBusTypePreEntity>().gt("updateTime", lastUpdateTime));
} }
/** /**
* / * /
* *

@ -5,7 +5,6 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.BasicCorpDao; import com.glxp.api.dao.basic.BasicCorpDao;
import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest; import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.res.thrsys.ThrCorpsResponse;
import com.glxp.api.res.thrsys.ThrUnitMaintainResponse; import com.glxp.api.res.thrsys.ThrUnitMaintainResponse;
import com.glxp.api.service.basic.BasicCorpService; import com.glxp.api.service.basic.BasicCorpService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -50,13 +49,13 @@ public class BasicCorpServiceImpl implements BasicCorpService {
@Override @Override
public boolean insert(BasicCorpEntity basicUnitMaintainEntity) { public boolean insert(BasicCorpEntity basicUnitMaintainEntity) {
return basicCorpDao.insert(basicUnitMaintainEntity); return basicCorpDao.insert(basicUnitMaintainEntity)>0?true:false;
} }
@Override @Override
public boolean updateById(BasicCorpEntity basicUnitMaintainSaveRequest) { public boolean updateById(BasicCorpEntity basicUnitMaintainSaveRequest) {
basicUnitMaintainSaveRequest.setUpdateTime(new Date()); basicUnitMaintainSaveRequest.setUpdateTime(new Date());
return basicCorpDao.updateById(basicUnitMaintainSaveRequest); return basicCorpDao.customUpdateById(basicUnitMaintainSaveRequest)>0?true:false;
} }
@Override @Override

@ -2,6 +2,7 @@ package com.glxp.api.service.basic.impl;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.BasicHospTypeDao; import com.glxp.api.dao.basic.BasicHospTypeDao;
import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.dao.basic.UdiRelevanceDao;
@ -24,7 +25,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
public class BasicHospTypeServiceImpl implements BasicHospTypeService { public class BasicHospTypeServiceImpl extends ServiceImpl<BasicHospTypeDao,BasicHospTypeEntity> implements BasicHospTypeService {
@Resource @Resource
BasicHospTypeDao basicHospTypeDao; BasicHospTypeDao basicHospTypeDao;

@ -326,7 +326,7 @@ public class IoAddInoutService {
IoOrderEntity order = orderService.findByBillNo(orderId); IoOrderEntity order = orderService.findByBillNo(orderId);
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(order.getAction()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(order.getAction());
if (StrUtil.isBlank(bussinessTypeEntity.getSupplementOrderType())) { if (StrUtil.isBlank(bussinessTypeEntity.getSupplementOrderType())) {
return ResultVOUtils.error(ResultEnum.valueOf("此类型单据不可补单")); return ResultVOUtils.error(500,"此单据类型不可补单");
} }
IoOrderEntity supplementOrder = new IoOrderEntity(); IoOrderEntity supplementOrder = new IoOrderEntity();
BeanUtil.copyProperties(order, supplementOrder); BeanUtil.copyProperties(order, supplementOrder);

@ -190,15 +190,27 @@ public class IoChangeInoutService {
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(targetBustypeEntity.getPrefix()), "yyyyMMdd")); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(targetBustypeEntity.getPrefix()), "yyyyMMdd"));
outOrder.setBillNo(orderNo); outOrder.setBillNo(orderNo);
if (targetBustypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { if (bussinessChangeTypeEntity.getCreateType() == 1) {//送货至入库补单
outOrder.setCustomerId(corpName); outOrder.setCustomerId(corpName);
outOrder.setFromCorp(corpName); outOrder.setFromCorp(corpName);
outOrder.setFromInvCode(null); outOrder.setFromInvCode(null);
outOrder.setFromDeptCode(null); outOrder.setFromDeptCode(null);
} else if (bussinessChangeTypeEntity.getCreateType() == 3) { //寄售、预验收补单
if (targetBustypeEntity.getActionType() == 2) {
outOrder.setCustomerId(null);
outOrder.setFromCorp(null);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode("1000001");
outOrder.setFromInvCode(invWarehouseEntity.getCode());
outOrder.setFromDeptCode(invWarehouseEntity.getParentId());
} else if (targetBustypeEntity.getActionType() == 3) {
outOrder.setCustomerId(null);
outOrder.setFromCorp(null);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode("1000002");
outOrder.setFromInvCode(invWarehouseEntity.getCode());
outOrder.setFromDeptCode(invWarehouseEntity.getParentId());
}
} else { } else {
outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID);
InvWarehouseEntity curInv = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode()); InvWarehouseEntity curInv = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode());
InvWarehouseEntity upInv = invWarehouseService.findByInvSubByCode(curInv.getParentCode()); InvWarehouseEntity upInv = invWarehouseService.findByInvSubByCode(curInv.getParentCode());
outOrder.setFromInvCode(upInv.getCode()); outOrder.setFromInvCode(upInv.getCode());
@ -217,13 +229,7 @@ public class IoChangeInoutService {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode()); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode());
outOrder.setInvCode(invWarehouseEntity.getCode()); outOrder.setInvCode(invWarehouseEntity.getCode());
outOrder.setDeptCode(invWarehouseEntity.getParentId()); outOrder.setDeptCode(invWarehouseEntity.getParentId());
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
if ("1".equals(systemParamConfigEntity.getParamValue())) {
outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
} else {
outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL);
}
//互填单号 //互填单号
orderEntity.setUllageSupNo(outOrder.getBillNo()); orderEntity.setUllageSupNo(outOrder.getBillNo());
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());

@ -265,13 +265,13 @@ public class IoCheckInoutService {
orderDetailBizService.insert(orderDetailBizEntity); orderDetailBizService.insert(orderDetailBizEntity);
//生成单据结果 //生成单据结果
IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity(); IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity();
BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity); BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity);
orderDetailResultEntity.setCount(orderDetailCodeEntity.getReCount()); orderDetailResultEntity.setCount(orderDetailCodeEntity.getReCount());
orderDetailResultEntity.setReCount(orderDetailCodeEntity.getReCount()); orderDetailResultEntity.setReCount(orderDetailCodeEntity.getReCount());
orderDetailResultEntity.setId(null); orderDetailResultEntity.setId(null);
orderDetailResultService.insert(orderDetailResultEntity); orderDetailResultService.insert(orderDetailResultEntity);
}); });
} }
@ -812,6 +812,8 @@ public class IoCheckInoutService {
}); });
} }
//校验是否是不入库存单据 //校验是否是不入库存单据
if (bussinessTypeEntity.isInStock()) { if (bussinessTypeEntity.isInStock()) {
//生成库存 //生成库存

@ -1,5 +1,6 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.inout.PurReceiveEntity; import com.glxp.api.entity.inout.PurReceiveEntity;
import com.glxp.api.req.inout.FilterReceiveRequest; import com.glxp.api.req.inout.FilterReceiveRequest;
import com.glxp.api.res.inout.ReceiveResponse; import com.glxp.api.res.inout.ReceiveResponse;
@ -21,4 +22,7 @@ public interface ReceiveService {
boolean delReceive(String orderIdFk); boolean delReceive(String orderIdFk);
} }

@ -1,5 +1,6 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.inout.PurReceiveDetailEntity; import com.glxp.api.entity.inout.PurReceiveDetailEntity;
import com.glxp.api.req.inout.FilterReceiveDetailRequest; import com.glxp.api.req.inout.FilterReceiveDetailRequest;
import com.glxp.api.req.inout.FilterReceiveRequest; import com.glxp.api.req.inout.FilterReceiveRequest;
@ -22,5 +23,5 @@ public interface ReceivedetailService {
boolean delDetail(String id); boolean delDetail(String id);
BasicProductsEntity selectIoOrderDetailBiz(long id);
} }

@ -3,6 +3,7 @@ package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.ReceiveDetailDao; import com.glxp.api.dao.inout.ReceiveDetailDao;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.inout.PurReceiveDetailEntity; import com.glxp.api.entity.inout.PurReceiveDetailEntity;
import com.glxp.api.req.inout.FilterReceiveDetailRequest; import com.glxp.api.req.inout.FilterReceiveDetailRequest;
import com.glxp.api.req.inout.UpdateReceiveDetailRequest; import com.glxp.api.req.inout.UpdateReceiveDetailRequest;
@ -55,5 +56,8 @@ public class ReceiveDetailServiceImpl implements ReceivedetailService {
return true; return true;
} }
@Override
public BasicProductsEntity selectIoOrderDetailBiz(long id) {
return receiveDetailDao.selectIoOrderDetailBiz(id);
}
} }

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.ReceiveDao; import com.glxp.api.dao.inout.ReceiveDao;
import com.glxp.api.dao.inout.ReceiveDetailDao; import com.glxp.api.dao.inout.ReceiveDetailDao;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.inout.PurReceiveDetailEntity; import com.glxp.api.entity.inout.PurReceiveDetailEntity;
import com.glxp.api.entity.inout.PurReceiveEntity; import com.glxp.api.entity.inout.PurReceiveEntity;
import com.glxp.api.req.inout.FilterReceiveRequest; import com.glxp.api.req.inout.FilterReceiveRequest;
@ -38,9 +39,9 @@ public class ReceiveServiceImpl implements ReceiveService {
@Override @Override
public int updateOrder(PurReceiveEntity purReceiveEntity) { public int updateOrder(PurReceiveEntity purReceiveEntity) {
QueryWrapper<PurReceiveEntity> ew=new QueryWrapper<>(); QueryWrapper<PurReceiveEntity> ew = new QueryWrapper<>();
ew.eq("billNo",purReceiveEntity.getBillNo()); ew.eq("billNo", purReceiveEntity.getBillNo());
return receiveDao.update(purReceiveEntity,ew); return receiveDao.update(purReceiveEntity, ew);
} }
@Override @Override
@ -67,4 +68,6 @@ public class ReceiveServiceImpl implements ReceiveService {
} }
} }

@ -52,7 +52,16 @@ public class InvRemindSetServiceImpl implements InvRemindSetService {
if (null != filterInvRemindSetRequest.getPage() && null != filterInvRemindSetRequest.getLimit()) { if (null != filterInvRemindSetRequest.getPage() && null != filterInvRemindSetRequest.getLimit()) {
PageHelper.offsetPage((filterInvRemindSetRequest.getPage() - 1) * filterInvRemindSetRequest.getLimit(), filterInvRemindSetRequest.getLimit()); PageHelper.offsetPage((filterInvRemindSetRequest.getPage() - 1) * filterInvRemindSetRequest.getLimit(), filterInvRemindSetRequest.getLimit());
} }
return invRemindSetDao.filterList(filterInvRemindSetRequest); List<InvRemindSetResponse> list = invRemindSetDao.filterList(filterInvRemindSetRequest);
if (CollUtil.isNotEmpty(list)) {
list.forEach(invRemindSetResponse -> {
if (invRemindSetResponse.getIsDateBy() == 1 && null != invRemindSetResponse.getRecentDateTime()) {
//将近效期预警值由小时换算成天
invRemindSetResponse.setRecentDateTime(invRemindSetResponse.getRecentDateTime() / 24);
}
});
}
return list;
} }
@Override @Override
@ -115,6 +124,20 @@ public class InvRemindSetServiceImpl implements InvRemindSetService {
public BaseResponse getInfoByInvId(Integer invId) { public BaseResponse getInfoByInvId(Integer invId) {
InvRemindSetResponse response = invRemindSetDao.selectInfoByInvId(invId); InvRemindSetResponse response = invRemindSetDao.selectInfoByInvId(invId);
if (null != response) { if (null != response) {
//查询是否已有库存预警设置信息,若已存在预警设置,则回显旧数据
InvRemindSetEntity invRemindSetEntity = invRemindSetDao.selectOne(new QueryWrapper<InvRemindSetEntity>()
.eq("deptCode", response.getDeptCode())
.eq("invCode", response.getInvCode())
.eq("relId", response.getRelId())
);
if (null != invRemindSetEntity) {
response.setLackStock(invRemindSetEntity.getLackStock());
response.setLowStock(invRemindSetEntity.getLowStock());
response.setOverStock(invRemindSetEntity.getOverStock());
response.setExpireDate(invRemindSetEntity.getExpireDate());
response.setRecentDate(invRemindSetEntity.getRecentDate());
}
if (response.getIsDateBy() == 1 && null != response.getRecentDateTime()) { if (response.getIsDateBy() == 1 && null != response.getRecentDateTime()) {
//将近效期预警值由小时换算成天 //将近效期预警值由小时换算成天
response.setRecentDateTime(response.getRecentDateTime() / 24); response.setRecentDateTime(response.getRecentDateTime() / 24);

@ -1,45 +1,47 @@
package com.glxp.api.service.sync; package com.glxp.api.service.sync;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.glxp.api.dao.basic.ProductInfoDao; import cn.hutool.core.collection.CollUtil;
import com.glxp.api.dao.basic.UdiCompanyDao; import cn.hutool.core.collection.CollectionUtil;
import com.glxp.api.dao.inout.*; import cn.hutool.core.util.StrUtil;
import com.glxp.api.entity.basic.ProductInfoEntity; import cn.hutool.json.JSONUtil;
import com.glxp.api.entity.basic.UdiCompanyEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.res.sync.*;
import com.glxp.api.service.inout.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.TransactionIsolationLevel;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BasicProcessStatus; import com.glxp.api.constant.BasicProcessStatus;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.*;
import com.glxp.api.dao.purchase.*;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.basic.UdiCompanyEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.sync.BasicDownloadStatusEntity; import com.glxp.api.entity.sync.BasicDownloadStatusEntity;
import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity;
import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity;
import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.http.sync.SpGetHttpClient;
import com.glxp.api.req.sync.SpsSyncDataRequest; import com.glxp.api.req.sync.SpsSyncDataRequest;
import com.glxp.api.res.sync.*;
import com.glxp.api.service.inout.*;
import com.glxp.api.util.CustomUtil; import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil; import com.glxp.api.util.DateUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.TransactionIsolationLevel;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
import cn.hutool.core.collection.CollUtil;
@Slf4j @Slf4j
@Service @Service
@RequiredArgsConstructor
public class HeartService { public class HeartService {
@Resource @Resource
BasicExportService basicExportService; BasicExportService basicExportService;
@ -493,6 +495,84 @@ public class HeartService {
} }
private final BasicHospTypeDao basicHospTypeDao;
private final UdiRelevanceDao udiRelevanceDao;
private final BasicProductsDao basicProductsDao;
private final CompanyProductRelevanceDao relevanceDao;
private final BasicCorpDao corpDao;
private final SupCertDao supCertDao;
private final SupCertSetDao supCertSetDao;
private final SupCompanyDao supCompanyDao;
private final SupManufacturerDao supManufacturerDao;
private final SupProductDao supProductDao;
/**
* UDI
*/
@Transactional(rollbackFor = Exception.class)
public void pullBasicData() {
String data = spGetHttp.pullBasicData();
cn.hutool.json.JSONObject obj = JSONUtil.parseObj(data);
SpsSyncBasicDataResponse bean = obj.get("data", SpsSyncBasicDataResponse.class);
this.insertBasicData(bean);
String taskId = bean.getTaskId();
if (StrUtil.isNotBlank(taskId)) {
//插入下载记录
BasicDownloadStatusEntity basicDownloadStatusEntity = new BasicDownloadStatusEntity();
basicDownloadStatusEntity.setId(CustomUtil.getId());
basicDownloadStatusEntity.setTaskId(taskId);
basicDownloadStatusEntity.setStartTime(new Date());
basicDownloadStatusEntity.setUpdateTime(new Date());
basicDownloadStatusEntity.setEndTime(new Date());
basicDownloadStatusEntity.setIdDatas(ConstantStatus.SYNC_DOWNLOAD_BASIC_DATA);
basicDownloadStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS); //下载完成
basicDownloadStatusEntity.setType(BasicProcessStatus.BASIC_DATA);
basicDownloadStatusEntity.setScheduleType(1);
basicDownloadService.insertDownloadStatus(basicDownloadStatusEntity);
//通知自助平台任务已完成
spGetHttp.finishTask(taskId);
}
}
/**
*
*
* @param bean
*/
@Transactional(propagation = Propagation.NESTED)
public void insertBasicData(SpsSyncBasicDataResponse bean) {
if (CollectionUtil.isNotEmpty(bean.getHospTypeList())) {
basicHospTypeDao.insertOrUpdateBatch(bean.getHospTypeList());
}
if (CollectionUtil.isNotEmpty(bean.getUdiRelevanceList())) {
udiRelevanceDao.insertOrUpdateBatch(bean.getUdiRelevanceList());
}
if (CollectionUtil.isNotEmpty(bean.getProductsList())) {
basicProductsDao.insertOrUpdateBatch(bean.getProductsList());
}
if (CollectionUtil.isNotEmpty(bean.getRelevanceList())) {
relevanceDao.insertOrUpdateBatch(bean.getRelevanceList());
}
if (CollectionUtil.isNotEmpty(bean.getCorpList())) {
corpDao.insertOrUpdateBatch(bean.getCorpList());
}
if (CollectionUtil.isNotEmpty(bean.getSupCertList())) {
supCertDao.insertOrUpdateBatch(bean.getSupCertList());
}
if (CollectionUtil.isNotEmpty(bean.getSupCertSetList())) {
supCertSetDao.insertOrUpdateBatch(bean.getSupCertSetList());
}
if (CollectionUtil.isNotEmpty(bean.getSupCompanyList())) {
supCompanyDao.insertOrUpdateBatch(bean.getSupCompanyList());
}
if (CollectionUtil.isNotEmpty(bean.getSupManufacturerList())) {
supManufacturerDao.insertOrUpdateBatch(bean.getSupManufacturerList());
}
if (CollectionUtil.isNotEmpty(bean.getSupProductList())) {
supProductDao.insertOrUpdateBatch(bean.getSupProductList());
}
}
public void insetOrderDb(SpsSyncOrderResponse syncDataResponse, IoOrderEntity orderEntity) { public void insetOrderDb(SpsSyncOrderResponse syncDataResponse, IoOrderEntity orderEntity) {
//更新码详情 //更新码详情
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) { if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) {
@ -666,6 +746,30 @@ public class HeartService {
basicExportStatusTimeEntity.setKey(ConstantStatus.SYNC_SYS_SETTING); basicExportStatusTimeEntity.setKey(ConstantStatus.SYNC_SYS_SETTING);
spsSyncSysSettingResponse.setTaskId(basicExportStatusEntity1.getId()); spsSyncSysSettingResponse.setTaskId(basicExportStatusEntity1.getId());
BaseResponse<String> baseResponse = spGetHttp.postSysSetting(spsSyncSysSettingResponse); BaseResponse<String> baseResponse = spGetHttp.postSysSetting(spsSyncSysSettingResponse);
//若模板记录不为空,则将模板文件同步过去
String uploadFileLog = "";
if (CollUtil.isNotEmpty(spsSyncSysSettingResponse.getSystemPDFTemplateEntities())) {
List<Map<String, String>> list = new ArrayList<>(spsSyncSysSettingResponse.getSystemPDFTemplateEntities().size() * 2);
spsSyncSysSettingResponse.getSystemPDFTemplateEntities().forEach(systemPDFTemplateEntity -> {
//分切文件并封装参数
Map<String, String> pathFileMap = new HashMap<>(1);
pathFileMap.put("fileName", StrUtil.split(systemPDFTemplateEntity.getPath(), "template/").get(1));
list.add(pathFileMap);
Map<String, String> jrxmlPathFileMap = new HashMap<>(1);
jrxmlPathFileMap.put("fileName", StrUtil.split(systemPDFTemplateEntity.getJrxmlPath(), "template/").get(1));
list.add(jrxmlPathFileMap);
});
BaseResponse<String> response = spGetHttp.postTemplateFile(list);
if (response.getCode() == 20000) {
log.info("模板文件列表上传成功");
uploadFileLog = "\n模板文件列表上传成功";
} else {
log.info("模板文件上传失败,响应信息:{}", response.getMessage());
uploadFileLog = "\n模板文件列表上传失败错误信息" + response.getMessage();
}
}
if (baseResponse.getCode() == 20000) { if (baseResponse.getCode() == 20000) {
basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS); basicExportStatusEntity1.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS);
} else { } else {
@ -674,7 +778,7 @@ public class HeartService {
basicExportStatusEntity1.setEndTime(new Date()); basicExportStatusEntity1.setEndTime(new Date());
basicExportTimeService.insertExportStatus(basicExportStatusTimeEntity); basicExportTimeService.insertExportStatus(basicExportStatusTimeEntity);
basicExportStatusEntity1.setRemark(spsSyncSysSettingResponse.logs()); basicExportStatusEntity1.setRemark(spsSyncSysSettingResponse.logs() + uploadFileLog);
basicExportStatusEntity1.setUpdateTime(new Date()); basicExportStatusEntity1.setUpdateTime(new Date());
basicExportService.updateExportStatus(basicExportStatusEntity1); basicExportService.updateExportStatus(basicExportStatusEntity1);
return ResultVOUtils.success(); return ResultVOUtils.success();

@ -50,10 +50,11 @@ public class ThrSystemDetailServiceImpl implements ThrSystemDetailService {
return data; return data;
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void updateInterfaceStatus(List<ThrSystemDetailEntity> list) { public void updateInterfaceStatus(List<ThrSystemDetailEntity> list) {
for (ThrSystemDetailEntity thrSystemDetailEntity : list) { for (ThrSystemDetailEntity thrSystemDetailEntity : list) {
//请求默认0分钟
thrSystemDetailEntity.setTime(0);
thrSystemDetailDao.updateBasicThirdSysDetail(thrSystemDetailEntity); thrSystemDetailDao.updateBasicThirdSysDetail(thrSystemDetailEntity);
} }
} }

@ -18,8 +18,8 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@Component //@Component
@EnableScheduling //@EnableScheduling
public class SyncHeartTask implements SchedulingConfigurer { public class SyncHeartTask implements SchedulingConfigurer {
final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class); final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class);
@ -65,14 +65,17 @@ public class SyncHeartTask implements SchedulingConfigurer {
lastTime1 = System.currentTimeMillis(); lastTime1 = System.currentTimeMillis();
redisUtil.set("SPS_SYNC_UPLOAD_DATA", lastTime1); redisUtil.set("SPS_SYNC_UPLOAD_DATA", lastTime1);
} }
if (curTime1 - lastTime1 > timeInterval1) { try {
heartService.uploadAllBus(null); if (curTime1 - lastTime1 > timeInterval1) {
heartService.uploadAllUserData(null); heartService.uploadAllBus(null);
// heartService.uploadScheduleList(); heartService.uploadAllUserData(null);
heartService.uploadThrData(null); // heartService.uploadScheduleList();
heartService.uploadThrProducts(null); heartService.uploadThrData(null);
heartService.uploadSysSetting(null); heartService.uploadThrProducts(null);
redisUtil.set("SPS_SYNC_UPLOAD_DATA", curTime1); heartService.uploadSysSetting(null);
redisUtil.set("SPS_SYNC_UPLOAD_DATA", curTime1);
}
} catch (Exception e) {
} }
@ -101,6 +104,7 @@ public class SyncHeartTask implements SchedulingConfigurer {
} }
if (curTime - lastTime > timeInterval) { if (curTime - lastTime > timeInterval) {
heartService.dlAllOrder(); heartService.dlAllOrder();
heartService.pullBasicData();
redisUtil.set("SPS_SYNC_DOWNLOAD_DATA", curTime); redisUtil.set("SPS_SYNC_DOWNLOAD_DATA", curTime);
} }

@ -171,6 +171,7 @@ public class OkHttpCli {
} }
} catch (Exception e) { } catch (Exception e) {
log.error(ExceptionUtils.getStackTrace(e)); log.error(ExceptionUtils.getStackTrace(e));
throw new RuntimeException(e);
} finally { } finally {
if (response != null) { if (response != null) {
response.close(); response.close();

@ -21,14 +21,14 @@ public class UdiCalCountUtil {
public int getActCount(UdiRelevanceResponse udiRelevanceResponse) { public int getActCount(UdiRelevanceResponse udiRelevanceResponse) {
int actCount; int actCount;
if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() != 2) { if (!udiRelevanceResponse.getUseDy() && (udiRelevanceResponse.getDiType() == null || udiRelevanceResponse.getDiType() != 2)) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) { if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
actCount = udiRelevanceResponse.getZxxsbzbhsydysl(); actCount = udiRelevanceResponse.getZxxsbzbhsydysl();
} else { } else {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) { if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
udiRelevanceResponse.setBhzxxsbzsl(1); udiRelevanceResponse.setBhzxxsbzsl(1);
} }
if (udiRelevanceResponse.getZxxsbzbhsydysl() == 0) { if (udiRelevanceResponse.getZxxsbzbhsydysl() == null || udiRelevanceResponse.getZxxsbzbhsydysl() == 0) {
udiRelevanceResponse.setZxxsbzbhsydysl(1); udiRelevanceResponse.setZxxsbzbhsydysl(1);
} }
actCount = udiRelevanceResponse.getBhzxxsbzsl() * udiRelevanceResponse.getZxxsbzbhsydysl(); actCount = udiRelevanceResponse.getBhzxxsbzsl() * udiRelevanceResponse.getZxxsbzbhsydysl();

@ -2,10 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.basic.BasicBusTypeChangeDao"> <mapper namespace="com.glxp.api.dao.basic.BasicBusTypeChangeDao">
<select id="filterList" resultType="com.glxp.api.res.basic.BasicBusTypeChangeResponse"> <select id="filterList" resultType="com.glxp.api.res.basic.BasicBusTypeChangeResponse">
select bc.*, bu.name targetName, bbc.originName targetBusName SELECT bc.*,
from basic_bustype_change bc bu.name targetName,
left join basic_bussiness_type bu on bc.targetAction = bu.action (select originName from basic_bustype_change where originAction = bc.targetBusAction) as targetBusName
left join basic_bustype_change bbc on bc.originAction = bbc.targetAction FROM basic_bustype_change bc
LEFT JOIN basic_bussiness_type bu ON bc.targetAction = bu.action
<where> <where>
<if test="originAction != null and originAction != ''"> <if test="originAction != null and originAction != ''">
AND bc.originAction = #{originAction} AND bc.originAction = #{originAction}

@ -61,4 +61,90 @@
</if> </if>
</where> </where>
</select> </select>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.glxp.api.entity.basic.BasicBusTypePreEntity" useGeneratedKeys="true">
insert into basic_bustype_pre
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
intro,
`action`,
`index`,
beforeTime,
changeType,
defaultDeptCode,
defaultInvCode,
deptCode,
invCode,
originAction,
changeEnable,
supplementAll,
`createUser`,
updateUser,
createTime,
updateTime,
remark,
targetBusAction,
busBeforeTime,
auditStatus,
busAuditStatus,createType,
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
#{intro,jdbcType=VARCHAR},
#{action,jdbcType=VARCHAR},
#{index,jdbcType=TINYINT},
#{beforeTime,jdbcType=INTEGER},
#{changeType,jdbcType=TINYINT},
#{defaultDeptCode,jdbcType=VARCHAR},
#{defaultInvCode,jdbcType=VARCHAR},
#{deptCode,jdbcType=VARCHAR},
#{invCode,jdbcType=VARCHAR},
#{originAction,jdbcType=VARCHAR},
#{changeEnable,jdbcType=TINYINT},
#{supplementAll,jdbcType=TINYINT},
#{createUser,jdbcType=VARCHAR},
#{updateUser,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},
#{remark,jdbcType=VARCHAR},
#{targetBusAction,jdbcType=VARCHAR},
#{busBeforeTime,jdbcType=TINYINT},
#{auditStatus,jdbcType=TINYINT},
#{busAuditStatus,jdbcType=TINYINT}, #{createType,jdbcType=TINYINT},
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id,jdbcType=INTEGER},
</if>
intro = #{intro,jdbcType=VARCHAR},
`action` = #{action,jdbcType=VARCHAR},
`index` = #{index,jdbcType=TINYINT},
beforeTime = #{beforeTime,jdbcType=INTEGER},
changeType = #{changeType,jdbcType=TINYINT},
defaultDeptCode = #{defaultDeptCode,jdbcType=VARCHAR},
defaultInvCode = #{defaultInvCode,jdbcType=VARCHAR},
deptCode = #{deptCode,jdbcType=VARCHAR},
invCode = #{invCode,jdbcType=VARCHAR},
originAction = #{originAction,jdbcType=VARCHAR},
changeEnable = #{changeEnable,jdbcType=TINYINT},
supplementAll = #{supplementAll,jdbcType=TINYINT},
`createUser` = #{createUser,jdbcType=VARCHAR},
updateUser = #{updateUser,jdbcType=VARCHAR},
createTime = #{createTime,jdbcType=TIMESTAMP},
updateTime = #{updateTime,jdbcType=TIMESTAMP},
remark = #{remark,jdbcType=VARCHAR},
targetBusAction = #{targetBusAction,jdbcType=VARCHAR},
busBeforeTime = #{busBeforeTime,jdbcType=TINYINT},
auditStatus = #{auditStatus,jdbcType=TINYINT},
busAuditStatus = #{busAuditStatus,jdbcType=TINYINT},
createType = #{createType,jdbcType=TINYINT},
</trim>
</insert>
</mapper> </mapper>

@ -171,7 +171,7 @@
</insert> </insert>
<update id="updateById" parameterType="com.glxp.api.entity.basic.BasicCorpEntity"> <update id="customUpdateById" parameterType="com.glxp.api.entity.basic.BasicCorpEntity">
UPDATE basic_corp UPDATE basic_corp
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<if test="thirdId != null">thirdId=#{thirdId},</if> <if test="thirdId != null">thirdId=#{thirdId},</if>

@ -11,30 +11,60 @@
bp.measname, bp.measname,
basic_corp.`name` supName basic_corp.`name` supName
from pur_receive_detail from pur_receive_detail
inner join basic_udirel on basic_udirel.id = pur_receive_detail.relIdFk inner join basic_udirel on basic_udirel.id = pur_receive_detail.relIdFk
inner join basic_products bp on basic_udirel.uuid = bp.uuid inner join basic_products bp on basic_udirel.uuid = bp.uuid
INNER JOIN basic_corp ON pur_receive_detail.supId = basic_corp.erpId INNER JOIN basic_corp ON pur_receive_detail.supId = basic_corp.erpId
<where> <where>
<if test="orderIdFk != null and orderIdFk != ''"> <if test="orderIdFk != null and orderIdFk != ''">
AND orderIdFk = #{orderIdFk} AND orderIdFk = #{orderIdFk}
</if> </if>
</where> </where>
GROUP BY basic_udirel.uuid GROUP BY basic_udirel.uuid
</select> </select>
<update id="updateReceiveDetail" parameterType="com.glxp.api.req.inout.UpdateReceiveDetailRequest"> <update id="updateReceiveDetail" parameterType="com.glxp.api.req.inout.UpdateReceiveDetailRequest">
UPDATE pur_receive_detail UPDATE pur_receive_detail
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<if test="orderIdFk != null">orderIdFk=#{orderIdFk},</if> <if test="orderIdFk != null">
<if test="relIdFk != null">relIdFk=#{relIdFk},</if> orderIdFk=#{orderIdFk},
<if test="nameCode != null">nameCode=#{nameCode},</if> </if>
<if test="count != null">count=#{count},</if> <if test="relIdFk != null">
<if test="supId != null">supId=#{supId},</if> relIdFk=#{relIdFk},
<if test="productDate != null">productDate=#{productDate},</if> </if>
<if test="batchNo != null">batchNo=#{batchNo},</if> <if test="nameCode != null">
<if test="expireDate != null">expireDate=#{expireDate},</if> nameCode=#{nameCode},
</if>
<if test="count != null">
count=#{count},
</if>
<if test="supId != null">
supId=#{supId},
</if>
<if test="productDate != null">
productDate=#{productDate},
</if>
<if test="batchNo != null">
batchNo=#{batchNo},
</if>
<if test="expireDate != null">
expireDate=#{expireDate},
</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>
<select id="selectIoOrderDetailBiz" parameterType="long"
resultType="com.glxp.api.entity.basic.BasicProductsEntity">
SELECT b2.*
FROM pur_receive_detail p1
LEFT JOIN basic_udirel b1 on b1.id = p1.productId
LEFT JOIN basic_products b2 on b1.uuid = b2.uuid
<where>
<if test="id != null and id != ''">
AND p1.id = #{id}
</if>
</where>
GROUP BY uuid
</select>
</mapper> </mapper>

@ -13,6 +13,11 @@
irs.expireDate, irs.expireDate,
irs.recentDate, irs.recentDate,
irs.remark, irs.remark,
bu.lowStockNum,
bu.overStockNum,
bu.recentDateTime,
bu.useExpireTime,
bu.isDateBy,
bp.cpmctymc productName, bp.cpmctymc productName,
bp.ggxh, bp.ggxh,
(select `name` from auth_warehouse where `code` = irs.invCode) invName, (select `name` from auth_warehouse where `code` = irs.invCode) invName,
@ -38,26 +43,27 @@
</select> </select>
<select id="selectInfoByInvId" resultType="com.glxp.api.res.inv.InvRemindSetResponse"> <select id="selectInfoByInvId" resultType="com.glxp.api.res.inv.InvRemindSetResponse">
select ip.relIdFk relId, select ip.relIdFk relId,
ip.deptCode, ip.deptCode,
ip.invCode, ip.invCode,
ipd.invSpaceCode, ipd.invSpaceCode,
(select `name` from auth_warehouse where code = ip.invCode) invName, (select `name` from auth_warehouse where code = ip.invCode) invName,
(select `name` (select `name`
from auth_space from auth_space
where code = ipd.invSpaceCode and invWarehouseCode = ip.invCode) invSpaceName, where code = ipd.invSpaceCode
bp.ggxh, and invWarehouseCode = ip.invCode) invSpaceName,
bp.cpmctymc productName, bp.ggxh,
bu.lowStockNum, bp.cpmctymc productName,
bu.overStockNum, bu.lowStockNum,
bu.recentDateTime, bu.overStockNum,
bu.isDateBy bu.recentDateTime,
bu.isDateBy
from inv_product ip from inv_product ip
left join basic_udirel bu on ip.relIdFk = bu.id left join basic_udirel bu on ip.relIdFk = bu.id
left join basic_products bp on bu.uuid = bp.uuid left join basic_products bp on bu.uuid = bp.uuid
left join inv_product_detail ipd left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and IFNULL(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') on ip.relIdFk = ipd.relId and IFNULL(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
and ip.invCode = ipd.invCode and ip.invCode = ipd.invCode
where ip.id = #{invId} where ip.id = #{invId}
group by ip.id group by ip.id
</select> </select>

@ -100,7 +100,7 @@
<if test="batchNo != null">batchNo=#{batchNo},</if> <if test="batchNo != null">batchNo=#{batchNo},</if>
<if test="warehouseName != null">warehouseName=#{warehouseName},</if> <if test="warehouseName != null">warehouseName=#{warehouseName},</if>
<if test="warehouseCode != null">warehouseCode=#{warehouseCode},</if> <if test="warehouseCode != null">warehouseCode=#{warehouseCode},</if>
<if test="registerCertNo != null">registerCertNo=#{registerCertNo},</if> <if test="registerCertNo != null">registerCertNo=#{registerCertNo},</if>8
<if test="manufacturingDate != null">manufacturingDate=#{manufacturingDate},</if> <if test="manufacturingDate != null">manufacturingDate=#{manufacturingDate},</if>
<if test="expirationDate != null">expirationDate=#{expirationDate},</if> <if test="expirationDate != null">expirationDate=#{expirationDate},</if>
<if test="spaceCode != null">spaceCode=#{spaceCode},</if> <if test="spaceCode != null">spaceCode=#{spaceCode},</if>
@ -124,4 +124,4 @@
WHERE id = #{id} WHERE id = #{id}
</update> </update>
</mapper> </mapper>

@ -14,6 +14,7 @@
<if test="name != null">name=#{name},</if> <if test="name != null">name=#{name},</if>
<if test="fromType != null">fromType=#{fromType},</if> <if test="fromType != null">fromType=#{fromType},</if>
<if test="thirdSysFk != null">thirdSysFk=#{thirdSysFk},</if> <if test="thirdSysFk != null">thirdSysFk=#{thirdSysFk},</if>
<if test="time != null">time=#{time},</if>
</trim> </trim>
WHERE id=#{id} WHERE id=#{id}
</update> </update>

@ -10,6 +10,8 @@ CALL Pro_Temp_ColumnWork('io_order', 'processStatus', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'suppleCount', 'tinyint ', 1); CALL Pro_Temp_ColumnWork('io_order', 'suppleCount', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'relKey', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('io_order', 'relKey', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'checkTime', 'datetime ', 1); CALL Pro_Temp_ColumnWork('io_order', 'checkTime', 'datetime ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'checkUser', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255) ', 1);
@ -20,6 +22,10 @@ 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('io_order_invoice', 'bizIdFk', 'int ', 1);
CALL Pro_Temp_ColumnWork('thr_products', 'updateUser', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('thr_products', 'createUser', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('thr_products', 'createTime', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('auth_warehouse', 'advanceType', 'tinyint', 1); CALL Pro_Temp_ColumnWork('auth_warehouse', 'advanceType', 'tinyint', 1);
@ -99,6 +105,17 @@ CALL Pro_Temp_ColumnWork('pur_order', 'supId', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('pur_order', 'arrivalTime', 'datetime', 1); CALL Pro_Temp_ColumnWork('pur_order', 'arrivalTime', 'datetime', 1);
CALL Pro_Temp_ColumnWork('pur_order', 'dealStatus', 'int', 1); CALL Pro_Temp_ColumnWork('pur_order', 'dealStatus', 'int', 1);
INSERT ignore INTO `auth_warehouse`(`id`, `code`, `name`, `parentId`, `remark`, `defaultInv`, `thirdId`, `thirdId1`,
`thirdId2`, `thirdId3`, `thirdId4`, `parentCode`, `advanceType`, `spUse`)
VALUES ('1541070754823692288', '1000000', '总库', '1000', '总111111', 0, '1001304', '402', NULL, NULL, NULL, '', 1, 1);
INSERT ignore INTO `auth_warehouse`(`id`, `code`, `name`, `parentId`, `remark`, `defaultInv`, `thirdId`, `thirdId1`,
`thirdId2`, `thirdId3`, `thirdId4`, `parentCode`, `advanceType`, `spUse`)
VALUES ('1541070754823692289', '1000002', '寄售库', '1000', '总111111', 0, '1001304', '402', NULL, NULL, NULL, '', 2, 1);
INSERT ignore INTO `auth_warehouse`(`id`, `code`, `name`, `parentId`, `remark`, `defaultInv`, `thirdId`, `thirdId1`,
`thirdId2`, `thirdId3`, `thirdId4`, `parentCode`, `advanceType`, `spUse`)
VALUES ('1541070754823692290', '1000001', '预验收库', '1000', '总111111', 0, '1001304', '402', NULL, NULL, NULL, '', 3, 1);
CALL Pro_Temp_ColumnWork('pur_order_detail', 'planCount', 'tinyint', 1); CALL Pro_Temp_ColumnWork('pur_order_detail', 'planCount', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'status', 'tinyint', 1); CALL Pro_Temp_ColumnWork('inv_prein_detail', 'status', 'tinyint', 1);
@ -108,7 +125,6 @@ CALL Pro_Temp_ColumnWork('inv_prein_detail', 'originReCount', 'int', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'mainAction', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('inv_prein_detail', 'mainAction', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'action', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('inv_prein_detail', 'action', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255)', 1);
INSERT ignore INTO `sys_param_config`(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`, INSERT ignore INTO `sys_param_config`(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`,
@ -122,6 +138,7 @@ CALL Pro_Temp_ColumnWork('sup_product', 'allowNoProduct', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sup_product', 'allowNoSerial', 'tinyint', 1); CALL Pro_Temp_ColumnWork('sup_product', 'allowNoSerial', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('inv_remind_msg', 'remindCount', 'int', 1); CALL Pro_Temp_ColumnWork('inv_remind_msg', 'remindCount', 'int', 1);
CALL Pro_Temp_ColumnWork('inv_remind_set', 'status', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sup_cert_remind_msg', 'remindCount', 'int', 1); CALL Pro_Temp_ColumnWork('sup_cert_remind_msg', 'remindCount', 'int', 1);
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'orderStatus', 'tinyint', 1); CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'orderStatus', 'tinyint', 1);
@ -135,6 +152,8 @@ CALL Pro_Temp_ColumnWork('sys_pdf_template', 'bussinessStatus', 'varchar(255)',
CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'filePath', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'filePath', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('io_order', 'checkStatus', 'tinyint', 1);
INSERT ignore INTO `sys_scheduled`(`id`, `cronName`, `cron`, `customerId`, `remark`) INSERT ignore INTO `sys_scheduled`(`id`, `cronName`, `cron`, `customerId`, `remark`)
VALUES (100, 'clean_log_task', '0 0 2 1/1 * ? ', NULL, '删除日志数据'); VALUES (100, 'clean_log_task', '0 0 2 1/1 * ? ', NULL, '删除日志数据');
@ -152,6 +171,7 @@ CALL Pro_Temp_ColumnWork('auth_warehouse', 'updateTime', 'datetime ', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'basicType', 'tinyint', 1); CALL Pro_Temp_ColumnWork('sync_data_set', 'basicType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'basicDept', 'tinyint', 1); CALL Pro_Temp_ColumnWork('sync_data_set', 'basicDept', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'updateTime', 'datetime', 1); CALL Pro_Temp_ColumnWork('sync_data_set', 'updateTime', 'datetime', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'orderToInSyncTime', 'int', 1); CALL Pro_Temp_ColumnWork('sync_data_set', 'orderToInSyncTime', 'int', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'supCert', 'tinyint', 1); CALL Pro_Temp_ColumnWork('sync_data_set', 'supCert', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_set', 'systemConfig', 'tinyint', 1); CALL Pro_Temp_ColumnWork('sync_data_set', 'systemConfig', 'tinyint', 1);
@ -166,6 +186,9 @@ CALL Pro_Temp_ColumnWork('sys_pdf_template_relevance_biz', 'updateTime', 'dateti
CALL Pro_Temp_ColumnWork('sys_pdf_template_relevance_label', 'updateTime', 'datetime', 1); CALL Pro_Temp_ColumnWork('sys_pdf_template_relevance_label', 'updateTime', 'datetime', 1);
CALL Pro_Temp_ColumnWork('sys_pdf_template_relevance_statemen', 'updateTime', 'datetime', 1); CALL Pro_Temp_ColumnWork('sys_pdf_template_relevance_statemen', 'updateTime', 'datetime', 1);
CALL Pro_Temp_ColumnWork('thr_system_detail', 'time', 'int(5)', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'advancePreIn', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'advancePreIn', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'sortNum', 'int', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'sortNum', 'int', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'preInBackAction', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'preInBackAction', 'varchar(255) ', 1);
@ -176,3 +199,75 @@ CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkPreInOrders', 'varchar(25
# CALL Pro_Temp_ColumnWork('sup_cert_set', 'needForeign', 'tinyint', 1); # CALL Pro_Temp_ColumnWork('sup_cert_set', 'needForeign', 'tinyint', 1);
CREATE TABLE IF NOT EXISTS `inv_prein_product`
(
`id` int NOT NULL AUTO_INCREMENT,
`relIdFk` bigint NULL DEFAULT NULL COMMENT '耗材字典ID',
`nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '最小销售标识',
`batchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号',
`productionDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生产日期',
`expireDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失效日期',
`inCount` int NULL DEFAULT NULL COMMENT '入库数量',
`outCount` int NULL DEFAULT NULL COMMENT '出库数量',
`reCount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实际数量',
`customerId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户ID',
`supId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商ID',
`deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '部门编码',
`invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '仓库编码',
`createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '预验收库存表'
ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
CREATE TABLE IF NOT EXISTS `inv_prein_product_detail`
(
`id` int NOT NULL AUTO_INCREMENT,
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'UDI码',
`mainAction` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '出入单据类型',
`action` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '单据类型',
`orderId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单号外键',
`relId` int NOT NULL COMMENT '耗材字典ID',
`nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '最小销售标识',
`batchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号',
`produceDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生产日期',
`expireDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失效日期',
`serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '序列号',
`supId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商',
`count` int NULL DEFAULT NULL COMMENT '扫码数量',
`reCount` int NULL DEFAULT NULL COMMENT '实际数量',
`deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门编码',
`invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '仓库编码',
`invSpaceCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '货位编码',
`purchaseType` tinyint NULL DEFAULT NULL COMMENT '采购类型',
`updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '预验收库存详情表'
ROW_FORMAT = DYNAMIC;
CREATE TABLE IF NOT EXISTS `sync_data_change_bustypes`
(
`id` int NOT NULL AUTO_INCREMENT,
`action` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`outChange` tinyint NULL DEFAULT NULL,
`orderStatus` tinyint NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 128
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '单据同步 - 业务单据类型'
ROW_FORMAT = DYNAMIC;

Loading…
Cancel
Save