国家库实时更新,库存出库问题

busUser
anthonywj 2 years ago
parent 9aaa0ea97e
commit 6bd4a46d60

@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.glxp.api.admin.annotation.Log;
import com.glxp.api.admin.constant.BusinessType;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.auth.AuthCheckEntity;
import com.glxp.api.admin.entity.info.DeviceKeyEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
@ -17,6 +18,7 @@ import com.glxp.api.admin.service.auth.AuthCheckService;
import com.glxp.api.admin.service.auth.DeviceKeyService;
import com.glxp.api.admin.service.inventory.InvSubWarehouseService;
import com.glxp.api.admin.service.inventory.InvWarehouseService;
import com.glxp.api.admin.service.monitor.LogininforService;
import com.glxp.api.admin.util.*;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
@ -58,13 +60,14 @@ public class LoginController {
private AuthCheckService authCheckService;
@Resource
DeviceKeyService deviceKeyService;
@Resource
private LogininforService logininforService;
/**
*
*
* @return
*/
@Log(title = "用户登录")
@PostMapping(value = "/login")
public BaseResponse index(@RequestBody @Valid LoginRequest loginRequest,
BindingResult bindingResult,
@ -78,7 +81,7 @@ public class LoginController {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
if (StrUtil.isEmpty(loginRequest.getImei())) {
if (!PasswordUtils.authAdminPwd(loginRequest.getPassword()).equals(SecureUtil.md5().digestHex(authAdmin.getPassWord()))) {
if (!PasswordUtils.authAdminPwd(loginRequest.getPassword()).equals(SecureUtil.sha256(authAdmin.getPassWord()))) {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
} else {
@ -115,7 +118,7 @@ public class LoginController {
Map<String, Object> claims = new HashMap<>();
claims.put("admin_id", authAdmin.getId());
String token = JwtUtils.createToken(claims, 86400L); // 一天后过期
String token = JwtUtils.createToken(claims, 1800l); // 一天后过期
Map<String, Object> map = new HashMap<>();
map.put("id", authAdmin.getId());
@ -128,6 +131,7 @@ public class LoginController {
loginResponse.setDeptName(authAdmin.getDeptName());
loginResponse.setNeedChangePwd(cn.hutool.core.date.DateUtil.between(authAdmin.getLastUpdatePwdTime() == null ? cn.hutool.core.date.DateUtil.date() : authAdmin.getLastUpdatePwdTime()
, cn.hutool.core.date.DateUtil.date(), DateUnit.DAY) >= 90);
logininforService.recordLogininfor(authAdmin.getEmployeeName(), Constant.LOGIN_SUCCESS, "登录成功!", request);
return ResultVOUtils.success(loginResponse);
}
@ -223,7 +227,6 @@ public class LoginController {
*
* @return
*/
@Log(title = "获取登录用户信息")
@AuthRuleAnnotation("")
@GetMapping("/admin/auth/login/userInfo")
public BaseResponse userInfo(HttpServletRequest request) {
@ -258,7 +261,7 @@ public class LoginController {
*
* @return
*/
@Log(title = "修改密码",businessType = BusinessType.UPDATE)
@Log(title = "修改密码", businessType = BusinessType.UPDATE)
@AuthRuleAnnotation("") // 需要登录验证,但是不需要权限验证时,value 值填空字符串
@PostMapping("/admin/auth/login/password")
public BaseResponse password(@RequestBody @Valid UpdatePasswordRequest updatePasswordRequest,

@ -78,8 +78,12 @@ public interface UdiRelevanceDao {
/**
* UUID
*
* @param relId
* @return
*/
String selectUuidById(String relId);
List<UdiRelevanceEntity> selectGroupByNameCode(@Param("nameCode") String nameCode);
}

@ -4,6 +4,7 @@ import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import com.glxp.api.admin.req.basic.UdiRelevanceRequest;
import com.glxp.api.admin.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -64,8 +65,11 @@ public interface UdiRelevanceService {
/**
* uuid
*
* @param relId
* @return
*/
String findUuidById(String relId);
List<UdiRelevanceEntity> selectGroupByNameCode(@Param("nameCode") String nameCode);
}

@ -324,4 +324,9 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService {
public String findUuidById(String relId) {
return udiRelevanceDao.selectUuidById(relId);
}
@Override
public List<UdiRelevanceEntity> selectGroupByNameCode(String nameCode) {
return udiRelevanceDao.selectGroupByNameCode(nameCode);
}
}

@ -9,6 +9,7 @@ import com.glxp.api.admin.dao.business.InvSpaceDao;
import com.glxp.api.admin.dao.inventory.InvProductDetailDao;
import com.glxp.api.admin.entity.basic.UdiEntity;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.entity.inout.IoCodeLostEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvProductDetailEntity;
@ -28,6 +29,7 @@ import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -158,6 +160,7 @@ public class InvProductDetailServiceImpl implements InvProductDetailService {
List<UdiInfoEntity> udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid());
if (udiInfoBean != null) {
for (UdiInfoEntity udiInfoEntity : udiInfoEntities) {
udiInfoEntity.setRelId(udiInfoBean.getId() + "");
if (udiInfoBean.getIsUseDy() == 1) {
if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY) {
return udiInfoEntity;
@ -167,7 +170,7 @@ public class InvProductDetailServiceImpl implements InvProductDetailService {
return udiInfoEntity;
}
}
udiInfoEntity.setRelId(udiInfoBean.getId() + "");
}
}
return null;
@ -181,37 +184,36 @@ public class InvProductDetailServiceImpl implements InvProductDetailService {
if (StrUtil.isEmpty(code)) {
return 0;
}
IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code);
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
UdiInfoEntity udiInfoEntity = getMinDi(code);
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
if (codeLostEntity != null) {
if (StrUtil.isEmpty(udiEntity.getBatchNo()) && codeLostEntity != null) {
udiEntity.setBatchNo(codeLostEntity.getBatchNo());
udiEntity.setExpireDate(codeLostEntity.getExpireDate());
udiEntity.setProduceDate(codeLostEntity.getProduceDate());
}
if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY
|| (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) {
udiEntity.setUdi(udiInfoEntity.getNameCode());
code = FilterUdiUtils.transGlxpNoSerStr(udiEntity);
if (StrUtil.isEmpty(udiEntity.getBatchNo())) {
udiEntity.setBatchNo("empty");
}
udiEntity.setUdi(udiInfoEntity.getNameCode());
String glxpCode = FilterUdiUtils.transGlxpNoSerStr(udiEntity);
filterInvProductDetailRequest.setOriginCode(null);
filterInvProductDetailRequest.setCode(code);
if (StrUtil.isNotEmpty(udiEntity.getBatchNo()))
List<InvProductDetailEntity> datas = new ArrayList<>();
//1.根据产品ID获取库存
List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi());
if (CollUtil.isNotEmpty(udiRelevanceEntities) && udiRelevanceEntities.size() == 1) {
filterInvProductDetailRequest.setProductIdFk(udiRelevanceEntities.get(0).getId());
filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo());
else
filterInvProductDetailRequest.setBatchNo("empty");
filterInvProductDetailRequest.setProductionDate(udiEntity.getProduceDate());
filterInvProductDetailRequest.setExpireDate(udiEntity.getExpireDate());
List<InvProductDetailEntity>
datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
} else {
filterInvProductDetailRequest.setCode(glxpCode);
datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
if (CollUtil.isEmpty(datas)) {
filterInvProductDetailRequest.setCode(code);
datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
// }
}
}
int count = 0;
if (CollUtil.isNotEmpty(datas)) {
for (InvProductDetailEntity invProductDetailEntity : datas) {
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT))
count = count + invProductDetailEntity.getCount();

@ -1,6 +1,6 @@
server.port=9992
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udiwms_yxz?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udiwms_ph1?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.hikari.connection-timeout=60000

@ -78,8 +78,8 @@
basic_products.basicPrductRemak8,
basic_products.hchzsb
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -218,11 +218,11 @@
basic_products.basicPrductRemak8,
basic_products.hchzsb
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
left join company_product_relevance
on basic_udirel.id = company_product_relevance.udiRlIdFk
left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
left join company_product_relevance
on basic_udirel.id = company_product_relevance.udiRlIdFk
left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -361,9 +361,9 @@
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8,
basic_products.hchzsb
FROM basic_products
right JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid
FROM basic_products
right JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid
<if test="supId != null and supId != ''">
left join company_product_relevance on basic_udirel.id = company_product_relevance.udiRlIdFk
</if>
@ -390,15 +390,15 @@
<if test="unionCode != '' and unionCode != null">
and (
nameCode LIKE concat('%', #{unionCode}, '%')
or basic_udirel.ybbm LIKE concat('%', #{unionCode}, '%')
or basic_udirel.sptm LIKE concat('%', #{unionCode}, '%'))
or basic_udirel.ybbm LIKE concat('%', #{unionCode}, '%')
or basic_udirel.sptm LIKE concat('%', #{unionCode}, '%'))
</if>
<if test="thrPiId != '' and thrPiId != null">
and (thirdId LIKE concat('%', #{thrPiId}, '%')
or thirdId1 LIKE concat('%', #{thrPiId}, '%')
or thirdId2 LIKE concat('%', #{thrPiId}, '%')
or thirdId3 LIKE concat('%', #{thrPiId}, '%')
or thirdId4 LIKE concat('%', #{thrPiId}, '%'))
or thirdId1 LIKE concat('%', #{thrPiId}, '%')
or thirdId2 LIKE concat('%', #{thrPiId}, '%')
or thirdId3 LIKE concat('%', #{thrPiId}, '%')
or thirdId4 LIKE concat('%', #{thrPiId}, '%'))
</if>
<if test="uuid != '' and uuid != null">
AND basic_udirel.uuid = #{uuid}
@ -487,7 +487,7 @@
resultType="com.glxp.api.admin.entity.basic.UdiRelevanceEntity">
select *
from basic_udirel
INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid
INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid
<where>
<if test="uuid != '' and uuid != null">
AND basic_udirel.uuid = #{uuid}
@ -571,6 +571,16 @@
</select>
<select id="selectGroupByNameCode" parameterType="com.glxp.api.admin.req.basic.FilterUdiInfoRequest"
resultType="com.glxp.api.admin.entity.basic.UdiRelevanceEntity">
select *
FROM basic_udirel
inner join basic_products
on basic_udirel.uuid = basic_products.uuid
where basic_products.nameCode = #{nameCode}
group by basic_udirel.id
</select>
<select id="filterEntity" parameterType="com.glxp.api.admin.req.basic.FilterUdiInfoRequest"
resultType="com.glxp.api.admin.entity.basic.UdiRelevanceEntity">
select *
@ -609,12 +619,13 @@
<insert id="insertUdiRelevance" keyProperty="id" parameterType="com.glxp.api.admin.entity.basic.UdiRelevanceEntity">
replace
INTO basic_udirel
(id,
thirdId, thirdName, uuid, isUseDy, updateTime, modifyTime,
thirdId1, thirdId2, thirdId3, thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, manufactory, measname,
ybbm, sptm, isDisable, isLock
, mainId, mainName, lockStatus, udplatCode, isAdavence, supName, price, dispatch, groupBuy)
INTO basic_udirel
(id,
thirdId, thirdName, uuid, isUseDy, updateTime, modifyTime,
thirdId1, thirdId2, thirdId3, thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, manufactory,
measname,
ybbm, sptm, isDisable, isLock
, mainId, mainName, lockStatus, udplatCode, isAdavence, supName, price, dispatch, groupBuy)
values (#{id},
#{thirdId},
#{thirdName},
@ -647,13 +658,15 @@
<insert id="insertUdiRelevanceignore" keyProperty="id"
parameterType="com.glxp.api.admin.entity.basic.UdiRelevanceEntity">
insert
ignore
ignore
INTO basic_udirel
(id,
thirdId, thirdName, uuid, isUseDy, updateTime,
thirdId1, thirdId2, thirdId3, thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, manufactory, measname,
ybbm, sptm, isDisable, isLock
, mainId, mainName, lockStatus, udplatCode, isAdavence, supName, price, modifyTime, dispatch, groupBuy)
(id,
thirdId, thirdName, uuid, isUseDy, updateTime,
thirdId1, thirdId2, thirdId3, thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, manufactory,
measname,
ybbm, sptm, isDisable, isLock
, mainId, mainName, lockStatus, udplatCode, isAdavence, supName, price, modifyTime, dispatch,
groupBuy)
values (#{id},
#{thirdId},
#{thirdName},
@ -816,7 +829,7 @@
thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, ybbm, sptm, manufactory,
measname, isDisable, mainId, mainName, udplatCode, supName, price, modifyTime,
dispatch, groupBuy)
values
values
<foreach collection="udiRelevanceEntities" item="item" index="index" separator=",">
(#{item.id},
#{item.thirdId},

Loading…
Cancel
Save