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

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) {

@ -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

@ -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 *
@ -612,7 +622,8 @@
INTO basic_udirel
(id,
thirdId, thirdName, uuid, isUseDy, updateTime, modifyTime,
thirdId1, thirdId2, thirdId3, thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, manufactory, measname,
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},
@ -651,9 +662,11 @@
INTO basic_udirel
(id,
thirdId, thirdName, uuid, isUseDy, updateTime,
thirdId1, thirdId2, thirdId3, thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, manufactory, measname,
thirdId1, thirdId2, thirdId3, thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, manufactory,
measname,
ybbm, sptm, isDisable, isLock
, mainId, mainName, lockStatus, udplatCode, isAdavence, supName, price, modifyTime, dispatch, groupBuy)
, mainId, mainName, lockStatus, udplatCode, isAdavence, supName, price, modifyTime, dispatch,
groupBuy)
values (#{id},
#{thirdId},
#{thirdName},

Loading…
Cancel
Save